From 6e29e3b5688402f5ba5b33e9b8eb1119b1375247 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 9 Sep 2020 14:44:51 -0600 Subject: [PATCH 001/111] Initial commit --- render_lines.asc | 158 ++++ render_lines.wasm | Bin 0 -> 11896 bytes server.js | 7 + src/ASWebGLue.js | 1990 +++++++++++++++++++++++++++++++++++++++ src/extended/main.js | 266 ++++++ src/main.js | 164 ++++ src/old/aswebgl_glue.js | 310 ++++++ src/old/loader.js | 430 +++++++++ webgl.asc | 885 +++++++++++++++++ webgl_test.html | 52 + 10 files changed, 4262 insertions(+) create mode 100644 render_lines.asc create mode 100644 render_lines.wasm create mode 100644 server.js create mode 100644 src/ASWebGLue.js create mode 100644 src/extended/main.js create mode 100644 src/main.js create mode 100644 src/old/aswebgl_glue.js create mode 100644 src/old/loader.js create mode 100644 webgl.asc create mode 100644 webgl_test.html diff --git a/render_lines.asc b/render_lines.asc new file mode 100644 index 0000000..40a4926 --- /dev/null +++ b/render_lines.asc @@ -0,0 +1,158 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + uniform4fv, linkProgram, WebGLRenderingContext, + createBuffer, WebGLBuffer, ARRAY_BUFFER, LINK_STATUS, COMPILE_STATUS, + STATIC_DRAW, GLint, FLOAT, LINE_LOOP, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + getProgramInfoLog, getShaderInfoLog, clearColor, clear, + bufferData, getAttribLocation, drawArrays, getShaderParameter, + vertexAttribPointer, GLuint, +} from './webgl' + +const V_COLOR_LINE_SHADER:string = `#version 300 es + precision highp float; + + uniform vec4 u_color; + + in vec2 position; + out vec4 c; + + void main() { + gl_Position = vec4( position, 0.0, 1.0 ); + c = u_color/255.0; + } +`; + +// THIS IS THE FRAGMENT SHADER +const F_SHADER:string = `#version 300 es + precision highp float; + + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + +var theta:f32 = 0.0; + +var loop_color: StaticArray> = [ + [0.0, 255.0, 0.0, 255.0], // default layer color + [255.0, 255.0, 0.0, 255.0], // cockpit layer color + [0.0, 255.0, 0.0, 255.0], // wings layer color + [0.0, 255.0, 0.0, 255.0], // wings2 layer color + [255.0, 0.0, 0.0, 255.0], // engine layer color + [0.0, 255.0, 0.0, 255.0], // recoloration layer color +]; + +var program_id:i32 = -1; +var default_layer: StaticArray = [-0.1,0.4,-0.2,0,0,-0.3,0.2,0,0.1,0.4,0.2,0.3,0,0.9,-0.2,0.3]; + +var cockpit_layer: StaticArray = [-0.1,0.1,0,0.6,0.1,0.1]; + +var wings_layer: StaticArray = [0.7,0.2,0.2,0,0,-0.3]; + +var wings2_layer: StaticArray = [0,-0.3,-0.2,0,-0.7,0.2]; + +var engine_layer: StaticArray = [-0.1,-0.2,-0.1,-0.3,0.1,-0.3,0.1,-0.2,0,-0.6]; + +var recoloration_layer: StaticArray = [0.2,0,0,-0.3,-0.2,0,0,-0.3]; + +var layer_array: StaticArray> = [default_layer, cockpit_layer, + wings_layer, wings2_layer, + engine_layer, recoloration_layer]; + +var color_line_program: WebGLProgram; +var gl: WebGLRenderingContext; + +export function init(): void { + gl = createContextFromCanvas('cnvs', 'webgl2'); + let color_line_vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); + shaderSource(gl, color_line_vertex_shader, V_COLOR_LINE_SHADER); + compileShader(gl, color_line_vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, F_SHADER); + compileShader( gl, fragment_shader ); + + color_line_program = createProgram(gl); + + attachShader(gl, color_line_program, color_line_vertex_shader); + attachShader(gl, color_line_program, fragment_shader); + + linkProgram( gl, color_line_program ); + + useProgram( gl, color_line_program ); + // could use mutable import + // let color_location: WebGLUniformLocation = getUniformLocation(gl, color_line_program, "u_color"); +} +/*Array*/ +function drawLines(line_data: StaticArray, color_data: StaticArray):void { + let buffer:WebGLBuffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + store(changetype(line_data) - 8, idof>()); + bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + + let position_al: GLint = getAttribLocation(gl, color_line_program, 'position'); + enableVertexAttribArray(gl, position_al); + + let color_location:WebGLUniformLocation = getUniformLocation(gl, color_line_program, "u_color"); + store(changetype(color_data) - 8, idof>()); + uniform4fv(gl, color_location, color_data); + + const dimensions:i32 = 2; + const data_type: i32 = FLOAT; + const normalize: i32 = false; + const stride:i32 = 0; + const offset:i32 = 0; + + vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + + drawArrays(gl, LINE_LOOP, 0, line_data.length/2); +} + +export function animation_frame():void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + theta += 0.01; + if (theta >= 6.28318) { + theta = 0.0; + } + + animation(0.001); + + for (var i:i32 = 0; i < layer_array.length; i++) { + let loop_size: i32 = layer_array[i].length; + + let layer:StaticArray = layer_array[i]; //, + let color: StaticArray = loop_color[i]; + + drawLines(layer, color); + } +} + + +export function animation(theta: f32) : void { //u32 { + + for( var ship_i:i32 = 0; ship_i < layer_array.length; ship_i++) { + const layer = layer_array[ship_i]; + const ship_loop_size = layer.length; + + for( var coord_i: i32 = 0; coord_i < ship_loop_size; coord_i += 2 ) { + let x:f32 = layer[coord_i]; + let y:f32 = layer[coord_i+1]; + + let x1:f32 = x * Math.cos(theta) - y * Math.sin(theta); + + let y1:f32 = y * Math.cos(theta) + x * Math.sin(theta); + + layer[coord_i] = x1; + layer[coord_i+1] = y1; + } + } + return; +} \ No newline at end of file diff --git a/render_lines.wasm b/render_lines.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8754e35cd6251188a3ed812bf6eac7ff68cc9f2e GIT binary patch literal 11896 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 HsVDfqn)C;| literal 0 HcmV?d00001 diff --git a/server.js b/server.js new file mode 100644 index 0000000..dfd081a --- /dev/null +++ b/server.js @@ -0,0 +1,7 @@ +var connect = require('connect'); +var serveStatic = require('serve-static'); + +connect().use(serveStatic(__dirname + "/")).listen(8080, function () { + console.log('Server running on 8080...'); +}); + diff --git a/src/ASWebGLue.js b/src/ASWebGLue.js new file mode 100644 index 0000000..0fff190 --- /dev/null +++ b/src/ASWebGLue.js @@ -0,0 +1,1990 @@ +export function ASWebGLReady(wasm_obj, importObject) { + if (wasm_obj == null) { + console.error("ASWebGLReady requires the WebAssembly Instance as 1st parameter"); + return; + } + if (wasm_obj == null) { + console.error("ASWebGLReady requires import object as 2nd parameter"); + return; + } + importObject.webgl.WEBGL_READY = true; + importObject.webgl.RTTI_BASE = wasm_obj.instance.exports["__rtti_base"]; +} + +export function initASWebGLue(importObject) { + if (importObject.env.memory == null) { + alert('You need to set memory in your importObject'); + } + + if (importObject.webgl == null) { + importObject.webgl = {}; + } + + const webgl = importObject.webgl; + + importObject.env.abort = (...args) => { + console.log("abort"); + console.log(webgl.getString(args[0])); + } + + importObject.webgl.WEBGL_READY = false; + importObject.webgl.memory = importObject.env.memory; + + importObject.webgl.contextArray = []; + importObject.webgl.textureArray = []; + importObject.webgl.programArray = []; + importObject.webgl.shaderArray = []; + importObject.webgl.bufferArray = []; + importObject.webgl.frameBufferArray = []; + importObject.webgl.renderBufferArray = []; + importObject.webgl.uniformLocationArray = []; + + importObject.webgl.SIZE_OFFSET = -4; + importObject.webgl.ID_OFFSET = -8; + importObject.webgl.CHUNKSIZE = 1024; + importObject.webgl.STRING_ID = 1; + importObject.webgl.RTTI_BASE = 0; + importObject.webgl.VAL_ALIGN_OFFSET = 6; + + importObject.ARRAYBUFFERVIEW_DATASTART_OFFSET = 4; + importObject.ARRAY_LENGTH_OFFSET = 12; + + /** No specific flags. */ + importObject.webgl.NONE = 0x00; + /** Type is an `ArrayBufferView`. */ + importObject.webgl.ARRAYBUFFERVIEW = 0x01; + /** Type is an `Array`. */ + importObject.webgl.ARRAY = 0x0002; + /** Type is a `StaticArray`. */ + importObject.webgl.STATICARRAY = 0x0004; + /** Type is a `Set`. */ + importObject.webgl.SET = 0x000008; + /** Type is a `Map`. */ + importObject.webgl.MAP = 0x000010; + /** Type is inherently acyclic. */ + importObject.webgl.ACYCLIC = 0x000020; + /** Value alignment of 1 byte. */ + importObject.webgl.VALUE_ALIGN_0 = 0x000040; + /** Value alignment of 2 bytes. */ + importObject.webgl.VALUE_ALIGN_1 = 0x000080; + /** Value alignment of 4 bytes. */ + importObject.webgl.VALUE_ALIGN_2 = 0x000100; + /** Value alignment of 8 bytes. */ + importObject.webgl.VALUE_ALIGN_3 = 0x000200; + /** Value alignment of 16 bytes. */ + importObject.webgl.VALUE_ALIGN_4 = 0x000400; + /** Value is a signed type. */ + importObject.webgl.VALUE_SIGNED = 0x000800; + /** Value is a float type. */ + importObject.webgl.VALUE_FLOAT = 0x001000; + /** Value type is nullable. */ + importObject.webgl.VALUE_NULLABLE = 0x002000; + /** Value type is managed. */ + importObject.webgl.VALUE_MANAGED = 0x004000; + /** Key alignment of 1 byte. */ + importObject.webgl.KEY_ALIGN_0 = 0x008000; + /** Key alignment of 2 bytes. */ + importObject.webgl.KEY_ALIGN_1 = 0x010000; + /** Key alignment of 4 bytes. */ + importObject.webgl.KEY_ALIGN_2 = 0x020000; + /** Key alignment of 8 bytes. */ + importObject.webgl.KEY_ALIGN_3 = 0x040000; + /** Key alignment of 16 bytes. */ + importObject.webgl.KEY_ALIGN_4 = 0x080000; + /** Key is a signed type. */ + importObject.webgl.KEY_SIGNED = 0x100000; + /** Key is a float type. */ + importObject.webgl.KEY_FLOAT = 0x200000; + /** Key type is nullable. */ + importObject.webgl.KEY_NULLABLE = 0x400000; + /** Key type is managed. */ + importObject.webgl.KEY_MANAGED = 0x800000; + + importObject.webgl.getView = (alignLog2, signed, float) => { + const buffer = webgl.memory.buffer; + + if (float) { + switch (alignLog2) { + case 2: return new Float32Array(buffer); + case 3: return new Float64Array(buffer); + } + } else { + switch (alignLog2) { + case 0: return new (signed ? Int8Array : Uint8Array)(buffer); + case 1: return new (signed ? Int16Array : Uint16Array)(buffer); + case 2: return new (signed ? Int32Array : Uint32Array)(buffer); + case 3: return new (signed ? BigInt64Array : BigUint64Array)(buffer); + } + } + throw Error("unsupported align: " + alignLog2); + } + + importObject.webgl.getArrayInfo = (id) => { + const info = webgl.getInfo(id); + if (!(info & (ARRAYBUFFERVIEW | ARRAY | STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + return info; + } + + importObject.webgl.getValueAlign = (info) => { + return 31 - Math.clz32((info >>> VAL_ALIGN_OFFSET) & 31); // -1 if none + } + + importObject.webgl.getArrayView = (arr_ptr) => { + const U32 = new Uint32Array(webgl.memory.buffer); + const id = U32[arr_ptr + webgl.ID_OFFSET >>> 2]; + + const count = U32[webgl.RTTI_BASE >>> 2]; + + if (id >= count) throw Error(`invalid id: ${id}`); + const info = U32[(webgl.RTTI_BASE + 4 >>> 2) + id * 2]; + + if (!(info & (webgl.ARRAYBUFFERVIEW | webgl.ARRAY | webgl.STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + const align = 31 - Math.clz32((info >>> webgl.VAL_ALIGN_OFFSET) & 31); // -1 if none getValueAlign(info) + let buf = info & webgl.STATICARRAY + ? arr_ptr + : U32[arr_ptr + webgl.ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; + const length = info & webgl.ARRAY + ? U32[arr_ptr + webgl.ARRAY_LENGTH_OFFSET >>> 2] + : U32[buf + webgl.SIZE_OFFSET >>> 2] >>> align; + return webgl.getView(align, info & webgl.VAL_SIGNED, info & webgl.VAL_FLOAT) + .subarray(buf >>>= align, buf + length); + + } + + importObject.webgl.getString = (string_index) => { + const buffer = webgl.memory.buffer; + const U32 = new Uint32Array(buffer); + const id_addr = string_index / 4 - 2; + const id = U32[id_addr]; + if (id !== 0x01) throw Error(`not a string index=${string_index} id=${id}`); + const len = U32[id_addr + 1]; + const str = new TextDecoder('utf-16').decode(buffer.slice(string_index, string_index + len)); + return str; + } + + importObject.webgl.createContextFromCanvas = (canvas_id, context_type) => { + try { + console.log(canvas_id); + console.log(context_type); + console.log('getting canvas id string'); + console.log(webgl.getString(canvas_id)); + const canvas = document.getElementById(webgl.getString(canvas_id)); + const gl = canvas.getContext(webgl.getString(context_type)); + let id = webgl.contextArray.findIndex((element) => element == null); + + if (id == -1) { + id = webgl.contextArray.length; + webgl.contextArray.push(gl); + } + else { + webgl.contextArray[id] = gl; + } + return id; + } catch (err) { + console.log("createContextFromCanvas error"); + console.error(err); + } // end catch + } + + importObject.webgl.getSupportedExtensions = (ctx) => { + alert('getSupportedExtensions is not currently supported'); + } + + importObject.webgl.getExtension = (ctx, name_string) => { + try { + webgl.contextArray[ctx].getExtension(webgl.getString(name)); + } catch (err) { + console.log("getExtension error"); + console.error(err); + } // end catch + } + + importObject.webgl.activeTexture = (ctx, texture) => { + try { + webgl.contextArray[ctx].activeTexture(webgl.textureArray[texture]); + } catch (err) { + console.log("activeTexture error"); + console.error(err); + } // end catch + } + + importObject.webgl.attachShader = (ctx, program, shader) => { + try { + webgl.contextArray[ctx].attachShader(webgl.programArray[program], webgl.shaderArray[shader]); + } catch (err) { + console.log("attachShader error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindAttribLocation = (ctx, program, index, name) => { + try { + webgl.contextArray[ctx].bindAttribLocation(webgl.programArray[program], index, webgl.getString(name)); + } catch (err) { + console.log("bindAttribLocation error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindBuffer = (ctx, target, buffer) => { + try { + webgl.contextArray[ctx].bindBuffer(target, webgl.bufferArray[buffer]); + } catch (err) { + console.log("bindBuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindFramebuffer = (ctx, target, framebuffer) => { + try { + webgl.contextArray[ctx].bindFramebuffer(target, webgl.framebufferArray[framebuffer]); + } catch (err) { + console.log("bindFramebuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindRenderbuffer = (ctx, target, renderbuffer) => { + try { + webgl.contextArray[ctx].bindRenderbuffer(target, webgl.renderbufferArray[renderbuffer]); + } catch (err) { + console.log("renderbufferArray error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindTexture = (ctx, target, texture) => { + try { + webgl.contextArray[ctx].bindTexture(target, webgl.textureArray[texture]); + } catch (err) { + console.log("bindTexture error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendColor = (ctx, r, g, b, a) => { + try { + webgl.contextArray[ctx].blendColor(r, g, b, a); + } catch (err) { + console.log("blendColor error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendEquation = (ctx, mode) => { + try { + webgl.contextArray[ctx].blendEquation(mode); + } catch (err) { + console.log("blendEquation error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendEquationSeparate = (ctx, modeRGB, modeAlpha) => { + try { + webgl.contextArray[ctx].blendEquationSeparate(modeRGB, modeAlpha); + } catch (err) { + console.log("blendEquationSeparate error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendFunc = (ctx, sfactor, dfactor) => { + try { + webgl.contextArray[ctx].blendFunc(sfactor, dfactor); + } catch (err) { + console.log("blendFunc error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendFuncSeparate = (ctx, srcRGB, dstRGB, srcAlpha, dstAlpha) => { + try { + webgl.contextArray[ctx].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); + } catch (err) { + console.log("blendFuncSeparate error"); + console.error(err); + } // end catch + } + + const bufferdata = (ctx, target, data, usage) => { + try { + webgl.contextArray[ctx].bufferData(target, webgl.getArrayView(data), usage); + } catch (err) { + console.log("bufferData error"); + console.error(err); + } // end catch + } + + importObject.webgl["bufferData"] = bufferdata; + importObject.webgl["bufferData"] = bufferdata; + importObject.webgl["bufferData"] = bufferdata; + + // LAST TWO PARAMETERS ARE IN WEBGL 2.0 + importObject.webgl.bufferSubData = (target, dstByteOffset, srcData, srcOffset, length) => { + try { + webgl.contextArray[ctx].bufferSubData(target, dstByteOffset, webgl.getArrayView(srcData), srcOffset, length); + } catch (err) { + console.log("bufferSubData error"); + console.error(err); + } // end catch + } + + importObject.webgl.checkFramebufferStatus = (ctx, target) => { + try { + return webgl.contextArray[ctx].checkFramebufferStatus(target); + } catch (err) { + console.log("checkFramebufferStatus error"); + console.error(err); + } // end catch + } + + // Clears the color, depth and stencil buffers + importObject.webgl.clear = (ctx, mask) => { + try { + webgl.contextArray[ctx].clear(mask); + } catch (err) { + console.log("clear error"); + console.error(err); + } // end catch + } + + // Specify the color fill a cleared color buffer with + importObject.webgl.clearColor = (ctx, r, g, b, a) => { + try { + webgl.contextArray[ctx].clearColor(r, g, b, a); + } catch (err) { + console.log("clearColor error"); + console.error(err); + } // end catch + } + + // Specifies a depth value to fill the depth buffer when it is cleared + importObject.webgl.clearDepth = (ctx, depth) => { + try { + webgl.contextArray[ctx].clearDepth(depth); + } catch (err) { + console.log("clearDepth error"); + console.error(err); + } // end catch + } + + // Specifies a clear value for the stencil buffer + importObject.webgl.clearStencil = (ctx, s) => { + try { + webgl.contextArray[ctx].clearStencil(s); + } catch (err) { + console.log("clearStencil error"); + console.error(err); + } // end catch + } + + // Allows you to turn on and off colors when writing to a framebuffer + importObject.webgl.colorMask = (ctx, r, g, b, a) => { + try { + webgl.contextArray[ctx].colorMask(r, g, b, a); + } catch (err) { + console.log("colorMask error"); + console.error(err); + } // end catch + } + + // Compiles a GLSL shader to be used by a WebGL program. + importObject.webgl.compileShader = (ctx, shader) => { + try { + webgl.contextArray[ctx].compileShader(webgl.shaderArray[shader]); + } catch (err) { + console.log("compileShader error"); + console.error(err); + } // end catch + } + + // NOTE: Requires extensions + // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions + // Secifies a 2D texture image in a compressed format + importObject.webgl.compressedTexImage2D = (ctx, target, level, internalformat, width, height, border, data) => { + try { + webgl.contextArray[ctx].compileShader(target, level, internalformat, + width, height, border, webgl.getArrayView(data)); + } catch (err) { + console.log("compressedTexImage2D error"); + console.error(err); + } // end catch + } + + // NOTE: Requires extensions + // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions + // Specifies a 2D sub-image rectangle for a compressed format texture image. + importObject.webgl.compressedTexSubImage2D = (ctx, target, level, xoffset, yoffset, width, height, format, data) => { + try { + webgl.contextArray[ctx].compressedTexSubImage2D(target, xoffset, yoffset, width, height, format, + webgl.getArrayView(data)); + } catch (err) { + console.log("compressedTexSubImage2D error"); + console.error(err); + } // end catch + } + + // Copies pixels from the current WebGLFramebuffer into a 2D texture image + importObject.webgl.copyTexImage2D = (ctx, target, level, internalformat, x, y, width, height, border) => { + try { + webgl.contextArray[ctx].copyTexImage2D(target, level, internalformat, x, y, width, height, border); + } catch (err) { + console.log("copyTexImage2D error"); + console.error(err); + } // end catch + } + + // Copies pixels from the current WebGLFramebuffer into an existing 2D texture sub-image + importObject.webgl.copyTexSubImage2D = (ctx, target, level, xoffset, yoffset, x, y, width, height) => { + try { + webgl.contextArray[ctx].copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + } catch (err) { + console.log("copyTexSubImage2D error"); + console.error(err); + } // end catch + } + + // Creates a buffer to hold vertex related data + importObject.webgl.createBuffer = (ctx) => { + try { + let id = webgl.bufferArray.findIndex((element) => element == null); + let buffer = webgl.contextArray[ctx].createBuffer(); + + if (id == -1) { + id = webgl.bufferArray.length; + webgl.bufferArray.push(buffer); + } + else { + webgl.bufferArray[id] = buffer; + } + return id; + } catch (err) { + console.log("createBuffer error"); + console.error(err); + } // end catch + } + + // Creates a frame buffer object to be used as a rendering destination + importObject.webgl.createFramebuffer = (ctx) => { + alert(arguments.callee.toString()); + } + + // Creates a WebGL program that consists of a vertex and fragment shader + importObject.webgl.createProgram = (ctx) => { + try { + let id = webgl.programArray.findIndex((element) => element == null); + let program = webgl.contextArray[ctx].createProgram(); + + if (id == -1) { + id = webgl.programArray.length; + webgl.programArray.push(program); + } + else { + webgl.programArray[id] = program; + } + return id; + } catch (err) { + console.log("createProgram error"); + console.error(err); + } // end catch + } + + // Creates a render buffer object that can be used as a source or target for rendering + importObject.webgl.createRenderbuffer = (ctx) => { + try { + let id = webgl.renderBufferArray.findIndex((element) => element == null); + let renderbuffer = webgl.contextArray[ctx].createRenderbuffer(); + + if (id == -1) { + id = webgl.renderBufferArray.length; + webgl.renderBufferArray.push(renderbuffer); + } + else { + webgl.renderBufferArray[id] = renderbuffer; + } + return id; + } catch (err) { + console.log("renderBufferArray error"); + console.error(err); + } // end catch + } + + // Creates a vertex or fragment shader object to be used when compiling a WebGL program + importObject.webgl.createShader = (ctx, type) => { + try { + let id = webgl.shaderArray.findIndex((element) => element == null); + let shader = webgl.contextArray[ctx].createShader(type); + + if (id == -1) { + id = webgl.shaderArray.length; + webgl.shaderArray.push(shader); + } + else { + webgl.shaderArray[id] = shader; + } + return id; + } catch (err) { + console.log("createShader error"); + console.error(err); + } // end catch + } + + // Creates a texture object + importObject.webgl.createTexture = (ctx) => { + try { + let id = webgl.shaderArray.findIndex((element) => element == null); + let texture = webgl.contextArray[ctx].createTexture(); + + if (id == -1) { + id = webgl.textureArray.length; + webgl.textureArray.push(texture); + } + else { + webgl.textureArray[id] = texture; + } + return id; + } catch (err) { + console.log("createTexture error"); + console.error(err); + } // end catch + } + + // Sets the culling mode + importObject.webgl.cullFace = (ctx, mode) => { + try { + webgl.contextArray[ctx].cullFace(target, mode); + } catch (err) { + console.log("cullFace error"); + console.error(err); + } // end catch + } + + // delete the buffer object + importObject.webgl.deleteBuffer = (ctx, buffer) => { + try { + webgl.contextArray[ctx].deleteBuffer(this.bufferArray[buffer]); + this.bufferArray[buffer] = null; + } catch (err) { + console.log("deleteBuffer error"); + console.error(err); + } // end catch + } + + // delete the frame buffer object + importObject.webgl.deleteFramebuffer = (ctx, frame_buffer) => { + try { + webgl.contextArray[ctx].deleteFramebuffer(this.framebufferArray[frame_buffer]); + this.framebufferArray[frame_buffer] = null; + } catch (err) { + console.log("deleteFramebuffer error"); + console.error(err); + } // end catch + } + + // delete the render buffer object + importObject.webgl.deleteRenderbuffer = (ctx, render_buffer) => { + try { + webgl.contextArray[ctx].deleteRenderbuffer(this.renderBufferArray[render_buffer]); + this.renderBufferArray[render_buffer] = null; + } catch (err) { + console.log("deleteRenderbuffer error"); + console.error(err); + } // end catch + } + + // delete the program object + importObject.webgl.deleteProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].deleteProgram(this.programArray[program]); + this.program[program] = null; + } catch (err) { + console.log("deleteProgram error"); + console.error(err); + } // end catch + } + + // delete the shader object + importObject.webgl.deleteShader = (ctx, shader) => { + try { + webgl.contextArray[ctx].deleteShader(this.shaderArray[shader]); + this.shaderArray[shader] = null; + } catch (err) { + console.log("deleteShader error"); + console.error(err); + } // end catch + } + + importObject.webgl.deleteTexture = (ctx, texture) => { + try { + webgl.contextArray[ctx].deleteShader(this.textureArray[texture]); + this.textureArray[texture] = null; + } catch (err) { + console.log("deleteTexture error"); + console.error(err); + } // end catch + } + + // Before calling depthFunc, you must enable DEPTH_TEST + // This sets the function that tests the incoming pixel depth against a pixel already in the buffer. + // The default value is LESS, meaning that if an incoming pixel depth is less than existing pixel depth + // (the new pixel is closer) then the new pixel is drawn. + importObject.webgl.depthFunc = (ctx, func) => { // func is a depth function enumeration + try { + webgl.contextArray[ctx].depthFunc(func); + } catch (err) { + console.log("depthFunc error"); + console.error(err); + } // end catch + } + + // enable or disable writing to the depth buffer + importObject.webgl.depthMask = (ctx, flag) => { + try { + webgl.contextArray[ctx].depthMask(flag); + } catch (err) { + console.log("depthMask error"); + console.error(err); + } // end catch + } + + // defines the near and far clipping plane in the depth buffer + importObject.webgl.depthRange = (ctx, zNear, zFar) => { + try { + webgl.contextArray[ctx].depthRange(zNear, zFar); + } catch (err) { + console.log("depthRange error"); + console.error(err); + } // end catch + } + + // detach the shader currently attached to the program + importObject.webgl.detachShader = (ctx, program, shader) => { + try { + webgl.contextArray[ctx].detachShader(program, shader); + } catch (err) { + console.log("detachShader error"); + console.error(err); + } // end catch + } + + // disable a specific webgl capability + importObject.webgl.disable = (ctx, cap) => { + try { + webgl.contextArray[ctx].disable(cap); + } catch (err) { + console.log("disable error"); + console.error(err); + } // end catch + } + + // disables a vertex attribute array at the index loction passed in. + importObject.webgl.disableVertexAttribArray = (ctx, index) => { + try { + webgl.contextArray[ctx].disableVertexAttribArray(index); + } catch (err) { + console.log("disableVertexAttribArray error"); + console.error(err); + } // end catch + } + + // render primitive data from array + importObject.webgl.drawArrays = (ctx, mode, first, count) => { + try { + webgl.contextArray[ctx].drawArrays(mode, first, count); + } catch (err) { + console.log("drawArrays error"); + console.error(err); + } // end catch + } + + // uses index data to render elements from array data + importObject.webgl.drawElements = (ctx, mode, count, typ, offset) => { + try { + webgl.contextArray[ctx].drawElements(mode, count, typ, offset); + } catch (err) { + console.log("drawElements error"); + console.error(err); + } // end catch + } + + // enable a specific webgl capability + importObject.webgl.enable = (ctx, cap) => { + try { + webgl.contextArray[ctx].enable(cap); + } catch (err) { + console.log("enable error"); + console.error(err); + } // end catch + } + + importObject.webgl.enableVertexAttribArray = (ctx, index) => { + try { + webgl.contextArray[ctx].enableVertexAttribArray(index); + } catch (err) { + console.log("enableVertexAttribArray error"); + console.error(err); + } // end catch + } + + // waits for all previously executed webgl api calls to finish + importObject.webgl.finish = (ctx) => { + try { + webgl.contextArray[ctx].finish(); + } catch (err) { + console.log("finish error"); + console.error(err); + } // end catch + } + + // ??? + importObject.webgl.flush = (ctx) => { + try { + webgl.contextArray[ctx].flush(); + } catch (err) { + console.log("flush error"); + console.error(err); + } // end catch + } + + // attach a render buffer to a frame buffer + importObject.webgl.framebufferRenderbuffer = (ctx, target, attachment, renderbuffertarget, renderbuffer) => { + try { + webgl.contextArray[ctx].framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + } catch (err) { + console.log("framebufferRenderbuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.framebufferTexture2D = (ctx, target, attachment, textarget, texture, level) => { + try { + webgl.contextArray[ctx].framebufferTexture2D(target, attachment, textarget, texture, level); + } catch (err) { + console.log("framebufferTexture2D error"); + console.error(err); + } // end catch + } + + // set the winding direction of the verticies, which defines the front face + importObject.webgl.frontFace = (ctx, mode) => { + try { + webgl.contextArray[ctx].frontFace(mode); + } catch (err) { + console.log("frontFace error"); + console.error(err); + } // end catch + } + + // generates reduced resolution mipmap textures for rendering objects at a distance + importObject.webgl.generateMipmap = (ctx, target) => { + try { + webgl.contextArray[ctx].generateMipmap(target); + } catch (err) { + console.log("generateMipmap error"); + console.error(err); + } // end catch + } + + // query information about an attribute of a given program + importObject.webgl.getActiveAttrib = (ctx, program, index) => { + // will this return an externref? How do I move in the data + alert("getActiveAttrib is not implemented"); + return 0; + } + + // query information about a uniform in a given program + importObject.webgl.getActiveUniform = (ctx, program, index) => { + // will this return an externref? How do I move in the data + alert("getActiveUniform is not implemented"); + return 0; + } + + // needs to return an array of webgl shaders to the AS + importObject.webgl.getAttachedShaders = (ctx, program) => { + // this will need to return an array of shader indicies. + alert("getAttachedShaders is not implemented"); + return 0; + } + + // get an attribute location inside a program given a name + importObject.webgl.getAttribLocation = (ctx, program, name) => { + try { + return webgl.contextArray[ctx].getAttribLocation(webgl.programArray[program], webgl.getString(name)); + } catch (err) { + console.log("getAttribLocation error"); + console.error(err); + } // end catch + } + + // returns an int given a buffer parameter name + importObject.webgl.getBufferParameter = (ctx, target, pname) => { + try { + return webgl.contextArray[ctx].getBufferParameter(target, pname); + } catch (err) { + console.log("getBufferParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getParameter = (ctx, pname) => { + try { + return webgl.contextArray[ctx].getParameter(pname); + } catch (err) { + console.log("getParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getError = (ctx) => { + try { + return webgl.contextArray[ctx].getError(); + } catch (err) { + console.log("getError error"); + console.error(err); + } // end catch + } + + importObject.webgl.getFramebufferAttachmentParameter = (ctx, target, attachment, pname) => { + try { + return webgl.contextArray[ctx].getParameter(target, attachment, pname); + } catch (err) { + console.log("getFramebufferAttachmentParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getProgramInfoLog = (ctx, program) => { + // this needs to return a string to the AS + alert("getProgramInfoLog not implemented"); + return 0; + } + + // get information about the renderbuffer + importObject.webgl.getRenderbufferParameter = (ctx, target, pname) => { + try { + return webgl.contextArray[ctx].getRenderbufferParameter(target, pname); + } catch (err) { + console.log("getRenderbufferParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getShaderParameter = (ctx, shader, pname) => { + alert("getShaderParameter not implemented"); + return 0; + } + + importObject.webgl.getShaderPrecisionFormat = (ctx, shadertype, precisiontype) => { + alert("getShaderPrecisionFormat not implemented"); + return 0; + } + + importObject.webgl.getShaderInfoLog = (ctx, shader) => { + alert("getShaderInfoLog not implemented"); + return 0; + } + + importObject.webgl.getShaderSource = (ctx, shader) => { + // this needs to return a string to AS + alert("getShaderInfoLog not implemented"); + return 0; + } + + importObject.webgl.getTexParameter = (ctx, target, pname) => { + alert("getTexParameter not implemented"); + return 0; + } + + importObject.webgl.getUniform = (ctx, program, location) => { + // this can return multiple types + alert("getUniform not implemented"); + return 0; + } + + importObject.webgl.getUniformLocation = (ctx, program, name) => { + try { + let id = webgl.uniformLocationArray.findIndex((element) => element == null); + let uniformLocation = webgl.contextArray[ctx].getUniformLocation(webgl.programArray[program], webgl.getString(name)); + + if (id == -1) { + id = webgl.uniformLocationArray.length; + webgl.uniformLocationArray.push(uniformLocation); + } + else { + webgl.uniformLocationArray[id] = uniformLocation; + } + + return id; + } catch (err) { + console.log("getUniformLocation error"); + console.error(err); + } // end catch + } + + importObject.webgl.getVertexAttrib = (ctx, index, pname) => { + // this can return multiple types + alert("getVertexAttrib not implemented"); + return 0; + } + + // given a vertex attribute index, return the offset value + importObject.webgl.getVertexAttribOffset = (ctx, index, pname) => { + try { + return webgl.contextArray[ctx].getVertexAttribOffset(index, pname); + } catch (err) { + console.log("getVertexAttribOffset error"); + console.error(err); + } // end catch + } + + // sets shader behaviorial hints, which could potentially improve performance on some implementations + importObject.webgl.hint = (ctx, target, mode) => { + try { + return webgl.contextArray[ctx].hint(target, mode); + } catch (err) { + console.log("hint error"); + console.error(err); + } // end catch + } + + // THIS MAY JUST NEED TO CHECK TO SEE IF THE NUMBER IS IN THE RENDERBUFFER ARRAY + // THERE ARE SEVERAL OF THESE isX FUNCTIONS. I'M NOT SURE IF ANY OF THEM ARE USEFUL + // IN THE AS CODE + importObject.webgl.isBuffer = (ctx, buffer) => { + try { + return webgl.contextArray[ctx].isBuffer(webgl.bufferArray[buffer]); + } catch (err) { + console.log("isBuffer error"); + console.error(err); + } // end catch + } + + // tests a webgl capability to see if it is enabled + importObject.webgl.isEnabled = (ctx, cap) => { + try { + return webgl.contextArray[ctx].isEnabled(cap); + } catch (err) { + console.log("isEnabled error"); + console.error(err); + } // end catch + } + + importObject.webgl.isFramebuffer = (ctx, framebuffer) => { + try { + return webgl.contextArray[ctx].isFramebuffer(webgl.frameBufferArray[framebuffer]); + } catch (err) { + console.log("isFramebuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.isProgram = (ctx, program) => { + try { + return webgl.contextArray[ctx].isProgram(webgl.programArray[program]); + } catch (err) { + console.log("isProgram error"); + console.error(err); + } // end catch + } + + importObject.webgl.isRenderbuffer = (ctx, renderbuffer) => { + try { + return webgl.contextArray[ctx].isRenderbuffer(webgl.renderBufferArray[renderbuffer]); + } catch (err) { + console.log("isRenderbuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.isShader = (ctx, shader) => { + try { + return webgl.contextArray[ctx].isShader(webgl.shaderArray[shader]); + } catch (err) { + console.log("isShader error"); + console.error(err); + } // end catch + } + + importObject.webgl.isTexture = (ctx, texture) => { + try { + return webgl.contextArray[ctx].isTexture(webgl.textureArray[texture]); + } catch (err) { + console.log("isTexture error"); + console.error(err); + } // end catch + } + + importObject.webgl.lineWidth = (ctx, width) => { + try { + return webgl.contextArray[ctx].lineWidth(width); + } catch (err) { + console.log("lineWidth error"); + console.error(err); + } // end catch + } + + importObject.webgl.linkProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].linkProgram(webgl.programArray[program]); + + if (!webgl.contextArray[ctx].getProgramParameter(webgl.programArray[program], + webgl.contextArray[ctx].LINK_STATUS)) { + console.log(arg[0].getProgramInfoLog(webgl.programArray[program])); + } + } catch (err) { + console.log("linkProgram error"); + console.error(err); + } // end catch + } + + // set pixel storage mode + importObject.webgl.pixelStorei = (ctx, pname, param) => { + try { + webgl.contextArray[ctx].pixelStorei(pname, param); + } catch (err) { + console.log("pixelStorei error"); + console.error(err); + } // end catch + } + + // ??? + importObject.webgl.polygonOffset = (ctx, factor, units) => { + try { + webgl.contextArray[ctx].polygonOffset(factor, units); + } catch (err) { + console.log("polygonOffset error"); + console.error(err); + } // end catch + } + + // read a block of pixels into an array buffer view + importObject.webgl.readPixels = (ctx, x, y, width, height, format, typ, pixels) => { + alert("readPixels not implemented"); + } + + // create and initialize a renderbuffer object's data store + importObject.webgl.renderbufferStorage = (ctx, target, internalformat, width, height) => { + try { + webgl.contextArray[ctx].renderbufferStorage(target, internalformat, width, height); + } catch (err) { + console.log("renderbufferStorage error"); + console.error(err); + } // end catch + } + + // sampling for anti-aliasing. SAMPLE_COVERAGE must be enabled. + importObject.webgl.sampleCoverage = (ctx, value, invert) => { + try { + webgl.contextArray[ctx].sampleCoverage(value, invert); + } catch (err) { + console.log("sampleCoverage error"); + console.error(err); + } // end catch + } + + // create a scissor box to draw inside. SCISSOR_TEST must be enabled. + importObject.webgl.scissor = (ctx, x, y, width, height) => { + try { + webgl.contextArray[ctx].scissor(x, y, width, height); + } catch (err) { + console.log("scissor error"); + console.error(err); + } // end catch + } + + importObject.webgl.shaderSource = (ctx, shader, source) => { + try { + webgl.contextArray[ctx].shaderSource(webgl.shaderArray[shader], webgl.getString(source)); + } catch (err) { + console.log("shaderSource error"); + console.error(err); + } // end catch + } + + // sets a function for allowing pixels to pass through a stencil. STENCIL_TEST must be set. + importObject.webgl.stencilFunc = (ctx, func, ref, mask) => { + try { + webgl.contextArray[ctx].stencilFunc(func, ref, mask); + } catch (err) { + console.log("stencilFunc error"); + console.error(err); + } // end catch + } + + // allows you to set different stencils for front and back faces. + importObject.webgl.stencilFuncSeparate = (ctx, face, func, ref, mask) => { + try { + webgl.contextArray[ctx].stencilFuncSeparate(face, func, ref, mask); + } catch (err) { + console.log("stencilFuncSeparate error"); + console.error(err); + } // end catch + } + + // defines stencil masking bits + importObject.webgl.stencilMask = (ctx, mask) => { + try { + webgl.contextArray[ctx].stencilMask(mask); + } catch (err) { + console.log("stencilMask error"); + console.error(err); + } // end catch + } + + // use different stencil mask for front and back faces + importObject.webgl.stencilMaskSeparate = (ctx, face, mask) => { + try { + webgl.contextArray[ctx].stencilMaskSeparate(face, mask); + } catch (err) { + console.log("stencilMaskSeparate error"); + console.error(err); + } // end catch + } + + // PROBLEM: zfail is a function + importObject.webgl.stencilOp = (ctx, fail, zfail, zpass) => { + alert("stencilOp is not implemented"); + } + + // PROBLEM: zfail is a function + importObject.webgl.stencilOpSeparate = (ctx, face, fail, zfail, zpass) => { + alert("stencilOpSeparate is not implemented"); + } + + // specify a two-dimensional texture image + importObject.webgl.texImage2D = (ctx, target, level, internalformat, + width, height, border, format, typ, pixels) => { + try { + webgl.contextArray[ctx].texImage2D(target, level, internalformat, + width, height, border, format, typ, webgl.getArrayView(pixels)); + } catch (err) { + console.log("texImage2D error"); + console.error(err); + } // end catch + } + + importObject.webgl.texParameterf = (ctx, target, pname, param) => { + try { + webgl.contextArray[ctx].texParameterf(target, pname, param); + } catch (err) { + console.log("texParameterf error"); + console.error(err); + } // end catch + } + + importObject.webgl.texParameteri = (ctx, target, pname, param) => { + try { + webgl.contextArray[ctx].texParameteri(target, pname, param); + } catch (err) { + console.log("texParameteri error"); + console.error(err); + } // end catch + } + + importObject.webgl.texSubImage2D = (ctx, target, level, xoffset, yoffset, + width, height, + format, typ, pixels) => { + try { + webgl.contextArray[ctx].texSubImage2D(target, level, xoffset, yoffset, + width, height, format, typ, webgl.getArrayView(pixels)); + } catch (err) { + console.log("texSubImage2D error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1f = (ctx, location, x) => { + try { + return webgl.contextArray[ctx].uniform1f(webgl.uniformLocationArray[location], x); + } catch (err) { + console.log("uniform1f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform1fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform1fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1i = (ctx, location, x) => { + try { + return webgl.contextArray[ctx].uniform1i(webgl.uniformLocationArray[location], x); + } catch (err) { + console.log("uniform1i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform1iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform1iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2f = (ctx, location, x, y) => { + try { + return webgl.contextArray[ctx].uniform2f(webgl.uniformLocationArray[location], x, y); + } catch (err) { + console.log("uniform2f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform2fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform2fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2i = (ctx, location, x, y) => { + try { + return webgl.contextArray[ctx].uniform2i(webgl.uniformLocationArray[location], x, y); + } catch (err) { + console.log("uniform2i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform2iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform2iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3f = (ctx, location, x, y, z) => { + try { + return webgl.contextArray[ctx].uniform3f(webgl.uniformLocationArray[location], x, y, z); + } catch (err) { + console.log("uniform3f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform3fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform3fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3i = (ctx, location, x, y, z) => { + try { + return webgl.contextArray[ctx].uniform3i(webgl.uniformLocationArray[location], x, y, z); + } catch (err) { + console.log("uniform3i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform3iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform3iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4f = (ctx, location, x, y, z, w) => { + try { + return webgl.contextArray[ctx].uniform4f(webgl.uniformLocationArray[location], x, y, z, w); + } catch (err) { + console.log("uniform4f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform4fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4i = (ctx, location, x, y, z, w) => { + try { + return webgl.contextArray[ctx].uniform4i(webgl.uniformLocationArray[location], x, y, z, w); + } catch (err) { + console.log("uniform4i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform4iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform4iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniformMatrix2fv = (ctx, location, transpose, value_arr) => { + try { + return webgl.contextArray[ctx].uniformMatrix2fv(webgl.uniformLocationArray[location], transpose, + webgl.getArrayView(value_arr)); + } catch (err) { + console.log("uniformMatrix2fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniformMatrix3fv = (ctx, location, transpose, value_arr) => { + try { + return webgl.contextArray[ctx].uniformMatrix3fv(webgl.uniformLocationArray[location], transpose, + webgl.getArrayView(value_arr)); + } catch (err) { + console.log("uniformMatrix3fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniformMatrix4fv = (ctx, location, transpose, value_arr) => { + try { + return webgl.contextArray[ctx].uniformMatrix4fv(webgl.uniformLocationArray[location], transpose, + webgl.getArrayView(value_arr)); + } catch (err) { + console.log("uniformMatrix4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.useProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].useProgram(webgl.programArray[program]); + } catch (err) { + console.log("useProgram error"); + console.error(err); + } // end catch + } + + importObject.webgl.validateProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].validateProgram(webgl.programArray[program]); + } catch (err) { + console.log("validateProgram error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib1f = (ctx, indx, x) => { + try { + return webgl.contextArray[ctx].vertexAttrib1f(indx, x); + } catch (err) { + console.log("vertexAttrib1f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib1fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib1fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib1fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib2f = (ctx, indx, x, y) => { + try { + return webgl.contextArray[ctx].vertexAttrib2f(indx, x, y); + } catch (err) { + console.log("vertexAttrib2f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib2fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib2fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib2fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib3f = (ctx, indx, x, y, z) => { + try { + return webgl.contextArray[ctx].vertexAttrib3f(indx, x, y, z); + } catch (err) { + console.log("vertexAttrib3f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib3fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib3fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib3fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib4f = (ctx, indx, x, y, z, w) => { + try { + return webgl.contextArray[ctx].vertexAttrib4f(indx, x, y, z, w); + } catch (err) { + console.log("vertexAttrib4f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib4fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib4fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttribPointer = (ctx, indx, size, typ, normalized, stride, offset) => { + try { + webgl.contextArray[ctx].vertexAttribPointer(indx, size, typ, normalized, stride, offset); + } catch (err) { + console.log("vertexAttrib4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.viewport = (ctx, indx, x, y, width, height) => { + try { + webgl.contextArray[ctx].viewport(indx, x, y, width, height); + } catch (err) { + console.log("viewport error"); + console.error(err); + } // end catch + } + + // expiramental webgl2 + importObject.webgl.copyBufferSubData = (ctx, readTarget, writeTarget, readOffset, writeOffset, size) => { + alert("copyBufferSubData not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.getBufferSubData = (ctx, target, srcByteOffset, dstBuffer, dstOffset, length) => { + alert("getBufferSubData not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.blitFramebuffer = (ctx, srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, + mask, filter) => { + alert("blitFramebuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.framebufferTextureLayer = (ctx, target, attachment, texture, level, layer) => { + alert("framebufferTextureLayer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.invalidateFramebuffer = (ctx, target, attachments) => { + alert("invalidateFramebuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.invalidateSubFramebuffer = (ctx, target, attachments, x, y, width, height) => { + alert("invalidateSubFramebuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.readBuffer = (ctx, src) => { + alert("readBuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.getInternalformatParameter = (ctx, target, internalformat, pname) => { + alert("getInternalformatParameter not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.renderbufferStorageMultisample = (ctx, target, samples, internalformat, width, height) => { + alert("renderbufferStorageMultisample not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.texStorage2D = (ctx, target, levels, internalformat, width, height) => { + alert("texStorage2D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.texStorage3D = (ctx, target, levels, internalformat, width, height, depth) => { + alert("texStorage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.texSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, typ, pboOffset) => { + alert("texSubImage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.copyTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height) => { + alert("copyTexSubImage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.compressedTexImage3D = (ctx, target, level, internalformat, width, + height, depth, border, imageSize, offset) => { + alert("compressedTexImage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.compressedTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, imageSize, offset) => { + alert("compressedTexSubImage3D not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getFragDataLocation = (ctx, program, name) => { + alert("getFragDataLocation not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform1ui = (ctx, location, v0) => { + alert("uniform1ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform2ui = (ctx, location, v0, v1) => { + alert("uniform2ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform3ui = (ctx, location, v0, v1, v3) => { + alert("uniform3ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform4ui = (ctx, location, v0, v1, v3, v4) => { + alert("uniform4ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform1uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform1uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform2uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform2uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform3uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform3uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform4uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform4uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix3x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix3x2fv not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix4x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix4x2fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix2x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix2x3fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix4x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix4x3fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix2x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix2x4fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix3x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix3x4fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4i = (ctx, index, x, y, z, w) => { + alert("vertexAttribI4i not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4iv = (ctx, index, value_arr) => { + alert("vertexAttribI4iv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4ui = (ctx, index, x, y, z, w) => { + alert("vertexAttribI4ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4uiv = (ctx, index, value_arr) => { + alert("vertexAttribI4uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribIPointer = (ctx, index, size, typ, stride, offset) => { + alert("vertexAttribIPointer not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribDivisor = (ctx, index, divisor) => { + alert("vertexAttribIPointer not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawArraysInstanced = (ctx, mode, first, count, instanceCount) => { + alert("drawArraysInstanced not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawElementsInstanced = (ctx, mode, count, typ, offset, instanceCount) => { + alert("drawElementsInstanced not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawRangeElements = (ctx, mode, start, end, count, typ, offset) => { + alert("drawRangeElements not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawBuffers = (ctx, buffers) => { + alert("drawBuffers not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferfv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferfv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferuiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferuiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferfi = (ctx, buffer, drawbuffer, depth, stencil) => { + alert("clearBufferfi not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createQuery = (ctx) => { + alert("createQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteQuery = (ctx, query) => { + alert("deleteQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isQuery = (ctx, query) => { + alert("isQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.beginQuery = (ctx, target, query) => { + alert("beginQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.endQuery = (ctx, query) => { + alert("endQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getQuery = (ctx, query, pname) => { + alert("getQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getQueryParameter = (ctx, query, pname) => { + alert("getQueryParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createSampler = (ctx) => { + alert("createSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteSampler = (ctx, sampler) => { + alert("deleteSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isSampler = (ctx, sampler) => { + alert("isSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindSampler = (ctx, uint, sampler) => { + alert("bindSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.samplerParameteri = (ctx, sampler, pname, param) => { + alert("samplerParameteri not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.samplerParameterf = (ctx, sampler, pname, param) => { + alert("samplerParameterf not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getSamplerParameter = (ctx, sampler, pname) => { + alert("getSamplerParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.fenceSync = (ctx, condition, flags) => { + alert("fenceSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isSync = (ctx, sync) => { + alert("isSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteSync = (ctx, sync) => { + alert("deleteSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clientWaitSync = (ctx, sync, flags, timeout) => { + alert("clientWaitSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.waitSync = (ctx, sync, flags, timeout) => { + alert("waitSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getSyncParameter = (ctx, sync, pname) => { + alert("getSyncParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createTransformFeedback = (ctx) => { + alert("createTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteTransformFeedback = (ctx, tf) => { + alert("deleteTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isTransformFeedback = (ctx, tf) => { + alert("isTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindTransformFeedback = (ctx, target, tf) => { + alert("bindTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.beginTransformFeedback = (ctx, primitiveMode) => { + alert("beginTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.endTransformFeedback = (ctx) => { + alert("endTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.transformFeedbackVaryings = (ctx, program, varyings, bufferMode) => { + alert("transformFeedbackVaryings not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getTransformFeedbackVarying = (ctx, program, index) => { + alert("getTransformFeedbackVarying not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.pauseTransformFeedback = (ctx) => { + alert("pauseTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.resumeTransformFeedback = (ctx) => { + alert("resumeTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindBufferBase = (ctx, target, index, buffer) => { + alert("bindBufferBase not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindBufferRange = (ctx, target, index, buffer, offset, size) => { + alert("bindBufferRange not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getIndexedParameter = (ctx, target, index) => { + alert("getIndexedParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getUniformIndices = (ctx, program, uniformNames) => { + alert("getUniformIndices not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getActiveUniforms = (ctx, program, uniformIndices, pname) => { + alert("getActiveUniforms not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getUniformBlockIndex = (ctx, program, uniformBlockName) => { + alert("getUniformBlockIndex not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getActiveUniformBlockParameter = (ctx, program, uniformBlockIndex, pname) => { + alert("getActiveUniformBlockParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getActiveUniformBlockName = (ctx, program, uniformBlockIndex) => { + alert("getActiveUniformBlockName not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformBlockBinding = (ctx, program, uniformBlockIndex, uniformBlockBinding) => { + alert("uniformBlockBinding not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createVertexArray = (ctx) => { + alert("createVertexArray not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteVertexArray = (ctx, vertexArray) => { + alert("deleteVertexArray not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isVertexArray = (ctx, vertexArray) => { + alert("isVertexArray not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindVertexArray = (ctx, vertexArray) => { + alert("bindVertexArray not implemented (expiramental)"); + } + +} diff --git a/src/extended/main.js b/src/extended/main.js new file mode 100644 index 0000000..1ce0fd5 --- /dev/null +++ b/src/extended/main.js @@ -0,0 +1,266 @@ +import * as loader from "./loader.js"; + +function bindFlat(obj, base) { + console.log("bindFlat"); + if (!base) base = {}; + var isPrototype = false; + for (let i = 0; i < 2; ++i) { + for (const [key, { value }] of Object.entries(Object.getOwnPropertyDescriptors(obj))) { + if (typeof value === "function") { + console.log(`key=${key} value=${value}`); + if (key !== "constructor") { + base[key] = isPrototype + ? (thisArg, ...args) => thisArg[key](...args) + : value; + } + } else { + console.log(`NOT FUNCTION key=${key} value=${value}`); + if (isPrototype) { + const ucKey = key.charAt(0).toUpperCase() + key.substring(1); + console.log(`ucKey=${ucKey}`); + base["get" + ucKey] = (thisArg) => thisArg[key]; + base["set" + ucKey] = (thisArg, value) => thisArg[key] = value; + } else { + console.log(`key=${key}`); + base[key] = value; + } + } + } + if (!(obj = obj.prototype)) break; + isPrototype = true; + } + return base; +} + +const memory = new WebAssembly.Memory({ initial: 100 }); // linear memory + +const canvas = document.getElementById('cnvs'); +const gl = canvas.getContext('webgl2'); +var exports = {}; +// console.log(WebGL2RenderingContext); + +const programs = []; //Array() + +let importObject = { + webgl: bindFlat(WebGL2RenderingContext) +}; + +var uniform_remove_me; + +importObject.webgl.gl = gl; +importObject.render_lines = {}; +importObject.render_lines.log = (arg) => { console.log(arg) }; +importObject.webgl.getJSString = (arg) => { return exports.__getString(arg) }; +importObject.webgl.getJSFloat32Array = (arg) => { return exports.__getFloat32Array(arg) }; +importObject.webgl.getUniformLocation = (...args) => { + try { + //var loc = gl.getUniformLocation(args[1], exports.__getString(args[2])); + uniform_remove_me = gl.getUniformLocation(args[1], exports.__getString(args[2])); + console.log("**** uniform location ****") + console.log(uniform_remove_me); + return uniform_remove_me; + } + catch (error) { + console.error(error); + } +}; +importObject.webgl.uniform4fv = (...args) => { + try { + console.log('arg1'); + console.log(args[1]); + console.log('arg2'); + console.log(args[2]); + gl.uniform4fv(/*args[1]*/ uniform_remove_me, /*args[2]*/ new Float32Array([255.0, 255.0, 255.0, 255.0]));//exports.__getUint32ArrayView(args[2])); + } + catch (error) { + console.error(error); + } +}; + +var remove_me_buffer; + +importObject.webgl.createBuffer = (...args) => { + console.log('createBuffer'); + remove_me_buffer = gl.createBuffer(); + console.log('end createBuffer'); + return remove_me_buffer; +} + + +importObject.webgl.createProgram = (...args) => { + let id = programs.length; + let program = gl.createProgram(); + programs.push(program); + return id; +} + +importObject.webgl.linkProgram = (...args) => { + gl.linkProgram(programs[args[1]]); + + if (!gl.getProgramParameter(programs[args[1]], gl.LINK_STATUS)) { + console.log(gl.getProgramInfoLog(programs[args[1]])); + } +} +//(thisArg: WebGLRenderingContext, program: WebGLProgram): void; + +importObject.webgl.attachShader = (...args) => { // (thisArg: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void; + gl.attachShader(programs[args[1]], args[2]); +} + +importObject.webgl.useProgram = (...args) => { + gl.useProgram(programs[/*args[1]*/0]); +} + +importObject.webgl.getUniformLocation = (...args) => { + return gl.getUniformLocation(programs[/*args[1]*/0], /*args[2]*/'u_color'); //exports.__getString(args[2])); +} + +var position_remove_me; + +importObject.webgl.getAttribLocation = (...args) => { + console.log("getAttribLocation"); + console.log(args); + /*let*/position_remove_me /*ret_val*/ = gl.getAttribLocation(programs[/*args[1]*/0], 'position'); //exports.__getString(args[2])); + console.log(`returns ${position_remove_me}`); + return position_remove_me; //ret_val; +} + +importObject.webgl.enableVertexAttribArray = (...args) => { + console.log("enableVertexAttribArray"); + gl.enableVertexAttribArray(position_remove_me); + console.log("end enableVertexAttribArray"); +} + +importObject.webgl.vertexAttribPointer = (...args) => { + console.log("vertexAttribPointer"); + console.log(args); + console.log('----'); + //gl.vertexAttribPointer(index, size, type, normalized, stride, offset); + //gl.vertexAttribPointer(args[1], args[2], args[3], args[4], args[5], args[6]); + gl.vertexAttribPointer(/*args[1]*/position_remove_me, 2, gl.FLOAT, false, 0, 0); + console.log('----'); +} + +importObject.webgl.drawArrays = (...args) => { + console.log("drawArrays"); + gl.drawArrays(gl.LINE_LOOP, 0, args[3]); + console.log("end drawArrays"); +} + +importObject.webgl.bindBuffer = (...args) => { + console.log("call bind buffer"); + gl.bindBuffer(gl.ARRAY_BUFFER, remove_me_buffer); //args[1], args[2]); + console.log("buffer bound"); +} + +importObject.webgl.bufferDataABV = (...args) => { + console.log("call buffer data"); + //thisArg: WebGLRenderingContext, target: GLenum, data: ArrayBufferView, usage: GLenum + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-0.1, 0.4, -0.2, 0, 0, -0.3, 0.2, 0, 0.1, 0.4, 0.2, 0.3, 0, 0.9, -0.2, 0.3,]), gl.STATIC_DRAW); //args[1], args[2], args[3]); + console.log("end buffer data"); +} + +importObject.webgl.getJSArrayViewF32 = (...arg) => { + console.log("getJSArrayViewF32"); + let arr = exports.__getFloat32ArrayView(arg); + console.log("end getJSArrayViewF32"); + return arr; +} + +importObject.webgl.getJSArrayViewU32 = (...arg) => { + console.log("getJSArrayViewU32"); + let arr = exports.__getUint32ArrayView(arg); + console.log("end getJSArrayViewU32"); + return arr; +} + +bindFlat({ + prototype: { + alpha: true, + antialias: true, + depth: true, + failIfMajorPerformanceCaveat: false, + powerPreference: "default", + premultipliedAlpha: true, + preserveDrawingBuffer: false, + stencil: false, + desynchronized: false, + + // getJSString: function (arg) { return exports.__getString(arg); }, + getJSArrayBuffer: function (arg) { return exports.__getArrayBuffer(arg); }, + getJSArray: function (arg) { return exports.__getArray(arg); }, + /* + getJSArrayViewF32: function (arg) { + console.log("getJSArrayViewF32"); + return exports.__getArray(arg); + }, + getJSArrayViewU32: function (arg) { + console.log("getJSArrayViewU32"); + return exports.__getArray(arg); + }, + */ + getJSInt8Array: function (arg) { return exports.__getInt8Array(arg); }, + getJSUint8Array: function (arg) { return exports.__getUint8Array(arg); }, + getJSUint8ClampedArray: function (arg) { return exports.__getUint8ClampedArray(arg); }, + getJSInt16Array: function (arg) { return exports.__getInt16Array(arg); }, + getJSUint16Array: function (arg) { return exports.__getUint16Array(arg); }, + getJSInt32Array: function (arg) { return exports.__getInt32Array(arg); }, + getJSUint32Array: function (arg) { return exports.__getUint32Array(arg); }, + getJSInt64Array: function (arg) { return exports.__getInt64Array(arg); }, + getJSUint64Array: function (arg) { return exports.__getUint64Array(arg); }, + //getJSFloat32Array: function (arg) { return exports.__getFloat32Array(arg); }, + getJSFloat64Array: function (arg) { return exports.__getFloat64Array(arg); }, + + getJSArrayView: function (arg) { + console.log('========= begin arg =============') + console.log(arg); + console.log('========= end arg =============') + return exports.__getArrayView(arg); + }, + getJSInt8ArrayView: function (arg) { return exports.__getInt8ArrayView(arg); }, + getJSUint8ArrayView: function (arg) { return exports.__getUint8ArrayView(arg); }, + getJSUint8ClampedArrayView: function (arg) { return exports.__getUint8ClampedArrayView(arg); }, + getJSInt16ArrayView: function (arg) { return exports.__getInt16ArrayView(arg); }, + getJSUint16ArrayView: function (arg) { return exports.__getUint16ArrayView(arg); }, + getJSInt32ArrayView: function (arg) { return exports.__getInt32ArrayView(arg); }, + getJSUint32ArrayView: function (arg) { return exports.__getUint32ArrayView(arg); }, + getJSInt64ArrayView: function (arg) { return exports.__getInt64ArrayView(arg); }, + getJSUint64ArrayView: function (arg) { return exports.__getUint64ArrayView(arg); }, + getJSFloat32ArrayView: function (arg) { return exports.__getFloat32ArrayView(arg); }, + getJSFloat64ArrayView: function (arg) { return exports.__getFloat64ArrayView(arg); }, + } +}, importObject.webgl); + +bindFlat(WebGLActiveInfo, importObject.webgl); +bindFlat(WebGLShaderPrecisionFormat, importObject.webgl); + +// bindFlat(gl, importObject.webgl); +//importObject.webgl.viewport(); + +function render_frame() { + console.log("call animation_frame"); + exports.animation_frame(); + console.log("call requestAnimationFrame"); + //requestAnimationFrame(render_frame); + console.log("call render_frame"); +} + +console.log('===================================='); +console.log('>> loader <<'); +console.log(loader); +loader.instantiate(fetch('lines.wasm'), + importObject).then((obj) => { + console.log(obj); + exports = obj.exports; + exports.init(); + requestAnimationFrame(render_frame); + }); +console.log('===================================='); + +/* +clear(); +asc_animation = obj.instance.exports.animation; +ship_loop_color_ptr = obj.instance.exports.color_addr(); +requestAnimationFrame(animation_frame); +*/ + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..19e6f83 --- /dev/null +++ b/src/main.js @@ -0,0 +1,164 @@ +import * as loader from "./old/loader.js"; + +function bindFlat(obj, base) { + console.log("bindFlat"); + if (!base) base = {}; + var isPrototype = false; + for (let i = 0; i < 2; ++i) { + for (const [key, { value }] of Object.entries(Object.getOwnPropertyDescriptors(obj))) { + if (typeof value === "function") { + console.log(`key=${key} value=${value}`); + if (key !== "constructor") { + base[key] = isPrototype + ? (thisArg, ...arg) => thisArg[key](...arg) + : value; + } + } else { + console.log(`NOT FUNCTION key=${key} value=${value}`); + if (isPrototype) { + const ucKey = key.charAt(0).toUpperCase() + key.substring(1); + console.log(`ucKey=${ucKey}`); + base["get" + ucKey] = (thisArg) => thisArg[key]; + base["set" + ucKey] = (thisArg, value) => thisArg[key] = value; + } else { + console.log(`key=${key}`); + base[key] = value; + } + } + } + if (!(obj = obj.prototype)) break; + isPrototype = true; + } + return base; +} + +const memory = new WebAssembly.Memory({ initial: 100 }); // linear memory + +const canvas = document.getElementById('cnvs'); +const gl = canvas.getContext('webgl2'); +var exports = {}; +// console.log(WebGL2RenderingContext); + +const programs = []; //Array() + +let importObject = { + webgl: bindFlat(WebGL2RenderingContext) +}; + +importObject.webgl.gl = gl; +importObject.render_lines = {}; +importObject.render_lines.log = (arg) => { console.log(arg) }; +importObject.webgl.getJSString = (arg) => { return exports.__getString(arg) }; +importObject.webgl.getJSFloat32Array = (arg) => { return exports.__getFloat32Array(arg) }; + +importObject.webgl.getUniformLocation = (...arg) => { + return arg[0].getUniformLocation(programs[arg[1]], exports.__getString(arg[2]));; +}; + +importObject.webgl.createProgram = (...arg) => { + let id = programs.length; + let program = arg[0].createProgram(); + programs.push(program); + return id; +} + +importObject.webgl.linkProgram = (...arg) => { + arg[0].linkProgram(programs[arg[1]]); + + if (!arg[0].getProgramParameter(programs[arg[1]], gl.LINK_STATUS)) { + console.log(arg[0].getProgramInfoLog(programs[arg[1]])); + } +} + +importObject.webgl.attachShader = (...arg) => { + arg[0].attachShader(programs[arg[1]], arg[2]); +} + +importObject.webgl.shaderSource = (...arg) => { + arg[0].shaderSource(arg[1], exports.__getString(arg[2])); +} + +importObject.webgl.useProgram = (...arg) => { + arg[0].useProgram(programs[arg[1]]); +} + +importObject.webgl.getAttribLocation = (...arg) => { + return arg[0].getAttribLocation(programs[arg[1]], exports.__getString(arg[2])); +} + +// ONLY SUPPORTS F32 +importObject.webgl.uniform4fv = (...arg) => { + return arg[0].uniform4fv(arg[1], exports.__getArrayView(arg[2])); +} + +importObject.webgl.getJSArrayViewF32 = (...arg) => { + return exports.__getFloat32ArrayView(arg[0]); +} + +importObject.webgl.getJSArrayViewI32 = (...arg) => { + return exports.__getInt32ArrayView(arg[0]); +} + +importObject.webgl.bufferDataABV = (...arg) => { + arg[0].bufferData(arg[1], exports.__getArrayView(arg[2]), arg[3]); +} + +bindFlat({ + prototype: { + alpha: true, + antialias: true, + depth: true, + failIfMajorPerformanceCaveat: false, + powerPreference: "default", + premultipliedAlpha: true, + preserveDrawingBuffer: false, + stencil: false, + desynchronized: false, + + // getJSString: function (arg) { return exports.__getString(arg); }, + getJSArrayBuffer: function (arg) { return exports.__getArrayBuffer(arg); }, + getJSArray: function (arg) { return exports.__getArray(arg); }, + getJSInt8Array: function (arg) { return exports.__getInt8Array(arg); }, + getJSUint8Array: function (arg) { return exports.__getUint8Array(arg); }, + getJSUint8ClampedArray: function (arg) { return exports.__getUint8ClampedArray(arg); }, + getJSInt16Array: function (arg) { return exports.__getInt16Array(arg); }, + getJSUint16Array: function (arg) { return exports.__getUint16Array(arg); }, + getJSInt32Array: function (arg) { return exports.__getInt32Array(arg); }, + getJSUint32Array: function (arg) { return exports.__getUint32Array(arg); }, + getJSInt64Array: function (arg) { return exports.__getInt64Array(arg); }, + getJSUint64Array: function (arg) { return exports.__getUint64Array(arg); }, + //getJSFloat32Array: function (arg) { return exports.__getFloat32Array(arg); }, + getJSFloat64Array: function (arg) { return exports.__getFloat64Array(arg); }, + + getJSArrayView: function (arg) { + return exports.__getArrayView(arg); + }, + getJSInt8ArrayView: function (arg) { return exports.__getInt8ArrayView(arg); }, + getJSUint8ArrayView: function (arg) { return exports.__getUint8ArrayView(arg); }, + getJSUint8ClampedArrayView: function (arg) { return exports.__getUint8ClampedArrayView(arg); }, + getJSInt16ArrayView: function (arg) { return exports.__getInt16ArrayView(arg); }, + getJSUint16ArrayView: function (arg) { return exports.__getUint16ArrayView(arg); }, + getJSInt32ArrayView: function (arg) { return exports.__getInt32ArrayView(arg); }, + getJSUint32ArrayView: function (arg) { return exports.__getUint32ArrayView(arg); }, + getJSInt64ArrayView: function (arg) { return exports.__getInt64ArrayView(arg); }, + getJSUint64ArrayView: function (arg) { return exports.__getUint64ArrayView(arg); }, + getJSFloat32ArrayView: function (arg) { return exports.__getFloat32ArrayView(arg); }, + getJSFloat64ArrayView: function (arg) { return exports.__getFloat64ArrayView(arg); }, + } +}, importObject.webgl); + +bindFlat(WebGLActiveInfo, importObject.webgl); +bindFlat(WebGLShaderPrecisionFormat, importObject.webgl); + +function render_frame() { + exports.animation_frame(); + requestAnimationFrame(render_frame); +} + +loader.instantiate(fetch('lines.wasm'), + importObject).then((obj) => { + console.log(obj); + exports = obj.exports; + exports.init(); + requestAnimationFrame(render_frame); + }); diff --git a/src/old/aswebgl_glue.js b/src/old/aswebgl_glue.js new file mode 100644 index 0000000..ad0096e --- /dev/null +++ b/src/old/aswebgl_glue.js @@ -0,0 +1,310 @@ +var ASGlue_WebGL = {}; +ASGlue_WebGL.Buffer_array = []; +ASGlue_WebGL.FrameBuffer_array = []; +ASGlue_WebGL.Program_array = []; +ASGlue_WebGL.Renderbuffer_array = []; +ASGlue_WebGL.Shader_array = []; +ASGlue_WebGL.Texture_array = []; +ASGlue_WebGL.UniformLocation_array = []; +ASGlue_WebGL.ActiveInfo_array = []; +ASGlue_WebGL.ShaderPrecisionFormat_array = []; +ASGlue_WebGL.RenderingContext_array = []; +ASGlue_WebGL.ASString_to_JSString = (string_index) => { + console.error("ASGlue_WebGL_ASString_to_String"); + return ""; +} +ASGlue_WebGL.RenderingContext_importObject; + +ASGlue_WebGL.Init = (importObject, ...contextArray) => { + if (importObject == null) { + console.error("AssemblyScript WebGL glue requires an import object"); + } + + ASGlue_WebGL.RenderingContext_importObject = importObject; + + if (contextArray != null) { + for (let i = 0; i < contextArray.length; i++) { + ASGlue_WebGL.RenderingContext_array.push(contextArray[i]); + } + } + + importObject.webgl.activeTexture = (context_index, texture_index) => { + ASGlue_WebGL.RenderingContext_array[context_index].activeTexture(ASGlue_WebGLTexture_array[texture_index]); + } + + importObject.webgl.attachShader = (context_index, program_index, shader_index) => { + ASGlue_WebGL.RenderingContext_array[context_index].attachShader(ASGlue_WebGL.Program_array[program_index], + ASGlue_WebGL.Shader_array[shader_index]); + } + + importObject.webgl.bindAttribLocation = (context_index, attrib_index, name_string_index) => { + ASGlue_WebGL.RenderingContext_array[context_index].bindAttribLocation(attrib_index, + ASGlue_WebGL.ASString_to_String(name_string_index)); + } + + importObject.webgl.bindBuffer = (target, buffer_index) => { + ASGlue_WebGL.RenderingContext_array[context_index].bindBuffer(target, + ASGlue_WebGL.Buffer_array[buffer_index]); + } + + importObject.webgl.bindFramebuffer = (target, framebuffer_index) => { + ASGlue_WebGL.RenderingContext_array[context_index].bindFramebuffer(target, + ASGlue_WebGL.FrameBuffer_array[framebuffer_index]); + } + + importObject.webgl.bindRenderbuffer = (target, renderbuffer_index) => { + ASGlue_WebGL.RenderingContext_array[context_index].bindFramebuffer(target, + ASGlue_WebGL.RenderBuffer_array[renderbuffer_index]); + } + + importObject.webgl.bindTexture = (target, texture_index) => { + ASGlue_WebGL.RenderingContext_array[context_index].bindTexture(target, + ASGlue_WebGL.Texture_array[texture_index]); + } + + importObject.webgl.blendColor = (red, green, blue, alpha) => { + ASGlue_WebGL.RenderingContext_array[context_index].blendColor(red, green, blue, alpha); + } + + importObject.webgl.blendEquation = (mode) => { + ASGlue_WebGL.RenderingContext_array[context_index].blendEquation(mode); + } + + importObject.webgl.blendEquationSeparate = (modeRGB, modeAlpha) => { + ASGlue_WebGL.RenderingContext_array[context_index].blendEquationSeparate(modeRGB, modeAlpha); + } + + importObject.webgl.blendFunc = (sfactor, dfactor) => { + ASGlue_WebGL.RenderingContext_array[context_index].blendFunc(sfactor, dfactor); + } + + importObject.webgl.blendFuncSeparate = (srcRGB, dstRGB, srcAlpha, dstAlpha) => { + ASGlue_WebGL.RenderingContext_array[context_index].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); + } + +} +// endit + +void bufferData(GLenum target, GLsizeiptr size, GLenum usage); +void bufferData(GLenum target, ArrayBufferView data, GLenum usage); +void bufferData(GLenum target, ArrayBuffer ? data, GLenum usage); +void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView data); +void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer ? data); + +[WebGLHandlesContextLoss] GLenum checkFramebufferStatus(GLenum target); +void clear(GLbitfield mask); +void clearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +void clearDepth(GLclampf depth); +void clearStencil(GLint s); +void colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +void compileShader(WebGLShader ? shader); + +void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, + GLsizei width, GLsizei height, GLint border, + ArrayBufferView data); +void compressedTexSubImage2D(GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLsizei width, GLsizei height, GLenum format, + ArrayBufferView data); + +void copyTexImage2D(GLenum target, GLint level, GLenum internalformat, + GLint x, GLint y, GLsizei width, GLsizei height, + GLint border); +void copyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLint x, GLint y, GLsizei width, GLsizei height); + +WebGLBuffer ? createBuffer(); +WebGLFramebuffer ? createFramebuffer(); +WebGLProgram ? createProgram(); +WebGLRenderbuffer ? createRenderbuffer(); +WebGLShader ? createShader(GLenum type); +WebGLTexture ? createTexture(); + +void cullFace(GLenum mode); + +void deleteBuffer(WebGLBuffer ? buffer); +void deleteFramebuffer(WebGLFramebuffer ? framebuffer); +void deleteProgram(WebGLProgram ? program); +void deleteRenderbuffer(WebGLRenderbuffer ? renderbuffer); +void deleteShader(WebGLShader ? shader); +void deleteTexture(WebGLTexture ? texture); + +void depthFunc(GLenum func); +void depthMask(GLboolean flag); +void depthRange(GLclampf zNear, GLclampf zFar); +void detachShader(WebGLProgram ? program, WebGLShader ? shader); +void disable(GLenum cap); +void disableVertexAttribArray(GLuint index); +void drawArrays(GLenum mode, GLint first, GLsizei count); +void drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset); + +void enable(GLenum cap); +void enableVertexAttribArray(GLuint index); +void finish(); +void flush(); +void framebufferRenderbuffer(GLenum target, GLenum attachment, + GLenum renderbuffertarget, + WebGLRenderbuffer ? renderbuffer); +void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, + WebGLTexture ? texture, GLint level); +void frontFace(GLenum mode); + +void generateMipmap(GLenum target); + +WebGLActiveInfo ? getActiveAttrib(WebGLProgram ? program, GLuint index); +WebGLActiveInfo ? getActiveUniform(WebGLProgram ? program, GLuint index); +sequence?getAttachedShaders(WebGLProgram ? program); + +[WebGLHandlesContextLoss] GLint getAttribLocation(WebGLProgram ? program, DOMString name); + +any getBufferParameter(GLenum target, GLenum pname); +any getParameter(GLenum pname); + +[WebGLHandlesContextLoss] GLenum getError(); + +any getFramebufferAttachmentParameter(GLenum target, GLenum attachment, + GLenum pname); +any getProgramParameter(WebGLProgram ? program, GLenum pname); +DOMString ? getProgramInfoLog(WebGLProgram ? program); +any getRenderbufferParameter(GLenum target, GLenum pname); +any getShaderParameter(WebGLShader ? shader, GLenum pname); +WebGLShaderPrecisionFormat ? getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype); +DOMString ? getShaderInfoLog(WebGLShader ? shader); + +DOMString ? getShaderSource(WebGLShader ? shader); + +any getTexParameter(GLenum target, GLenum pname); + +any getUniform(WebGLProgram ? program, WebGLUniformLocation ? location); + +WebGLUniformLocation ? getUniformLocation(WebGLProgram ? program, DOMString name); + +any getVertexAttrib(GLuint index, GLenum pname); + +[WebGLHandlesContextLoss] GLsizeiptr getVertexAttribOffset(GLuint index, GLenum pname); + +void hint(GLenum target, GLenum mode); +[WebGLHandlesContextLoss] GLboolean isBuffer(WebGLBuffer ? buffer); +[WebGLHandlesContextLoss] GLboolean isEnabled(GLenum cap); +[WebGLHandlesContextLoss] GLboolean isFramebuffer(WebGLFramebuffer ? framebuffer); +[WebGLHandlesContextLoss] GLboolean isProgram(WebGLProgram ? program); +[WebGLHandlesContextLoss] GLboolean isRenderbuffer(WebGLRenderbuffer ? renderbuffer); +[WebGLHandlesContextLoss] GLboolean isShader(WebGLShader ? shader); +[WebGLHandlesContextLoss] GLboolean isTexture(WebGLTexture ? texture); +void lineWidth(GLfloat width); +void linkProgram(WebGLProgram ? program); +void pixelStorei(GLenum pname, GLint param); +void polygonOffset(GLfloat factor, GLfloat units); + +void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, ArrayBufferView ? pixels); + +void renderbufferStorage(GLenum target, GLenum internalformat, + GLsizei width, GLsizei height); +void sampleCoverage(GLclampf value, GLboolean invert); +void scissor(GLint x, GLint y, GLsizei width, GLsizei height); + +void shaderSource(WebGLShader ? shader, DOMString source); + +void stencilFunc(GLenum func, GLint ref, GLuint mask); +void stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask); +void stencilMask(GLuint mask); +void stencilMaskSeparate(GLenum face, GLuint mask); +void stencilOp(GLenum fail, GLenum zfail, GLenum zpass); +void stencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass); + +void texImage2D(GLenum target, GLint level, GLenum internalformat, + GLsizei width, GLsizei height, GLint border, GLenum format, + GLenum type, ArrayBufferView ? pixels); +void texImage2D(GLenum target, GLint level, GLenum internalformat, + GLenum format, GLenum type, ImageData ? pixels); +void texImage2D(GLenum target, GLint level, GLenum internalformat, + GLenum format, GLenum type, HTMLImageElement image); // May throw DOMException +void texImage2D(GLenum target, GLint level, GLenum internalformat, + GLenum format, GLenum type, HTMLCanvasElement canvas); // May throw DOMException +void texImage2D(GLenum target, GLint level, GLenum internalformat, + GLenum format, GLenum type, HTMLVideoElement video); // May throw DOMException + +void texParameterf(GLenum target, GLenum pname, GLfloat param); +void texParameteri(GLenum target, GLenum pname, GLint param); + +void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLsizei width, GLsizei height, + GLenum format, GLenum type, ArrayBufferView ? pixels); +void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLenum format, GLenum type, ImageData ? pixels); +void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLenum format, GLenum type, HTMLImageElement image); // May throw DOMException +void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLenum format, GLenum type, HTMLCanvasElement canvas); // May throw DOMException +void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLenum format, GLenum type, HTMLVideoElement video); // May throw DOMException + +void uniform1f(WebGLUniformLocation ? location, GLfloat x); +void uniform1fv(WebGLUniformLocation ? location, Float32Array v); +void uniform1fv(WebGLUniformLocation ? location, sequence < GLfloat > v); +void uniform1i(WebGLUniformLocation ? location, GLint x); +void uniform1iv(WebGLUniformLocation ? location, Int32Array v); +void uniform1iv(WebGLUniformLocation ? location, sequence < long > v); +void uniform2f(WebGLUniformLocation ? location, GLfloat x, GLfloat y); +void uniform2fv(WebGLUniformLocation ? location, Float32Array v); +void uniform2fv(WebGLUniformLocation ? location, sequence < GLfloat > v); +void uniform2i(WebGLUniformLocation ? location, GLint x, GLint y); +void uniform2iv(WebGLUniformLocation ? location, Int32Array v); +void uniform2iv(WebGLUniformLocation ? location, sequence < long > v); +void uniform3f(WebGLUniformLocation ? location, GLfloat x, GLfloat y, GLfloat z); +void uniform3fv(WebGLUniformLocation ? location, Float32Array v); +void uniform3fv(WebGLUniformLocation ? location, sequence < GLfloat > v); +void uniform3i(WebGLUniformLocation ? location, GLint x, GLint y, GLint z); +void uniform3iv(WebGLUniformLocation ? location, Int32Array v); +void uniform3iv(WebGLUniformLocation ? location, sequence < long > v); +void uniform4f(WebGLUniformLocation ? location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +void uniform4fv(WebGLUniformLocation ? location, Float32Array v); +void uniform4fv(WebGLUniformLocation ? location, sequence < GLfloat > v); +void uniform4i(WebGLUniformLocation ? location, GLint x, GLint y, GLint z, GLint w); +void uniform4iv(WebGLUniformLocation ? location, Int32Array v); +void uniform4iv(WebGLUniformLocation ? location, sequence < long > v); + +void uniformMatrix2fv(WebGLUniformLocation ? location, GLboolean transpose, + Float32Array value); +void uniformMatrix2fv(WebGLUniformLocation ? location, GLboolean transpose, + sequence < GLfloat > value); +void uniformMatrix3fv(WebGLUniformLocation ? location, GLboolean transpose, + Float32Array value); +void uniformMatrix3fv(WebGLUniformLocation ? location, GLboolean transpose, + sequence < GLfloat > value); +void uniformMatrix4fv(WebGLUniformLocation ? location, GLboolean transpose, + Float32Array value); +void uniformMatrix4fv(WebGLUniformLocation ? location, GLboolean transpose, + sequence < GLfloat > value); + +void useProgram(WebGLProgram ? program); +void validateProgram(WebGLProgram ? program); + +void vertexAttrib1f(GLuint indx, GLfloat x); +void vertexAttrib1fv(GLuint indx, Float32Array values); +void vertexAttrib1fv(GLuint indx, sequence < GLfloat > values); +void vertexAttrib2f(GLuint indx, GLfloat x, GLfloat y); +void vertexAttrib2fv(GLuint indx, Float32Array values); +void vertexAttrib2fv(GLuint indx, sequence < GLfloat > values); +void vertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z); +void vertexAttrib3fv(GLuint indx, Float32Array values); +void vertexAttrib3fv(GLuint indx, sequence < GLfloat > values); +void vertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +void vertexAttrib4fv(GLuint indx, Float32Array values); +void vertexAttrib4fv(GLuint indx, sequence < GLfloat > values); +void vertexAttribPointer(GLuint indx, GLint size, GLenum type, + GLboolean normalized, GLsizei stride, GLintptr offset); + +void viewport(GLint x, GLint y, GLsizei width, GLsizei height); +}; + +[Constructor(DOMString type, optional WebGLContextEventInit eventInit)] +interface WebGLContextEvent : Event { + readonly attribute DOMString statusMessage; +}; + +// EventInit is defined in the DOM4 specification. +dictionary WebGLContextEventInit: EventInit { + DOMString statusMessage; +}; diff --git a/src/old/loader.js b/src/old/loader.js new file mode 100644 index 0000000..ffc3d86 --- /dev/null +++ b/src/old/loader.js @@ -0,0 +1,430 @@ +"use strict"; +var exports = {}; + +// Runtime header offsets +const ID_OFFSET = -8; +const SIZE_OFFSET = -4; + +// Runtime ids +const ARRAYBUFFER_ID = 0; +const STRING_ID = 1; +// const ARRAYBUFFERVIEW_ID = 2; + +// Runtime type information +const ARRAYBUFFERVIEW = 1 << 0; +const ARRAY = 1 << 1; +const STATICARRAY = 1 << 2; +// const SET = 1 << 3; +// const MAP = 1 << 4; +const VAL_ALIGN_OFFSET = 6; +// const VAL_ALIGN = 1 << VAL_ALIGN_OFFSET; +const VAL_SIGNED = 1 << 11; +const VAL_FLOAT = 1 << 12; +// const VAL_NULLABLE = 1 << 13; +const VAL_MANAGED = 1 << 14; +// const KEY_ALIGN_OFFSET = 15; +// const KEY_ALIGN = 1 << KEY_ALIGN_OFFSET; +// const KEY_SIGNED = 1 << 20; +// const KEY_FLOAT = 1 << 21; +// const KEY_NULLABLE = 1 << 22; +// const KEY_MANAGED = 1 << 23; + +// Array(BufferView) layout +const ARRAYBUFFERVIEW_BUFFER_OFFSET = 0; +const ARRAYBUFFERVIEW_DATASTART_OFFSET = 4; +const ARRAYBUFFERVIEW_DATALENGTH_OFFSET = 8; +const ARRAYBUFFERVIEW_SIZE = 12; +const ARRAY_LENGTH_OFFSET = 12; +const ARRAY_SIZE = 16; + +const BIGINT = typeof BigUint64Array !== "undefined"; +const THIS = Symbol(); +const CHUNKSIZE = 1024; + +/** Gets a string from an U32 and an U16 view on a memory. */ +function getStringImpl(buffer, ptr) { + const U32 = new Uint32Array(buffer); + const U16 = new Uint16Array(buffer); + let length = U32[ptr + SIZE_OFFSET >>> 2] >>> 1; + let offset = ptr >>> 1; + if (length <= CHUNKSIZE) return String.fromCharCode.apply(String, U16.subarray(offset, offset + length)); + let parts = ''; + do { + const last = U16[offset + CHUNKSIZE - 1]; + const size = last >= 0xD800 && last < 0xDC00 ? CHUNKSIZE - 1 : CHUNKSIZE; + parts += String.fromCharCode.apply(String, U16.subarray(offset, offset += size)); + length -= size; + } while (length > CHUNKSIZE); + return parts + String.fromCharCode.apply(String, U16.subarray(offset, offset + length)); +} + +/** Prepares the base module prior to instantiation. */ +function preInstantiate(imports) { + const extendedExports = {}; + + function getString(memory, ptr) { + if (!memory) return ""; + return getStringImpl(memory.buffer, ptr); + } + + // add common imports used by stdlib for convenience + const env = (imports.env = imports.env || {}); + env.abort = env.abort || function abort(msg, file, line, colm) { + const memory = extendedExports.memory || env.memory; // prefer exported, otherwise try imported + throw Error(`abort: ${getString(memory, msg)} at ${getString(memory, file)}:${line}:${colm}`); + }; + env.trace = env.trace || function trace(msg, n, ...args) { + const memory = extendedExports.memory || env.memory; + console.log(`trace: ${getString(memory, msg)}${n ? " " : ""}${args.slice(0, n).join(", ")}`); + }; + env.seed = env.seed || Date.now; + imports.Math = imports.Math || Math; + imports.Date = imports.Date || Date; + + return extendedExports; +} + +/** Prepares the final module once instantiation is complete. */ +function postInstantiate(extendedExports, instance) { + const exports = instance.exports; + const memory = exports.memory; + const table = exports.table; + const alloc = exports["__alloc"]; + const retain = exports["__retain"]; + const rttiBase = exports["__rtti_base"] || ~0; // oob if not present + + /** Gets the runtime type info for the given id. */ + function getInfo(id) { + const U32 = new Uint32Array(memory.buffer); + const count = U32[rttiBase >>> 2]; + if ((id >>>= 0) >= count) throw Error(`invalid id: ${id}`); + return U32[(rttiBase + 4 >>> 2) + id * 2]; + } + + /** Gets and validate runtime type info for the given id for array like objects */ + function getArrayInfo(id) { + const info = getInfo(id); + if (!(info & (ARRAYBUFFERVIEW | ARRAY | STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + return info; + } + + /** Gets the runtime base id for the given id. */ + function getBase(id) { + const U32 = new Uint32Array(memory.buffer); + const count = U32[rttiBase >>> 2]; + if ((id >>>= 0) >= count) throw Error(`invalid id: ${id}`); + return U32[(rttiBase + 4 >>> 2) + id * 2 + 1]; + } + + /** Gets the runtime alignment of a collection's values. */ + function getValueAlign(info) { + return 31 - Math.clz32((info >>> VAL_ALIGN_OFFSET) & 31); // -1 if none + } + + /** Gets the runtime alignment of a collection's keys. */ + // function getKeyAlign(info) { + // return 31 - Math.clz32((info >>> KEY_ALIGN_OFFSET) & 31); // -1 if none + // } + + /** Allocates a new string in the module's memory and returns its retained pointer. */ + function __allocString(str) { + const length = str.length; + const ptr = alloc(length << 1, STRING_ID); + const U16 = new Uint16Array(memory.buffer); + for (var i = 0, p = ptr >>> 1; i < length; ++i) U16[p + i] = str.charCodeAt(i); + return ptr; + } + + extendedExports.__allocString = __allocString; + + /** Reads a string from the module's memory by its pointer. */ + function __getString(ptr) { + const buffer = memory.buffer; + const id = new Uint32Array(buffer)[ptr + ID_OFFSET >>> 2]; + if (id !== STRING_ID) throw Error(`not a string: ${ptr}`); + return getStringImpl(buffer, ptr); + } + + extendedExports.__getString = __getString; + + /** Gets the view matching the specified alignment, signedness and floatness. */ + function getView(alignLog2, signed, float) { + const buffer = memory.buffer; + if (float) { + switch (alignLog2) { + case 2: return new Float32Array(buffer); + case 3: return new Float64Array(buffer); + } + } else { + switch (alignLog2) { + case 0: return new (signed ? Int8Array : Uint8Array)(buffer); + case 1: return new (signed ? Int16Array : Uint16Array)(buffer); + case 2: return new (signed ? Int32Array : Uint32Array)(buffer); + case 3: return new (signed ? BigInt64Array : BigUint64Array)(buffer); + } + } + throw Error(`unsupported align: ${alignLog2}`); + } + + /** Allocates a new array in the module's memory and returns its retained pointer. */ + function __allocArray(id, values) { + const info = getArrayInfo(id); + const align = getValueAlign(info); + const length = values.length; + const buf = alloc(length << align, info & STATICARRAY ? id : ARRAYBUFFER_ID); + let result; + if (info & STATICARRAY) { + result = buf; + } else { + const arr = alloc(info & ARRAY ? ARRAY_SIZE : ARRAYBUFFERVIEW_SIZE, id); + const U32 = new Uint32Array(memory.buffer); + U32[arr + ARRAYBUFFERVIEW_BUFFER_OFFSET >>> 2] = retain(buf); + U32[arr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2] = buf; + U32[arr + ARRAYBUFFERVIEW_DATALENGTH_OFFSET >>> 2] = length << align; + if (info & ARRAY) U32[arr + ARRAY_LENGTH_OFFSET >>> 2] = length; + result = arr; + } + const view = getView(align, info & VAL_SIGNED, info & VAL_FLOAT); + if (info & VAL_MANAGED) { + for (let i = 0; i < length; ++i) view[(buf >>> align) + i] = retain(values[i]); + } else { + view.set(values, buf >>> align); + } + return result; + } + + extendedExports.__allocArray = __allocArray; + + /** Gets a live view on an array's values in the module's memory. Infers the array type from RTTI. */ + function __getArrayView(arr) { + const U32 = new Uint32Array(memory.buffer); + const id = U32[arr + ID_OFFSET >>> 2]; + const info = getArrayInfo(id); + const align = getValueAlign(info); + let buf = info & STATICARRAY + ? arr + : U32[arr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; + const length = info & ARRAY + ? U32[arr + ARRAY_LENGTH_OFFSET >>> 2] + : U32[buf + SIZE_OFFSET >>> 2] >>> align; + return getView(align, info & VAL_SIGNED, info & VAL_FLOAT).subarray(buf >>>= align, buf + length); + } + + extendedExports.__getArrayView = __getArrayView; + + /** Copies an array's values from the module's memory. Infers the array type from RTTI. */ + function __getArray(arr) { + const input = __getArrayView(arr); + const len = input.length; + const out = new Array(len); + for (let i = 0; i < len; i++) out[i] = input[i]; + return out; + } + + extendedExports.__getArray = __getArray; + + /** Copies an ArrayBuffer's value from the module's memory. */ + function __getArrayBuffer(ptr) { + const buffer = memory.buffer; + const length = new Uint32Array(buffer)[ptr + SIZE_OFFSET >>> 2]; + return buffer.slice(ptr, ptr + length); + } + + extendedExports.__getArrayBuffer = __getArrayBuffer; + + /** Copies a typed array's values from the module's memory. */ + function getTypedArray(Type, alignLog2, ptr) { + return new Type(getTypedArrayView(Type, alignLog2, ptr)); + } + + /** Gets a live view on a typed array's values in the module's memory. */ + function getTypedArrayView(Type, alignLog2, ptr) { + const buffer = memory.buffer; + const U32 = new Uint32Array(buffer); + const bufPtr = U32[ptr + ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; + return new Type(buffer, bufPtr, U32[bufPtr + SIZE_OFFSET >>> 2] >>> alignLog2); + } + + /** Attach a set of get TypedArray and View functions to the exports. */ + function attachTypedArrayFunctions(ctor, name, align) { + extendedExports[`__get${name}`] = getTypedArray.bind(null, ctor, align); + extendedExports[`__get${name}View`] = getTypedArrayView.bind(null, ctor, align); + } + + [ + Int8Array, + Uint8Array, + Uint8ClampedArray, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array + ].forEach(ctor => { + attachTypedArrayFunctions(ctor, ctor.name, 31 - Math.clz32(ctor.BYTES_PER_ELEMENT)); + }); + + if (BIGINT) { + [BigUint64Array, BigInt64Array].forEach(ctor => { + attachTypedArrayFunctions(ctor, ctor.name.slice(3), 3); + }); + } + + /** Tests whether an object is an instance of the class represented by the specified base id. */ + function __instanceof(ptr, baseId) { + const U32 = new Uint32Array(memory.buffer); + let id = U32[ptr + ID_OFFSET >>> 2]; + if (id <= U32[rttiBase >>> 2]) { + do { + if (id == baseId) return true; + id = getBase(id); + } while (id); + } + return false; + } + + extendedExports.__instanceof = __instanceof; + + // Pull basic exports to extendedExports so code in preInstantiate can use them + extendedExports.memory = extendedExports.memory || memory; + extendedExports.table = extendedExports.table || table; + + // Demangle exports and provide the usual utility on the prototype + return demangle(exports, extendedExports); +} + +function isResponse(src) { + return typeof Response !== "undefined" && src instanceof Response; +} + +function isModule(src) { + return src instanceof WebAssembly.Module; +} + +/** Asynchronously instantiates an AssemblyScript module from anything that can be instantiated. */ +async function instantiate(source, imports = {}) { + if (isResponse(source = await source)) return instantiateStreaming(source, imports); + const module = isModule(source) ? source : await WebAssembly.compile(source); + const extended = preInstantiate(imports); + const instance = await WebAssembly.instantiate(module, imports); + const exports = postInstantiate(extended, instance); + return { module, instance, exports }; +} + +exports.instantiate = instantiate; + +/** Synchronously instantiates an AssemblyScript module from a WebAssembly.Module or binary buffer. */ +function instantiateSync(source, imports = {}) { + const module = isModule(source) ? source : new WebAssembly.Module(source); + const extended = preInstantiate(imports); + const instance = new WebAssembly.Instance(module, imports); + const exports = postInstantiate(extended, instance); + return { module, instance, exports }; +} + +exports.instantiateSync = instantiateSync; + +/** Asynchronously instantiates an AssemblyScript module from a response, i.e. as obtained by `fetch`. */ +async function instantiateStreaming(source, imports = {}) { + if (!WebAssembly.instantiateStreaming) { + return instantiate( + isResponse(source = await source) + ? source.arrayBuffer() + : source, + imports + ); + } + const extended = preInstantiate(imports); + const result = await WebAssembly.instantiateStreaming(source, imports); + const exports = postInstantiate(extended, result.instance); + return { ...result, exports }; +} + +exports.instantiateStreaming = instantiateStreaming; + +/** Demangles an AssemblyScript module's exports to a friendly object structure. */ +function demangle(exports, extendedExports = {}) { + extendedExports = Object.create(extendedExports); + const setArgumentsLength = exports["__argumentsLength"] + ? length => { exports["__argumentsLength"].value = length; } + : exports["__setArgumentsLength"] || exports["__setargc"] || (() => { /* nop */ }); + for (let internalName in exports) { + if (!Object.prototype.hasOwnProperty.call(exports, internalName)) continue; + const elem = exports[internalName]; + let parts = internalName.split("."); + let curr = extendedExports; + while (parts.length > 1) { + let part = parts.shift(); + if (!Object.prototype.hasOwnProperty.call(curr, part)) curr[part] = {}; + curr = curr[part]; + } + let name = parts[0]; + let hash = name.indexOf("#"); + if (hash >= 0) { + const className = name.substring(0, hash); + const classElem = curr[className]; + if (typeof classElem === "undefined" || !classElem.prototype) { + const ctor = function (...args) { + return ctor.wrap(ctor.prototype.constructor(0, ...args)); + }; + ctor.prototype = { + valueOf() { return this[THIS]; } + }; + ctor.wrap = function (thisValue) { + return Object.create(ctor.prototype, { [THIS]: { value: thisValue, writable: false } }); + }; + if (classElem) Object.getOwnPropertyNames(classElem).forEach(name => + Object.defineProperty(ctor, name, Object.getOwnPropertyDescriptor(classElem, name)) + ); + curr[className] = ctor; + } + name = name.substring(hash + 1); + curr = curr[className].prototype; + if (/^(get|set):/.test(name)) { + if (!Object.prototype.hasOwnProperty.call(curr, name = name.substring(4))) { + let getter = exports[internalName.replace("set:", "get:")]; + let setter = exports[internalName.replace("get:", "set:")]; + Object.defineProperty(curr, name, { + get() { return getter(this[THIS]); }, + set(value) { setter(this[THIS], value); }, + enumerable: true + }); + } + } else { + if (name === 'constructor') { + (curr[name] = (...args) => { + setArgumentsLength(args.length); + return elem(...args); + }).original = elem; + } else { // instance method + (curr[name] = function (...args) { // ! + setArgumentsLength(args.length); + return elem(this[THIS], ...args); + }).original = elem; + } + } + } else { + if (/^(get|set):/.test(name)) { + if (!Object.prototype.hasOwnProperty.call(curr, name = name.substring(4))) { + Object.defineProperty(curr, name, { + get: exports[internalName.replace("set:", "get:")], + set: exports[internalName.replace("get:", "set:")], + enumerable: true + }); + } + } else if (typeof elem === "function" && elem !== setArgumentsLength) { + (curr[name] = (...args) => { + setArgumentsLength(args.length); + return elem(...args); + }).original = elem; + } else { + curr[name] = elem; + } + } + } + return extendedExports; +} + +exports.demangle = demangle; +export { instantiate }; \ No newline at end of file diff --git a/webgl.asc b/webgl.asc new file mode 100644 index 0000000..6a7b200 --- /dev/null +++ b/webgl.asc @@ -0,0 +1,885 @@ +type WebGLContextAttributes = i32; + +export type GLenum = u32; +export type GLboolean = bool; +export type GLbitfield = u32; +export type GLbyte = i8; +export type GLshort = i16; +export type GLint = i32; +export type GLsizei = i32; +export type GLintptr = i32; //i64; +export type GLsizeiptr = i32; //i64; +export type GLubyte = u8; +export type GLushort = u16; +export type GLuint = u32; +export type GLfloat = f32; +export type GLclampf = f32; +export type GLuint64 = u32; //u64; +export type GLint64 = i32; //i64; + +export type WebGLUniformLocation = i32; +export type TexImageSource = i32; +export type Int32List = i32; +export type Uint32List = i32; +export type Float32List = i32; +export type WebGLQuery = i32; +export type WebGLSampler = i32; +export type WebGLSync = i32; +export type WebGLTransformFeedback = i32; +export type ImageData = i32; +export type DOMString = string; +export type HTMLImageElement = externref; +export type HTMLVideoElement = externref; +export type WebGLVertexArrayObject = i32; + +// === WebGLContextAttributes === +export const ALPHA_DEFAULT = true; +export const FALSE:i32 = false; + +export declare function getAlpha(gl: WebGLContextAttributes): GLboolean; +export declare function setAlpha(gl: WebGLContextAttributes, value: GLboolean): void; + +export const DEPTH_DEFAULT = true; +export declare function getDepth(gl: WebGLContextAttributes): GLboolean; +export declare function setDepth(gl: WebGLContextAttributes, value: GLboolean): void; + +export const STENCIL_DEFAULT = false; +export declare function getStencil(gl: WebGLContextAttributes): GLboolean; +export declare function setStencil(gl: WebGLContextAttributes, value: GLboolean): void; + +export const ANTIALIAS_DEFAULT = true; +export declare function getAntialias(gl: WebGLContextAttributes): GLboolean; +export declare function setAntialias(gl: WebGLContextAttributes, value: GLboolean): void; + +export const PREMULTIPLIED_ALPHA_DEFAULT = true; +export declare function getPremultipliedAlpha(gl: WebGLContextAttributes): GLboolean; +export declare function setPremultipliedAlpha(gl: WebGLContextAttributes, value: GLboolean): void; + +export const PRESERVE_DRAWING_BUFFER_DEFAULT = false; +export declare function getPreserveDrawingBuffer(gl: WebGLContextAttributes): GLboolean; +export declare function setPreserveDrawingBuffer(gl: WebGLContextAttributes, value: GLboolean): void; + +// === WebGLActiveInfo === + +type WebGLActiveInfo = externref; + +export declare function getSize(gl: WebGLActiveInfo): GLint; +export declare function getType(gl: WebGLActiveInfo): GLenum; +export declare function getName(gl: WebGLActiveInfo): string; + +// === WebGLShaderPrecisionFormat === + +type WebGLShaderPrecisionFormat = externref; + +export declare function getRangeMin(gl: WebGLShaderPrecisionFormat): GLint; +export declare function getRangeMax(gl: WebGLShaderPrecisionFormat): GLint; +export declare function getPrecision(gl: WebGLShaderPrecisionFormat): GLint; + +// === WebGLRenderingContext === + +export type WebGLRenderingContext = i32; //externref; + +/* ClearBufferMask */ +export const DEPTH_BUFFER_BIT: GLenum = 0x00000100; +export const STENCIL_BUFFER_BIT: GLenum = 0x00000400; +export const COLOR_BUFFER_BIT: GLenum = 0x00004000; + +/* BeginMode */ +export const POINTS: GLenum = 0x0000; +export const LINES: GLenum = 0x0001; +export const LINE_LOOP: GLenum = 0x0002; +export const LINE_STRIP: GLenum = 0x0003; +export const TRIANGLES: GLenum = 0x0004; +export const TRIANGLE_STRIP: GLenum = 0x0005; +export const TRIANGLE_FAN: GLenum = 0x0006; + +/* AlphaFunction (not supported in ES20) */ +/* NEVER */ +/* LESS */ +/* EQUAL */ +/* LEQUAL */ +/* GREATER */ +/* NOTEQUAL */ +/* GEQUAL */ +/* ALWAYS */ + +/* BlendingFactorDest */ +export const ZERO: GLenum = 0; +export const ONE: GLenum = 1; +export const SRC_COLOR: GLenum = 0x0300; +export const ONE_MINUS_SRC_COLOR: GLenum = 0x0301; +export const SRC_ALPHA: GLenum = 0x0302; +export const ONE_MINUS_SRC_ALPHA: GLenum = 0x0303; +export const DST_ALPHA: GLenum = 0x0304; +export const ONE_MINUS_DST_ALPHA: GLenum = 0x0305; + +/* BlendingFactorSrc */ +/* ZERO */ +/* ONE */ +export const DST_COLOR: GLenum = 0x0306; +export const ONE_MINUS_DST_COLOR: GLenum = 0x0307; +export const SRC_ALPHA_SATURATE: GLenum = 0x0308; +/* SRC_ALPHA */ +/* ONE_MINUS_SRC_ALPHA */ +/* DST_ALPHA */ +/* ONE_MINUS_DST_ALPHA */ + +/* BlendEquationSeparate */ +export const FUNC_ADD: GLenum = 0x8006; +export const BLEND_EQUATION: GLenum = 0x8009; +export const BLEND_EQUATION_RGB: GLenum = 0x8009; +export const BLEND_EQUATION_ALPHA: GLenum = 0x883D; + +/* BlendSubtract */ +export const FUNC_SUBTRACT: GLenum = 0x800A; +export const FUNC_REVERSE_SUBTRACT: GLenum = 0x800B; + +/* Separate Blend Functions */ +export const BLEND_DST_RGB: GLenum = 0x80C8; +export const BLEND_SRC_RGB: GLenum = 0x80C9; +export const BLEND_DST_ALPHA: GLenum = 0x80CA; +export const BLEND_SRC_ALPHA: GLenum = 0x80CB; +export const CONSTANT_COLOR: GLenum = 0x8001; +export const ONE_MINUS_CONSTANT_COLOR: GLenum = 0x8002; +export const CONSTANT_ALPHA: GLenum = 0x8003; +export const ONE_MINUS_CONSTANT_ALPHA: GLenum = 0x8004; +export const BLEND_COLOR: GLenum = 0x8005; + +/* Buffer Objects */ +export const ARRAY_BUFFER: GLenum = 0x8892; +export const ELEMENT_ARRAY_BUFFER: GLenum = 0x8893; +export const ARRAY_BUFFER_BINDING: GLenum = 0x8894; +export const ELEMENT_ARRAY_BUFFER_BINDING: GLenum = 0x8895; + +export const STREAM_DRAW: GLenum = 0x88E0; +export const STATIC_DRAW: GLenum = 0x88E4; +export const DYNAMIC_DRAW: GLenum = 0x88E8; + +export const BUFFER_SIZE: GLenum = 0x8764; +export const BUFFER_USAGE: GLenum = 0x8765; + +export const CURRENT_VERTEX_ATTRIB: GLenum = 0x8626; + +/* CullFaceMode */ +export const FRONT: GLenum = 0x0404; +export const BACK: GLenum = 0x0405; +export const FRONT_AND_BACK: GLenum = 0x0408; + +/* DepthFunction */ +/* NEVER */ +/* LESS */ +/* EQUAL */ +/* LEQUAL */ +/* GREATER */ +/* NOTEQUAL */ +/* GEQUAL */ +/* ALWAYS */ + +/* EnableCap */ +/* TEXTURE_2D */ +export const CULL_FACE: GLenum = 0x0B44; +export const BLEND: GLenum = 0x0BE2; +export const DITHER: GLenum = 0x0BD0; +export const STENCIL_TEST: GLenum = 0x0B90; +export const DEPTH_TEST: GLenum = 0x0B71; +export const SCISSOR_TEST: GLenum = 0x0C11; +export const POLYGON_OFFSET_FILL: GLenum = 0x8037; +export const SAMPLE_ALPHA_TO_COVERAGE: GLenum = 0x809E; +export const SAMPLE_COVERAGE: GLenum = 0x80A0; + +/* ErrorCode */ +export const NO_ERROR: GLenum = 0; +export const INVALID_ENUM: GLenum = 0x0500; +export const INVALID_VALUE: GLenum = 0x0501; +export const INVALID_OPERATION: GLenum = 0x0502; +export const OUT_OF_MEMORY: GLenum = 0x0505; + +/* FrontFaceDirection */ +export const CW: GLenum = 0x0900; +export const CCW: GLenum = 0x0901; + +/* GetPName */ +export const LINE_WIDTH: GLenum = 0x0B21; +export const ALIASED_POINT_SIZE_RANGE: GLenum = 0x846D; +export const ALIASED_LINE_WIDTH_RANGE: GLenum = 0x846E; +export const CULL_FACE_MODE: GLenum = 0x0B45; +export const FRONT_FACE: GLenum = 0x0B46; +export const DEPTH_RANGE: GLenum = 0x0B70; +export const DEPTH_WRITEMASK: GLenum = 0x0B72; +export const DEPTH_CLEAR_VALUE: GLenum = 0x0B73; +export const DEPTH_FUNC: GLenum = 0x0B74; +export const STENCIL_CLEAR_VALUE: GLenum = 0x0B91; +export const STENCIL_FUNC: GLenum = 0x0B92; +export const STENCIL_FAIL: GLenum = 0x0B94; +export const STENCIL_PASS_DEPTH_FAIL: GLenum = 0x0B95; +export const STENCIL_PASS_DEPTH_PASS: GLenum = 0x0B96; +export const STENCIL_REF: GLenum = 0x0B97; +export const STENCIL_VALUE_MASK: GLenum = 0x0B93; +export const STENCIL_WRITEMASK: GLenum = 0x0B98; +export const STENCIL_BACK_FUNC: GLenum = 0x8800; +export const STENCIL_BACK_FAIL: GLenum = 0x8801; +export const STENCIL_BACK_PASS_DEPTH_FAIL: GLenum = 0x8802; +export const STENCIL_BACK_PASS_DEPTH_PASS: GLenum = 0x8803; +export const STENCIL_BACK_REF: GLenum = 0x8CA3; +export const STENCIL_BACK_VALUE_MASK: GLenum = 0x8CA4; +export const STENCIL_BACK_WRITEMASK: GLenum = 0x8CA5; +export const VIEWPORT: GLenum = 0x0BA2; +export const SCISSOR_BOX: GLenum = 0x0C10; +/* SCISSOR_TEST */ +export const COLOR_CLEAR_VALUE: GLenum = 0x0C22; +export const COLOR_WRITEMASK: GLenum = 0x0C23; +export const UNPACK_ALIGNMENT: GLenum = 0x0CF5; +export const PACK_ALIGNMENT: GLenum = 0x0D05; +export const MAX_TEXTURE_SIZE: GLenum = 0x0D33; +export const MAX_VIEWPORT_DIMS: GLenum = 0x0D3A; +export const SUBPIXEL_BITS: GLenum = 0x0D50; +export const RED_BITS: GLenum = 0x0D52; +export const GREEN_BITS: GLenum = 0x0D53; +export const BLUE_BITS: GLenum = 0x0D54; +export const ALPHA_BITS: GLenum = 0x0D55; +export const DEPTH_BITS: GLenum = 0x0D56; +export const STENCIL_BITS: GLenum = 0x0D57; +export const POLYGON_OFFSET_UNITS: GLenum = 0x2A00; +/* POLYGON_OFFSET_FILL */ +export const POLYGON_OFFSET_FACTOR: GLenum = 0x8038; +export const TEXTURE_BINDING_2D: GLenum = 0x8069; +export const SAMPLE_BUFFERS: GLenum = 0x80A8; +export const SAMPLES: GLenum = 0x80A9; +export const SAMPLE_COVERAGE_VALUE: GLenum = 0x80AA; +export const SAMPLE_COVERAGE_INVERT: GLenum = 0x80AB; + +/* GetTextureParameter */ +/* TEXTURE_MAG_FILTER */ +/* TEXTURE_MIN_FILTER */ +/* TEXTURE_WRAP_S */ +/* TEXTURE_WRAP_T */ + +export const COMPRESSED_TEXTURE_FORMATS: GLenum = 0x86A3; + +/* HintMode */ +export const DONT_CARE: GLenum = 0x1100; +export const FASTEST: GLenum = 0x1101; +export const NICEST: GLenum = 0x1102; + +/* HintTarget */ +export const GENERATE_MIPMAP_HINT: GLenum = 0x8192; + +/* DataType */ +export const BYTE: GLenum = 0x1400; +export const UNSIGNED_BYTE: GLenum = 0x1401; +export const SHORT: GLenum = 0x1402; +export const UNSIGNED_SHORT: GLenum = 0x1403; +export const INT: GLenum = 0x1404; +export const UNSIGNED_INT: GLenum = 0x1405; +export const FLOAT: GLenum = 0x1406; + +/* PixelFormat */ +export const DEPTH_COMPONENT: GLenum = 0x1902; +export const ALPHA: GLenum = 0x1906; +export const RGB: GLenum = 0x1907; +export const RGBA: GLenum = 0x1908; +export const LUMINANCE: GLenum = 0x1909; +export const LUMINANCE_ALPHA: GLenum = 0x190A; + +/* PixelType */ +/* UNSIGNED_BYTE */ +export const UNSIGNED_SHORT_4_4_4_4: GLenum = 0x8033; +export const UNSIGNED_SHORT_5_5_5_1: GLenum = 0x8034; +export const UNSIGNED_SHORT_5_6_5: GLenum = 0x8363; + +/* Shaders */ +export const FRAGMENT_SHADER: GLenum = 0x8B30; +export const VERTEX_SHADER: GLenum = 0x8B31; +export const MAX_VERTEX_ATTRIBS: GLenum = 0x8869; +export const MAX_VERTEX_UNIFORM_VECTORS: GLenum = 0x8DFB; +export const MAX_VARYING_VECTORS: GLenum = 0x8DFC; +export const MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4D; +export const MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4C; +export const MAX_TEXTURE_IMAGE_UNITS: GLenum = 0x8872; +export const MAX_FRAGMENT_UNIFORM_VECTORS: GLenum = 0x8DFD; +export const SHADER_TYPE: GLenum = 0x8B4F; +export const DELETE_STATUS: GLenum = 0x8B80; +export const LINK_STATUS: GLenum = 0x8B82; +export const VALIDATE_STATUS: GLenum = 0x8B83; +export const ATTACHED_SHADERS: GLenum = 0x8B85; +export const ACTIVE_UNIFORMS: GLenum = 0x8B86; +export const ACTIVE_ATTRIBUTES: GLenum = 0x8B89; +export const SHADING_LANGUAGE_VERSION: GLenum = 0x8B8C; +export const CURRENT_PROGRAM: GLenum = 0x8B8D; + +/* StencilFunction */ +export const NEVER: GLenum = 0x0200; +export const LESS: GLenum = 0x0201; +export const EQUAL: GLenum = 0x0202; +export const LEQUAL: GLenum = 0x0203; +export const GREATER: GLenum = 0x0204; +export const NOTEQUAL: GLenum = 0x0205; +export const GEQUAL: GLenum = 0x0206; +export const ALWAYS: GLenum = 0x0207; + +/* StencilOp */ +/* ZERO */ +export const KEEP: GLenum = 0x1E00; +export const REPLACE: GLenum = 0x1E01; +export const INCR: GLenum = 0x1E02; +export const DECR: GLenum = 0x1E03; +export const INVERT: GLenum = 0x150A; +export const INCR_WRAP: GLenum = 0x8507; +export const DECR_WRAP: GLenum = 0x8508; + +/* StringName */ +export const VENDOR: GLenum = 0x1F00; +export const RENDERER: GLenum = 0x1F01; +export const VERSION: GLenum = 0x1F02; + +/* TextureMagFilter */ +export const NEAREST: GLenum = 0x2600; +export const LINEAR: GLenum = 0x2601; + +/* TextureMinFilter */ +/* NEAREST */ +/* LINEAR */ +export const NEAREST_MIPMAP_NEAREST: GLenum = 0x2700; +export const LINEAR_MIPMAP_NEAREST: GLenum = 0x2701; +export const NEAREST_MIPMAP_LINEAR: GLenum = 0x2702; +export const LINEAR_MIPMAP_LINEAR: GLenum = 0x2703; + +/* TextureParameterName */ +export const TEXTURE_MAG_FILTER: GLenum = 0x2800; +export const TEXTURE_MIN_FILTER: GLenum = 0x2801; +export const TEXTURE_WRAP_S: GLenum = 0x2802; +export const TEXTURE_WRAP_T: GLenum = 0x2803; + +/* TextureTarget */ +export const TEXTURE_2D: GLenum = 0x0DE1; +export const TEXTURE: GLenum = 0x1702; + +export const TEXTURE_CUBE_MAP: GLenum = 0x8513; +export const TEXTURE_BINDING_CUBE_MAP: GLenum = 0x8514; +export const TEXTURE_CUBE_MAP_POSITIVE_X: GLenum = 0x8515; +export const TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum = 0x8516; +export const TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum = 0x8517; +export const TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum = 0x8518; +export const TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum = 0x8519; +export const TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum = 0x851A; +export const MAX_CUBE_MAP_TEXTURE_SIZE: GLenum = 0x851C; + +/* TextureUnit */ +export const TEXTURE0: GLenum = 0x84C0; +export const TEXTURE1: GLenum = 0x84C1; +export const TEXTURE2: GLenum = 0x84C2; +export const TEXTURE3: GLenum = 0x84C3; +export const TEXTURE4: GLenum = 0x84C4; +export const TEXTURE5: GLenum = 0x84C5; +export const TEXTURE6: GLenum = 0x84C6; +export const TEXTURE7: GLenum = 0x84C7; +export const TEXTURE8: GLenum = 0x84C8; +export const TEXTURE9: GLenum = 0x84C9; +export const TEXTURE10: GLenum = 0x84CA; +export const TEXTURE11: GLenum = 0x84CB; +export const TEXTURE12: GLenum = 0x84CC; +export const TEXTURE13: GLenum = 0x84CD; +export const TEXTURE14: GLenum = 0x84CE; +export const TEXTURE15: GLenum = 0x84CF; +export const TEXTURE16: GLenum = 0x84D0; +export const TEXTURE17: GLenum = 0x84D1; +export const TEXTURE18: GLenum = 0x84D2; +export const TEXTURE19: GLenum = 0x84D3; +export const TEXTURE20: GLenum = 0x84D4; +export const TEXTURE21: GLenum = 0x84D5; +export const TEXTURE22: GLenum = 0x84D6; +export const TEXTURE23: GLenum = 0x84D7; +export const TEXTURE24: GLenum = 0x84D8; +export const TEXTURE25: GLenum = 0x84D9; +export const TEXTURE26: GLenum = 0x84DA; +export const TEXTURE27: GLenum = 0x84DB; +export const TEXTURE28: GLenum = 0x84DC; +export const TEXTURE29: GLenum = 0x84DD; +export const TEXTURE30: GLenum = 0x84DE; +export const TEXTURE31: GLenum = 0x84DF; +export const ACTIVE_TEXTURE: GLenum = 0x84E0; + +/* TextureWrapMode */ +export const REPEAT: GLenum = 0x2901; +export const CLAMP_TO_EDGE: GLenum = 0x812F; +export const MIRRORED_REPEAT: GLenum = 0x8370; + +/* Uniform Types */ +export const FLOAT_VEC2: GLenum = 0x8B50; +export const FLOAT_VEC3: GLenum = 0x8B51; +export const FLOAT_VEC4: GLenum = 0x8B52; +export const INT_VEC2: GLenum = 0x8B53; +export const INT_VEC3: GLenum = 0x8B54; +export const INT_VEC4: GLenum = 0x8B55; +export const BOOL: GLenum = 0x8B56; +export const BOOL_VEC2: GLenum = 0x8B57; +export const BOOL_VEC3: GLenum = 0x8B58; +export const BOOL_VEC4: GLenum = 0x8B59; +export const FLOAT_MAT2: GLenum = 0x8B5A; +export const FLOAT_MAT3: GLenum = 0x8B5B; +export const FLOAT_MAT4: GLenum = 0x8B5C; +export const SAMPLER_2D: GLenum = 0x8B5E; +export const SAMPLER_CUBE: GLenum = 0x8B60; + +/* Vertex Arrays */ +export const VERTEX_ATTRIB_ARRAY_ENABLED: GLenum = 0x8622; +export const VERTEX_ATTRIB_ARRAY_SIZE: GLenum = 0x8623; +export const VERTEX_ATTRIB_ARRAY_STRIDE: GLenum = 0x8624; +export const VERTEX_ATTRIB_ARRAY_TYPE: GLenum = 0x8625; +export const VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum = 0x886A; +export const VERTEX_ATTRIB_ARRAY_POINTER: GLenum = 0x8645; +export const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum = 0x889F; + +/* Shader Source */ +export const COMPILE_STATUS: GLenum = 0x8B81; + +/* Shader Precision-Specified Types */ +export const LOW_FLOAT: GLenum = 0x8DF0; +export const MEDIUM_FLOAT: GLenum = 0x8DF1; +export const HIGH_FLOAT: GLenum = 0x8DF2; +export const LOW_INT: GLenum = 0x8DF3; +export const MEDIUM_INT: GLenum = 0x8DF4; +export const HIGH_INT: GLenum = 0x8DF5; + +/* Framebuffer Object. */ +export const FRAMEBUFFER: GLenum = 0x8D40; +export const RENDERBUFFER: GLenum = 0x8D41; + +export const RGBA4: GLenum = 0x8056; +export const RGB5_A1: GLenum = 0x8057; +export const RGB565: GLenum = 0x8D62; +export const DEPTH_COMPONENT16: GLenum = 0x81A5; +export const STENCIL_INDEX: GLenum = 0x1901; +export const STENCIL_INDEX8: GLenum = 0x8D48; +export const DEPTH_STENCIL: GLenum = 0x84F9; + +export const RENDERBUFFER_WIDTH: GLenum = 0x8D42; +export const RENDERBUFFER_HEIGHT: GLenum = 0x8D43; +export const RENDERBUFFER_INTERNAL_FORMAT: GLenum = 0x8D44; +export const RENDERBUFFER_RED_SIZE: GLenum = 0x8D50; +export const RENDERBUFFER_GREEN_SIZE: GLenum = 0x8D51; +export const RENDERBUFFER_BLUE_SIZE: GLenum = 0x8D52; +export const RENDERBUFFER_ALPHA_SIZE: GLenum = 0x8D53; +export const RENDERBUFFER_DEPTH_SIZE: GLenum = 0x8D54; +export const RENDERBUFFER_STENCIL_SIZE: GLenum = 0x8D55; + +export const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum = 0x8CD0; +export const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum = 0x8CD1; +export const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum = 0x8CD2; +export const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum = 0x8CD3; + +export const COLOR_ATTACHMENT0: GLenum = 0x8CE0; +export const DEPTH_ATTACHMENT: GLenum = 0x8D00; +export const STENCIL_ATTACHMENT: GLenum = 0x8D20; +export const DEPTH_STENCIL_ATTACHMENT: GLenum = 0x821A; + +export const NONE: GLenum = 0; + +export const FRAMEBUFFER_COMPLETE: GLenum = 0x8CD5; +export const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum = 0x8CD6; +export const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum = 0x8CD7; +export const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum = 0x8CD9; +export const FRAMEBUFFER_UNSUPPORTED: GLenum = 0x8CDD; + +export const FRAMEBUFFER_BINDING: GLenum = 0x8CA6; +export const RENDERBUFFER_BINDING: GLenum = 0x8CA7; +export const MAX_RENDERBUFFER_SIZE: GLenum = 0x84E8; + +export const INVALID_FRAMEBUFFER_OPERATION: GLenum = 0x0506; + +/* WebGL-specific enums */ +export const UNPACK_FLIP_Y_WEBGL: GLenum = 0x9240; +export const UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum = 0x9241; +export const CONTEXT_LOST_WEBGL: GLenum = 0x9242; +export const UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243; +export const BROWSER_DEFAULT_WEBGL: GLenum = 0x9244; + +//type HTMLCanvasElement = externref; + +export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement; +export declare function getDrawingBufferWidth(gl: WebGLRenderingContext): GLsizei; +export declare function getDrawingBufferHeight(gl: WebGLRenderingContext): GLsizei; + +export declare function getContextAttributes(gl: WebGLRenderingContext): WebGLContextAttributes; +export declare function isContextLost(gl: WebGLRenderingContext): bool; + +type sequence = externref; + +export declare function getSupportedExtensions(gl: WebGLRenderingContext): sequence; + +type object_ = externref; + +export declare function getExtension(gl: WebGLRenderingContext, name: string): object_; + +// THIS WILL BE IN INDEX INTO A PROGRAM LIST KEPT IN THE JS +export type WebGLProgram = i32; //externref; +export type WebGLShader = i32; +export type WebGLBuffer = i32; +export type WebGLFramebuffer = i32; +export type WebGLRenderbuffer = i32; +export type WebGLTexture = i32; + +// export declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void; +export declare function createContextFromCanvas(canvas_id: string, context_type: string):WebGLRenderingContext; +export declare function attachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void; +// export declare function bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void; +export declare function bindBuffer(gl: WebGLRenderingContext, target: GLenum, buffer: WebGLBuffer): void; +export declare function bindFramebuffer(gl: WebGLRenderingContext, target: GLenum, framebuffer: WebGLFramebuffer): void; +export declare function bindRenderbuffer(gl: WebGLRenderingContext, target: GLenum, renderbuffer: WebGLRenderbuffer): void; +export declare function bindTexture(gl: WebGLRenderingContext, target: GLenum, texture: WebGLTexture): void; +export declare function blendColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; +export declare function blendEquation(gl: WebGLRenderingContext, mode: GLenum): void; +export declare function blendEquationSeparate(gl: WebGLRenderingContext, modeRGB: GLenum, modeAlpha: GLenum): void; +export declare function blendFunc(gl: WebGLRenderingContext, sfactor: GLenum, dfactor: GLenum): void; +export declare function blendFuncSeparate(gl: WebGLRenderingContext, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; +export declare function bufferData(gl: WebGLRenderingContext, target: GLenum, data: StaticArray, usage: GLenum): void; +export declare function bufferSubData(gl: WebGLRenderingContext, target: GLenum, offset: GLintptr, data: Array): void; + +export declare function checkFramebufferStatus(gl: WebGLRenderingContext, target: GLenum): GLenum; +export declare function clear(gl: WebGLRenderingContext, mask: GLbitfield): void; +export declare function clearColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; +export declare function clearDepth(gl: WebGLRenderingContext, depth: GLclampf): void; +export declare function clearStencil(gl: WebGLRenderingContext, s: GLint): void; +export declare function colorMask(gl: WebGLRenderingContext, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; +export declare function compileShader(gl: WebGLRenderingContext, shader: WebGLShader): void; + +export declare function compressedTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; +export declare function compressedTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; + +export declare function copyTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; +export declare function copyTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + +export declare function createBuffer(gl: WebGLRenderingContext): WebGLBuffer; +export declare function createFramebuffer(gl: WebGLRenderingContext): WebGLFramebuffer; +export declare function createProgram(gl: WebGLRenderingContext): WebGLProgram; +export declare function createRenderbuffer(gl: WebGLRenderingContext): WebGLRenderbuffer; +export declare function createShader(gl: WebGLRenderingContext, typ: GLenum): WebGLShader; +export declare function createTexture(gl: WebGLRenderingContext): WebGLTexture; + +export declare function cullFace(gl: WebGLRenderingContext, mode: GLenum): void; +//... + +export declare function deleteBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): void; +export declare function deleteFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): void; +export declare function deleteProgram( gl: WebGLRenderingContext, program: WebGLProgram): void; +export declare function deleteRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): void; +export declare function deleteShader( gl: WebGLRenderingContext, shader: WebGLShader): void; +export declare function deleteTexture( gl: WebGLRenderingContext, texture: WebGLTexture): void; + +export declare function depthFunc( gl: WebGLRenderingContext, func: GLenum): void; +export declare function depthMask( gl: WebGLRenderingContext, flag: GLboolean): void; +export declare function depthRange( gl: WebGLRenderingContext, zNear: GLclampf, zFar: GLclampf): void; +export declare function detachShader( gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void; +export declare function disable( gl: WebGLRenderingContext, cap: GLenum): void; +export declare function disableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void; +export declare function drawArrays( gl: WebGLRenderingContext, mode: GLenum, first: GLint, count: GLsizei): void; +export declare function drawElements( gl: WebGLRenderingContext, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void; + +export declare function enable( gl: WebGLRenderingContext, cap: GLenum): void; +export declare function enableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void; +export declare function finish( gl: WebGLRenderingContext ): void; +export declare function flush( gl: WebGLRenderingContext ): void; +export declare function framebufferRenderbuffer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, + renderbuffertarget: GLenum, + renderbuffer: WebGLRenderbuffer): void; +export declare function framebufferTexture2D( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, textarget: GLenum, + texture: WebGLTexture, level: GLint): void; +export declare function frontFace( gl: WebGLRenderingContext, mode: GLenum): void; + +export declare function generateMipmap( gl: WebGLRenderingContext, target: GLenum): void; + +export declare function getActiveAttrib( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo; +export declare function getActiveUniform( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo; +export declare function getAttachedShaders( gl: WebGLRenderingContext, program: WebGLProgram):sequence; + +export declare function getAttribLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): GLint; + +export declare function getBufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any +export declare function getParameter( gl: WebGLRenderingContext, pname: GLenum): externref; // any + +export declare function getError( gl: WebGLRenderingContext ): GLenum; + +export declare function getFramebufferAttachmentParameter( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, + pname: GLenum): externref; // any +export declare function getProgramParameter( gl: WebGLRenderingContext, program: WebGLProgram, pname: GLenum): bool; // any +export declare function getProgramInfoLog( gl: WebGLRenderingContext, program: WebGLProgram): DOMString; +export declare function getRenderbufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any +export declare function getShaderParameter( gl: WebGLRenderingContext, shader: WebGLShader, pname: GLenum): bool; // any +export declare function getShaderPrecisionFormat( gl: WebGLRenderingContext, shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat; +export declare function getShaderInfoLog( gl: WebGLRenderingContext, shader: WebGLShader): DOMString; + +export declare function getShaderSource( gl: WebGLRenderingContext, shader: WebGLShader): DOMString; + +export declare function getTexParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any + +export declare function getUniform( gl: WebGLRenderingContext, program: WebGLProgram, location: WebGLUniformLocation): externref; // any + +export declare function getUniformLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): WebGLUniformLocation; + +export declare function getVertexAttrib( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): externref; // any + +export declare function getVertexAttribOffset( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): GLsizeiptr; + +export declare function hint( gl: WebGLRenderingContext, target: GLenum, mode: GLenum): void; +export declare function isBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): GLboolean; +export declare function isEnabled( gl: WebGLRenderingContext, cap: GLenum): GLboolean; +export declare function isFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): GLboolean; +export declare function isProgram( gl: WebGLRenderingContext, program: WebGLProgram): GLboolean; +export declare function isRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): GLboolean; +export declare function isShader( gl: WebGLRenderingContext, shader: WebGLShader): GLboolean; +export declare function isTexture( gl: WebGLRenderingContext, texture: WebGLTexture): GLboolean; +export declare function lineWidth( gl: WebGLRenderingContext, width: GLfloat): void; +export declare function linkProgram( gl: WebGLRenderingContext, program: WebGLProgram): void; +export declare function pixelStorei( gl: WebGLRenderingContext, pname: GLenum, param: GLint): void; +export declare function polygonOffset( gl: WebGLRenderingContext, factor: GLfloat, units: GLfloat): void; + +export declare function readPixels( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei, + format: GLenum, typ: GLenum, pixels: ArrayBufferView): void; + +export declare function renderbufferStorage( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, + width: GLsizei, height: GLsizei): void; +export declare function sampleCoverage( gl: WebGLRenderingContext, value: GLclampf, invert: GLboolean): void; +export declare function scissor( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + +export declare function shaderSource( gl: WebGLRenderingContext, shader: WebGLShader, source: string): void; + +export declare function stencilFunc( gl: WebGLRenderingContext, func: GLenum, ref: GLint, mask: GLuint): void; +export declare function stencilFuncSeparate( gl: WebGLRenderingContext, face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; +export declare function stencilMask( gl: WebGLRenderingContext, mask: GLuint): void; +export declare function stencilMaskSeparate( gl: WebGLRenderingContext, face: GLenum, mask: GLuint): void; +export declare function stencilOp( gl: WebGLRenderingContext, fail: GLenum, zfail: GLenum, zpass: GLenum): void; +export declare function stencilOpSeparate( gl: WebGLRenderingContext, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; + +export declare function texImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, + format: GLenum, typ: GLenum, pixels: ImageData): void; + +export declare function texParameterf( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLfloat): void; +export declare function texParameteri( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLint): void; + +export declare function texSubImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, + format: GLenum, typ: GLenum, pixels: ImageData): void; + +export declare function uniform1f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat): void; +export declare function uniform1fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; + +export declare function uniform1i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint): void; +export declare function uniform1iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; + +export declare function uniform2f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void; +export declare function uniform2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; + +export declare function uniform2i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint): void; +export declare function uniform2iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void; + +export declare function uniform3f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void; +export declare function uniform3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; + +export declare function uniform3i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void; +export declare function uniform3iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; + +export declare function uniform4f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; +export declare function uniform4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void; + +export declare function uniform4i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void; +export declare function uniform4iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void; + +export declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, + value: Float32Array): void; +/* +export declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, + value: sequence): void; +*/ +export declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, + value: Float32Array): void; +/* +export declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, + value: sequence): void; +*/ +export declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, + value: Float32Array): void; +/* +export declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, + value: sequence): void; +*/ +export declare function useProgram( gl: WebGLRenderingContext, program: WebGLProgram): void; +export declare function validateProgram( gl: WebGLRenderingContext, program: WebGLProgram): void; + +export declare function vertexAttrib1f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat): void; +export declare function vertexAttrib1fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; + +export declare function vertexAttrib2f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat): void; +export declare function vertexAttrib2fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; + +export declare function vertexAttrib3f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; +export declare function vertexAttrib3fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; + +export declare function vertexAttrib4f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; +export declare function vertexAttrib4fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; + +export declare function vertexAttribPointer( gl: WebGLRenderingContext, indx: GLint, size: GLint, typ: GLenum, + normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void; + +export declare function viewport( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + +// ... WEBGL 2 ... +/* Buffer objects */ +export declare function copyBufferSubData( gl: WebGLRenderingContext, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, + writeOffset: GLintptr, size: GLsizeiptr): void; + +export declare function getBufferSubData( gl: WebGLRenderingContext, target: GLenum, srcByteOffset: GLintptr, /*[AllowShared]*/ dstBuffer: ArrayBufferView, + dstOffset: GLuint = 0, length: GLuint = 0): void; + +/* Framebuffer objects */ +export declare function blitFramebuffer( gl: WebGLRenderingContext, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, + dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void; +export declare function framebufferTextureLayer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint, + layer: GLint): void; +export declare function invalidateFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence): void; +export declare function invalidateSubFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence, + x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; +export declare function readBuffer( gl: WebGLRenderingContext, src: GLenum): void; + +/* Renderbuffer objects */ +export declare function getInternalformatParameter( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, pname: GLenum): externref; // any +export declare function renderbufferStorageMultisample( gl: WebGLRenderingContext, target: GLenum, samples: GLsizei, internalformat: GLenum, + width: GLsizei, height: GLsizei): void; + +/* Texture objects */ +export declare function texStorage2D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, + height: GLsizei): void; +export declare function texStorage3D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, + height: GLsizei, depth: GLsizei): void; + +export declare function texImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, + depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void; + +export declare function texSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, + width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum, + pboOffset: GLintptr):void; + +export declare function copyTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, + x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + +export declare function compressedTexImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, + height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void; + +export declare function compressedTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, + zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, + format: GLenum, imageSize: GLsizei, offset: GLintptr): void; + +/* Programs and shaders */ +export declare function getFragDataLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: DOMString): GLint; + +/* Uniforms */ +export declare function uniform1ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint): void; +export declare function uniform2ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void; +export declare function uniform3ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void; +export declare function uniform4ui( gl: WebGLRenderingContext, location:WebGLUniformLocation, v0:GLuint, v1:GLuint, v2:GLuint, v3:GLuint): void; + +export declare function uniform1uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0, + srcLength:GLuint = 0):void; +export declare function uniform2uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0, + srcLength:GLuint = 0):void; +export declare function uniform3uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0, + srcLength:GLuint = 0):void; +export declare function uniform4uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0, + srcLength:GLuint = 0):void; +export declare function uniformMatrix3x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List, + srcOffset:GLuint = 0, srcLength:GLuint = 0):void; +export declare function uniformMatrix4x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List, + srcOffset:GLuint = 0, srcLength:GLuint = 0):void; + +export declare function uniformMatrix2x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List, + srcOffset:GLuint = 0, srcLength:GLuint = 0):void; +export declare function uniformMatrix4x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List, + srcOffset:GLuint = 0, srcLength:GLuint = 0):void; + +export declare function uniformMatrix2x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List, + srcOffset:GLuint = 0, srcLength:GLuint = 0):void; +export declare function uniformMatrix3x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List, + srcOffset:GLuint = 0, srcLength:GLuint = 0):void; + +/* Vertex attribs */ +export declare function vertexAttribI4i( gl: WebGLRenderingContext, index:GLuint, x:GLint, y:GLint, z:GLint, w:GLint): void; +export declare function vertexAttribI4iv( gl: WebGLRenderingContext, index:GLuint, values:Int32List): void; +export declare function vertexAttribI4ui( gl: WebGLRenderingContext, index:GLuint, x:GLuint, y:GLuint, z:GLuint, w:GLuint): void; +export declare function vertexAttribI4uiv( gl: WebGLRenderingContext, index:GLuint, values:Uint32List): void; +export declare function vertexAttribIPointer( gl: WebGLRenderingContext, index:GLuint, size:GLint, typ:GLenum, stride:GLsizei, offset:GLintptr): void; + +/* Writing to the drawing buffer */ +export declare function vertexAttribDivisor( gl: WebGLRenderingContext, index:GLuint, divisor:GLuint): void; +export declare function drawArraysInstanced( gl: WebGLRenderingContext, mode:GLenum, first:GLint, count:GLsizei, instanceCount:GLsizei): void; +export declare function drawElementsInstanced( gl: WebGLRenderingContext, mode:GLenum, count:GLsizei, typ:GLenum, offset:GLintptr, instanceCount:GLsizei): void; +export declare function drawRangeElements( gl: WebGLRenderingContext, mode:GLenum,start:GLuint,end:GLuint,count:GLsizei,typ:GLenum,offset:GLintptr):void; + +/* Multiple Render Targets */ +export declare function drawBuffers( gl: WebGLRenderingContext, buffers: sequence):void; + +export declare function clearBufferfv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Float32List, + srcOffset:GLuint = 0):void; +export declare function clearBufferiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Int32List, + srcOffset:GLuint = 0):void; +export declare function clearBufferuiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Uint32List, + srcOffset:GLuint = 0):void; + +export declare function clearBufferfi( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, depth:GLfloat, stencil:GLint): void; + +/* Query Objects */ +export declare function createQuery( gl: WebGLRenderingContext ):WebGLQuery; +export declare function deleteQuery( gl: WebGLRenderingContext, query: WebGLQuery): void; +/*[WebGLHandlesContextLoss]*/ +export declare function isQuery( gl: WebGLRenderingContext, query:WebGLQuery):GLboolean ; +export declare function beginQuery( gl: WebGLRenderingContext, target:GLenum, query:WebGLQuery): void; +export declare function endQuery( gl: WebGLRenderingContext, target: GLenum): void; +export declare function getQuery( gl: WebGLRenderingContext, target:GLenum, pname:GLenum):WebGLQuery; +export declare function getQueryParameter( gl: WebGLRenderingContext, query:WebGLQuery, pname:GLenum):externref; // any + +/* Sampler Objects */ +export declare function createSampler( gl: WebGLRenderingContext ):WebGLSampler; +export declare function deleteSampler( gl: WebGLRenderingContext, sampler: WebGLSampler): void; +/*[WebGLHandlesContextLoss]*/ +export declare function isSampler( gl: WebGLRenderingContext, sampler:WebGLSampler):GLboolean; +export declare function bindSampler( gl: WebGLRenderingContext, unit:GLuint, sampler:WebGLSampler): void; +export declare function samplerParameteri( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLint): void; +export declare function samplerParameterf( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLfloat): void; +export declare function getSamplerParameter( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum):externref; // any + +/* Sync objects */ +export declare function fenceSync( gl: WebGLRenderingContext, condition:GLenum, flags:GLbitfield):WebGLSync; +/*[WebGLHandlesContextLoss]*/ +export declare function isSync( gl: WebGLRenderingContext, sync:WebGLSync):GLboolean; +export declare function deleteSync( gl: WebGLRenderingContext, sync: WebGLSync): void; +export declare function clientWaitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLuint64):GLenum; +export declare function waitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLint64): void; +export declare function getSyncParameter( gl: WebGLRenderingContext, sync:WebGLSync, pname:GLenum):externref; // any + +/* Transform Feedback */ +export declare function createTransformFeedback( gl: WebGLRenderingContext ):WebGLTransformFeedback; +export declare function deleteTransformFeedback( gl: WebGLRenderingContext, tf: WebGLTransformFeedback): void; +/*[WebGLHandlesContextLoss]*/ +export declare function isTransformFeedback( gl: WebGLRenderingContext, tf:WebGLTransformFeedback):GLboolean; +export declare function bindTransformFeedback( gl: WebGLRenderingContext, target:GLenum, tf:WebGLTransformFeedback): void; +export declare function beginTransformFeedback( gl: WebGLRenderingContext, primitiveMode: GLenum): void; +export declare function endTransformFeedback( gl: WebGLRenderingContext ):void; +export declare function transformFeedbackVaryings( gl: WebGLRenderingContext, program:WebGLProgram, varyings:sequence, bufferMode:GLenum):void; +export declare function getTransformFeedbackVarying( gl: WebGLRenderingContext, program:WebGLProgram, index:GLuint):WebGLActiveInfo; +export declare function pauseTransformFeedback( gl: WebGLRenderingContext ):void; +export declare function resumeTransformFeedback( gl: WebGLRenderingContext ):void; + +/* Uniform Buffer Objects and Transform Feedback Buffers */ +export declare function bindBufferBase( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer): void; +export declare function bindBufferRange( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer, offset:GLintptr, size:GLsizeiptr): void; +export declare function getIndexedParameter( gl: WebGLRenderingContext, target:GLenum, index:GLuint):externref; // any +export declare function getUniformIndices( gl: WebGLRenderingContext, program:WebGLProgram, uniformNames:sequence):sequence; +export declare function getActiveUniforms( gl: WebGLRenderingContext, program:WebGLProgram, uniformIndices:sequence, pname:GLenum):externref; // any +export declare function getUniformBlockIndex( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockName:DOMString):GLuint; +export declare function getActiveUniformBlockParameter( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, pname:GLenum):externref; // any +export declare function getActiveUniformBlockName( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint):DOMString; +export declare function uniformBlockBinding( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, uniformBlockBinding:GLuint): void; + +/* Vertex Array Objects */ +export declare function createVertexArray( gl: WebGLRenderingContext ):WebGLVertexArrayObject; +export declare function deleteVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): void; +/*[WebGLHandlesContextLoss]*/ +export declare function isVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): GLboolean; +export declare function bindVertexArray( gl: WebGLRenderingContext, array: WebGLVertexArrayObject): void; diff --git a/webgl_test.html b/webgl_test.html new file mode 100644 index 0000000..139ab4f --- /dev/null +++ b/webgl_test.html @@ -0,0 +1,52 @@ + + + + + + + + WebGL Test + + + +

test

+ + + + + + \ No newline at end of file From ce93db4286bc26ef0aa71eac564f1f943ab071fa Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 9 Sep 2020 14:54:31 -0600 Subject: [PATCH 002/111] Added README --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..eeb9519 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# ASWebGLue (Assemblyscript WebGL Bindings and Glue) + +Compile render_lines.asc demo using the following: +``` +asc render_lines.asc --extension asc --runtime stub --importMemory -o render_lines.wasm +``` \ No newline at end of file From a4f78707a916c90d5a1d8afd440fe22539851143 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Sun, 11 Oct 2020 14:39:08 -0600 Subject: [PATCH 003/111] Adding examples and Image functions in glue code --- .gitignore | 4 + LICENSE | 21 ++ README.md | 4 + examples/ColorTriangle/README.md | 0 examples/ColorTriangle/color_triangle.asc | 87 ++++++++ examples/ColorTriangle/color_triangle.wasm | Bin 0 -> 4215 bytes examples/ColorTriangle/index.html | 73 ++++++ examples/ColorTriangleRotate/README.md | 0 .../color_triangle_rotate.asc | 104 +++++++++ .../color_triangle_rotate.wasm | Bin 0 -> 7432 bytes examples/ColorTriangleRotate/index.html | 73 ++++++ examples/HelloWorldTriangle/README.md | 7 + examples/HelloWorldTriangle/index.html | 73 ++++++ examples/HelloWorldTriangle/triangle.asc | 78 +++++++ examples/HelloWorldTriangle/triangle.wasm | Bin 0 -> 3919 bytes examples/MousePoint/README.md | 7 + examples/MousePoint/index.html | 85 +++++++ examples/MousePoint/mouse_point.asc | 169 ++++++++++++++ examples/MousePoint/mouse_point.wasm | Bin 0 -> 9568 bytes examples/Quad/README.md | 7 + examples/Quad/index.html | 73 ++++++ examples/Quad/quad.asc | 78 +++++++ examples/Quad/quad.wasm | Bin 0 -> 3927 bytes examples/QuadFollowMouse/README.md | 7 + examples/QuadFollowMouse/index.html | 67 ++++++ .../QuadFollowMouse/quad_follow_mouse.asc | 83 +++++++ .../QuadFollowMouse/quad_follow_mouse.wasm | Bin 0 -> 4167 bytes examples/README.md | 8 + examples/TextureQuad/README.md | 7 + examples/TextureQuad/index.html | 73 ++++++ examples/TextureQuad/texture_quad.asc | 87 ++++++++ examples/WarpSpeed/README.md | 7 + examples/WarpSpeed/index.html | 73 ++++++ examples/WarpSpeed/warp_speed.asc | 207 ++++++++++++++++++ examples/WarpSpeed/warp_speed.wasm | Bin 0 -> 12193 bytes src/ASWebGLue.js | 32 ++- webgl.asc | 9 +- 37 files changed, 1595 insertions(+), 8 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 examples/ColorTriangle/README.md create mode 100644 examples/ColorTriangle/color_triangle.asc create mode 100644 examples/ColorTriangle/color_triangle.wasm create mode 100644 examples/ColorTriangle/index.html create mode 100644 examples/ColorTriangleRotate/README.md create mode 100644 examples/ColorTriangleRotate/color_triangle_rotate.asc create mode 100644 examples/ColorTriangleRotate/color_triangle_rotate.wasm create mode 100644 examples/ColorTriangleRotate/index.html create mode 100644 examples/HelloWorldTriangle/README.md create mode 100644 examples/HelloWorldTriangle/index.html create mode 100644 examples/HelloWorldTriangle/triangle.asc create mode 100644 examples/HelloWorldTriangle/triangle.wasm create mode 100644 examples/MousePoint/README.md create mode 100644 examples/MousePoint/index.html create mode 100644 examples/MousePoint/mouse_point.asc create mode 100644 examples/MousePoint/mouse_point.wasm create mode 100644 examples/Quad/README.md create mode 100644 examples/Quad/index.html create mode 100644 examples/Quad/quad.asc create mode 100644 examples/Quad/quad.wasm create mode 100644 examples/QuadFollowMouse/README.md create mode 100644 examples/QuadFollowMouse/index.html create mode 100644 examples/QuadFollowMouse/quad_follow_mouse.asc create mode 100644 examples/QuadFollowMouse/quad_follow_mouse.wasm create mode 100644 examples/README.md create mode 100644 examples/TextureQuad/README.md create mode 100644 examples/TextureQuad/index.html create mode 100644 examples/TextureQuad/texture_quad.asc create mode 100644 examples/WarpSpeed/README.md create mode 100644 examples/WarpSpeed/index.html create mode 100644 examples/WarpSpeed/warp_speed.asc create mode 100644 examples/WarpSpeed/warp_speed.wasm diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0223837 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +node_modules +images +src/extended +src/old diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..356e0b8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Rick Battagline + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index eeb9519..31c3700 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,8 @@ Compile render_lines.asc demo using the following: ``` asc render_lines.asc --extension asc --runtime stub --importMemory -o render_lines.wasm +``` + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm ``` \ No newline at end of file diff --git a/examples/ColorTriangle/README.md b/examples/ColorTriangle/README.md new file mode 100644 index 0000000..e69de29 diff --git a/examples/ColorTriangle/color_triangle.asc b/examples/ColorTriangle/color_triangle.asc new file mode 100644 index 0000000..f8f3998 --- /dev/null +++ b/examples/ColorTriangle/color_triangle.asc @@ -0,0 +1,87 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + uniform4fv, linkProgram, WebGLRenderingContext, + createBuffer, WebGLBuffer, ARRAY_BUFFER, LINK_STATUS, COMPILE_STATUS, + STATIC_DRAW, GLint, FLOAT, LINE_LOOP, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + getProgramInfoLog, getShaderInfoLog, clearColor, clear, + bufferData, getAttribLocation, drawArrays, getShaderParameter, + vertexAttribPointer, GLuint, TRIANGLE_STRIP, +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + layout(location = 0) in vec2 position; + layout(location = 1) in vec3 color; + out vec4 c; + + void main() { + gl_Position = vec4( position, 0.0, 1.0 ); + c = vec4(color, 1.0); + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + + let color_al = getAttribLocation(gl, program, 'color'); + + // X Y R G B + let line_data: StaticArray = [ 0.0, 0.5, 1.0, 0.0, 0.0, + -0.5, -0.5, 0.0, 1.0, 0.0, + 0.5, -0.5, 0.0, 0.0, 1.0, + ]; + + enableVertexAttribArray(gl, position_al); + enableVertexAttribArray(gl, color_al); + + + + export function displayLoop(delta:i32):void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + + //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 20, 0 ); + vertexAttribPointer(gl, color_al, 3, FLOAT, false, 20, 8 ); + + drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length/5); + + } \ No newline at end of file diff --git a/examples/ColorTriangle/color_triangle.wasm b/examples/ColorTriangle/color_triangle.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a61e418b54a7eb684b93330986422fff14941a01 GIT binary patch literal 4215 zcmcJSYmgLI6~|Ba%=8S?i!>zi^g}N*AJ8%>vZVMTLRu`#GJK#aRr<}{-q~gun4MXB zhDFLsP0!5kvXDUWCP7O#JfbEaB!XFtS|X1~5|S+Y40*YtRuQYT2uZ4Z7M^?lJv+O^ zvh;%k{r}y2&bjxVdv5nkFS*4ojfk|h$u_-QrZ%EBt*n(M>e}1ob@*?dQ63a6Xj>6M&P$Uvx|EnoX-(){=p!dwOO}xv`Mtn)(!n zFWKR{+hv&|84)kvV|0041%HQ5TEt97VtPc=G?r*o>n6?EYyDg=YYv$Zax}9{s{654 z!x8Ap9VA49hFx0XizruANlb~Mq%mh8{fcN+v?kgs+9%pCx>Ixj7A(7K7Jji$*4qu^ zW5AV)7+(Tj23`Rw2&n=!pcm)^4(ylV2Z2MtVPFdQJ#aJZ?Uez40G@tadc9JfKG6Zu zOAA#QZY)wdEV@theX;Lftn5Qb;k!t75Rl3RN#(DIRz>?ng9Tz2eM)Bf(|{!KXW+8f zUKG70dRz1Z(GNxUOCASA4~ZTYJtBHk^q}Yyq5-O20jfX^IPs*ceiAqZ9G7AHWQ)f| zPl$fBL?z$1ROuPf7et3eM?^5MQftHqJ5(MqSY1^*)O_NbU<{M=x)(7Na!r^yM9^X^bx^xz;fJK_5guAmle^fXicq4fQ!H-;4<(c@N3`-@DlJc@CtAhcoldJcpVr9 zt^p&!C@=<$0~5d`@CI-lcoTRFcpG>Jco+B$Fa=abq?$jf%5HDr#v8_+a}5{)Mu9P4 z9GCzmfj5Bbz?;BZz}vvPz!Y#C-+?E9lfWt9kGPpHqxU_0g;sEH-ohRJK5!fO0QeC2 z2snQX#|TW|`I-c7z<3G|bVVM-E3o|))wzJ)Mc@)J3|s?7fKgx!7zc*&t#%C<0Y-r- zAVB0GaI9Cdl_MEPzyvS}TnF9(o(8@T+(gd(@^ydyB=!wl04@TT09!pJgZ%6^e%Aj( zYcQ_Dr$qTTEB^Jw^b140wbjk#3K?3EXl?bqlAF!bJ#$o(-&=|v-OKGvA(!(qCHf=> z`(Dv2(L$43rBb%Fons;|=w?T@*qw8CY$z1EX-Ps`I>*q|%LOG5M3Z0BV&!$ztl64l zm6~;%Z2jTrLke4+J9i>mlsM($Hyo>{Ibv(eqjqF@%#PZzuPkeh+R=yjwc^Vh9|;>| znx;)@&1~a&ZE|ki;qg2nnJHdii(0^$x5b&Krd%FzEH$4UeRx@O%+~GL7Hht(JJ!}_ z!#3>LYMrxOY8#HWT92}Ukzmkjy~)k~cpy8Z1EK2`aPx1e~ znx&=BNR#!nZiP)NqP%;Q_pF#$p9{Tbb@5u!^iRaadPcWmY5+Ic8#XNiCM(Xg66xn9 z`o7fjx-|zLXUedW>7j5ICx~#rbp~p&u{-UOM-P) zlNw=Ka~1AO{Zvo2Sf5bsA>GkaHNMH5dmXaoDbqRKiPTLAnC3ggW30tatjn^@g_Qc4 zK7ANzsi3vUH2)S)a4zQU$PJDE{!o8|@TJ-*>LHJODpHmTlqZ{3(MtYjv$aTbDakFH zx;et5497I$Hgm6&HnY#BO_bx&E|utWGNwK*$F?2p*~Xp~5|fdr`dXjou`B7*tXWxG z<&vQmS+O8%mBPF*ugc}Wne%~<&AEz4W;hd-rypjiWpR5`aXI%E=wKk z?c)4Zt}A4PZ%tQ7&DF`Xx6($ARaL5IZj;(2cJ?5TQ`MXu@maR5r2F|&tp}uK^ZboG z)a)6)X3x~vPh;H7QIAS? + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/ColorTriangleRotate/README.md b/examples/ColorTriangleRotate/README.md new file mode 100644 index 0000000..e69de29 diff --git a/examples/ColorTriangleRotate/color_triangle_rotate.asc b/examples/ColorTriangleRotate/color_triangle_rotate.asc new file mode 100644 index 0000000..7b1c6fa --- /dev/null +++ b/examples/ColorTriangleRotate/color_triangle_rotate.asc @@ -0,0 +1,104 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, TRIANGLE_STRIP, +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + layout(location = 0) in vec2 position; + layout(location = 1) in vec3 color; + out vec4 c; + + void main() { + gl_Position = vec4( position, 0.0, 1.0 ); + c = vec4(color, 1.0); + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + + let color_al = getAttribLocation(gl, program, 'color'); + + // X Y R G B + let line_data: StaticArray = [ 0.0, 0.5, 1.0, 0.0, 0.0, + -0.55, -0.5, 0.0, 1.0, 0.0, + 0.55, -0.5, 0.0, 0.0, 1.0, + ]; + + enableVertexAttribArray(gl, position_al); + enableVertexAttribArray(gl, color_al); + + + +function rotate(theta: f32) : void { //u32 { + + for( var coord_i: i32 = 0; coord_i < line_data.length; coord_i += 5 ) { + let x:f32 = line_data[coord_i]; + let y:f32 = line_data[coord_i+1]; + + let x1:f32 = x * Mathf.cos(theta) - y * Mathf.sin(theta); + + let y1:f32 = y * Mathf.cos(theta) + x * Mathf.sin(theta); + + line_data[coord_i] = x1; + line_data[coord_i+1] = y1; + } + return; +} + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + + //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 20, 0 ); + vertexAttribPointer(gl, color_al, 3, FLOAT, false, 20, 8 ); + + drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length/5); + + } \ No newline at end of file diff --git a/examples/ColorTriangleRotate/color_triangle_rotate.wasm b/examples/ColorTriangleRotate/color_triangle_rotate.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e2c2562e1fb86615a872a9845dd43e6638baaa57 GIT binary patch literal 7432 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 Tt1=bF + + + + + + Color Triangle with Rotation + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/HelloWorldTriangle/README.md b/examples/HelloWorldTriangle/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/HelloWorldTriangle/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/HelloWorldTriangle/index.html b/examples/HelloWorldTriangle/index.html new file mode 100644 index 0000000..33cd325 --- /dev/null +++ b/examples/HelloWorldTriangle/index.html @@ -0,0 +1,73 @@ + + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/HelloWorldTriangle/triangle.asc b/examples/HelloWorldTriangle/triangle.asc new file mode 100644 index 0000000..84afdb3 --- /dev/null +++ b/examples/HelloWorldTriangle/triangle.asc @@ -0,0 +1,78 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, TRIANGLE_STRIP, +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + in vec2 position; + + void main() { + gl_Position = vec4( position, 0.0, 1.0 ); + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + out vec4 color; + + void main() { + color = vec4( 1.0, 0.5, 0.0, 1.0 ); + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let line_data: StaticArray = [0.0,0.5, + -0.5,-0.5, + 0.5,-0.5,]; + + export function displayLoop(delta:i32):void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + + const dimensions:i32 = 2; + const data_type: i32 = FLOAT; + const normalize: i32 = false; + const stride:i32 = 0; + const offset:i32 = 0; + + vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + + drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length/2); + + } \ No newline at end of file diff --git a/examples/HelloWorldTriangle/triangle.wasm b/examples/HelloWorldTriangle/triangle.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2a014e1044cb235b0a058db93492d0b38c8b9d52 GIT binary patch literal 3919 zcmcJSTaXlI6~|9sW_Fogq#?@HhhBCbR?DQ~MtLzpS}e;ld7w;{zPZ~w+bjdK(`!$& zNLi`rnb}=-NuaosprwSHw+D$}h_NhJE|DZ88TJ}-bB$URtkNPRd9b|T`Od$W0pdem z9O(b=eCM3+d|#jLp6Mm8)Ta@VwmQ?Lm&?>e)TNcRG7EJXW#wTvk4?6D(4@d0>PnR# z;SZ9uvi_*CD7D4!?kz0Ig}xX0YlC9se<%7%81$|6iUVGWQi!)8{_qB`#}98hOEP>o z*c|43GLbny7xeY#3x1MHb6%;xE)04@uaESksux9GZbOoq6tD{U;-Zm!hH8bLC%ZvL6PQR^(B7M>n`};@IyXlq_|<| zZKb(Ia|PcE*9L_kq-IP>iEA!lLANaaWiRsXUw>c6YDy#Pu7O)ht_$+q(~z1F%k+fa z7Fni5X~QoLr2G87Al#~xW>^^`r5l>2v6!aTPg;7^{~p_m<9d}ypxP}%7niFCmxg0ptNU5bVT(0V%3JX zmnf}^?h<`h{JWPb{~2uI2iWXkKspy^RJ_$2(VFO>=#c2JXthIS4vTIR9T6QB-7b0x8#)dAX;_vxc|hYLW`QI44m=7R1C9fK#m#&HqaWfcw1Ru{8t(9Sf$P9~!27@lz}O*N zMqnDx*9`DBoX7D%SL8vw2;V=@owFF71I`0=;4&}{OaPO>6i~;v+GSuIm;h#h7@3EG zLxZwgxg=9am;KytlON|< zQU2|1`d0JJcZH_TPOnf1aAob6mtDEPUEKEcVMU-Bbb zY_SzZ`Oa?6F@B|6J^509!Q1*!5cJcsW^MVrw5HxGD09`wd{ax6*HEkGXs#W#>JB;j zgXRMYo7@{WjEzd%a_QTyJ(N^fy=%Or;^gETqP)TS1Fl3%LI?yTv?DVwst(A)U`PR-V`r^IAE zsoRNZ8!Ea(MNf;1^{FI!T9>G8W`8Lm)>FEjQWMzZXkyxFxa=mT-JE?|vhQwtTDRvR z;vP=fnd}+ypV4j0n$O$jGi=veTz$a$I&s=se#NKTBwk~;sQH#XU*YbyXY{rX`(w&J zqr190-0pJUU9uM_*Fu*#!Cva>eYR~arnYDGn?24-W9%iC6{nkcVe5pxSmVDa)L#{R zD7%dY$fuA>l&64-sOQr~aR$Q5sX(|DR^56AEZE zpGITz4mT{2riOR4^rJPXG5f + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/MousePoint/mouse_point.asc b/examples/MousePoint/mouse_point.asc new file mode 100644 index 0000000..de57788 --- /dev/null +++ b/examples/MousePoint/mouse_point.asc @@ -0,0 +1,169 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, POINTS, enable, blendFunc, + SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, +} from '../../webgl' + +// SRC_ALPHA +// ONE_MINUS_SRC_ALPHA +let point_data: StaticArray = [0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, + 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0,]; + +class Point { + public x: f32 = 0.0; + public y: f32 = 0.0; + public alpha: f32 = 1.0; + public visible:bool = false; + public index: i32 = 0; + + constructor( index: i32 ) { + this.index = index; + } + + public activate(x: f32, y: f32 ) :void { + this.x = x; + this.y = y; + this.visible = true; + this.alpha = 1.0; + } + + public move(): void { + this.alpha -= second_delta * 2; + + if( this.alpha < 0.0 ) { + this.visible = false; + this.alpha = 0.0; + } + + point_data[this.index * 3] = this.x; + point_data[this.index * 3 + 1] = this.y; + point_data[this.index * 3 + 2] = this.alpha; + } +} + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + layout(location = 0) in vec2 position; + layout(location = 1) in float alpha; + out vec4 c; + + void main() { + gl_Position = vec4( position.x, position.y, 0.0, 1.0 ); + gl_PointSize = 8.0; + float a = clamp(alpha, 0.0, 1.0); + c = vec4(1.0,1.0,0.0,a); + + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var second_delta: f32 = 0.0; + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + let alpha_al = getAttribLocation(gl, program, 'alpha'); + enableVertexAttribArray(gl, alpha_al); + + enable(gl, BLEND); + blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); + + let point_index: i32 = 0; + + let point_list: StaticArray = [new Point(0), new Point(1), new Point(2), new Point(3), new Point(4), + new Point(5), new Point(6), new Point(7), new Point(8), new Point(9), + new Point(10), new Point(11), new Point(12), new Point(13), new Point(14), + new Point(15), new Point(16), new Point(17), new Point(18), new Point(19), + new Point(20), new Point(21), new Point(22), new Point(23), new Point(24), + new Point(25), new Point(26), new Point(27), new Point(28), new Point(29), + new Point(30), new Point(31), new Point(32), new Point(33), new Point(34), + new Point(35), new Point(36), new Point(37), new Point(38), new Point(39), + new Point(40), new Point(41), new Point(42), new Point(43), new Point(44), + new Point(45), new Point(46), new Point(47), new Point(48), new Point(49), + new Point(50), new Point(51), new Point(52), new Point(53), new Point(54), + new Point(55), new Point(56), new Point(57), new Point(58), new Point(59), + new Point(60), new Point(61), new Point(62), new Point(63), new Point(64), + new Point(65), new Point(66), new Point(67), new Point(68), new Point(69),]; + + var prev_x: f32 = 0.0; + var prev_y: f32 = 0.0; + + export function displayLoop(delta:i32, mouse_x: f32, mouse_y: f32 ):void { + + second_delta = delta / 1000.0; + for( let i: i32 = 0; i < point_list.length; i++ ) { + point_list[i].move(); + } + + if( prev_x != mouse_x || prev_y != mouse_y ) { + point_index++; + if(point_index >= point_list.length) { + point_index = 0; + } + point_list[point_index].activate(mouse_x, mouse_y); + prev_x = mouse_x; + prev_y = mouse_y; + } + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + bufferData(gl, ARRAY_BUFFER, point_data, DYNAMIC_DRAW); + + //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 12, 0 ); + vertexAttribPointer(gl, alpha_al, 1, FLOAT, false, 12, 8 ); + + drawArrays(gl, POINTS, 0, point_list.length); + + } \ No newline at end of file diff --git a/examples/MousePoint/mouse_point.wasm b/examples/MousePoint/mouse_point.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f4aa65bc87d206903e4f6606ae66790788dde327 GIT binary patch literal 9568 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 + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/Quad/quad.asc b/examples/Quad/quad.asc new file mode 100644 index 0000000..ed3f1d1 --- /dev/null +++ b/examples/Quad/quad.asc @@ -0,0 +1,78 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, TRIANGLE_STRIP, +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + in vec2 position; + + void main() { + gl_Position = vec4( position, 0.0, 1.0 ); + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + out vec4 color; + + void main() { + color = vec4( 0.5, 0.2, 1.0, 1.0 ); + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let quad_data: StaticArray = [-0.5,-0.5, + -0.5, 0.5, + 0.5,-0.5, + 0.5, 0.5,]; + + export function displayLoop(delta:i32):void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + + const dimensions:i32 = 2; + const data_type: i32 = FLOAT; + const normalize: i32 = false; + const stride:i32 = 0; + const offset:i32 = 0; + + vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + + drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length/2); + } \ No newline at end of file diff --git a/examples/Quad/quad.wasm b/examples/Quad/quad.wasm new file mode 100644 index 0000000000000000000000000000000000000000..3f5582c1841e2605980778dd6cdb3d807e3ea4ca GIT binary patch literal 3927 zcmcJSTWlQV701ua&aRyur%Kw6cMTTA=U(4>Td5N<9sK!A;}gj-$ON~BV&5a0m;P0x4!)cK+xb7^< z@P2<|koCww=IpHB-IL3EaVkxFrT&`0?+V;*(&MUb7`oYYacW$^%;yRlrW51o>5WD2 zCRe4Z5QviRL@=-#>Zj@FfwLe?$4GfJ-UbKKK_8W2l& z2JR+VrbwxTSLjW3d)l2}583?)e=DJAuqk&Mft7163_pJ>16fan&{L3pt2&<%KQhpe|1&WC{W zWpTa;yac=ql#x;asz4vm5A510({}@VfW5#J@HgPSc(h$6{2e& zS46Lhejxgx=uX+kF3~-rdqww&?ibxH`iN+Ru9txdPz4S@Dyts>jsk~d+73CzL!yU8 zKU$bmwXG?K1Ey^z8}Y*T8Rp!`ozk(Nbxf zXhn2a6@g_E5Uq$-Mf*hiMF&JHttxXsbc^Vq=#c1E(G%FvN#L&ovc&Oyf+vB?=-Veh z6X&PED~MeHt|H|##9o6l+Ak9-Ko#f*27n>pVPG2&$#Yp2t%z1d`$YRi2Sm4sMt4d> zL@T0I(XC%s{w-T&7lS~wQgTHrqR|DpK4lukLCV|(1OTZhzo4{MZ+rT@(pMfc$JR;rvZAH%Z3U0g_?wpIj2rvqa0pq{~ zFbTX4Tms$z-UQwP-T|h7L--Cn3>*QD0{_6xd=8_>@D*Cdy?F(9`1`{c$xI1(m+N#GLjHgF91CGZ~hJRo29!$)x5z-izNa2BxDQ&Qu!`p^1*w}$1% zc}kRjdmA2Ty#B7x(AMVW^M01*HMX?{Ug+iubjvJd@+(Wxqc5|a_49cz8`4)eIq-^J zNb^m$!Z6p?!8wUP=w@fG*pqiR-|PE5w5U;AJS(NC_XN}N*h$Bxz8oUpZ}hMicNv<*A?gC)&|ZQR9g6yN9kL~M|0nl@!L zvz_bObwSY5cy)#FZT$*q!RnIo=S<;-ebvwDr|jek zop-s|PC42N-Czf!kwGi;CR;ZRvdK)4CP#`|)S{2`OI694GMp%BQRa7g3;*A)Sz6|V zn5@TjD>ki!if&WUlj351GLD|qC2AR&-%E(~gl;9(1U5Mun^p=gtAS}XW}cGl+ghH| ztyzdT2a{Ghb4vWDbjvhn^S1d6m+4K8-fP}RoVJ=@@#zMMR#{DIzG=-?xUJ=By`|Oq zlCn?fj_wRBbGYvgS#y+Yu0xz)Ep+s5%QELv%QO1*9%rO6)&kQUOf~Sr<}rP~#(z<$ zzbg1pb_?~AM*$TnM?MwEraNdk|FhX!q}h~a%cdUA@F>eU^}KaF>Y{ZVvuQ2mdA3U- zeOu;C&&x?gwL+F!rH(HZ!gw`gs}-ha^m3gXb+V_M>#6z6=xaRs>Gcei-Noy*(HhQG z`2^Mp^$oFXu3z8BgR%}e!@9X$|99Ldjj8M}rdjHQ zeA>vTQQy4H4fCa`!A&jw{~A=E{rRS-27F5zpsdyzt@vL}sTt<#wEvU@DtG&(Ankv8@i}gYEEF SXvW~7&4>EfqIG5#!SNp{jICh+ literal 0 HcmV?d00001 diff --git a/examples/QuadFollowMouse/README.md b/examples/QuadFollowMouse/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/QuadFollowMouse/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/QuadFollowMouse/index.html b/examples/QuadFollowMouse/index.html new file mode 100644 index 0000000..7a65f9e --- /dev/null +++ b/examples/QuadFollowMouse/index.html @@ -0,0 +1,67 @@ + + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/QuadFollowMouse/quad_follow_mouse.asc b/examples/QuadFollowMouse/quad_follow_mouse.asc new file mode 100644 index 0000000..d431908 --- /dev/null +++ b/examples/QuadFollowMouse/quad_follow_mouse.asc @@ -0,0 +1,83 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, uniform2f, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, TRIANGLE_STRIP, +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + uniform vec2 quad_pos; + in vec2 position; + + void main() { + vec2 pos = position + quad_pos; + gl_Position = vec4( pos, 0.0, 1.0 ); + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + out vec4 color; + + void main() { + color = vec4( 0.5, 0.2, 1.0, 1.0 ); + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let quad_data: StaticArray = [-0.2,-0.2, + -0.2, 0.2, + 0.2,-0.2, + 0.2, 0.2,]; + + let quad_pos:WebGLUniformLocation = getUniformLocation(gl, program, "quad_pos"); + + export function moveMouse(mouse_x: f32, mouse_y: f32 ):void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + + const dimensions:i32 = 2; + const data_type: i32 = FLOAT; + const normalize: i32 = false; + const stride:i32 = 0; + const offset:i32 = 0; + + vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + uniform2f(gl, quad_pos, mouse_x, mouse_y); + + drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length/2); + } \ No newline at end of file diff --git a/examples/QuadFollowMouse/quad_follow_mouse.wasm b/examples/QuadFollowMouse/quad_follow_mouse.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a40f996a005e3b812a3ca63f979cd7b9db338137 GIT binary patch literal 4167 zcmcJSTWlQV701uaUcBCMnn|F!@-U9~!O((I)8?f#FilleK&42i?MqdAycs*2?Cylw z^`@wbc6Qfx9G6772hyrdbD_5f0tqD0i`-mjfCL<03Aehmm7r296X2ohB|YEykG;lF zwJ&wD|KIt}Ip6uteBbQuEIEaoMnu}ZO&xlylC$Q*eBR9vkx}DwGrD@-FitaiuUv$4+{Ic)m);al-Q=ll~O^83R z(b?eov(ADHAMkqov`Z0WE=YU1Et#wvrqYa8>aX{`Zr{m~9#(aVMJK&6ObrVd*-U=( zOky}a*;8=mxx$XV*wfX;9fbvxotgZG&=rq>~mglCh{B z(=<&tv}jb@LRx&6`Afa5*(iKcoC=|r3%!5UZ4-yyGN$) z1NH+4fGOaQz}w+ymrVE*@YusL>Xq&36CDt}utaUcTT7J=i|!VESNwaHDgPO?@B=h^ z1dyEzk}6&it%~-E28+cn`Xj0ImjP+uufRp|JtsOXdR_EA(f397NFRGe_lq77Jt%re zbf4%Wq5*cj0#tz-aO_c8{Wx#}I4aY2%OxHaJtq3Wa@Bm_3ZhO14e3D!R9ZK&u2qtD-g0UeP|$e$i^1 z%Ip{2E;=B(Lv&E|6dF1W{Gnf#IC)U;1n>^_?eE_c=Rbfeh+PJ*Bjulny$ok?NG4Q) z8qf#y13Q3+ft^4g@5_p4RkSABE7~X8FS=bcxJx!fv?^K?9lTBXw+~7e13<7=az(46 z!DTt03J|=65l{tcKroCLPz7qh?^mk2)jO2#!&3W!1HeJx5by}_C~z3~J}|UH8vYG% z4mb~704@U00lx(<0nY<3051ZUfh)jEz{|iea1|HY%d17PSdjuDu^`)d+-3(gaGLs#UDcnQA0 zVRz19bRM_>3xc;^N@zzQHUX=*h)AAL&zrkquW@7e%p`pFq z$!5JY-JED|_uZnC$H(jKqob0;=w@Awjwu;3}dne~ap4A(3 zUdjEc$4_IlGNIkl7}wOJ1tn|I~i5j z+blIlENxZPimZxRQ7d-u%I2sQy@wwvzQXyD&>+JwEJ|rc2iLXuqHgefE=WcTFR)21 zU@zQcFH|L0MQl^mv!eH{Y>rvF729OqWa+lKxjAmdt=Jl!yIf(#ZEcMnWd|d{pf!4v zr5jPQ$cT_8uQ;`+MIYzqsvn&u z&8J|KX)4z<>I^k=k+K)r#L4CgThEz`jV09b3w?I?Q?g~|a>F>*0zSj(R*l$9Zb4G_|qyAoXzm25RT|9#_RYwN^&DsAnRc;o9i1o;kBhi7RBd zmc?s0GQX8><(|YN<-WTd&mCsV^Z0%38 zwVLkWm$E)1mc{+muVb6^N%qNzu}l9~csLqU+5evdQkUWJ5fqs-En9pvo*bk8L z4X)4r=vJr=_?&EjvfAcs#edtBp_s8OF=tPdo#tDl#5WDuQ!(R~ra4h%Z{?e;Qx2(( zGx%4KWzNY^_WVO9`$*haZG~A8rn0YGzW>*AUTfJ_FXa=Pe_nh{?fJKkeCVg5VNHhA Lp3Bs7H6r>q){pHw literal 0 HcmV?d00001 diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..6a08277 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,8 @@ +#AssemblyScript WebGL Binding Examples + +I am creating a series of AssemblyScript WebGL tutorials to show examples of using the AssemblyScript bindings and glue code for WebGL. + +These can also be used as a series of small tutorials. You should do them in the following order + +1. Hello World Triangle +2. Color Triangle diff --git a/examples/TextureQuad/README.md b/examples/TextureQuad/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/TextureQuad/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/TextureQuad/index.html b/examples/TextureQuad/index.html new file mode 100644 index 0000000..529c92a --- /dev/null +++ b/examples/TextureQuad/index.html @@ -0,0 +1,73 @@ + + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/TextureQuad/texture_quad.asc b/examples/TextureQuad/texture_quad.asc new file mode 100644 index 0000000..2c17ca9 --- /dev/null +++ b/examples/TextureQuad/texture_quad.asc @@ -0,0 +1,87 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createTexture, createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, TRIANGLE_STRIP, +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + in vec2 position; + in vec2 tex_coord; + + out vec2 tc; + + void main() { + gl_Position = position; + tc = tex_coord; + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + uniform sampler2D sampler; + in vec2 tc; + out vec4 color; + + void main() { + color = texture2D( sampler, tc ); + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); + enableVertexAttribArray(gl, tex_coord_al); + + // x y u v + let quad_data: StaticArray = [-0.5,-0.5, 0.0, 0.0, + -0.5, 0.5, 0.0, 1.0 + 0.5,-0.5, 1.0, 0.0, + 0.5, 0.5, 1.0, 1.0,]; + + let texture = createTexture(gl); + let sampler = getUniformLocation( gl, program, 'sampler' ); + + export function displayLoop():void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + + //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0 ); + vertexAttribPointer(gl, tex_coord_al,2, FLOAT, false, 16, 8 ); + + drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length/4); + } \ No newline at end of file diff --git a/examples/WarpSpeed/README.md b/examples/WarpSpeed/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/WarpSpeed/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/WarpSpeed/index.html b/examples/WarpSpeed/index.html new file mode 100644 index 0000000..723a04c --- /dev/null +++ b/examples/WarpSpeed/index.html @@ -0,0 +1,73 @@ + + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/WarpSpeed/warp_speed.asc b/examples/WarpSpeed/warp_speed.asc new file mode 100644 index 0000000..3d890f3 --- /dev/null +++ b/examples/WarpSpeed/warp_speed.asc @@ -0,0 +1,207 @@ +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, POINTS, +} from '../../webgl' + +class Point { + public x: f32 = 0.0; + public y: f32 = 0.0; + public dx:f32 = 0.0; + public dy:f32 = 0.0; + + constructor() { + this.reset(); + } + + public reset(): void { + this.x = 0; + this.y = 0; + + do { + this.dx = Mathf.random() * 0.1 - 0.05; + this.dy = Mathf.random() * 0.1 - 0.05; + } while( Mathf.abs(this.dx) + Mathf.abs(this.dy) < 0.02 ); + } + + public move(): void { + if( this.x > 1.0 || this.x < -1.0 || this.y > 1.0 || this.y < -1.0 ) { + this.reset(); + } + this.x += this.dx; + this.y += this.dy; + } +} + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + in vec2 position; + out vec4 c; + + void main() { + gl_Position = vec4( position, 0.0, 1.0 ); + float total = clamp(abs(position.x) + abs(position.y) + 0.4, 0.01, 1.0); + gl_PointSize = total * 8.0; + c = vec4(total, total, total, 1.0); + + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let point_list: StaticArray = [new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(), + new Point(), new Point(), new Point(), new Point(), new Point(),]; + + let point_data: StaticArray = [0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, + 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0,]; + + export function displayLoop(delta:i32):void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + for( let i: i32 = 0; i < point_list.length; i++ ) { + point_list[i].move(); + point_data[i*2] = point_list[i].x; + point_data[i*2+1] = point_list[i].y; + } + + bufferData(gl, ARRAY_BUFFER, point_data, STATIC_DRAW); + + const dimensions:i32 = 2; + const data_type: i32 = FLOAT; + const normalize: i32 = false; + const stride:i32 = 0; + const offset:i32 = 0; + + vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + + drawArrays(gl, POINTS, 0, point_list.length); + + } \ No newline at end of file diff --git a/examples/WarpSpeed/warp_speed.wasm b/examples/WarpSpeed/warp_speed.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d0fa8763aabf539da09046bab61bf4db3c81fde4 GIT binary patch literal 12193 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 fg#wo(^hEzTYIPBe { + let image = new Image(); + image.ready = false; + image.onload = function () { + image.ready = true; + } + image.src = webgl.getString(image_location); + let image_id = webgl.imageArray.length; + webgl.imageArray.push(image); + return image_id; + } + + importObject.webgl.imageReady = (image_id) => { + if (webgl.imageArray.length >= image_id) { + return false; + } + return webgl.imageArray[image_id].ready; + } + importObject.webgl.getView = (alignLog2, signed, float) => { const buffer = webgl.memory.buffer; @@ -164,10 +185,6 @@ export function initASWebGLue(importObject) { importObject.webgl.createContextFromCanvas = (canvas_id, context_type) => { try { - console.log(canvas_id); - console.log(context_type); - console.log('getting canvas id string'); - console.log(webgl.getString(canvas_id)); const canvas = document.getElementById(webgl.getString(canvas_id)); const gl = canvas.getContext(webgl.getString(context_type)); let id = webgl.contextArray.findIndex((element) => element == null); @@ -312,6 +329,7 @@ export function initASWebGLue(importObject) { webgl.contextArray[ctx].bufferData(target, webgl.getArrayView(data), usage); } catch (err) { console.log("bufferData error"); + console.log(webgl.getArrayView(data)); console.error(err); } // end catch } @@ -393,6 +411,8 @@ export function initASWebGLue(importObject) { importObject.webgl.compileShader = (ctx, shader) => { try { webgl.contextArray[ctx].compileShader(webgl.shaderArray[shader]); + var compilationLog = webgl.contextArray[ctx].getShaderInfoLog(webgl.shaderArray[shader]); + console.log(compilationLog) } catch (err) { console.log("compileShader error"); console.error(err); @@ -1030,7 +1050,7 @@ export function initASWebGLue(importObject) { if (!webgl.contextArray[ctx].getProgramParameter(webgl.programArray[program], webgl.contextArray[ctx].LINK_STATUS)) { - console.log(arg[0].getProgramInfoLog(webgl.programArray[program])); + console.log(webgl.contextArray[ctx].getProgramInfoLog(webgl.programArray[program])); } } catch (err) { console.log("linkProgram error"); @@ -1044,7 +1064,7 @@ export function initASWebGLue(importObject) { webgl.contextArray[ctx].pixelStorei(pname, param); } catch (err) { console.log("pixelStorei error"); - console.error(err); + console.log(err); } // end catch } diff --git a/webgl.asc b/webgl.asc index 6a7b200..59ff90e 100644 --- a/webgl.asc +++ b/webgl.asc @@ -32,6 +32,11 @@ export type HTMLImageElement = externref; export type HTMLVideoElement = externref; export type WebGLVertexArrayObject = i32; +// == Not a part of WebGL, but there must be a way to create and load images + export type WebGLImageId = i32; + export declare function createImage(image_location:string):WebGLImageId; + export declare function imageReady(image_idWebGLImageId):bool; + // === WebGLContextAttributes === export const ALPHA_DEFAULT = true; export const FALSE:i32 = false; @@ -77,7 +82,7 @@ export declare function getPrecision(gl: WebGLShaderPrecisionFormat): GLint; // === WebGLRenderingContext === -export type WebGLRenderingContext = i32; //externref; +export type WebGLRenderingContext = i32; /* ClearBufferMask */ export const DEPTH_BUFFER_BIT: GLenum = 0x00000100; @@ -496,7 +501,7 @@ export const BROWSER_DEFAULT_WEBGL: GLenum = 0x9244; //type HTMLCanvasElement = externref; -export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement; +//export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement; export declare function getDrawingBufferWidth(gl: WebGLRenderingContext): GLsizei; export declare function getDrawingBufferHeight(gl: WebGLRenderingContext): GLsizei; From d7e38da9e94edd88994dc4dd4d3cbf512d8e6ded Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Sun, 11 Oct 2020 17:15:12 -0600 Subject: [PATCH 004/111] added more examples and fixed texture bugs --- examples/TextureQuad/kaijunicorn.png | Bin 0 -> 2388 bytes examples/TextureQuad/texture_quad.asc | 51 +++++++++++++++++++++---- examples/TextureQuad/texture_quad.wasm | Bin 0 -> 4781 bytes gitrun.sh | 4 ++ src/ASWebGLue.js | 25 ++++++++---- webgl.asc | 12 +++--- 6 files changed, 72 insertions(+), 20 deletions(-) create mode 100644 examples/TextureQuad/kaijunicorn.png create mode 100644 examples/TextureQuad/texture_quad.wasm create mode 100644 gitrun.sh diff --git a/examples/TextureQuad/kaijunicorn.png b/examples/TextureQuad/kaijunicorn.png new file mode 100644 index 0000000000000000000000000000000000000000..c117d8348368ffa75cc2e4f6b8f8795f2565d3c4 GIT binary patch literal 2388 zcmb_e3rrJd9KV)P6u=-QKb?A2t=rKi=+>63yH%TOpHKzSYBi~HyqGN zTDfvjF9%EqU2yRswQgZ3Odw#WkK|EYfdyO&0%ILTj;vY&@5X%M~&qh}jjujiG=%7cCT5@(fzY2wb^`VzMg$&BTB= zJYn=Oq{w-SInFtpsDfe2uo8F;Cof{%H0Kp&JSD)GNRiRYm6#GkaPY^AaSeef2{n#@ z++o-t)WXrMt@6LnR07ix>eOeTpk!!LBwq=pDZ<8iTqJOqb&+-k<=u8U910_0wH2}2R1~7dDWzJcwWTRFwqbb_N0kRkU|608@)}0Vs4-lNFe)q! zvC<$!X`~uMv}smKqtmF>G))i7&-buk3zE(^))Uy6f!ZN*Spj6Va%k%mG4BtJoGctH z7lNb$+dwa;0{LeEgTZO`IT3h04+iDE4hATFNnH%W1kNUUNe^SNgJ`|7?$8&J7s!g2 zQ^!;ql}>}}5Q@}Lh)M~PmljAK1^P`IM$r_d2FZI7bx@}mfq{-RSkiAoeMmRuAl-Hb z^i)*-=FYrcCBDR&r#IdI=L{NXrGpiQ{=4{sYfrUZkjUT^=;eW7=nw%fp<{?~gE)D> zAu}#=mj;5QbIm40vE$~idkvm8cyxAoeQ#A`@9G_QWXr`K*RlGOx1~vSF%g(@{Pxjb zKHT(9eQWgJ(-RYlqrTPc{;^Ah5=-3ScNg*yHq{^77yrezLz+xq*Zz+7b3fNimB`|6 zBh|O0u5?acqwSuTvp%^pW7867YkPD8c6qO);On+O*2T5szi+6nFb8^W%b zrg!%=9m_jug!Z&|G;TTApvxRU*z0KD>LNe-^IsFTHDsT3M1mAU%Iw(I#ELIlU8|ByGC- zY4e&D)t`8irb+UucSpbv7IxU8nik}HtHLJz@QV!EUMf!XUo91r{X0t^O@{O*x1Nf7 zGPZl|{+vTA&gYM6Ig&GSiDUkmdyNy<9p2gbUEJZ?)C*Z9YuKW!jOt7oI_r?I`bKWE zV*Fb@aAX`*<$E+oS2()Y@CfSatt>O-eVCErzw~=eHLvyaf7MIomh2LzXls@kA18!4 z>d>>{w(yzKrpTV1-=E-%pd;A*s-#=@!B@+^g = [-0.5,-0.5, 0.0, 0.0, - -0.5, 0.5, 0.0, 1.0 - 0.5,-0.5, 1.0, 0.0, - 0.5, 0.5, 1.0, 1.0,]; + let quad_data: StaticArray = [-0.15,-0.2, 0.0, 0.0, + -0.15, 0.2, 0.0, 0.99, + 0.15,-0.2, 0.95, 0.0, + 0.15, 0.2, 0.95, 0.99,]; let texture = createTexture(gl); let sampler = getUniformLocation( gl, program, 'sampler' ); @@ -77,6 +95,23 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es clearColor(gl, 0.0, 0.0, 0.0, 1.0); clear(gl, COLOR_BUFFER_BIT); + if( image_ready == false ) { + if( imageReady(image_id) == false ) { + return; + } + + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + uniform1i(gl, sampler, 0); + image_ready = true; + } + bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes diff --git a/examples/TextureQuad/texture_quad.wasm b/examples/TextureQuad/texture_quad.wasm new file mode 100644 index 0000000000000000000000000000000000000000..01167380578dfa179506b8bf150d0bb7c509b727 GIT binary patch literal 4781 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 EUp}~b+5i9m literal 0 HcmV?d00001 diff --git a/gitrun.sh b/gitrun.sh new file mode 100644 index 0000000..fbd6344 --- /dev/null +++ b/gitrun.sh @@ -0,0 +1,4 @@ +#!/bin/bash +git add . +git commit -m "${1}" +git push diff --git a/src/ASWebGLue.js b/src/ASWebGLue.js index 9a54304..68e6684 100644 --- a/src/ASWebGLue.js +++ b/src/ASWebGLue.js @@ -115,7 +115,8 @@ export function initASWebGLue(importObject) { } importObject.webgl.imageReady = (image_id) => { - if (webgl.imageArray.length >= image_id) { + console.log("image ready check! image_id=" + image_id); + if (webgl.imageArray.length <= image_id) { return false; } return webgl.imageArray[image_id].ready; @@ -202,6 +203,11 @@ export function initASWebGLue(importObject) { console.error(err); } // end catch } + /* + importObject.webgl.activateTexture = (ctx, texture) => { + webgl.contextArray[ctx].activateTexture(webgl.textureArray[texture]); + } + */ importObject.webgl.getSupportedExtensions = (ctx) => { alert('getSupportedExtensions is not currently supported'); @@ -218,7 +224,7 @@ export function initASWebGLue(importObject) { importObject.webgl.activeTexture = (ctx, texture) => { try { - webgl.contextArray[ctx].activeTexture(webgl.textureArray[texture]); + webgl.contextArray[ctx].activeTexture(texture); } catch (err) { console.log("activeTexture error"); console.error(err); @@ -412,7 +418,7 @@ export function initASWebGLue(importObject) { try { webgl.contextArray[ctx].compileShader(webgl.shaderArray[shader]); var compilationLog = webgl.contextArray[ctx].getShaderInfoLog(webgl.shaderArray[shader]); - console.log(compilationLog) + console.log(compilationLog); } catch (err) { console.log("compileShader error"); console.error(err); @@ -424,6 +430,7 @@ export function initASWebGLue(importObject) { // Secifies a 2D texture image in a compressed format importObject.webgl.compressedTexImage2D = (ctx, target, level, internalformat, width, height, border, data) => { try { + // THIS DOES NOT LOOK RIGHT TO ME webgl.contextArray[ctx].compileShader(target, level, internalformat, width, height, border, webgl.getArrayView(data)); } catch (err) { @@ -553,7 +560,7 @@ export function initASWebGLue(importObject) { // Creates a texture object importObject.webgl.createTexture = (ctx) => { try { - let id = webgl.shaderArray.findIndex((element) => element == null); + let id = webgl.textureArray.findIndex((element) => element == null); let texture = webgl.contextArray[ctx].createTexture(); if (id == -1) { @@ -563,6 +570,7 @@ export function initASWebGLue(importObject) { else { webgl.textureArray[id] = texture; } + console.log('createTexture id=' + id); return id; } catch (err) { console.log("createTexture error"); @@ -1173,11 +1181,14 @@ export function initASWebGLue(importObject) { } // specify a two-dimensional texture image - importObject.webgl.texImage2D = (ctx, target, level, internalformat, - width, height, border, format, typ, pixels) => { + importObject.webgl.texImage2D = (ctx, target, level, internalformat, format, typ, image_id) => { try { + console.log(` + image_id=${image_id} + webgl.imageArray.length=${webgl.imageArray.length} + `); webgl.contextArray[ctx].texImage2D(target, level, internalformat, - width, height, border, format, typ, webgl.getArrayView(pixels)); + format, typ, webgl.imageArray[image_id]);//webgl.getArrayView(pixels)); } catch (err) { console.log("texImage2D error"); console.error(err); diff --git a/webgl.asc b/webgl.asc index 59ff90e..201bdaa 100644 --- a/webgl.asc +++ b/webgl.asc @@ -33,14 +33,16 @@ export type HTMLVideoElement = externref; export type WebGLVertexArrayObject = i32; // == Not a part of WebGL, but there must be a way to create and load images - export type WebGLImageId = i32; - export declare function createImage(image_location:string):WebGLImageId; - export declare function imageReady(image_idWebGLImageId):bool; +// export type ImageData = i32; + export declare function createImage(image_location:string):ImageData; + export declare function imageReady(image_id:ImageData):bool; // === WebGLContextAttributes === export const ALPHA_DEFAULT = true; export const FALSE:i32 = false; +//export declare function activateTexture(gl: WebGLContextAttributes, texture: WebGLTexture): void; + export declare function getAlpha(gl: WebGLContextAttributes): GLboolean; export declare function setAlpha(gl: WebGLContextAttributes, value: GLboolean): void; @@ -524,7 +526,7 @@ export type WebGLFramebuffer = i32; export type WebGLRenderbuffer = i32; export type WebGLTexture = i32; -// export declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void; +export declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void; export declare function createContextFromCanvas(canvas_id: string, context_type: string):WebGLRenderingContext; export declare function attachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void; // export declare function bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void; @@ -656,7 +658,7 @@ export declare function stencilOp( gl: WebGLRenderingContext, fail: GLenum, zfai export declare function stencilOpSeparate( gl: WebGLRenderingContext, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; export declare function texImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, - format: GLenum, typ: GLenum, pixels: ImageData): void; + format: GLenum, typ: GLenum, image: ImageData): void; export declare function texParameterf( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLfloat): void; export declare function texParameteri( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLint): void; From b296e402acfb19748ee4d78eb1dbb5f3aa7a2721 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 14 Oct 2020 19:17:52 -0600 Subject: [PATCH 005/111] added cube example --- examples/AnimationTexture/README.md | 7 + examples/AnimationTexture/index.html | 73 ++++++ examples/AnimationTexture/kaijunicorn.json | 36 +++ examples/AnimationTexture/kaijunicorn.png | Bin 0 -> 2661 bytes examples/AnimationTexture/kaijunicorn.tps | 231 ++++++++++++++++++ examples/AnimationTexture/kaijunicorn1.png | Bin 0 -> 970 bytes examples/AnimationTexture/kaijunicorn2.png | Bin 0 -> 1043 bytes examples/AnimationTexture/kaijunicorn3.png | Bin 0 -> 1041 bytes .../AnimationTexture/texture_animation.asc | 166 +++++++++++++ .../AnimationTexture/texture_animation.wasm | Bin 0 -> 5091 bytes examples/ColorTriangle/color_triangle.asc | 4 + .../color_triangle_rotate.asc | 4 + examples/Cube/README.md | 7 + examples/Cube/cube.asc | 145 +++++++++++ examples/Cube/cube.wasm | Bin 0 -> 11777 bytes examples/Cube/index.html | 73 ++++++ examples/HelloWorldTriangle/triangle.asc | 4 + examples/MousePoint/mouse_point.asc | 4 + examples/Quad/quad.asc | 4 + examples/TextureQuad/texture_quad.asc | 4 + examples/WarpSpeed/warp_speed.asc | 4 + 21 files changed, 766 insertions(+) create mode 100644 examples/AnimationTexture/README.md create mode 100644 examples/AnimationTexture/index.html create mode 100644 examples/AnimationTexture/kaijunicorn.json create mode 100644 examples/AnimationTexture/kaijunicorn.png create mode 100644 examples/AnimationTexture/kaijunicorn.tps create mode 100644 examples/AnimationTexture/kaijunicorn1.png create mode 100644 examples/AnimationTexture/kaijunicorn2.png create mode 100644 examples/AnimationTexture/kaijunicorn3.png create mode 100644 examples/AnimationTexture/texture_animation.asc create mode 100644 examples/AnimationTexture/texture_animation.wasm create mode 100644 examples/Cube/README.md create mode 100644 examples/Cube/cube.asc create mode 100644 examples/Cube/cube.wasm create mode 100644 examples/Cube/index.html diff --git a/examples/AnimationTexture/README.md b/examples/AnimationTexture/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/AnimationTexture/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/AnimationTexture/index.html b/examples/AnimationTexture/index.html new file mode 100644 index 0000000..7d2b881 --- /dev/null +++ b/examples/AnimationTexture/index.html @@ -0,0 +1,73 @@ + + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/AnimationTexture/kaijunicorn.json b/examples/AnimationTexture/kaijunicorn.json new file mode 100644 index 0000000..7eb4526 --- /dev/null +++ b/examples/AnimationTexture/kaijunicorn.json @@ -0,0 +1,36 @@ +{"frames": { + +"kaijunicorn1.png": +{ + "frame": {"x":1,"y":1,"w":42,"h":64}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":3,"y":0,"w":42,"h":64}, + "sourceSize": {"w":48,"h":64} +}, +"kaijunicorn2.png": +{ + "frame": {"x":1,"y":133,"w":40,"h":64}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":5,"y":0,"w":40,"h":64}, + "sourceSize": {"w":48,"h":64} +}, +"kaijunicorn3.png": +{ + "frame": {"x":1,"y":67,"w":41,"h":64}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":5,"y":0,"w":41,"h":64}, + "sourceSize": {"w":48,"h":64} +}}, +"meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "1.0", + "image": "kaijunicorn.png", + "format": "RGBA8888", + "size": {"w":44,"h":198}, + "scale": "1", + "smartupdate": "$TexturePacker:SmartUpdate:6e386e05493c1963607c61a7919b90cd:a86b0a5e232f296e9763f0871df228fb:0ddf5b54490cc1c036def6a03cfb8e4e$" +} +} diff --git a/examples/AnimationTexture/kaijunicorn.png b/examples/AnimationTexture/kaijunicorn.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bf264b2ee88d25a03fb61330d52ff2c61e1545 GIT binary patch literal 2661 zcmb_e4^$KP9gqJA0}8Jb5K6%`*jB(x?k?eyoCcI6{Ameh5ER)2j{8GyB)KDZkbo#u zK#GD)g$ZNo)Ca4RN1gUrSFHtYS*2a2^Hs}QeXU(pwqnPsrBy2X1%aoVwtc?c%iaC% z_xt=l-+!Oq@0SKkM#^J;PxwhBlE>0gjhW!R1l;|;bHH-AU^=0cn0Np>~Q`ZO* zN#L8_dsb^)V1z{CbBML(h&kqToa7t|g5nBkg~!1Iv_!Hj(ZdsDF)hjp=_1ytmw$Qu z4Y`b^^zzm5X4uRdXd9ba;i9uDGOT1pF{z{Ei3zf09vl!jXpxY49CoLGd-U>2UL3T& z-AcJ^5+WAs-( z8rjq(2i9B^gJ&9(r)+^Qz1${>Jg!u_-EM_jrQlpeN<^mv9Hr9>D>?<{0yyAm`W2!n9@V=N<;yBLz)Cq2o%(+=7x3IL1DV0jxSa)OO}2=&bHeFi{k&E^>!5A?<1m@y%UrZN!5R6-tz7Odqw zt<0nauGB@+rZV7Wv^N?aH@Ij*Vn%tHv0J#1KlWQfXi^K7M+>kt0jJ5}2M( zf%#errs7o$3F$Pj4x$M)4H0U!24WapA%kKXHOes4^H;i9umlPFBlCC{rdK<7Dl34h zmQO96EV^W>WoKoRa={7GyA1Sl(p!I;l23KB56Hlei{LJ;+eQP@@6p9wn7}cjn{d%9 zia@r0PLPHp(h9RwrMj!?hjiTaFxDWwaeVFSy??!~E zr*--$u1|53Ho{p%gFRI#fAnB}oDv@%%zcaQ{}+tXyOrKmnDW2HH#v6CwhIb5*#-7; zZ*%4l0UtBR5bXqca)Co8t9ECAL^5YVnsJ5Ic4?%2X!~cf0Mo29CCr_P8tIX+xw*2} zt>)J9KOVeo+*Y@wC-~}yf~T$@imIzhuWDW#w0|sWSgJTK?+EP~inM*yQ-31(c*s`k z+y18GAw3lJy6x58+NQF;Ga~8#8UU zZT<4#uPZ-~c&_&e{oY6O=)QQVQ0|!eaNaouCjO6pu;gB<#(34)yorJ zs-|qO1YAxF8EP3BvG{B_NX8t?-`0`*zSRD5RwsRI-Pk|o%)V+!UYEm%uQ#pJDCP)D zv{?I<%)p3<)Xh;+f2mJGU|`wW1L&tGyB)pekubie%0J=NB=+=)=dsFjpY&2&R-TFL zX{?%eXXNHf-=w^i7<=buquV#vM}`EQs92R<*?GZQxj#GP?9zRwYeTb_mA+{iwN@SI z^xbr1L*&W7H|8Gu^(RMT76mZF8|P`y#D+zG(VZk+`Y*qWc_9(WUGKLP9E}Sp*c*3o zW8V<3lSp0}x&B^#%iI4Ry)@8YY8lAw2z|Nbrq9Q6OY5wT+b|cSH1Oh=(z7!DQ$_T#vi{jG2;1dK5hy~Vf6qxui>?d{E{fBE~ryerLpfvumt86ErB{?RqO@%*+! ztMcn=<8Lip)cry0*2FJa*mA>S-qBt@fX?5Ploy+G^G^X6xS>EMdgQe}O^$8v-U{Zq htJtahUk&+;2X%EI6| + + + fileFormatVersion + 4 + texturePackerVersion + 5.4.0 + autoSDSettings + + + scale + 1 + extension + + spriteFilter + + acceptFractionalValues + + maxTextureSize + + width + -1 + height + -1 + + + + allowRotation + + shapeDebug + + dpi + 72 + dataFormat + json + textureFileName + kaijunicorn.png + flipPVR + + pvrCompressionQuality + PVR_QUALITY_NORMAL + atfCompressData + + mipMapMinSize + 32768 + etc1CompressionQuality + ETC1_QUALITY_LOW_PERCEPTUAL + etc2CompressionQuality + ETC2_QUALITY_LOW_PERCEPTUAL + dxtCompressionMode + DXT_PERCEPTUAL + jxrColorFormat + JXR_YUV444 + jxrTrimFlexBits + 0 + jxrCompressionLevel + 0 + ditherType + PngQuantLow + backgroundColor + 0 + libGdx + + filtering + + x + Linear + y + Linear + + + shapePadding + 0 + jpgQuality + 80 + pngOptimizationLevel + 1 + webpQualityLevel + 101 + textureSubPath + + atfFormats + + textureFormat + png8 + borderPadding + 0 + maxTextureSize + + width + 2048 + height + 2048 + + fixedTextureSize + + width + -1 + height + -1 + + algorithmSettings + + algorithm + MaxRects + freeSizeMode + Best + sizeConstraints + AnySize + forceSquared + + maxRects + + heuristic + Best + + basic + + sortBy + Best + order + Ascending + + polygon + + alignToGrid + 1 + + + dataFileNames + + data + + name + kaijunicorn.json + + + multiPack + + forceIdenticalLayout + + outputFormat + RGBA8888 + alphaHandling + ClearTransparentPixels + contentProtection + + key + + + autoAliasEnabled + + trimSpriteNames + + prependSmartFolderName + + autodetectAnimations + + globalSpriteSettings + + scale + 1 + scaleMode + Smooth + extrude + 1 + trimThreshold + 1 + trimMargin + 1 + trimMode + Trim + tracerTolerance + 200 + heuristicMask + + defaultPivotPoint + 0.5,0.5 + writePivotPoints + + + individualSpriteSettings + + kaijunicorn1.png + kaijunicorn2.png + kaijunicorn3.png + + pivotPoint + 0.5,0.5 + spriteScale + 1 + scale9Enabled + + scale9Borders + 12,16,24,32 + scale9Paddings + 12,16,24,32 + scale9FromFile + + + + fileList + + kaijunicorn1.png + kaijunicorn2.png + kaijunicorn3.png + + ignoreFileList + + replaceList + + ignoredWarnings + + commonDivisorX + 1 + commonDivisorY + 1 + packNormalMaps + + autodetectNormalMaps + + normalMapFilter + + normalMapSuffix + + normalMapSheetFileName + + exporterProperties + + + diff --git a/examples/AnimationTexture/kaijunicorn1.png b/examples/AnimationTexture/kaijunicorn1.png new file mode 100644 index 0000000000000000000000000000000000000000..f920c54258e2e0210656140b07d77e865b408706 GIT binary patch literal 970 zcmV;*12z1KP)8nu6on6q<~ba6@E~<41a$A(tq6<`9;2ry>Oq5xJcV0y@lfbZ3aDPBAwz*YhX;1B zNmJ4##Xngx`T;>KlakNj?(C!D{UArtGQn~%r)Q~@1$loo17vA+t~m;BV?sWwyxgz5FG>@#scHb)cHDcGil*cR z!8Kqjo|Vh#C8Tg?N>w+Q?Cg!rOp4Ui*r-#bm;H6jFmLN$D=Cepk1y(?d$;p}tpfssU=!@@e;7 z@$5UmAKNC>Jn13T)`E2>whk8tpu~&+B2CSseory!dO(Or&VZae|vTbXVD<;=%LL&r& zRt9AF5IPd+?hi0Fn{e8fNutr1OcssC;{S_AgP3X*>f#+6O*sk)#t!UUaWXJB@xTOI zi?O-+jjiz4tgC0R(!6YJstx$+*{ZX;M4~{%H8DWHN|oYGlm+gO3up0wV+~M2ohqJM z`*N%S#4maI`!<=#;{mGz>EB=SQn&liRGX6t(*R)kQk!D12DGD3Speska;B}5B-?^j zd+>6=geTsen0ljVq;m#B<+L7Nd+E>`(48t#n~gKNnhbz6KsB2n;XqrcayH`rxB%|_ zAKU9VuHuKb4%K{eI6a%WKQ3gt?~=}OA)>z%hznEKZv6; sFLzI5y6+?gL^^T?z}y#9agm$nKb~KlXkHAC0RR9107*qoM6N<$f(&@T(*OVf literal 0 HcmV?d00001 diff --git a/examples/AnimationTexture/kaijunicorn2.png b/examples/AnimationTexture/kaijunicorn2.png new file mode 100644 index 0000000000000000000000000000000000000000..885fd1fe0b0fde6f68cdd2c2910c3e3c3523e753 GIT binary patch literal 1043 zcmV+u1nm2XP)(Fvv4F2_@xLP4?7Jq3x*sb%-EhW0ROQ*cn!{LaNV^R=O*Kdk$7G~CnCB4VJ(xzT>C;^ zS=+n}eTeOW9F-!16<|(%$!II>{m}$ytu;C3s5nK$*jIbH-*jJ;5TdvmfH96|eaSFb zULe>5RPwC7e*V`0QT2EagaX%PcFLuky^BdiOda27CbnMmY^t~9o{U5f#y5Yny2 zJl`v&qbuHhwZ}LB{P=Jap3Iq2iO?G0;ma_J_@2I3u6^!*E#6NO5GxNd;o-}%CU}EE zz3}n*x4SXk>s{0f%O{y{56c+GkENhlbz6ms{`DvQII<8IIGcd6bTot_#}=;+8vwx5 z)jf$k;3GUjo9I-jv zk@kh$v(XEKTP{>L+-vX(tWXf0cMub2As5gE5Usxmhgpa+oklMyLkF)b=mLr@TRXS+ zK~xW%+xmdx)*{dM#tMr>-f;j^aw7NL>3k2?dWO=%EcA4Bubx;d7vlMTcFtB-4qXX| zdu+21F$0xxmYumI+XdClHn_hZm?E!`{`m=Dc^nK~sr4QJ@_XSa+&;e0xxcNHcU#^f zJOu=&61o?2HXOt0I0X4#<|4iEj>f7`pq_(`#n|)6g(kdzM))_34qw0ZXZb&aL7>b;GUXrFKiH zg)ey^^m`$Lh*=?`5fMsUAgrV;wrmj;4hKA*qBI09%ldm N002ovPDHLkV1i^=<%<9S literal 0 HcmV?d00001 diff --git a/examples/AnimationTexture/kaijunicorn3.png b/examples/AnimationTexture/kaijunicorn3.png new file mode 100644 index 0000000000000000000000000000000000000000..5b15bdb441b19b08b985f23ce77124ca6cd0f0d8 GIT binary patch literal 1041 zcmV+s1n&EZP)h*V*Ama-`{Jw%JViEz|S~`n`w1xZ1 zSpGit0b>tjs0Jda1bMY3qp8mBPbxrbE#*H$#au*)wwnHa-F?YIXw20DnmE?BB|~F* zjwBv%B~Q)r^s5F`lI4m9ZH-u-BY7WC(US(UVq>hg(|N^Wd5%d1P_wj>=Ge7e-&Y(h z&oS9N5JaA%sX(Zmo|8lXm7sy;9Ld{|6&qk%kIo~>J&=NYUSt5=L^w|>V_;h_LLEeY z*LLDJCoiLG*J6}X5hXw#uS3bZ!XzSS6q1uGfyTd`-N)VFfBuqd>*%g?czZxMX@$hS zN}hfK>|rQEu9LsyS}%BYV&`;W1UmBko0rLTJ@Q4&y6|6eXI2}Jr}xwrrs zjG0GFQ`uDs2!WRXb;eB%Q<&JwF5&^(u$UFOwodl(Hj65F|isnK({rQ;JKHN&w^O zMAxp3<)40-W1Qpnmpg4TH(M%^6&s@`{(SG#>0kNh!DkH4o!FJU&C)h-5g*VE3%;Jd z+dJ)jv(5uHFPPA^YwLn$@@*9rT!iYSUEApw@&@7@vkL%v5$yi8zt~ozWOYa`z+_=v zJ!;lqSVcYWqSr_Qu}E?jFm)yxii@Yy$52|1S2SRfY&2xJ3`Lr3G;*Pz6&p}n z0|6a6SvIO8HHQ}_9ff>ExNhdE2o{iPk0=(w>j78tQ-_kbfNQZl$1LlCDZOwt8(X%N z*@juN(c?MTE2ue7^0;RhRzZgqUIN4fri4-c_I%tL838+q&|MEXUjRG>h=UFJKo7N* zyf}qys^clWyaq^ss5P<6P6Rk%NkmEn_W|cq8JV>53c;W~kGEK4j0(`bnBjG#q*`9* zfru2{sygO8>}<`el9XO8xIHYezj+E8MvXV<$meg*PV3z>@;aOZ-5wU=QiurWKHy4T zC1`?7JO)lPasKw~-EdxHAk?4|BtEEddsrCBFAk61DYa1ml^|-Cg1qmRp*A%rSG2!* z^5HiMa|mr~#tHk756x*pF@G{Q;sxI@N-AJ(>jO3c<%-14FlIhN@-Tv*wN9?p^#^b3 zZ)>(VJZg*f-}cV!_~k+;f}KT34Eny|zCRQfuX1M#iG8)R2DI@H*bwFw{jDo;00000 LNkvXXu0mjf45-{K literal 0 HcmV?d00001 diff --git a/examples/AnimationTexture/texture_animation.asc b/examples/AnimationTexture/texture_animation.asc new file mode 100644 index 0000000..b14da70 --- /dev/null +++ b/examples/AnimationTexture/texture_animation.asc @@ -0,0 +1,166 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, uniform1i, + createTexture, createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, TRIANGLE_STRIP, + ImageData, createImage, imageReady, + pixelStorei, activeTexture, bindTexture, + texParameteri,texImage2D,TEXTURE0,TEXTURE_2D, + SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, DEPTH_TEST, + enable, blendFunc, + TEXTURE_MIN_FILTER,TEXTURE_MAG_FILTER,NEAREST,RGB, + UNSIGNED_BYTE,UNPACK_FLIP_Y_WEBGL,UNPACK_PREMULTIPLY_ALPHA_WEBGL, +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + in vec2 position; + in vec2 tex_coord; + + out vec2 tc; + + void main() { + gl_Position = vec4(position, 0.0, 1.0); + tc = tex_coord; + } +`; +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + + in vec2 tc; + + uniform sampler2D sampler; + + out vec4 color; + + void main() { + color = texture( sampler, tc ); + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + +// ImageData, createImage, imageReady, + var image_id: ImageData = createImage('kaijunicorn.png'); + var image_ready: bool = false; + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); + enableVertexAttribArray(gl, tex_coord_al); + + enable(gl, BLEND); + blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); + + let frame_num = 0; + // frame 44 x 198 + // x y u v + let frame_1: StaticArray = [-0.15,-0.2, 0.0, 0.01, + -0.15, 0.2, 0.0, 0.33, + 0.15,-0.2, 0.95, 0.01, + 0.15, 0.2, 0.95, 0.33,]; + + let frame_2: StaticArray = [-0.15,-0.2, 0.0, 0.33, + -0.15, 0.2, 0.0, 0.66, + 0.15,-0.2, 0.95, 0.33, + 0.15, 0.2, 0.95, 0.66,]; + + let frame_3: StaticArray = [-0.15,-0.2, 0.0, 0.66, + -0.15, 0.2, 0.0, 0.999, + 0.15,-0.2, 0.95, 0.66, + 0.15, 0.2, 0.95, 0.999,]; + + + let texture = createTexture(gl); + let sampler = getUniformLocation( gl, program, 'sampler' ); + let time_left:i32 = 100; + + export function displayLoop(delta:i32):void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + if( image_ready == false ) { + if( imageReady(image_id) == false ) { + return; + } + + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + uniform1i(gl, sampler, 0); + image_ready = true; + } + + if( time_left <= 0 ) { + if( frame_num == 3 ) { + frame_num = 0; + } + else { + frame_num++; + } + time_left = 100; + } + else { + time_left -= delta; + } + + + if( frame_num == 0 ) { + bufferData(gl, ARRAY_BUFFER, frame_3, STATIC_DRAW); + + } + else if( frame_num == 1 ) { + bufferData(gl, ARRAY_BUFFER, frame_2, STATIC_DRAW); + } + else if( frame_num == 2 ) { + bufferData(gl, ARRAY_BUFFER, frame_3, STATIC_DRAW); + } + else { + bufferData(gl, ARRAY_BUFFER, frame_1, STATIC_DRAW); + } + + //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0 ); + vertexAttribPointer(gl, tex_coord_al,2, FLOAT, false, 16, 8 ); + + drawArrays(gl, TRIANGLE_STRIP, 0, frame_1.length/4); + } \ No newline at end of file diff --git a/examples/AnimationTexture/texture_animation.wasm b/examples/AnimationTexture/texture_animation.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d08ab803d42ad249274b40b03613381c040085fc GIT binary patch literal 5091 zcmchbX>3&2702&;vv@quga>I^Q~KX`Ze?mhS1bIx66Ls*%lB7{&H!;95yRxI{qr7Bq^yI4qy#eT97Xq0SKvO^Czk|B_N zj2=S$%s(x#+-`17OpH0U<=S)8Dc4@%&UezuxmK#v%7`GwHH?2JX|>uyg{=m*MN6#~ z+bKHMWVpL1-QmP+p}=!YES+qRCv4AE6s??dp_6WPtYj&w<+@gEspski&=T>~vZA9m zJ=~G8N142ezS*&43035k8E%fJT0D~%Zd|MFny%}_n-`>GmK#r}LnW}M=DlcDlh8$w2K{1X{*Ll!XKpKOVUnqbjENjVO!4J zbRzADY7`M*Q!z(4E;s#qw$-w-xFoGTzQRr{a?_3-FD15OZoJbjCid#p9A;%U&* z7Fx9Bwre|a5kS%~S^0Py=7}npsyk5fL!~5Rn|W*JS*|r}$&7}^;^ccfD>iIlI!?F9 zDMksmIM#CB#Eb~|>{MqkX(!XpN>wO6E$k1fexJ`r;`b}Y}&}vHv?OMt-ug)6Zp{UJ8x~ z9@f>YXD7&Qcz>eQe%1}FAG3YqBxyf_5`KkZcLBU}xv(7XV$HMmu;#|Io%Lys^taVq zz~6y$Y&*|7%zBIU6V^{zH*y`DShuilW!=WQopm$o6RbJxdKZuf3c#KnoP95_57^Dq zHt-U6v+iNNJy{mtGeznl*5j=GtOKl9Sg*2PW4+Eg$eO##yK@x#_7Sij`}P~)x4^T& zp7mT`u8y~jHP5=KfPs1*V9m1@Si4z!SbJIX4brohbrtJs)-|kaSr4J0!@!?=ImLl( zjDx^O*tdWFl8yfYE@A8$W`Fy&7-0SE8d7uE~`Y{INfdcTS zsWNVUy41}`wFTG;Yy-9fPXIfBoxqbo-x@CX6mS|i1DplU0q21~02hE)fLDRnfQ!H- z;C0{)pdYvl3;7$R}^2hq;Zw*(;d3_&afxXJYolU0~o!dlf&LZ$B(RZUG+B9V@XX`!Yj$9AoF zN_@FmHtFkD#uf&(W9dY~j=7?ioE+j4PmH{`sYY2GwimYU zE@1eLz;~zC`VIda`UdiC^7nZSp=p{SqKdYd;u^vnzC-gVpwJ?epiL$)$F`YcWym_8 zsmpkV|Iw+n0YfzcZTgoC)zp{O292N*n5j~gQ;eXg%vAkkAcP2FrdngDnqL?~^9hBY zK@pKjKTs4UYaR%i{XtzspHt1@psqv@sgdW@$m5ExMxW;<=>b*uN$c~f?w4FIM_=Gk z(u3aU3mDY{(IY%WN)v)|0ySyWYwA@n=^>(C9X-n44@8ctdKe?-t}0!N9%K74Rj=`^ zebRcIt;ap6erk zA-UQ5I2lRP$43sUrkL-a6FH>n_nP8c+!?FM(Pvdt(Z3*Dzbm!QEBY6u<%AM>S=A?a z&7(@>prTLodPgdIrik<^^54&8hDp+;k230$O(l9*)gq^;vw+f{P)#3|VT$MpH6VLR z8?`j^rih**!zsEQ%c!NvA+DDKJrFsmMjG@f@Ry5V<4a|uS~38RFOpj>V{%{S2(Vq0JQ|Q;L z`~^!-*^Y=#VGBoOL|mjrN*H2>c#!@KvS!2>5vGIuXkMEB9MLi=a$0myHiN52Y?pk? z@ro66((E|RHbj!@lUeG;{nYzeX>BrlE7jj57Lu=AU$Htve4~`%VVc)IYW(Xo`k6FHB8QH3-d(nlmtf>kJxt#6Q00YjMjh(sJFN2T%8hmDLdZ*6e^)i~aBvKj zhg010T|sS9$a_I3MA?qfiaTkY^x+xQ?yIR7mF?w}rJ1ix19=PuwdvC;JY;(rU$r)> zNba1h*P+&Q+OrhR6Xu30&Co06$oA;VMVFyUs~cb8CEIsjBC4QDTR6w_^ATlx=Z?uI zFI`-4lA0ns7@6hu8)g5@?fs3^ZP`e%#Mm$%ED3QIQ@pM)~4Mm=e~C literal 0 HcmV?d00001 diff --git a/examples/ColorTriangle/color_triangle.asc b/examples/ColorTriangle/color_triangle.asc index f8f3998..94d0f5f 100644 --- a/examples/ColorTriangle/color_triangle.asc +++ b/examples/ColorTriangle/color_triangle.asc @@ -1,3 +1,7 @@ +/** + * @author Rick Battagline / https://embed.com + */ + import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, diff --git a/examples/ColorTriangleRotate/color_triangle_rotate.asc b/examples/ColorTriangleRotate/color_triangle_rotate.asc index 7b1c6fa..caef9f3 100644 --- a/examples/ColorTriangleRotate/color_triangle_rotate.asc +++ b/examples/ColorTriangleRotate/color_triangle_rotate.asc @@ -1,3 +1,7 @@ +/** + * @author Rick Battagline / https://embed.com + */ + import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, diff --git a/examples/Cube/README.md b/examples/Cube/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/Cube/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/Cube/cube.asc b/examples/Cube/cube.asc new file mode 100644 index 0000000..9fd803b --- /dev/null +++ b/examples/Cube/cube.asc @@ -0,0 +1,145 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLE_STRIP, GREATER +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + layout(location = 0) in vec3 position; + layout(location = 1) in vec3 color; + out vec4 c; + + void main() { + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = vec4( position, 1.0 ) * mRotateTranslate; + c = vec4(color, 1.0); + } +`; + +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let color_al = getAttribLocation(gl, program, 'color'); + enableVertexAttribArray(gl, color_al); + + enable(gl, DEPTH_TEST); + + // X Y Z R G B + let cube_data: StaticArray> = + [[-0.5,-0.5, 0.5, 1.0, 0.0, 0.0, // front face + -0.5, 0.5, 0.5, 1.0, 0.0, 0.0, + 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, + 0.5, 0.5, 0.5, 1.0, 0.0, 0.0], + // back face X Y Z R G B + [-0.5,-0.5,-0.5, 0.0, 1.0, 0.0, + -0.5, 0.5,-0.5, 0.0, 1.0, 0.0, + 0.5,-0.5,-0.5, 0.0, 1.0, 0.0, + 0.5, 0.5,-0.5, 0.0, 1.0, 0.0], + // left face X Y Z R G B + [-0.5,-0.5,-0.5, 0.0, 0.0, 1.0, + -0.5,-0.5, 0.5, 0.0, 0.0, 1.0, + -0.5, 0.5,-0.5, 0.0, 0.0, 1.0, + -0.5, 0.5, 0.5, 0.0, 0.0, 1.0], + // right face X Y Z R G B + [0.5,-0.5,-0.5, 1.0, 0.7, 0.0, + 0.5,-0.5, 0.5, 1.0, 0.7, 0.0, + 0.5, 0.5,-0.5, 1.0, 0.7, 0.0, + 0.5, 0.5, 0.5, 1.0, 0.7, 0.0], + // top face X Y Z R G B + [-0.5, 0.5,-0.5, 1.0, 0.0, 0.7, + -0.5, 0.5, 0.5, 1.0, 0.0, 0.7, + 0.5, 0.5,-0.5, 1.0, 0.0, 0.7, + 0.5, 0.5, 0.5, 1.0, 0.0, 0.7], + // bottom face X Y Z R G B + [-0.5,-0.5,-0.5, 0.0, 1.0, 0.7, + -0.5,-0.5, 0.5, 0.0, 1.0, 0.7, + 0.5,-0.5,-0.5, 0.0, 1.0, 0.7, + 0.5,-0.5, 0.5, 0.0, 1.0, 0.7,]]; + +function rotate(theta: f32) : void { //u32 { + for( var i: i32 = 0; i < cube_data.length; i++ ) { + for( var coord_i: i32 = 0; coord_i < cube_data[i].length; coord_i += 6 ) { + let x:f32 = cube_data[i][coord_i]; + let z:f32 = cube_data[i][coord_i+2]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + cube_data[i][coord_i] = x1; + cube_data[i][coord_i+2] = z1; + } + + } + return; +} + + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + + for( var i: i32 = 0; i < 6; i++ ) { + bufferData(gl, ARRAY_BUFFER, cube_data[i], STATIC_DRAW); + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); + vertexAttribPointer(gl, color_al, 3, FLOAT, false, 24, 12); + drawArrays(gl, TRIANGLE_STRIP, 0, 24); + } + + } \ No newline at end of file diff --git a/examples/Cube/cube.wasm b/examples/Cube/cube.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bc4717954fc4cfcf2125b79408d22df28daa0997 GIT binary patch literal 11777 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 ?_m~?E9_y?1YW!;zAH@)lqFtv)$s_Vbh(ei|OLg zt*3rL4?)&$cILCsaAp4fQ0?yzmHGQaRsN<$3tOh$okCH!(Cw>RPuUXIQ*8Uq&$+*9 zb*9ZVy9oY(4d(3oD{Zyd=Xh@qrYyJ91&cDb%hya)u$ugW#q$eBt5phy66NisJF^D} z4uWdh=(1B%o$sN>pOWgcc)((>kzMZGC&hzb)CN1j_Uf0G(hl~Z@kdBD?azCBhGpsk z592q|tcTBk7UB^aTiWwDC@#>$`v+{UHMF_bZ{C|3jOrzx!RdH66x|9b5~7 zWt^S#>ijbmw;ddqSbNw&b7yLG;h9=V_Z42ryt(G@tQCrGu>QqYn_t7#_hR&L!!Ee^ zepGP7)~54k_8W#7?Fn^z$~E`}&!~OYbiQ;QZoPOHqRThlDI4g;4}82NePw#c(bv(N zp;N`bZg0r)@#Z=m2bM1u!7G>90!~a9BaGVZItHlQz6~cYwZI^L-S&Ijl0c^j?_RcZ zanQvP2ot)*xtP60;IRnbs8dC6yO9>xl2<)!E%a+7?v&X(4b$qutzSK{Ks8*na0mVQ z!np+RN!TfsDj=D9XA-?Y*|o(frz}?jFOtolhGzu5G{SFU8}lO zQl(UI(d5a6470ilL>|Do7+%6J&C7E6`i6R$xr4+f*C06DqB)W}QH< z4ZO7&S%Z-oEYrkNfv>-S?iFe#Xfyk!Seg(4dF)_cX+JKpOR=1f%_}Fg*#w&uXUdO~ ztVwK|tI(w8g42{Y8syOhxn{Ktqbm_V#X5sM{B5>EWQ)eqY-6SR8)&4tpHw%&V*)yz z9D5o$YDJj`@-qsokR`3IR9{79E<@{zY)eLjPRz}hzFb`nZOM5Je9_!qIf18~C6et# zX0zDmY-D&D+BD;oZ$4LNdlcbBo@SrbQ=v_I0?5up{wdpBgcEt1b5>6|-SerQRGlOz z@-(-=)66l?I%zG(3@=uTxQ@-3|NQ4%p6$7)F=d1@YlSVgZqrAbW{a?n1{+3_>sr|)l3*E$YbQ^F+G95_{Leevo*K)O zqINDiOoDB%TH=peKx*T&&;QobuYs5&g!t4S%O{>cRv_=oj*<7amYmfqS;8l4$+yfN z^7&+)#>UDMKN!o&dzsSn@d^d;99Skx{)ZzXex7w2D&QB&dnYIM8d!j}O#PfWa{{e^ z4;;t$$0p<#%6p@e&X{Y~3PtXF-iIdf*-9SY=TU_@$3Q;d7s`7hWoPsX3%Pm9^GbZO zhEFyx>Q5ve@C)U={f<4i4l1;V(3jfZz)D(%_3|C8{9tu=;JTpwBXK##usX`^ug%EQ zr1l-yN}I9HF2_2QgR~hdCILMMOh(_Z}AI&s}bv44M^927FG(nu} literal 0 HcmV?d00001 diff --git a/examples/Cube/index.html b/examples/Cube/index.html new file mode 100644 index 0000000..d326cc0 --- /dev/null +++ b/examples/Cube/index.html @@ -0,0 +1,73 @@ + + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/HelloWorldTriangle/triangle.asc b/examples/HelloWorldTriangle/triangle.asc index 84afdb3..58120cf 100644 --- a/examples/HelloWorldTriangle/triangle.asc +++ b/examples/HelloWorldTriangle/triangle.asc @@ -1,3 +1,7 @@ +/** + * @author Rick Battagline / https://embed.com + */ + import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, diff --git a/examples/MousePoint/mouse_point.asc b/examples/MousePoint/mouse_point.asc index de57788..9da0179 100644 --- a/examples/MousePoint/mouse_point.asc +++ b/examples/MousePoint/mouse_point.asc @@ -1,3 +1,7 @@ +/** + * @author Rick Battagline / https://embed.com + */ + import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, diff --git a/examples/Quad/quad.asc b/examples/Quad/quad.asc index ed3f1d1..1ca4297 100644 --- a/examples/Quad/quad.asc +++ b/examples/Quad/quad.asc @@ -1,3 +1,7 @@ +/** + * @author Rick Battagline / https://embed.com + */ + import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, diff --git a/examples/TextureQuad/texture_quad.asc b/examples/TextureQuad/texture_quad.asc index 8317375..5c5bbf4 100644 --- a/examples/TextureQuad/texture_quad.asc +++ b/examples/TextureQuad/texture_quad.asc @@ -1,3 +1,7 @@ +/** + * @author Rick Battagline / https://embed.com + */ + import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, diff --git a/examples/WarpSpeed/warp_speed.asc b/examples/WarpSpeed/warp_speed.asc index 3d890f3..b4f07dc 100644 --- a/examples/WarpSpeed/warp_speed.asc +++ b/examples/WarpSpeed/warp_speed.asc @@ -1,3 +1,7 @@ +/** + * @author Rick Battagline / https://embed.com + */ + import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, From 90178a8ae7846ad8038122a1ddcacfdd5fcc688d Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 14 Oct 2020 19:36:54 -0600 Subject: [PATCH 006/111] changed triangle.asc example --- examples/HelloWorldTriangle/triangle.asc | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/examples/HelloWorldTriangle/triangle.asc b/examples/HelloWorldTriangle/triangle.asc index 58120cf..af1acfe 100644 --- a/examples/HelloWorldTriangle/triangle.asc +++ b/examples/HelloWorldTriangle/triangle.asc @@ -64,18 +64,14 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es 0.5,-0.5,]; export function displayLoop(delta:i32):void { + // R G B A clearColor(gl, 0.0, 0.0, 0.0, 1.0); clear(gl, COLOR_BUFFER_BIT); bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); - const dimensions:i32 = 2; - const data_type: i32 = FLOAT; - const normalize: i32 = false; - const stride:i32 = 0; - const offset:i32 = 0; - - vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + // attribute | dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 0, 0 ); drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length/2); From 1ed53822418234b2c09cad732dcdca9df155573e Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 21 Oct 2020 10:26:43 -0600 Subject: [PATCH 007/111] fixed bug in spinning cube example --- examples/Cube/cube.asc | 6 ++--- examples/Cube/cube.wasm | Bin 11777 -> 11693 bytes examples/HelloWorldTriangle/index.html | 9 +------- examples/HelloWorldTriangle/triangle.asc | 26 +++++++++++----------- examples/HelloWorldTriangle/triangle.wasm | Bin 3919 -> 3919 bytes 5 files changed, 17 insertions(+), 24 deletions(-) diff --git a/examples/Cube/cube.asc b/examples/Cube/cube.asc index 9fd803b..7ceaa33 100644 --- a/examples/Cube/cube.asc +++ b/examples/Cube/cube.asc @@ -17,8 +17,8 @@ import { const VERTEX_SHADER_CODE:string = `#version 300 es precision highp float; - layout(location = 0) in vec3 position; - layout(location = 1) in vec3 color; + in vec3 position; + in vec3 color; out vec4 c; void main() { @@ -139,7 +139,7 @@ function rotate(theta: f32) : void { //u32 { // dimensions | data_type | normalize | stride | offset vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); vertexAttribPointer(gl, color_al, 3, FLOAT, false, 24, 12); - drawArrays(gl, TRIANGLE_STRIP, 0, 24); + drawArrays(gl, TRIANGLE_STRIP, 0, 4); } } \ No newline at end of file diff --git a/examples/Cube/cube.wasm b/examples/Cube/cube.wasm index bc4717954fc4cfcf2125b79408d22df28daa0997..3baf1c957b04be3b46889b046d6ef5ff13be3cf6 100644 GIT binary patch delta 418 zcmXxgze~eF6bJCjB_U1HAD2QJu^>@WX`6&@qG*R3T&0sgs93?>K~da1-MSSXB5wTy zS_lNX=n!38gQF%iTO{)Cyyh|pH#cztiq)F46loC>GXc-l;Z?wS&k8wHAIQ}AdPs0 zIFy_b5B>VCSU?Ig;oEZkPHmaTp#&H8Uo(`|xm^lTjtogBhY7WVRKEJ4BU%>M4cKEs1ziUNGtUCc^p?BQt% b9-UR}5%_U7@RY!sdlJ8J>{=Xy7q|5fn(TBA delta 500 zcma)&KS;w+5XLXBDaO23lS)jbAW2+1ht@6aM9GQTi^!Q z4uX>qC=|q{IOu3*ap>Y+90WnpSCZ}y$9>=LJMKO1u2kLhfBT6qp&%Fgf)u?3_T5;N z@2Kd@EWl5#CUnpp)`&;(de~m|sghB&Spo*IHn140Cqf|hfR_w`)C2B72ogQeiGb1r zZPfK*JW!aY;)ZU<1GTHJ^!boA9`%nH@l%avrWEHLo0(^P9eaz?hw&3ZNMpft^qV0S zm_j`XL;wN80ug7j>xCr9{L=;;zz&>487goJS?$Ae72loX O?#(vxrV!vozVHXgZ+{a2 diff --git a/examples/HelloWorldTriangle/index.html b/examples/HelloWorldTriangle/index.html index 33cd325..a761b9a 100644 --- a/examples/HelloWorldTriangle/index.html +++ b/examples/HelloWorldTriangle/index.html @@ -16,7 +16,6 @@ import { initASWebGLue, ASWebGLReady } from '../../src/ASWebGLue.js'; const wasm_file = 'triangle.wasm'; var exports; - var last_time = 0; var w = window.innerWidth * 0.99; var h = window.innerHeight * 0.99; var cnvs = document.getElementById("cnvs"); @@ -30,14 +29,8 @@ } function renderFrame() { - let delta = 0; - if (last_time !== 0) { - delta = (new Date().getTime() - last_time); - } - last_time = new Date().getTime(); - // call the displayLoop function in the WASM module - exports.displayLoop(delta); + exports.displayLoop(); // requestAnimationFrame calls renderFrame the next time a frame is rendered requestAnimationFrame(renderFrame); diff --git a/examples/HelloWorldTriangle/triangle.asc b/examples/HelloWorldTriangle/triangle.asc index af1acfe..5ed5bd0 100644 --- a/examples/HelloWorldTriangle/triangle.asc +++ b/examples/HelloWorldTriangle/triangle.asc @@ -6,8 +6,8 @@ import { WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, + linkProgram, clearColor, clear, WebGLBuffer, + createBuffer, ARRAY_BUFFER, GLint, STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, enableVertexAttribArray, bindBuffer, createContextFromCanvas, bufferData, getAttribLocation, drawArrays, @@ -23,20 +23,20 @@ const VERTEX_SHADER_CODE:string = `#version 300 es gl_Position = vec4( position, 0.0, 1.0 ); } `; -// THIS IS THE FRAGMENT SHADER + const FRAGMENT_SHADER_CODE:string = `#version 300 es precision highp float; out vec4 color; void main() { - color = vec4( 1.0, 0.5, 0.0, 1.0 ); + color = vec4( 1.0, 0.0, 0.0, 1.0 ); } `; // initialize webgl var gl = createContextFromCanvas('cnvs', 'webgl2'); - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); compileShader(gl, vertex_shader); @@ -44,7 +44,7 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); compileShader( gl, fragment_shader ); - let program = createProgram(gl); + let program:WebGLProgram = createProgram(gl); attachShader(gl, program, vertex_shader); attachShader(gl, program, fragment_shader); @@ -53,26 +53,26 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es useProgram( gl, program ); - let buffer = createBuffer(gl); + let buffer:WebGLBuffer = createBuffer(gl); bindBuffer(gl, ARRAY_BUFFER, buffer); - let position_al = getAttribLocation(gl, program, 'position'); + let position_al:GLint = getAttribLocation(gl, program, 'position'); enableVertexAttribArray(gl, position_al); - let line_data: StaticArray = [0.0,0.5, + let triangle_data: StaticArray = [0.0,0.5, -0.5,-0.5, 0.5,-0.5,]; - export function displayLoop(delta:i32):void { + export function displayLoop():void { // R G B A clearColor(gl, 0.0, 0.0, 0.0, 1.0); clear(gl, COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + bufferData(gl, ARRAY_BUFFER, triangle_data, STATIC_DRAW); // attribute | dimensions | data_type | normalize | stride | offset vertexAttribPointer(gl, position_al, 2, FLOAT, false, 0, 0 ); - drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length/2); - + // mode | first vertex | count + drawArrays(gl, TRIANGLE_STRIP, 0, 3 ); } \ No newline at end of file diff --git a/examples/HelloWorldTriangle/triangle.wasm b/examples/HelloWorldTriangle/triangle.wasm index 2a014e1044cb235b0a058db93492d0b38c8b9d52..6f526b885eec8b84c83db368582fa412d9ea660e 100644 GIT binary patch delta 194 zcmX>vcV13|A+b1@k%57M(T*#DfgypZzMdh0v7WI$fw>;U1oDAw#(IW{8qQ)YtmUam z={Y>fMX8A;slgeEDXB#aEE5|=#F-&7yvg~w1(`W8DaMIwv^1bn+&P(f*#SlQ=|zdT z42%%vT&2aSaG{C+)ESv4t1((KGEPolQ~;8Vj1gR{EKICG*D*0LY<|pW%EheQ%(z*a N$A^j0U~&fEa{%x}HIM)R delta 194 zcmX>vcV13|A+b1@k%57M(T*#DslJ{efq@}`v7WIWNH8QY*MmfW!i@D3HJrs*S<6$C z(sOu{i&7IyQiC%RQ&Ni(HQVbK Date: Mon, 26 Oct 2020 15:16:06 -0600 Subject: [PATCH 008/111] Added simple lighting example --- examples/SimpleLighting/README.md | 7 + examples/SimpleLighting/index.html | 73 ++++++++ examples/SimpleLighting/simple_lighting.asc | 178 +++++++++++++++++++ examples/SimpleLighting/simple_lighting.wasm | Bin 0 -> 9109 bytes 4 files changed, 258 insertions(+) create mode 100644 examples/SimpleLighting/README.md create mode 100644 examples/SimpleLighting/index.html create mode 100644 examples/SimpleLighting/simple_lighting.asc create mode 100644 examples/SimpleLighting/simple_lighting.wasm diff --git a/examples/SimpleLighting/README.md b/examples/SimpleLighting/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/SimpleLighting/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/SimpleLighting/index.html b/examples/SimpleLighting/index.html new file mode 100644 index 0000000..97b6372 --- /dev/null +++ b/examples/SimpleLighting/index.html @@ -0,0 +1,73 @@ + + + + + + + Document + + + +
+ +
+ + + + \ No newline at end of file diff --git a/examples/SimpleLighting/simple_lighting.asc b/examples/SimpleLighting/simple_lighting.asc new file mode 100644 index 0000000..949810f --- /dev/null +++ b/examples/SimpleLighting/simple_lighting.asc @@ -0,0 +1,178 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision highp float; + + in vec3 position; + in vec3 normal; + out vec4 c; + + void main() { + vec3 light = vec3(0.25, 2.0, -0.5); + float d = clamp( dot( normal, light ), 0.0, 1.0); + vec4 pos = vec4( position, 1.0 ); + + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = pos * mRotateTranslate; + c = vec4(max(d, 0.2), max(d, 0.2), max(d, 0.3), 1.0); + } +`; + +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + + enable(gl, DEPTH_TEST); + + let cube_data: StaticArray = [ + // X Y Z NX NY NZ + // Front + -0.5,-0.5, 0.5, 0.0, 0.0, 1.0, + 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, + -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, + + 0.5, 0.5, 0.5, 0.0, 0.0, 1.0, + -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, + 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, + // X Y Z NX NY NZ + // Top + -0.5, 0.5,-0.5, 0.0, 1.0, 0.0, + 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, + -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, + + 0.5, 0.5, 0.5, 0.0, 1.0, 0.0, + -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, + 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, + // X Y Z NX NY NZ + // Back + -0.5,-0.5,-0.5, 0.0, 0.0, -1.0, + 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, + -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, + + 0.5, 0.5,-0.5, 0.0, 0.0, -1.0, + -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, + 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, + // X Y Z NX NY NZ + // Right + 0.5,-0.5,-0.5, 1.0, 0.0, 0.0, + 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, + 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, + + 0.5, 0.5, 0.5, 1.0, 0.0, 0.0, + 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, + 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, + // Bottom + -0.5,-0.5,-0.5, 0.0, -1.0, 0.0, + 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, + -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, + + 0.5,-0.5, 0.5, 0.0, -1.0, 0.0, + -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, + 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, + + // X Y Z NX NY NZ + // Left + -0.5,-0.5,-0.5, -1.0, 0.0, 0.0, + -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, + -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, + + -0.5, 0.5, 0.5, -1.0, 0.0, 0.0, + -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, + -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, + ]; + +function rotate(theta: f32) : void { //u32 { + for( var coord_i: i32 = 0; coord_i < cube_data.length; coord_i += 6 ) { + let x:f32 = cube_data[coord_i]; + let z:f32 = cube_data[coord_i+2]; + + let nx:f32 = cube_data[coord_i+3]; + let nz:f32 = cube_data[coord_i+5]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + + cube_data[coord_i] = x1; + cube_data[coord_i+2] = z1; + + cube_data[coord_i+3] = nx1; + cube_data[coord_i+5] = nz1; + } + + return; +} + + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + + bufferData(gl, ARRAY_BUFFER, cube_data, STATIC_DRAW); + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); + drawArrays(gl, TRIANGLES, 0, cube_data.length / 6); + + } \ No newline at end of file diff --git a/examples/SimpleLighting/simple_lighting.wasm b/examples/SimpleLighting/simple_lighting.wasm new file mode 100644 index 0000000000000000000000000000000000000000..510f90fccdb5491c982c4092cad69c49a30522da GIT binary patch literal 9109 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 KFB8jx%>NJR-AbVV literal 0 HcmV?d00001 From 6b400167626dbd419c6e7fd7c5ac92a2d3dbe8d8 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 16 Dec 2020 10:11:27 -0700 Subject: [PATCH 009/111] Added Material Example --- .../color_triangle_rotate.asc | 4 +- .../color_triangle_rotate.wasm | Bin 7432 -> 7432 bytes examples/Cube/cube.asc | 4 +- examples/Cube/cube.wasm | Bin 11693 -> 11693 bytes examples/Material/Robot.asc | 656 ++ examples/Material/index.html | 86 + examples/Material/obj_mat.asc | 149 + examples/Material/obj_mat.wasm | Bin 0 -> 31911 bytes examples/Material/obj_mat.wasm.map | 1 + examples/Material/obj_mat_commented.wat | 4297 +++++++ examples/Material/robot_temp.asc | 656 ++ examples/Obj/README.md | 7 + examples/Obj/Suzanne.asc | 2907 +++++ examples/Obj/index.html | 86 + examples/Obj/monkey.mtl | 10 + examples/Obj/monkey.obj | 2979 +++++ examples/Obj/monkey.zip | Bin 0 -> 25742 bytes examples/Obj/obj.asc | 128 + examples/Obj/obj.wasm | Bin 0 -> 77983 bytes examples/Obj/obj.zip | Bin 0 -> 23530 bytes examples/Obj/obj_small.wasm | Bin 0 -> 8334 bytes examples/Obj/teapot.obj.txt | 9965 +++++++++++++++++ examples/SimpleLighting/index.html | 13 + examples/SimpleLighting/simple_lighting.asc | 10 +- examples/SimpleLighting/simple_lighting.wasm | Bin 9109 -> 9125 bytes examples/TexturedCube/README.md | 7 + examples/TexturedCube/index.html | 86 + examples/TexturedCube/textured_cube.asc | 180 + examples/WarpSpeed/index.html | 2 +- examples/commented.mtl | 62 + examples/commented.obj | 393 + examples/monkey.mtl | 10 + examples/monkey.obj | 2068 ++++ examples/robot.blend | Bin 0 -> 808824 bytes examples/robot.blend1 | Bin 0 -> 808824 bytes examples/robot.mtl | 59 + examples/robot.obj | 377 + examples/robots.blend | Bin 0 -> 882476 bytes examples/spaceship.blend | Bin 0 -> 838472 bytes examples/spaceship.blend1 | Bin 0 -> 838472 bytes examples/spaceship.dae | 188 + examples/spaceship.mtl | 13 + examples/spaceship.obj | 432 + examples/spaceship.x3d | 79 + examples/spaceship_uv.jpg | Bin 0 -> 749353 bytes examples/spaceship_uv.png | Bin 0 -> 31240 bytes examples/spaceship_uv.psd | Bin 0 -> 744061 bytes src/ASWebGLue.js | 8 + webgl.asc | 8 +- 49 files changed, 25918 insertions(+), 12 deletions(-) create mode 100644 examples/Material/Robot.asc create mode 100644 examples/Material/index.html create mode 100644 examples/Material/obj_mat.asc create mode 100644 examples/Material/obj_mat.wasm create mode 100644 examples/Material/obj_mat.wasm.map create mode 100644 examples/Material/obj_mat_commented.wat create mode 100644 examples/Material/robot_temp.asc create mode 100644 examples/Obj/README.md create mode 100644 examples/Obj/Suzanne.asc create mode 100644 examples/Obj/index.html create mode 100644 examples/Obj/monkey.mtl create mode 100644 examples/Obj/monkey.obj create mode 100644 examples/Obj/monkey.zip create mode 100644 examples/Obj/obj.asc create mode 100644 examples/Obj/obj.wasm create mode 100644 examples/Obj/obj.zip create mode 100644 examples/Obj/obj_small.wasm create mode 100644 examples/Obj/teapot.obj.txt create mode 100644 examples/TexturedCube/README.md create mode 100644 examples/TexturedCube/index.html create mode 100644 examples/TexturedCube/textured_cube.asc create mode 100644 examples/commented.mtl create mode 100644 examples/commented.obj create mode 100644 examples/monkey.mtl create mode 100644 examples/monkey.obj create mode 100644 examples/robot.blend create mode 100644 examples/robot.blend1 create mode 100644 examples/robot.mtl create mode 100644 examples/robot.obj create mode 100644 examples/robots.blend create mode 100644 examples/spaceship.blend create mode 100644 examples/spaceship.blend1 create mode 100644 examples/spaceship.dae create mode 100644 examples/spaceship.mtl create mode 100644 examples/spaceship.obj create mode 100644 examples/spaceship.x3d create mode 100644 examples/spaceship_uv.jpg create mode 100644 examples/spaceship_uv.png create mode 100644 examples/spaceship_uv.psd diff --git a/examples/ColorTriangleRotate/color_triangle_rotate.asc b/examples/ColorTriangleRotate/color_triangle_rotate.asc index caef9f3..b6da9e9 100644 --- a/examples/ColorTriangleRotate/color_triangle_rotate.asc +++ b/examples/ColorTriangleRotate/color_triangle_rotate.asc @@ -8,7 +8,7 @@ import { attachShader, useProgram, WebGLUniformLocation, getUniformLocation, linkProgram, clearColor, clear, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, enableVertexAttribArray, bindBuffer, createContextFromCanvas, bufferData, getAttribLocation, drawArrays, vertexAttribPointer, TRIANGLE_STRIP, @@ -97,7 +97,7 @@ function rotate(theta: f32) : void { //u32 { clearColor(gl, 0.0, 0.0, 0.0, 1.0); clear(gl, COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + bufferData(gl, ARRAY_BUFFER, line_data, DYNAMIC_DRAW); //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes vertexAttribPointer(gl, position_al, 2, FLOAT, false, 20, 0 ); diff --git a/examples/ColorTriangleRotate/color_triangle_rotate.wasm b/examples/ColorTriangleRotate/color_triangle_rotate.wasm index e2c2562e1fb86615a872a9845dd43e6638baaa57..e6467ee7b7cce8d0d471880526a6da10032f27b7 100644 GIT binary patch delta 14 VcmeCM>af}%Ex~BKSw`Xw3jiZ61aklY delta 14 VcmeCM>af}%Ex~BCSw`Xw3jiZ01abfX diff --git a/examples/Cube/cube.asc b/examples/Cube/cube.asc index 7ceaa33..069cdb3 100644 --- a/examples/Cube/cube.asc +++ b/examples/Cube/cube.asc @@ -8,7 +8,7 @@ import { attachShader, useProgram, WebGLUniformLocation, getUniformLocation, linkProgram, clearColor, clear, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, enableVertexAttribArray, bindBuffer, createContextFromCanvas, bufferData, getAttribLocation, drawArrays, enable, depthFunc, vertexAttribPointer, TRIANGLE_STRIP, GREATER @@ -135,7 +135,7 @@ function rotate(theta: f32) : void { //u32 { for( var i: i32 = 0; i < 6; i++ ) { - bufferData(gl, ARRAY_BUFFER, cube_data[i], STATIC_DRAW); + bufferData(gl, ARRAY_BUFFER, cube_data[i], DYNAMIC_DRAW); // dimensions | data_type | normalize | stride | offset vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); vertexAttribPointer(gl, color_al, 3, FLOAT, false, 24, 12); diff --git a/examples/Cube/cube.wasm b/examples/Cube/cube.wasm index 3baf1c957b04be3b46889b046d6ef5ff13be3cf6..d0d95a05c8400be39707f360ba5ba919fa72b6b6 100644 GIT binary patch delta 14 WcmZ1*y*7HoUu8z)&Ht3wa{>T0g$AJj delta 14 WcmZ1*y*7HoUu8z4&Ht3wa{>T0e+Hlc diff --git a/examples/Material/Robot.asc b/examples/Material/Robot.asc new file mode 100644 index 0000000..803dffc --- /dev/null +++ b/examples/Material/Robot.asc @@ -0,0 +1,656 @@ + +export class VertGroup { + mat_index: i32; + obj_index: i32; + start_face: i32; + length: i32; + + constructor(material_index: i32, object_index: i32, starting_face: i32, len: i32 ) { + this.mat_index = material_index; + this.obj_index = object_index; + this.start_face = starting_face; + this.length = len; + } +} + +export var objArray = new Array>(); //1 +export var matArray = new Array>(); //3 +export var groupArray = new Array(); //0 + +export var GrayMaterial_mat:StaticArray = [ + 323.999994, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 0.100000, 0.100000, 0.150000, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matArray.push(GrayMaterial_mat); + +export var RedMaterial_mat:StaticArray = [ + 225.000000, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 1.000000, 0.000000, 0.000000, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matArray.push(RedMaterial_mat); + +export var BlueMaterial_mat:StaticArray = [ + 225.000000, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 0.000000, 0.000000, 1.000000, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matArray.push(BlueMaterial_mat); + + +export var Robot_data: StaticArray = [ +//X, Y, Z, U, V, NX, NY, NZ +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0.2651, -0.9642, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, 0.2651, -0.9642, +0.1, 0.1, -0.1, 0.625, 0.5, 0, 0.2651, -0.9642, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0, 1, +-0.1, -0.1, 0.1, 0.375, 1, 0, 0, 1, +0.1, -0.1, 0.1, 0.375, 0.75, 0, 0, 1, +-0.1, 0.1, 0.1, 0.625, 0, -1, 0, 0, +-0.1, -0.1, -0.1, 0.375, 0.25, -1, 0, 0, +-0.1, -0.1, 0.1, 0.375, 0, -1, 0, 0, +0.1, -0.1, -0.1, 0.375, 0.5, 0, -1, 0, +-0.1, -0.1, 0.1, 0.125, 0.75, 0, -1, 0, +-0.1, -0.1, -0.1, 0.125, 0.5, 0, -1, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 1, 0, 0, +0.1, -0.1, 0.1, 0.375, 0.75, 1, 0, 0, +0.1, -0.1, -0.1, 0.375, 0.5, 1, 0, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0, -1, +0.1, -0.1, -0.1, 0.375, 0.5, 0, 0, -1, +-0.1, -0.1, -0.1, 0.375, 0.25, 0, 0, -1, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0.2651, 0.9642, +-0.03964, 0.319577, 0.03964, 0.625, 1, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.625, 1, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.625, 0, -0.9642, 0.2651, 0, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9642, 0.2651, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, -0.9642, 0.2651, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 0.9642, 0.2651, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9642, 0.2651, 0, +0.1, 0.1, 0.1, 0.625, 0.75, 0.9642, 0.2651, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, 0, -1, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, 0, -1, +-0.070778, 0.574785, 0.070778, 0.625, 0, -0.6461, 0.7632, 0, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, -0.6461, 0.7632, 0, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6461, 0.7632, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, 0, 1, +-0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0, 1, +-0.070778, 0.465943, 0.070778, 0.625, 1, 0, 0, 1, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0, 1, +-0.036361, 0.622896, 0.036361, 0.625, 1, 0, 0, 1, +-0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0.7632, 0.6461, +-0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0.7632, 0.6461, +-0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0.7632, 0.6461, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0.7632, -0.6461, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6461, 0.7632, 0, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0.6461, 0.7632, 0, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6461, 0.7632, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, -0.6177, -0.7864, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.6177, -0.7864, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, -0.6177, -0.7864, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0, -1, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 1, 0, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 1, 0, 0, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 1, 0, 0, +-0.036361, 0.603924, 0.036361, 0.625, 0, -1, 0, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, -1, 0, 0, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, -1, 0, 0, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0.7864, -0.6177, 0, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0.7864, -0.6177, 0, +-0.036361, 0.622896, 0.036361, 0.625, 0, -0.7864, -0.6177, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.7864, -0.6177, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, -0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, -0.6177, 0.7864, +-0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.6177, 0.7864, +-0.036361, 0.622896, 0.036361, 0.625, 1, 0, -0.6177, 0.7864, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, 0.5681, -0.8229, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 0.5681, -0.8229, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, 0.5681, -0.8229, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.0692, 0.9976, +-0.058197, 0.722006, 0.058197, 0.625, 1, 0, -0.0692, 0.9976, +-0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.0692, 0.9976, +-0.028575, 0.764915, -0.028575, 0.875, 0.5, 0, 1, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 1, 0, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 1, 0, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.8229, 0.5681, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.8229, 0.5681, 0, +-0.058197, 0.722006, 0.058197, 0.625, 0, -0.8229, 0.5681, 0, +-0.028575, 0.764915, -0.028575, 0.625, 0.25, -0.8229, 0.5681, 0, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, 0.5681, 0.8229, +-0.028575, 0.764915, 0.028575, 0.625, 1, 0, 0.5681, 0.8229, +-0.058197, 0.722006, 0.058197, 0.625, 1, 0, 0.5681, 0.8229, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.6468, -0.7627, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.6468, -0.7627, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.6468, -0.7627, 0, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6468, 0.7627, 0, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.6468, 0.7627, 0, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, +-0.128092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, +-0.098092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 0, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.625, 0, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, +-0.098092, 0.489106, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.625, 0, -0.6468, -0.7627, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.6468, -0.7627, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.6468, -0.7627, 0, +-0.128092, 0.489106, 0.040654, 0.625, 0, -1, 0, 0, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, +-0.128092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, +-0.098092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.625, 0.5, -0.9978, -0.0665, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, -0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0.9978, -0.0665, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, +-0.098092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, +-0.103989, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9921, 0.1251, 0, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0.9921, 0.1251, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9921, 0.1251, 0, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, +0.103989, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, -0.9978, -0.0665, 0, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9978, -0.0665, 0, +-0.128092, 0.489106, 0.040654, 0.625, 0, -0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, +-0.103989, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 0, 0.9978, -0.0665, 0, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0.9978, -0.0665, 0, +0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, +0.098092, 0.335624, 0.040654, 0.625, 0.75, -1, 0, 0, +-0.103989, 0.400565, 0.024672, 0.625, 0, 0.9921, 0.1251, 0, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0.9921, 0.1251, 0, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9921, 0.1251, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, +0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, +0.103989, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9952, 0.0956, 0.0214, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -0.9952, 0.0956, 0.0214, +-0.128092, 0.335624, 0.040654, 0.625, 0, -0.9952, 0.0956, 0.0214, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9952, 0.0956, 0.0214, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -0.9952, 0.0956, 0.0214, +0.098092, 0.335624, 0.040654, 0.625, 0.75, -0.9952, 0.0956, 0.0214, +0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, +0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9509, +0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9509, +0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9509, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.625, 0, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, +0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, +-0.098092, 0.192117, -0.077302, 0.625, 0, 0.9329, -0.3135, -0.1774, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0.9329, -0.3135, -0.1774, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0.9329, -0.3135, -0.1774, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.192117, -0.077302, 0.625, 0, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 1, 0, 0, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.192117, -0.077302, 0.625, 0, 1, 0, 0, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 1, 0, 0, +-0.105592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, +0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, +0.105592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.128092, 0.192117, -0.077302, 0.625, 0, -0.9329, -0.3135, -0.1774, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, -0.9329, -0.3135, -0.1774, +-0.120592, 0.179081, -0.0937, 0.625, 0, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -0.9329, -0.3135, -0.1774, +0.105592, 0.186814, -0.107362, 0.625, 0.5, -0.9329, -0.3135, -0.1774, +0.105592, 0.179081, -0.0937, 0.625, 0.75, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0.9329, -0.3135, -0.1774, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0.9329, -0.3135, -0.1774, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 0.9329, -0.3135, -0.1774, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, +-0.120592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, +-0.105592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0.2651, -0.9642, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, 0.2651, -0.9642, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, 0.2651, -0.9642, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0, 1, +-0.1, 0.1, 0.1, 0.625, 1, 0, 0, 1, +-0.1, -0.1, 0.1, 0.375, 1, 0, 0, 1, +-0.1, 0.1, 0.1, 0.625, 0, -1, 0, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, -1, 0, 0, +-0.1, -0.1, -0.1, 0.375, 0.25, -1, 0, 0, +0.1, -0.1, -0.1, 0.375, 0.5, 0, -1, 0, +0.1, -0.1, 0.1, 0.375, 0.75, 0, -1, 0, +-0.1, -0.1, 0.1, 0.125, 0.75, 0, -1, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 1, 0, 0, +0.1, 0.1, 0.1, 0.625, 0.75, 1, 0, 0, +0.1, -0.1, 0.1, 0.375, 0.75, 1, 0, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0, -1, +0.1, 0.1, -0.1, 0.625, 0.5, 0, 0, -1, +0.1, -0.1, -0.1, 0.375, 0.5, 0, 0, -1, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0.2651, 0.9642, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, 0.2651, 0.9642, +-0.03964, 0.319577, 0.03964, 0.625, 1, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.625, 0, -0.9642, 0.2651, 0, +-0.03964, 0.319577, 0.03964, 0.625, 0, -0.9642, 0.2651, 0, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9642, 0.2651, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 0.9642, 0.2651, 0, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9642, 0.2651, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9642, 0.2651, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, 0, -1, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0, -1, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0, -1, +-0.070778, 0.574785, 0.070778, 0.625, 0, -0.6461, 0.7632, 0, +-0.036361, 0.603924, 0.036361, 0.625, 0, -0.6461, 0.7632, 0, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, -0.6461, 0.7632, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0, 1, +-0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0, 1, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0, 1, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, 0, 1, +-0.036361, 0.622896, 0.036361, 0.625, 1, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0.7632, 0.6461, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0.7632, 0.6461, +-0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0.7632, 0.6461, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0.7632, -0.6461, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0.7632, -0.6461, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6461, 0.7632, 0, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0.6461, 0.7632, 0, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0.6461, 0.7632, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, -0.6177, -0.7864, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.6177, -0.7864, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.6177, -0.7864, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0, -1, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, 0, -1, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 1, 0, 0, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 1, 0, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 1, 0, 0, +-0.036361, 0.603924, 0.036361, 0.625, 0, -1, 0, 0, +-0.036361, 0.622896, 0.036361, 0.625, 0, -1, 0, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, -1, 0, 0, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0.7864, -0.6177, 0, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.7864, -0.6177, 0, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.7864, -0.6177, 0, +-0.036361, 0.622896, 0.036361, 0.625, 0, -0.7864, -0.6177, 0, +-0.052774, 0.643794, 0.052774, 0.625, 0, -0.7864, -0.6177, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, -0.6177, 0.7864, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.6177, 0.7864, +-0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.6177, 0.7864, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, 0.5681, -0.8229, +-0.028575, 0.764915, -0.028575, 0.625, 0.25, 0, 0.5681, -0.8229, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 0.5681, -0.8229, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.0692, 0.9976, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, -0.0692, 0.9976, +-0.058197, 0.722006, 0.058197, 0.625, 1, 0, -0.0692, 0.9976, +-0.028575, 0.764915, -0.028575, 0.875, 0.5, 0, 1, 0, +-0.028575, 0.764915, 0.028575, 0.875, 0.75, 0, 1, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 1, 0, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.8229, 0.5681, 0, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0.8229, 0.5681, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0.8229, 0.5681, 0, +-0.058197, 0.722006, 0.058197, 0.625, 0, -0.8229, 0.5681, 0, +-0.028575, 0.764915, 0.028575, 0.625, 0, -0.8229, 0.5681, 0, +-0.028575, 0.764915, -0.028575, 0.625, 0.25, -0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, 0.5681, 0.8229, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 0.5681, 0.8229, +-0.028575, 0.764915, 0.028575, 0.625, 1, 0, 0.5681, 0.8229, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.6468, -0.7627, 0, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.6468, -0.7627, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.6468, -0.7627, 0, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6468, 0.7627, 0, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.6468, 0.7627, 0, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, +-0.128092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, +-0.128092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6468, 0.7627, 0, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 0, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, +-0.098092, 0.551623, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, +-0.098092, 0.489106, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.625, 0, -0.6468, -0.7627, 0, +-0.098092, 0.489106, 0.040654, 0.625, 0, -0.6468, -0.7627, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.6468, -0.7627, 0, +-0.128092, 0.489106, 0.040654, 0.625, 0, -1, 0, 0, +-0.128092, 0.551623, 0.040654, 0.625, 0, -1, 0, 0, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, +-0.128092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.625, 0.5, -0.9978, -0.0665, 0, +0.103989, 0.400565, -0.024672, 0.625, 0.5, -0.9978, -0.0665, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0.9978, -0.0665, 0, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9978, -0.0665, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, +-0.128092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, +-0.098092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9952, 0.0956, 0.0214, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0.9952, 0.0956, 0.0214, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0.9952, 0.0956, 0.0214, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, -0.9978, -0.0665, 0, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, -0.9978, -0.0665, 0, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, +-0.128092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, +0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 0, 0.9978, -0.0665, 0, +-0.103989, 0.400565, 0.024672, 0.625, 0, 0.9978, -0.0665, 0, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9978, -0.0665, 0, +0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, +0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, +-0.103989, 0.400565, 0.024672, 0.625, 0, 0.9952, 0.0956, 0.0214, +-0.098092, 0.335624, 0.040654, 0.625, 0, 0.9952, 0.0956, 0.0214, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0.9952, 0.0956, 0.0214, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, +0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9921, 0.1251, 0, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, -0.9921, 0.1251, 0, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -0.9921, 0.1251, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9921, 0.1251, 0, +0.103989, 0.400565, -0.024672, 0.625, 0.5, -0.9921, 0.1251, 0, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -0.9921, 0.1251, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, +0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, +-0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.335624, 0.040654, 0.625, 0, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9508, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9508, +0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9508, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, +-0.098092, 0.192117, -0.077302, 0.625, 0, 0.9329, -0.3135, -0.1774, +-0.105592, 0.179081, -0.0937, 0.625, 0, 0.9329, -0.3135, -0.1774, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0.9329, -0.3135, -0.1774, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.192117, -0.077302, 0.625, 0, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.625, 0.5, -1, 0, 0, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, +0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, +-0.128092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, +-0.098092, 0.192117, -0.077302, 0.625, 0, 1, 0, 0, +-0.105592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, +-0.120592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, +0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.128092, 0.192117, -0.077302, 0.625, 0, -0.9329, -0.3135, -0.1774, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, -0.9329, -0.3135, -0.1774, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -0.9329, -0.3135, -0.1774, +0.098092, 0.207583, -0.104626, 0.625, 0.5, -0.9329, -0.3135, -0.1774, +0.105592, 0.186814, -0.107362, 0.625, 0.5, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, +0.105592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0.9329, -0.3135, -0.1774, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0.9329, -0.3135, -0.1774, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0.9329, -0.3135, -0.1774, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, +-0.128092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, +-0.120592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, +-0.052774, 0.643794, 0.052774, 0.625, 0, -0.9976, -0.0692, 0, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.9976, -0.0692, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.9976, -0.0692, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.0692, -0.9976, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.9976, -0.0692, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.9976, -0.0692, 0, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.9976, -0.0692, 0, +-0.052774, 0.643794, 0.052774, 0.625, 0, -0.9976, -0.0692, 0, +-0.058197, 0.722006, 0.058197, 0.625, 0, -0.9976, -0.0692, 0, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.9976, -0.0692, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.0692, -0.9976, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, -0.0692, -0.9976, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.9976, -0.0692, 0, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.9976, -0.0692, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.9976, -0.0692, 0, +-0.03964, 0.319577, 0.03964, 0.625, 0, -0.9781, -0.2081, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.9781, -0.2081, 0, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9781, -0.2081, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, -0.2081, 0.9781, +-0.070778, 0.465943, 0.070778, 0.625, 1, 0, -0.2081, 0.9781, +-0.03964, 0.319577, 0.03964, 0.625, 1, 0, -0.2081, 0.9781, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, -0.2081, -0.9781, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9781, -0.2081, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.9781, -0.2081, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9781, -0.2081, 0, +-0.03964, 0.319577, 0.03964, 0.625, 0, -0.9781, -0.2081, 0, +-0.070778, 0.465943, 0.070778, 0.625, 0, -0.9781, -0.2081, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.9781, -0.2081, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, -0.2081, 0.9781, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, -0.2081, 0.9781, +-0.070778, 0.465943, 0.070778, 0.625, 1, 0, -0.2081, 0.9781, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, -0.2081, -0.9781, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, -0.2081, -0.9781, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9781, -0.2081, 0, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.9781, -0.2081, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.9781, -0.2081, 0, +]; + +objArray.push(Robot_data); + + +groupArray.push( + new VertGroup( + 0, // material number + 0, // object number + 0, // starting face + 522, // length + ) +); + +groupArray.push( + new VertGroup( + 1, // material number + 0, // object number + 522, // starting face + 18, // length + ) +); + +groupArray.push( + new VertGroup( + 2, // material number + 0, // object number + 540, // starting face + 24, // length + ) +); diff --git a/examples/Material/index.html b/examples/Material/index.html new file mode 100644 index 0000000..ada81fe --- /dev/null +++ b/examples/Material/index.html @@ -0,0 +1,86 @@ + + + + + + + Wavefront Object converted to AssemblyScript + + + +
fps:
+
+ +
+ + + + \ No newline at end of file diff --git a/examples/Material/obj_mat.asc b/examples/Material/obj_mat.asc new file mode 100644 index 0000000..9951657 --- /dev/null +++ b/examples/Material/obj_mat.asc @@ -0,0 +1,149 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER, uniform3f, + logi32 // can remove +} from '../../webgl' + + +import { + objArray, matArray, groupArray, VertGroup, +} from './Robot' + + + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision mediump float; + + in vec3 position; + in vec3 normal; + uniform vec3 diffuse; + out vec4 c; + + void main() { + const vec3 light = vec3(0.25, 2.0, -0.5); + float d = clamp( dot( normal, light ), 0.0, 1.0); + vec4 pos = vec4( position, 1.0 ); + + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = pos * mRotateTranslate; + c = vec4( d + diffuse.r, + d + diffuse.g, + d + diffuse.b, 1.0); + } +`; + +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + + let diffuse = getUniformLocation( gl, program, 'diffuse' ); + +//diffuse + enable(gl, DEPTH_TEST); + + // I'M DUPLICATING A LOT OF VERTICES HERE. + // INDEXES WOULD BE BETTER + +function rotate(theta: f32) : void { //u32 { + for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { + for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { + + let x:f32 = objArray[obj_i][coord_i]; + let z:f32 = objArray[obj_i][coord_i+2]; + + let nx:f32 = objArray[obj_i][coord_i+5]; + let nz:f32 = objArray[obj_i][coord_i+7]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + + objArray[obj_i][coord_i] = x1; + objArray[obj_i][coord_i+2] = z1; + + objArray[obj_i][coord_i+5] = nx1; + objArray[obj_i][coord_i+7] = nz1; + } + } + + return; +} + + var vGroup: VertGroup; + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { + vGroup = groupArray[g_i]; + bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); + let diffuse_r: f32 = matArray[vGroup.mat_index][4]; + let diffuse_g: f32 = matArray[vGroup.mat_index][5]; + let diffuse_b: f32 = matArray[vGroup.mat_index][6]; + uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); + + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); + // vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); + drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + } + } \ No newline at end of file diff --git a/examples/Material/obj_mat.wasm b/examples/Material/obj_mat.wasm new file mode 100644 index 0000000000000000000000000000000000000000..764f6ac8c2c7d7b75d6e3f4f875ba85f70ee68c7 GIT binary patch literal 31911 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 literal 0 HcmV?d00001 diff --git a/examples/Material/obj_mat.wasm.map b/examples/Material/obj_mat.wasm.map new file mode 100644 index 0000000..889e109 --- /dev/null +++ b/examples/Material/obj_mat.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["~lib/rt/common.asc","~lib/shared/typeinfo.asc","~lib/rt/stub.asc","~lib/memory.asc","~lib/util/memory.asc","../../webgl.asc","~lib/util/number.asc","~lib/util/math.asc","~lib/util/string.asc","~lib/array.asc","~lib/util/error.asc","Robot.asc","~lib/rt.asc","~lib/staticarray.asc","obj_mat.asc","~lib/math.asc"],"names":[],"mappings":"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","sourceRoot":"./obj_mat.wasm","sourcesContent":["// Alignment guarantees\n\n// @ts-ignore: decorator\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\n// @ts-ignore: decorator\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\n// @ts-ignore: decorator\n@inline export const AL_MASK: usize = AL_SIZE - 1;\n\n// Extra debugging\n\n// @ts-ignore: decorator\n@inline export const DEBUG = true;\n// @ts-ignore: decorator\n@inline export const TRACE = false;\n\n// Memory manager\n\n// ╒════════════ Memory manager block layout (32-bit) ═════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ MM info │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class BLOCK {\n /** Memory manager info. */\n mmInfo: usize;\n}\n\n/** Overhead of a memory manager block. */\n// @ts-ignore: decorator\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\n\n/** Maximum size of a memory manager block's payload. */\n// @ts-ignore: decorator\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\n\n// Garbage collector\n\n// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ Memory manager block │ -20\n// ╞═══════════════════════════════════════════════════════════════╡\n// │ GC info │ -16\n// ├───────────────────────────────────────────────────────────────┤\n// │ GC info │ -12\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT id │ -8\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT size │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class OBJECT extends BLOCK {\n /** Garbage collector info. */\n gcInfo: u32;\n /** Garbage collector info. */\n gcInfo2: u32;\n /** Runtime class id. */\n rtId: u32;\n /** Runtime object size. */\n rtSize: u32;\n}\n\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\n// @ts-ignore: decorator\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\n\n/** Maximum size of a garbage collector object's payload. */\n// @ts-ignore: decorator\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\n\n/** Total of memory manager and garbage collector overhead. */\n// @ts-ignore: decorator\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\n","// This file is shared with the compiler and must remain portable\n\n// ╒═══════════════════ Typeinfo interpretation ═══════════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ◄─ __rtti_base\n// │ count │\n// ╞═══════════════════════════════════════════════════════════════╡ ┐\n// │ Typeinfo#flags [id=0] │ id < count\n// ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤\n// │ Typeinfo#base [id=0] │\n// ├───────────────────────────────────────────────────────────────┤\n// │ ... │\n\n/** Runtime type information data structure. */\n@unmanaged\nexport class Typeinfo {\n /** Flags describing the shape of this class type. */\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\n /** Base class id or `0` if none. */\n base: u32 = 0;\n}\n\n/** Runtime type information flags. */\nexport const enum TypeinfoFlags {\n /** No specific flags. */\n NONE = 0,\n /** Type is an `ArrayBufferView`. */\n ARRAYBUFFERVIEW = 1 << 0,\n /** Type is an `Array`. */\n ARRAY = 1 << 1,\n /** Type is a `StaticArray`. */\n STATICARRAY = 1 << 2,\n /** Type is a `Set`. */\n SET = 1 << 3,\n /** Type is a `Map`. */\n MAP = 1 << 4,\n /** Type is inherently acyclic. */\n ACYCLIC = 1 << 5,\n /** Value alignment of 1 byte. */\n VALUE_ALIGN_0 = 1 << 6,\n /** Value alignment of 2 bytes. */\n VALUE_ALIGN_1 = 1 << 7,\n /** Value alignment of 4 bytes. */\n VALUE_ALIGN_2 = 1 << 8,\n /** Value alignment of 8 bytes. */\n VALUE_ALIGN_3 = 1 << 9,\n /** Value alignment of 16 bytes. */\n VALUE_ALIGN_4 = 1 << 10,\n /** Value is a signed type. */\n VALUE_SIGNED = 1 << 11,\n /** Value is a float type. */\n VALUE_FLOAT = 1 << 12,\n /** Value type is nullable. */\n VALUE_NULLABLE = 1 << 13,\n /** Value type is managed. */\n VALUE_MANAGED = 1 << 14,\n /** Key alignment of 1 byte. */\n KEY_ALIGN_0 = 1 << 15,\n /** Key alignment of 2 bytes. */\n KEY_ALIGN_1 = 1 << 16,\n /** Key alignment of 4 bytes. */\n KEY_ALIGN_2 = 1 << 17,\n /** Key alignment of 8 bytes. */\n KEY_ALIGN_3 = 1 << 18,\n /** Key alignment of 16 bytes. */\n KEY_ALIGN_4 = 1 << 19,\n /** Key is a signed type. */\n KEY_SIGNED = 1 << 20,\n /** Key is a float type. */\n KEY_FLOAT = 1 << 21,\n /** Key type is nullable. */\n KEY_NULLABLE = 1 << 22,\n /** Key type is managed. */\n KEY_MANAGED = 1 << 23\n}\n","import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \"rt/common\";\n\n// @ts-ignore: decorator\n@lazy var startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n\n// @ts-ignore: decorator\n@lazy var offset: usize = startOffset;\n\nfunction maybeGrowMemory(newOffset: usize): void {\n // assumes newOffset is aligned\n var pagesBefore = memory.size();\n var maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\n if (newOffset > maxOffset) {\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\n if (memory.grow(pagesWanted) < 0) {\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\n }\n }\n offset = newOffset;\n}\n\nfunction computeSize(size: usize): usize {\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __alloc(size: usize): usize {\n if (size > BLOCK_MAXSIZE) unreachable();\n var block = changetype(offset);\n var ptr = offset + BLOCK_OVERHEAD;\n var payloadSize = computeSize(size);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __new(size: usize, id: u32): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var ptr = __alloc(OBJECT_OVERHEAD + size);\n var object = changetype(ptr - BLOCK_OVERHEAD);\n object.gcInfo = 0;\n object.gcInfo2 = 0;\n object.rtId = id;\n object.rtSize = size;\n return ptr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __realloc(ptr: usize, size: usize): usize {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n var actualSize = block.mmInfo;\n var isLast = ptr + actualSize == offset;\n var payloadSize = computeSize(size);\n if (size > actualSize) {\n if (isLast) { // last block: grow\n if (size > BLOCK_MAXSIZE) unreachable();\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n } else { // copy to new block at least double the size\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\n memory.copy(newPtr, ptr, actualSize);\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\n }\n } else if (isLast) { // last block: shrink\n offset = ptr + payloadSize;\n block.mmInfo = payloadSize;\n }\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __renew(oldPtr: usize, size: usize): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\n return newPtr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __free(ptr: usize): void {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n if (ptr + block.mmInfo == offset) { // last block: discard\n offset = changetype(block);\n }\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __reset(): void { // special\n offset = startOffset;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __retain(ref: usize): usize {\n return ref;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __release(ref: usize): void {\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nfunction __visit(ref: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __collect(): void {\n /* nop */\n}\n","import { memcmp, memmove, memset } from \"./util/memory\";\nimport { E_NOTIMPLEMENTED } from \"./util/error\";\n\n/** Memory manager interface. */\nexport namespace memory {\n\n /** Gets the size of the memory in pages. */\n // @ts-ignore: decorator\n @builtin\n export declare function size(): i32;\n\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function grow(pages: i32): i32;\n\n /** Fills a section in memory with the specified byte value. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function fill(dst: usize, c: u8, n: usize): void {\n memset(dst, c, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Copies a section of memory to another. Has move semantics. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function copy(dst: usize, src: usize, n: usize): void {\n memmove(dst, src, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Initializes a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Drops a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function drop(segmentIndex: u32): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Repeats a section of memory at a specific address. */\n // @ts-ignore: decorator\n @unsafe\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\n var index: usize = 0;\n var total = srcLength * count;\n while (index < total) {\n memory.copy(dst + index, src, srcLength);\n index += srcLength;\n }\n }\n\n /** Compares a section of memory to another. */\n // @ts-ignore: decorator\n @inline\n export function compare(vl: usize, vr: usize, n: usize): i32 {\n return memcmp(vl, vr, n);\n }\n\n /** Gets a pointer to a static chunk of memory of the given size. */\n // @ts-ignore: decorator\n @builtin\n export declare function data(size: T, align?: i32): usize;\n}\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __heap_base: usize;\n\n/** Heap memory interface. */\nexport namespace heap {\n\n /** Allocates a chunk of memory of at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function alloc(size: usize): usize {\n return __alloc(size);\n }\n\n /** Reallocates a chunk of memory to have at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function realloc(ptr: usize, size: usize): usize {\n return __realloc(ptr, size);\n }\n\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function free(ptr: usize): void {\n __free(ptr);\n }\n\n /** Dangerously resets the entire heap. Specific to the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function reset(): void {\n __reset();\n }\n}\n","export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\n var w: u32, x: u32;\n\n // copy 1 byte each until src is aligned to 4 bytes\n while (n && (src & 3)) {\n store(dest++, load(src++));\n n--;\n }\n\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\n if ((dest & 3) == 0) {\n while (n >= 16) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n store(dest + 8, load(src + 8));\n store(dest + 12, load(src + 12));\n src += 16; dest += 16; n -= 16;\n }\n if (n & 8) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n dest += 8; src += 8;\n }\n if (n & 4) {\n store(dest, load(src));\n dest += 4; src += 4;\n }\n if (n & 2) { // drop to 2 bytes each\n store(dest, load(src));\n dest += 2; src += 2;\n }\n if (n & 1) { // drop to 1 byte\n store(dest++, load(src++));\n }\n return;\n }\n\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\n // doing shifts if faster when copying enough bytes (here: 32 or more)\n if (n >= 32) {\n switch (dest & 3) {\n // known to be != 0\n case 1: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 3;\n while (n >= 17) {\n x = load(src + 1);\n store(dest, w >> 24 | x << 8);\n w = load(src + 5);\n store(dest + 4, x >> 24 | w << 8);\n x = load(src + 9);\n store(dest + 8, w >> 24 | x << 8);\n w = load(src + 13);\n store(dest + 12, x >> 24 | w << 8);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 2: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 2;\n while (n >= 18) {\n x = load(src + 2);\n store(dest, w >> 16 | x << 16);\n w = load(src + 6);\n store(dest + 4, x >> 16 | w << 16);\n x = load(src + 10);\n store(dest + 8, w >> 16 | x << 16);\n w = load(src + 14);\n store(dest + 12, x >> 16 | w << 16);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 3: {\n w = load(src);\n store(dest++, load(src++));\n n -= 1;\n while (n >= 19) {\n x = load(src + 3);\n store(dest, w >> 8 | x << 24);\n w = load(src + 7);\n store(dest + 4, x >> 8 | w << 24);\n x = load(src + 11);\n store(dest + 8, w >> 8 | x << 24);\n w = load(src + 15);\n store(dest + 12, x >> 8 | w << 24);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n }\n }\n\n // copy remaining bytes one by one\n if (n & 16) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 8) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 4) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 2) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 1) {\n store(dest++, load(src++));\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\n if (dest === src) return;\n if (ASC_SHRINK_LEVEL < 1) {\n if (src - dest - n <= -(n << 1)) {\n memcpy(dest, src, n);\n return;\n }\n }\n if (dest < src) {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while (dest & 7) {\n if (!n) return;\n --n;\n store(dest++, load(src++));\n }\n while (n >= 8) {\n store(dest, load(src));\n n -= 8;\n dest += 8;\n src += 8;\n }\n }\n }\n while (n) {\n store(dest++, load(src++));\n --n;\n }\n } else {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while ((dest + n) & 7) {\n if (!n) return;\n store(dest + --n, load(src + n));\n }\n while (n >= 8) {\n n -= 8;\n store(dest + n, load(src + n));\n }\n }\n }\n while (n) {\n store(dest + --n, load(src + n));\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\n if (ASC_SHRINK_LEVEL > 1) {\n while (n) {\n store(dest++, c);\n --n;\n }\n } else {\n // fill head and tail with minimal branching\n if (!n) return;\n let dend = dest + n - 4;\n store(dest, c);\n store(dend, c, 3);\n if (n <= 2) return;\n store(dest, c, 1);\n store(dest, c, 2);\n store(dend, c, 2);\n store(dend, c, 1);\n if (n <= 6) return;\n store(dest, c, 3);\n store(dend, c);\n if (n <= 8) return;\n\n // advance pointer to align it at 4-byte boundary\n let k: usize = -dest & 3;\n dest += k;\n n -= k;\n n &= -4;\n\n let c32: u32 = -1 / 255 * c;\n\n // fill head/tail up to 28 bytes each in preparation\n dend = dest + n - 28;\n store(dest, c32);\n store(dend, c32, 24);\n if (n <= 8) return;\n store(dest, c32, 4);\n store(dest, c32, 8);\n store(dend, c32, 16);\n store(dend, c32, 20);\n if (n <= 24) return;\n store(dest, c32, 12);\n store(dest, c32, 16);\n store(dest, c32, 20);\n store(dest, c32, 24);\n store(dend, c32);\n store(dend, c32, 4);\n store(dend, c32, 8);\n store(dend, c32, 12);\n\n // align to a multiple of 8\n k = 24 + (dest & 4);\n dest += k;\n n -= k;\n\n // copy 32 bytes each\n let c64: u64 = c32 | (c32 << 32);\n while (n >= 32) {\n store(dest, c64);\n store(dest, c64, 8);\n store(dest, c64, 16);\n store(dest, c64, 24);\n n -= 32;\n dest += 32;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\n if (vl == vr) return 0;\n if (ASC_SHRINK_LEVEL < 2) {\n if ((vl & 7) == (vr & 7)) {\n while (vl & 7) {\n if (!n) return 0;\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n n--; vl++; vr++;\n }\n while (n >= 8) {\n if (load(vl) != load(vr)) break;\n vl += 8;\n vr += 8;\n n -= 8;\n }\n }\n }\n while (n--) {\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n vl++; vr++;\n }\n return 0;\n}\n","type WebGLContextAttributes = i32;\r\n\r\nexport type GLenum = u32;\r\nexport type GLboolean = bool;\r\nexport type GLbitfield = u32;\r\nexport type GLbyte = i8;\r\nexport type GLshort = i16;\r\nexport type GLint = i32;\r\nexport type GLsizei = i32;\r\nexport type GLintptr = i32; //i64;\r\nexport type GLsizeiptr = i32; //i64;\r\nexport type GLubyte = u8;\r\nexport type GLushort = u16;\r\nexport type GLuint = u32;\r\nexport type GLfloat = f32;\r\nexport type GLclampf = f32;\r\nexport type GLuint64 = u32; //u64;\r\nexport type GLint64 = i32; //i64;\r\n\r\nexport type WebGLUniformLocation = i32; \r\nexport type TexImageSource = i32;\r\nexport type Int32List = i32;\r\nexport type Uint32List = i32;\r\nexport type Float32List = i32;\r\nexport type WebGLQuery = i32;\r\nexport type WebGLSampler = i32;\r\nexport type WebGLSync = i32;\r\nexport type WebGLTransformFeedback = i32;\r\nexport type ImageData = i32;\r\nexport type DOMString = string;\r\nexport type HTMLImageElement = externref;\r\nexport type HTMLVideoElement = externref;\r\nexport type WebGLVertexArrayObject = i32;\r\n\r\n// == Not a part of WebGL, but there must be a way to create and load images\r\n// export type ImageData = i32;\r\n export declare function createImage(image_location:string):ImageData;\r\n export declare function imageReady(image_id:ImageData):bool;\r\n\r\n// === WebGLContextAttributes ===\r\nexport const ALPHA_DEFAULT = true;\r\nexport const FALSE:i32 = false;\r\n\r\n//export declare function activateTexture(gl: WebGLContextAttributes, texture: WebGLTexture): void;\r\n\r\nexport declare function getAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const DEPTH_DEFAULT = true;\r\nexport declare function getDepth(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setDepth(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const STENCIL_DEFAULT = false;\r\nexport declare function getStencil(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setStencil(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const ANTIALIAS_DEFAULT = true;\r\nexport declare function getAntialias(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAntialias(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PREMULTIPLIED_ALPHA_DEFAULT = true;\r\nexport declare function getPremultipliedAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPremultipliedAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PRESERVE_DRAWING_BUFFER_DEFAULT = false;\r\nexport declare function getPreserveDrawingBuffer(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPreserveDrawingBuffer(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\n// === WebGLActiveInfo ===\r\n\r\ntype WebGLActiveInfo = externref;\r\n\r\nexport declare function getSize(gl: WebGLActiveInfo): GLint;\r\nexport declare function getType(gl: WebGLActiveInfo): GLenum;\r\nexport declare function getName(gl: WebGLActiveInfo): string;\r\n\r\n// === WebGLShaderPrecisionFormat ===\r\n\r\ntype WebGLShaderPrecisionFormat = externref;\r\n\r\nexport declare function getRangeMin(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getRangeMax(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getPrecision(gl: WebGLShaderPrecisionFormat): GLint;\r\n\r\n// === WebGLRenderingContext ===\r\n\r\nexport type WebGLRenderingContext = i32;\r\n\r\n/* ClearBufferMask */\r\nexport const DEPTH_BUFFER_BIT: GLenum = 0x00000100;\r\nexport const STENCIL_BUFFER_BIT: GLenum = 0x00000400;\r\nexport const COLOR_BUFFER_BIT: GLenum = 0x00004000;\r\n\r\n/* BeginMode */\r\nexport const POINTS: GLenum = 0x0000;\r\nexport const LINES: GLenum = 0x0001;\r\nexport const LINE_LOOP: GLenum = 0x0002;\r\nexport const LINE_STRIP: GLenum = 0x0003;\r\nexport const TRIANGLES: GLenum = 0x0004;\r\nexport const TRIANGLE_STRIP: GLenum = 0x0005;\r\nexport const TRIANGLE_FAN: GLenum = 0x0006;\r\n\r\n/* AlphaFunction (not supported in ES20) */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* BlendingFactorDest */\r\nexport const ZERO: GLenum = 0;\r\nexport const ONE: GLenum = 1;\r\nexport const SRC_COLOR: GLenum = 0x0300;\r\nexport const ONE_MINUS_SRC_COLOR: GLenum = 0x0301;\r\nexport const SRC_ALPHA: GLenum = 0x0302;\r\nexport const ONE_MINUS_SRC_ALPHA: GLenum = 0x0303;\r\nexport const DST_ALPHA: GLenum = 0x0304;\r\nexport const ONE_MINUS_DST_ALPHA: GLenum = 0x0305;\r\n\r\n/* BlendingFactorSrc */\r\n/* ZERO */\r\n/* ONE */\r\nexport const DST_COLOR: GLenum = 0x0306;\r\nexport const ONE_MINUS_DST_COLOR: GLenum = 0x0307;\r\nexport const SRC_ALPHA_SATURATE: GLenum = 0x0308;\r\n/* SRC_ALPHA */\r\n/* ONE_MINUS_SRC_ALPHA */\r\n/* DST_ALPHA */\r\n/* ONE_MINUS_DST_ALPHA */\r\n\r\n/* BlendEquationSeparate */\r\nexport const FUNC_ADD: GLenum = 0x8006;\r\nexport const BLEND_EQUATION: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_RGB: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_ALPHA: GLenum = 0x883D;\r\n\r\n/* BlendSubtract */\r\nexport const FUNC_SUBTRACT: GLenum = 0x800A;\r\nexport const FUNC_REVERSE_SUBTRACT: GLenum = 0x800B;\r\n\r\n/* Separate Blend Functions */\r\nexport const BLEND_DST_RGB: GLenum = 0x80C8;\r\nexport const BLEND_SRC_RGB: GLenum = 0x80C9;\r\nexport const BLEND_DST_ALPHA: GLenum = 0x80CA;\r\nexport const BLEND_SRC_ALPHA: GLenum = 0x80CB;\r\nexport const CONSTANT_COLOR: GLenum = 0x8001;\r\nexport const ONE_MINUS_CONSTANT_COLOR: GLenum = 0x8002;\r\nexport const CONSTANT_ALPHA: GLenum = 0x8003;\r\nexport const ONE_MINUS_CONSTANT_ALPHA: GLenum = 0x8004;\r\nexport const BLEND_COLOR: GLenum = 0x8005;\r\n\r\n/* Buffer Objects */\r\nexport const ARRAY_BUFFER: GLenum = 0x8892;\r\nexport const ELEMENT_ARRAY_BUFFER: GLenum = 0x8893;\r\nexport const ARRAY_BUFFER_BINDING: GLenum = 0x8894;\r\nexport const ELEMENT_ARRAY_BUFFER_BINDING: GLenum = 0x8895;\r\n\r\nexport const STREAM_DRAW: GLenum = 0x88E0;\r\nexport const STATIC_DRAW: GLenum = 0x88E4;\r\nexport const DYNAMIC_DRAW: GLenum = 0x88E8;\r\n\r\nexport const BUFFER_SIZE: GLenum = 0x8764;\r\nexport const BUFFER_USAGE: GLenum = 0x8765;\r\n\r\nexport const CURRENT_VERTEX_ATTRIB: GLenum = 0x8626;\r\n\r\n/* CullFaceMode */\r\nexport const FRONT: GLenum = 0x0404;\r\nexport const BACK: GLenum = 0x0405;\r\nexport const FRONT_AND_BACK: GLenum = 0x0408;\r\n\r\n/* DepthFunction */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* EnableCap */\r\n/* TEXTURE_2D */\r\nexport const CULL_FACE: GLenum = 0x0B44;\r\nexport const BLEND: GLenum = 0x0BE2;\r\nexport const DITHER: GLenum = 0x0BD0;\r\nexport const STENCIL_TEST: GLenum = 0x0B90;\r\nexport const DEPTH_TEST: GLenum = 0x0B71;\r\nexport const SCISSOR_TEST: GLenum = 0x0C11;\r\nexport const POLYGON_OFFSET_FILL: GLenum = 0x8037;\r\nexport const SAMPLE_ALPHA_TO_COVERAGE: GLenum = 0x809E;\r\nexport const SAMPLE_COVERAGE: GLenum = 0x80A0;\r\n\r\n/* ErrorCode */\r\nexport const NO_ERROR: GLenum = 0;\r\nexport const INVALID_ENUM: GLenum = 0x0500;\r\nexport const INVALID_VALUE: GLenum = 0x0501;\r\nexport const INVALID_OPERATION: GLenum = 0x0502;\r\nexport const OUT_OF_MEMORY: GLenum = 0x0505;\r\n\r\n/* FrontFaceDirection */\r\nexport const CW: GLenum = 0x0900;\r\nexport const CCW: GLenum = 0x0901;\r\n\r\n/* GetPName */\r\nexport const LINE_WIDTH: GLenum = 0x0B21;\r\nexport const ALIASED_POINT_SIZE_RANGE: GLenum = 0x846D;\r\nexport const ALIASED_LINE_WIDTH_RANGE: GLenum = 0x846E;\r\nexport const CULL_FACE_MODE: GLenum = 0x0B45;\r\nexport const FRONT_FACE: GLenum = 0x0B46;\r\nexport const DEPTH_RANGE: GLenum = 0x0B70;\r\nexport const DEPTH_WRITEMASK: GLenum = 0x0B72;\r\nexport const DEPTH_CLEAR_VALUE: GLenum = 0x0B73;\r\nexport const DEPTH_FUNC: GLenum = 0x0B74;\r\nexport const STENCIL_CLEAR_VALUE: GLenum = 0x0B91;\r\nexport const STENCIL_FUNC: GLenum = 0x0B92;\r\nexport const STENCIL_FAIL: GLenum = 0x0B94;\r\nexport const STENCIL_PASS_DEPTH_FAIL: GLenum = 0x0B95;\r\nexport const STENCIL_PASS_DEPTH_PASS: GLenum = 0x0B96;\r\nexport const STENCIL_REF: GLenum = 0x0B97;\r\nexport const STENCIL_VALUE_MASK: GLenum = 0x0B93;\r\nexport const STENCIL_WRITEMASK: GLenum = 0x0B98;\r\nexport const STENCIL_BACK_FUNC: GLenum = 0x8800;\r\nexport const STENCIL_BACK_FAIL: GLenum = 0x8801;\r\nexport const STENCIL_BACK_PASS_DEPTH_FAIL: GLenum = 0x8802;\r\nexport const STENCIL_BACK_PASS_DEPTH_PASS: GLenum = 0x8803;\r\nexport const STENCIL_BACK_REF: GLenum = 0x8CA3;\r\nexport const STENCIL_BACK_VALUE_MASK: GLenum = 0x8CA4;\r\nexport const STENCIL_BACK_WRITEMASK: GLenum = 0x8CA5;\r\nexport const VIEWPORT: GLenum = 0x0BA2;\r\nexport const SCISSOR_BOX: GLenum = 0x0C10;\r\n/* SCISSOR_TEST */\r\nexport const COLOR_CLEAR_VALUE: GLenum = 0x0C22;\r\nexport const COLOR_WRITEMASK: GLenum = 0x0C23;\r\nexport const UNPACK_ALIGNMENT: GLenum = 0x0CF5;\r\nexport const PACK_ALIGNMENT: GLenum = 0x0D05;\r\nexport const MAX_TEXTURE_SIZE: GLenum = 0x0D33;\r\nexport const MAX_VIEWPORT_DIMS: GLenum = 0x0D3A;\r\nexport const SUBPIXEL_BITS: GLenum = 0x0D50;\r\nexport const RED_BITS: GLenum = 0x0D52;\r\nexport const GREEN_BITS: GLenum = 0x0D53;\r\nexport const BLUE_BITS: GLenum = 0x0D54;\r\nexport const ALPHA_BITS: GLenum = 0x0D55;\r\nexport const DEPTH_BITS: GLenum = 0x0D56;\r\nexport const STENCIL_BITS: GLenum = 0x0D57;\r\nexport const POLYGON_OFFSET_UNITS: GLenum = 0x2A00;\r\n/* POLYGON_OFFSET_FILL */\r\nexport const POLYGON_OFFSET_FACTOR: GLenum = 0x8038;\r\nexport const TEXTURE_BINDING_2D: GLenum = 0x8069;\r\nexport const SAMPLE_BUFFERS: GLenum = 0x80A8;\r\nexport const SAMPLES: GLenum = 0x80A9;\r\nexport const SAMPLE_COVERAGE_VALUE: GLenum = 0x80AA;\r\nexport const SAMPLE_COVERAGE_INVERT: GLenum = 0x80AB;\r\n\r\n/* GetTextureParameter */\r\n/* TEXTURE_MAG_FILTER */\r\n/* TEXTURE_MIN_FILTER */\r\n/* TEXTURE_WRAP_S */\r\n/* TEXTURE_WRAP_T */\r\n\r\nexport const COMPRESSED_TEXTURE_FORMATS: GLenum = 0x86A3;\r\n\r\n/* HintMode */\r\nexport const DONT_CARE: GLenum = 0x1100;\r\nexport const FASTEST: GLenum = 0x1101;\r\nexport const NICEST: GLenum = 0x1102;\r\n\r\n/* HintTarget */\r\nexport const GENERATE_MIPMAP_HINT: GLenum = 0x8192;\r\n\r\n/* DataType */\r\nexport const BYTE: GLenum = 0x1400;\r\nexport const UNSIGNED_BYTE: GLenum = 0x1401;\r\nexport const SHORT: GLenum = 0x1402;\r\nexport const UNSIGNED_SHORT: GLenum = 0x1403;\r\nexport const INT: GLenum = 0x1404;\r\nexport const UNSIGNED_INT: GLenum = 0x1405;\r\nexport const FLOAT: GLenum = 0x1406;\r\n\r\n/* PixelFormat */\r\nexport const DEPTH_COMPONENT: GLenum = 0x1902;\r\nexport const ALPHA: GLenum = 0x1906;\r\nexport const RGB: GLenum = 0x1907;\r\nexport const RGBA: GLenum = 0x1908;\r\nexport const LUMINANCE: GLenum = 0x1909;\r\nexport const LUMINANCE_ALPHA: GLenum = 0x190A;\r\n\r\n/* PixelType */\r\n/* UNSIGNED_BYTE */\r\nexport const UNSIGNED_SHORT_4_4_4_4: GLenum = 0x8033;\r\nexport const UNSIGNED_SHORT_5_5_5_1: GLenum = 0x8034;\r\nexport const UNSIGNED_SHORT_5_6_5: GLenum = 0x8363;\r\n\r\n/* Shaders */\r\nexport const FRAGMENT_SHADER: GLenum = 0x8B30;\r\nexport const VERTEX_SHADER: GLenum = 0x8B31;\r\nexport const MAX_VERTEX_ATTRIBS: GLenum = 0x8869;\r\nexport const MAX_VERTEX_UNIFORM_VECTORS: GLenum = 0x8DFB;\r\nexport const MAX_VARYING_VECTORS: GLenum = 0x8DFC;\r\nexport const MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4D;\r\nexport const MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4C;\r\nexport const MAX_TEXTURE_IMAGE_UNITS: GLenum = 0x8872;\r\nexport const MAX_FRAGMENT_UNIFORM_VECTORS: GLenum = 0x8DFD;\r\nexport const SHADER_TYPE: GLenum = 0x8B4F;\r\nexport const DELETE_STATUS: GLenum = 0x8B80;\r\nexport const LINK_STATUS: GLenum = 0x8B82;\r\nexport const VALIDATE_STATUS: GLenum = 0x8B83;\r\nexport const ATTACHED_SHADERS: GLenum = 0x8B85;\r\nexport const ACTIVE_UNIFORMS: GLenum = 0x8B86;\r\nexport const ACTIVE_ATTRIBUTES: GLenum = 0x8B89;\r\nexport const SHADING_LANGUAGE_VERSION: GLenum = 0x8B8C;\r\nexport const CURRENT_PROGRAM: GLenum = 0x8B8D;\r\n\r\n/* StencilFunction */\r\nexport const NEVER: GLenum = 0x0200;\r\nexport const LESS: GLenum = 0x0201;\r\nexport const EQUAL: GLenum = 0x0202;\r\nexport const LEQUAL: GLenum = 0x0203;\r\nexport const GREATER: GLenum = 0x0204;\r\nexport const NOTEQUAL: GLenum = 0x0205;\r\nexport const GEQUAL: GLenum = 0x0206;\r\nexport const ALWAYS: GLenum = 0x0207;\r\n\r\n/* StencilOp */\r\n/* ZERO */\r\nexport const KEEP: GLenum = 0x1E00;\r\nexport const REPLACE: GLenum = 0x1E01;\r\nexport const INCR: GLenum = 0x1E02;\r\nexport const DECR: GLenum = 0x1E03;\r\nexport const INVERT: GLenum = 0x150A;\r\nexport const INCR_WRAP: GLenum = 0x8507;\r\nexport const DECR_WRAP: GLenum = 0x8508;\r\n\r\n/* StringName */\r\nexport const VENDOR: GLenum = 0x1F00;\r\nexport const RENDERER: GLenum = 0x1F01;\r\nexport const VERSION: GLenum = 0x1F02;\r\n\r\n/* TextureMagFilter */\r\nexport const NEAREST: GLenum = 0x2600;\r\nexport const LINEAR: GLenum = 0x2601;\r\n\r\n/* TextureMinFilter */\r\n/* NEAREST */\r\n/* LINEAR */\r\nexport const NEAREST_MIPMAP_NEAREST: GLenum = 0x2700;\r\nexport const LINEAR_MIPMAP_NEAREST: GLenum = 0x2701;\r\nexport const NEAREST_MIPMAP_LINEAR: GLenum = 0x2702;\r\nexport const LINEAR_MIPMAP_LINEAR: GLenum = 0x2703;\r\n\r\n/* TextureParameterName */\r\nexport const TEXTURE_MAG_FILTER: GLenum = 0x2800;\r\nexport const TEXTURE_MIN_FILTER: GLenum = 0x2801;\r\nexport const TEXTURE_WRAP_S: GLenum = 0x2802;\r\nexport const TEXTURE_WRAP_T: GLenum = 0x2803;\r\n\r\n/* TextureTarget */\r\nexport const TEXTURE_2D: GLenum = 0x0DE1;\r\nexport const TEXTURE: GLenum = 0x1702;\r\n\r\nexport const TEXTURE_CUBE_MAP: GLenum = 0x8513;\r\nexport const TEXTURE_BINDING_CUBE_MAP: GLenum = 0x8514;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_X: GLenum = 0x8515;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum = 0x8516;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum = 0x8517;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum = 0x8518;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum = 0x8519;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum = 0x851A;\r\nexport const MAX_CUBE_MAP_TEXTURE_SIZE: GLenum = 0x851C;\r\n\r\n/* TextureUnit */\r\nexport const TEXTURE0: GLenum = 0x84C0;\r\nexport const TEXTURE1: GLenum = 0x84C1;\r\nexport const TEXTURE2: GLenum = 0x84C2;\r\nexport const TEXTURE3: GLenum = 0x84C3;\r\nexport const TEXTURE4: GLenum = 0x84C4;\r\nexport const TEXTURE5: GLenum = 0x84C5;\r\nexport const TEXTURE6: GLenum = 0x84C6;\r\nexport const TEXTURE7: GLenum = 0x84C7;\r\nexport const TEXTURE8: GLenum = 0x84C8;\r\nexport const TEXTURE9: GLenum = 0x84C9;\r\nexport const TEXTURE10: GLenum = 0x84CA;\r\nexport const TEXTURE11: GLenum = 0x84CB;\r\nexport const TEXTURE12: GLenum = 0x84CC;\r\nexport const TEXTURE13: GLenum = 0x84CD;\r\nexport const TEXTURE14: GLenum = 0x84CE;\r\nexport const TEXTURE15: GLenum = 0x84CF;\r\nexport const TEXTURE16: GLenum = 0x84D0;\r\nexport const TEXTURE17: GLenum = 0x84D1;\r\nexport const TEXTURE18: GLenum = 0x84D2;\r\nexport const TEXTURE19: GLenum = 0x84D3;\r\nexport const TEXTURE20: GLenum = 0x84D4;\r\nexport const TEXTURE21: GLenum = 0x84D5;\r\nexport const TEXTURE22: GLenum = 0x84D6;\r\nexport const TEXTURE23: GLenum = 0x84D7;\r\nexport const TEXTURE24: GLenum = 0x84D8;\r\nexport const TEXTURE25: GLenum = 0x84D9;\r\nexport const TEXTURE26: GLenum = 0x84DA;\r\nexport const TEXTURE27: GLenum = 0x84DB;\r\nexport const TEXTURE28: GLenum = 0x84DC;\r\nexport const TEXTURE29: GLenum = 0x84DD;\r\nexport const TEXTURE30: GLenum = 0x84DE;\r\nexport const TEXTURE31: GLenum = 0x84DF;\r\nexport const ACTIVE_TEXTURE: GLenum = 0x84E0;\r\n\r\n/* TextureWrapMode */\r\nexport const REPEAT: GLenum = 0x2901;\r\nexport const CLAMP_TO_EDGE: GLenum = 0x812F;\r\nexport const MIRRORED_REPEAT: GLenum = 0x8370;\r\n\r\n/* Uniform Types */\r\nexport const FLOAT_VEC2: GLenum = 0x8B50;\r\nexport const FLOAT_VEC3: GLenum = 0x8B51;\r\nexport const FLOAT_VEC4: GLenum = 0x8B52;\r\nexport const INT_VEC2: GLenum = 0x8B53;\r\nexport const INT_VEC3: GLenum = 0x8B54;\r\nexport const INT_VEC4: GLenum = 0x8B55;\r\nexport const BOOL: GLenum = 0x8B56;\r\nexport const BOOL_VEC2: GLenum = 0x8B57;\r\nexport const BOOL_VEC3: GLenum = 0x8B58;\r\nexport const BOOL_VEC4: GLenum = 0x8B59;\r\nexport const FLOAT_MAT2: GLenum = 0x8B5A;\r\nexport const FLOAT_MAT3: GLenum = 0x8B5B;\r\nexport const FLOAT_MAT4: GLenum = 0x8B5C;\r\nexport const SAMPLER_2D: GLenum = 0x8B5E;\r\nexport const SAMPLER_CUBE: GLenum = 0x8B60;\r\n\r\n/* Vertex Arrays */\r\nexport const VERTEX_ATTRIB_ARRAY_ENABLED: GLenum = 0x8622;\r\nexport const VERTEX_ATTRIB_ARRAY_SIZE: GLenum = 0x8623;\r\nexport const VERTEX_ATTRIB_ARRAY_STRIDE: GLenum = 0x8624;\r\nexport const VERTEX_ATTRIB_ARRAY_TYPE: GLenum = 0x8625;\r\nexport const VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum = 0x886A;\r\nexport const VERTEX_ATTRIB_ARRAY_POINTER: GLenum = 0x8645;\r\nexport const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum = 0x889F;\r\n\r\n/* Shader Source */\r\nexport const COMPILE_STATUS: GLenum = 0x8B81;\r\n\r\n/* Shader Precision-Specified Types */\r\nexport const LOW_FLOAT: GLenum = 0x8DF0;\r\nexport const MEDIUM_FLOAT: GLenum = 0x8DF1;\r\nexport const HIGH_FLOAT: GLenum = 0x8DF2;\r\nexport const LOW_INT: GLenum = 0x8DF3;\r\nexport const MEDIUM_INT: GLenum = 0x8DF4;\r\nexport const HIGH_INT: GLenum = 0x8DF5;\r\n\r\n/* Framebuffer Object. */\r\nexport const FRAMEBUFFER: GLenum = 0x8D40;\r\nexport const RENDERBUFFER: GLenum = 0x8D41;\r\n\r\nexport const RGBA4: GLenum = 0x8056;\r\nexport const RGB5_A1: GLenum = 0x8057;\r\nexport const RGB565: GLenum = 0x8D62;\r\nexport const DEPTH_COMPONENT16: GLenum = 0x81A5;\r\nexport const STENCIL_INDEX: GLenum = 0x1901;\r\nexport const STENCIL_INDEX8: GLenum = 0x8D48;\r\nexport const DEPTH_STENCIL: GLenum = 0x84F9;\r\n\r\nexport const RENDERBUFFER_WIDTH: GLenum = 0x8D42;\r\nexport const RENDERBUFFER_HEIGHT: GLenum = 0x8D43;\r\nexport const RENDERBUFFER_INTERNAL_FORMAT: GLenum = 0x8D44;\r\nexport const RENDERBUFFER_RED_SIZE: GLenum = 0x8D50;\r\nexport const RENDERBUFFER_GREEN_SIZE: GLenum = 0x8D51;\r\nexport const RENDERBUFFER_BLUE_SIZE: GLenum = 0x8D52;\r\nexport const RENDERBUFFER_ALPHA_SIZE: GLenum = 0x8D53;\r\nexport const RENDERBUFFER_DEPTH_SIZE: GLenum = 0x8D54;\r\nexport const RENDERBUFFER_STENCIL_SIZE: GLenum = 0x8D55;\r\n\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum = 0x8CD0;\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum = 0x8CD1;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum = 0x8CD2;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum = 0x8CD3;\r\n\r\nexport const COLOR_ATTACHMENT0: GLenum = 0x8CE0;\r\nexport const DEPTH_ATTACHMENT: GLenum = 0x8D00;\r\nexport const STENCIL_ATTACHMENT: GLenum = 0x8D20;\r\nexport const DEPTH_STENCIL_ATTACHMENT: GLenum = 0x821A;\r\n\r\nexport const NONE: GLenum = 0;\r\n\r\nexport const FRAMEBUFFER_COMPLETE: GLenum = 0x8CD5;\r\nexport const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum = 0x8CD6;\r\nexport const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum = 0x8CD7;\r\nexport const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum = 0x8CD9;\r\nexport const FRAMEBUFFER_UNSUPPORTED: GLenum = 0x8CDD;\r\n\r\nexport const FRAMEBUFFER_BINDING: GLenum = 0x8CA6;\r\nexport const RENDERBUFFER_BINDING: GLenum = 0x8CA7;\r\nexport const MAX_RENDERBUFFER_SIZE: GLenum = 0x84E8;\r\n\r\nexport const INVALID_FRAMEBUFFER_OPERATION: GLenum = 0x0506;\r\n\r\n/* WebGL-specific enums */\r\nexport const UNPACK_FLIP_Y_WEBGL: GLenum = 0x9240;\r\nexport const UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum = 0x9241;\r\nexport const CONTEXT_LOST_WEBGL: GLenum = 0x9242;\r\nexport const UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;\r\nexport const BROWSER_DEFAULT_WEBGL: GLenum = 0x9244;\r\n\r\n//type HTMLCanvasElement = externref;\r\n\r\n//export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement;\r\nexport declare function getDrawingBufferWidth(gl: WebGLRenderingContext): GLsizei;\r\nexport declare function getDrawingBufferHeight(gl: WebGLRenderingContext): GLsizei;\r\n\r\nexport declare function getContextAttributes(gl: WebGLRenderingContext): WebGLContextAttributes;\r\nexport declare function isContextLost(gl: WebGLRenderingContext): bool;\r\n\r\ntype sequence = externref;\r\n\r\nexport declare function getSupportedExtensions(gl: WebGLRenderingContext): sequence;\r\n\r\ntype object_ = externref;\r\n\r\nexport declare function getExtension(gl: WebGLRenderingContext, name: string): object_;\r\n\r\n// THIS WILL BE IN INDEX INTO A PROGRAM LIST KEPT IN THE JS\r\nexport type WebGLProgram = i32; //externref;\r\nexport type WebGLShader = i32;\r\nexport type WebGLBuffer = i32;\r\nexport type WebGLFramebuffer = i32;\r\nexport type WebGLRenderbuffer = i32;\r\nexport type WebGLTexture = i32;\r\n\r\nexport declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void;\r\nexport declare function createContextFromCanvas(canvas_id: string, context_type: string):WebGLRenderingContext;\r\nexport declare function attachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\n// export declare function bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void;\r\nexport declare function bindBuffer(gl: WebGLRenderingContext, target: GLenum, buffer: WebGLBuffer): void;\r\nexport declare function bindFramebuffer(gl: WebGLRenderingContext, target: GLenum, framebuffer: WebGLFramebuffer): void;\r\nexport declare function bindRenderbuffer(gl: WebGLRenderingContext, target: GLenum, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function bindTexture(gl: WebGLRenderingContext, target: GLenum, texture: WebGLTexture): void;\r\nexport declare function blendColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function blendEquation(gl: WebGLRenderingContext, mode: GLenum): void;\r\nexport declare function blendEquationSeparate(gl: WebGLRenderingContext, modeRGB: GLenum, modeAlpha: GLenum): void;\r\nexport declare function blendFunc(gl: WebGLRenderingContext, sfactor: GLenum, dfactor: GLenum): void;\r\nexport declare function blendFuncSeparate(gl: WebGLRenderingContext, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\r\nexport declare function bufferData(gl: WebGLRenderingContext, target: GLenum, data: StaticArray, usage: GLenum): void;\r\nexport declare function bufferSubData(gl: WebGLRenderingContext, target: GLenum, offset: GLintptr, data: Array): void;\r\n\r\nexport declare function checkFramebufferStatus(gl: WebGLRenderingContext, target: GLenum): GLenum;\r\nexport declare function clear(gl: WebGLRenderingContext, mask: GLbitfield): void;\r\nexport declare function clearColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function clearDepth(gl: WebGLRenderingContext, depth: GLclampf): void;\r\nexport declare function clearStencil(gl: WebGLRenderingContext, s: GLint): void;\r\nexport declare function colorMask(gl: WebGLRenderingContext, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\r\nexport declare function compileShader(gl: WebGLRenderingContext, shader: WebGLShader): void;\r\n\r\nexport declare function compressedTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;\r\nexport declare function compressedTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;\r\n\r\nexport declare function copyTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\r\nexport declare function copyTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function createBuffer(gl: WebGLRenderingContext): WebGLBuffer;\r\nexport declare function createFramebuffer(gl: WebGLRenderingContext): WebGLFramebuffer;\r\nexport declare function createProgram(gl: WebGLRenderingContext): WebGLProgram;\r\nexport declare function createRenderbuffer(gl: WebGLRenderingContext): WebGLRenderbuffer;\r\nexport declare function createShader(gl: WebGLRenderingContext, typ: GLenum): WebGLShader;\r\nexport declare function createTexture(gl: WebGLRenderingContext): WebGLTexture;\r\n\r\nexport declare function cullFace(gl: WebGLRenderingContext, mode: GLenum): void;\r\n//...\r\n\r\nexport declare function deleteBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): void;\r\nexport declare function deleteFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): void;\r\nexport declare function deleteProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function deleteRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function deleteShader( gl: WebGLRenderingContext, shader: WebGLShader): void;\r\nexport declare function deleteTexture( gl: WebGLRenderingContext, texture: WebGLTexture): void;\r\n\r\nexport declare function depthFunc( gl: WebGLRenderingContext, func: GLenum): void;\r\nexport declare function depthMask( gl: WebGLRenderingContext, flag: GLboolean): void;\r\nexport declare function depthRange( gl: WebGLRenderingContext, zNear: GLclampf, zFar: GLclampf): void;\r\nexport declare function detachShader( gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\nexport declare function disable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function disableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function drawArrays( gl: WebGLRenderingContext, mode: GLenum, first: GLint, count: GLsizei): void;\r\nexport declare function drawElements( gl: WebGLRenderingContext, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void;\r\n\r\nexport declare function enable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function enableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function finish( gl: WebGLRenderingContext ): void;\r\nexport declare function flush( gl: WebGLRenderingContext ): void;\r\nexport declare function framebufferRenderbuffer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n renderbuffertarget: GLenum,\r\n renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function framebufferTexture2D( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, textarget: GLenum,\r\n texture: WebGLTexture, level: GLint): void;\r\nexport declare function frontFace( gl: WebGLRenderingContext, mode: GLenum): void;\r\n\r\nexport declare function generateMipmap( gl: WebGLRenderingContext, target: GLenum): void;\r\n\r\nexport declare function getActiveAttrib( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getActiveUniform( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getAttachedShaders( gl: WebGLRenderingContext, program: WebGLProgram):sequence;\r\n\r\nexport declare function getAttribLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): GLint;\r\n\r\nexport declare function getBufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getParameter( gl: WebGLRenderingContext, pname: GLenum): externref; // any\r\n\r\nexport declare function getError( gl: WebGLRenderingContext ): GLenum;\r\n\r\nexport declare function getFramebufferAttachmentParameter( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n pname: GLenum): externref; // any\r\nexport declare function getProgramParameter( gl: WebGLRenderingContext, program: WebGLProgram, pname: GLenum): bool; // any\r\nexport declare function getProgramInfoLog( gl: WebGLRenderingContext, program: WebGLProgram): DOMString;\r\nexport declare function getRenderbufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getShaderParameter( gl: WebGLRenderingContext, shader: WebGLShader, pname: GLenum): bool; // any\r\nexport declare function getShaderPrecisionFormat( gl: WebGLRenderingContext, shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat;\r\nexport declare function getShaderInfoLog( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getShaderSource( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getTexParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\n\r\nexport declare function getUniform( gl: WebGLRenderingContext, program: WebGLProgram, location: WebGLUniformLocation): externref; // any\r\n\r\nexport declare function getUniformLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): WebGLUniformLocation;\r\n\r\nexport declare function getVertexAttrib( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): externref; // any\r\n\r\nexport declare function getVertexAttribOffset( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): GLsizeiptr;\r\n\r\nexport declare function hint( gl: WebGLRenderingContext, target: GLenum, mode: GLenum): void;\r\nexport declare function isBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): GLboolean;\r\nexport declare function isEnabled( gl: WebGLRenderingContext, cap: GLenum): GLboolean;\r\nexport declare function isFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): GLboolean;\r\nexport declare function isProgram( gl: WebGLRenderingContext, program: WebGLProgram): GLboolean;\r\nexport declare function isRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): GLboolean;\r\nexport declare function isShader( gl: WebGLRenderingContext, shader: WebGLShader): GLboolean;\r\nexport declare function isTexture( gl: WebGLRenderingContext, texture: WebGLTexture): GLboolean;\r\nexport declare function lineWidth( gl: WebGLRenderingContext, width: GLfloat): void;\r\nexport declare function linkProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function pixelStorei( gl: WebGLRenderingContext, pname: GLenum, param: GLint): void;\r\nexport declare function polygonOffset( gl: WebGLRenderingContext, factor: GLfloat, units: GLfloat): void;\r\n\r\nexport declare function readPixels( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei,\r\n format: GLenum, typ: GLenum, pixels: ArrayBufferView): void;\r\n\r\nexport declare function renderbufferStorage( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\nexport declare function sampleCoverage( gl: WebGLRenderingContext, value: GLclampf, invert: GLboolean): void;\r\nexport declare function scissor( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function shaderSource( gl: WebGLRenderingContext, shader: WebGLShader, source: string): void;\r\n\r\nexport declare function stencilFunc( gl: WebGLRenderingContext, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilFuncSeparate( gl: WebGLRenderingContext, face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilMask( gl: WebGLRenderingContext, mask: GLuint): void;\r\nexport declare function stencilMaskSeparate( gl: WebGLRenderingContext, face: GLenum, mask: GLuint): void;\r\nexport declare function stencilOp( gl: WebGLRenderingContext, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\nexport declare function stencilOpSeparate( gl: WebGLRenderingContext, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\n\r\nexport declare function texImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum,\r\n format: GLenum, typ: GLenum, image: ImageData): void;\r\n\r\nexport declare function texParameterf( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLfloat): void;\r\nexport declare function texParameteri( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLint): void;\r\n\r\nexport declare function texSubImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n format: GLenum, typ: GLenum, pixels: ImageData): void;\r\n\r\nexport declare function uniform1f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat): void;\r\nexport declare function uniform1fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform1i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint): void;\r\nexport declare function uniform1iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform2f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void;\r\nexport declare function uniform2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform2i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint): void;\r\nexport declare function uniform2iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void;\r\n\r\nexport declare function uniform3f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function uniform3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform3i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void;\r\nexport declare function uniform3iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform4f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function uniform4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void;\r\n\r\nexport declare function uniform4i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void;\r\nexport declare function uniform4iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void;\r\n\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function useProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function validateProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\n\r\nexport declare function vertexAttrib1f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat): void;\r\nexport declare function vertexAttrib1fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib2f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat): void;\r\nexport declare function vertexAttrib2fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib3f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function vertexAttrib3fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib4f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function vertexAttrib4fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttribPointer( gl: WebGLRenderingContext, indx: GLint, size: GLint, typ: GLenum,\r\n normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function viewport( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\n// ... WEBGL 2 ...\r\n/* Buffer objects */\r\nexport declare function copyBufferSubData( gl: WebGLRenderingContext, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr,\r\n writeOffset: GLintptr, size: GLsizeiptr): void;\r\n\r\nexport declare function getBufferSubData( gl: WebGLRenderingContext, target: GLenum, srcByteOffset: GLintptr, /*[AllowShared]*/ dstBuffer: ArrayBufferView,\r\n dstOffset: GLuint = 0, length: GLuint = 0): void;\r\n\r\n/* Framebuffer objects */\r\nexport declare function blitFramebuffer( gl: WebGLRenderingContext, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint,\r\n dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\r\nexport declare function framebufferTextureLayer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint,\r\n layer: GLint): void;\r\nexport declare function invalidateFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence): void;\r\nexport declare function invalidateSubFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\nexport declare function readBuffer( gl: WebGLRenderingContext, src: GLenum): void;\r\n\r\n/* Renderbuffer objects */\r\nexport declare function getInternalformatParameter( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, pname: GLenum): externref; // any\r\nexport declare function renderbufferStorageMultisample( gl: WebGLRenderingContext, target: GLenum, samples: GLsizei, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\n\r\n/* Texture objects */\r\nexport declare function texStorage2D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei): void;\r\nexport declare function texStorage3D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei): void;\r\n\r\nexport declare function texImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei,\r\n depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void;\r\n\r\nexport declare function texSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum,\r\n pboOffset: GLintptr):void;\r\n\r\nexport declare function copyTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function compressedTexImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function compressedTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei,\r\n format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\n/* Programs and shaders */\r\nexport declare function getFragDataLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: DOMString): GLint;\r\n\r\n/* Uniforms */\r\nexport declare function uniform1ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint): void;\r\nexport declare function uniform2ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void;\r\nexport declare function uniform3ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void;\r\nexport declare function uniform4ui( gl: WebGLRenderingContext, location:WebGLUniformLocation, v0:GLuint, v1:GLuint, v2:GLuint, v3:GLuint): void;\r\n\r\nexport declare function uniform1uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform2uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform3uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform4uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\n/* Vertex attribs */\r\nexport declare function vertexAttribI4i( gl: WebGLRenderingContext, index:GLuint, x:GLint, y:GLint, z:GLint, w:GLint): void;\r\nexport declare function vertexAttribI4iv( gl: WebGLRenderingContext, index:GLuint, values:Int32List): void;\r\nexport declare function vertexAttribI4ui( gl: WebGLRenderingContext, index:GLuint, x:GLuint, y:GLuint, z:GLuint, w:GLuint): void;\r\nexport declare function vertexAttribI4uiv( gl: WebGLRenderingContext, index:GLuint, values:Uint32List): void;\r\nexport declare function vertexAttribIPointer( gl: WebGLRenderingContext, index:GLuint, size:GLint, typ:GLenum, stride:GLsizei, offset:GLintptr): void;\r\n\r\n/* Writing to the drawing buffer */\r\nexport declare function vertexAttribDivisor( gl: WebGLRenderingContext, index:GLuint, divisor:GLuint): void;\r\nexport declare function drawArraysInstanced( gl: WebGLRenderingContext, mode:GLenum, first:GLint, count:GLsizei, instanceCount:GLsizei): void;\r\nexport declare function drawElementsInstanced( gl: WebGLRenderingContext, mode:GLenum, count:GLsizei, typ:GLenum, offset:GLintptr, instanceCount:GLsizei): void;\r\nexport declare function drawRangeElements( gl: WebGLRenderingContext, mode:GLenum,start:GLuint,end:GLuint,count:GLsizei,typ:GLenum,offset:GLintptr):void;\r\n\r\n/* Multiple Render Targets */\r\nexport declare function drawBuffers( gl: WebGLRenderingContext, buffers: sequence):void;\r\n\r\nexport declare function clearBufferfv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Float32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Int32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferuiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Uint32List,\r\n srcOffset:GLuint = 0):void;\r\n\r\nexport declare function clearBufferfi( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, depth:GLfloat, stencil:GLint): void;\r\n\r\n/* Query Objects */\r\nexport declare function createQuery( gl: WebGLRenderingContext ):WebGLQuery;\r\nexport declare function deleteQuery( gl: WebGLRenderingContext, query: WebGLQuery): void;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isQuery( gl: WebGLRenderingContext, query:WebGLQuery):GLboolean ;\r\nexport declare function beginQuery( gl: WebGLRenderingContext, target:GLenum, query:WebGLQuery): void;\r\nexport declare function endQuery( gl: WebGLRenderingContext, target: GLenum): void;\r\nexport declare function getQuery( gl: WebGLRenderingContext, target:GLenum, pname:GLenum):WebGLQuery;\r\nexport declare function getQueryParameter( gl: WebGLRenderingContext, query:WebGLQuery, pname:GLenum):externref; // any\r\n\r\n/* Sampler Objects */\r\nexport declare function createSampler( gl: WebGLRenderingContext ):WebGLSampler;\r\nexport declare function deleteSampler( gl: WebGLRenderingContext, sampler: WebGLSampler): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isSampler( gl: WebGLRenderingContext, sampler:WebGLSampler):GLboolean;\r\nexport declare function bindSampler( gl: WebGLRenderingContext, unit:GLuint, sampler:WebGLSampler): void;\r\nexport declare function samplerParameteri( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLint): void;\r\nexport declare function samplerParameterf( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLfloat): void;\r\nexport declare function getSamplerParameter( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum):externref; // any\r\n\r\n/* Sync objects */\r\nexport declare function fenceSync( gl: WebGLRenderingContext, condition:GLenum, flags:GLbitfield):WebGLSync;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isSync( gl: WebGLRenderingContext, sync:WebGLSync):GLboolean;\r\nexport declare function deleteSync( gl: WebGLRenderingContext, sync: WebGLSync): void;\r\nexport declare function clientWaitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLuint64):GLenum;\r\nexport declare function waitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLint64): void;\r\nexport declare function getSyncParameter( gl: WebGLRenderingContext, sync:WebGLSync, pname:GLenum):externref; // any\r\n\r\n/* Transform Feedback */\r\nexport declare function createTransformFeedback( gl: WebGLRenderingContext ):WebGLTransformFeedback;\r\nexport declare function deleteTransformFeedback( gl: WebGLRenderingContext, tf: WebGLTransformFeedback): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isTransformFeedback( gl: WebGLRenderingContext, tf:WebGLTransformFeedback):GLboolean;\r\nexport declare function bindTransformFeedback( gl: WebGLRenderingContext, target:GLenum, tf:WebGLTransformFeedback): void;\r\nexport declare function beginTransformFeedback( gl: WebGLRenderingContext, primitiveMode: GLenum): void;\r\nexport declare function endTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function transformFeedbackVaryings( gl: WebGLRenderingContext, program:WebGLProgram, varyings:sequence, bufferMode:GLenum):void;\r\nexport declare function getTransformFeedbackVarying( gl: WebGLRenderingContext, program:WebGLProgram, index:GLuint):WebGLActiveInfo;\r\nexport declare function pauseTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function resumeTransformFeedback( gl: WebGLRenderingContext ):void;\r\n\r\n/* Uniform Buffer Objects and Transform Feedback Buffers */\r\nexport declare function bindBufferBase( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer): void;\r\nexport declare function bindBufferRange( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer, offset:GLintptr, size:GLsizeiptr): void;\r\nexport declare function getIndexedParameter( gl: WebGLRenderingContext, target:GLenum, index:GLuint):externref; // any\r\nexport declare function getUniformIndices( gl: WebGLRenderingContext, program:WebGLProgram, uniformNames:sequence):sequence;\r\nexport declare function getActiveUniforms( gl: WebGLRenderingContext, program:WebGLProgram, uniformIndices:sequence, pname:GLenum):externref; // any\r\nexport declare function getUniformBlockIndex( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockName:DOMString):GLuint;\r\nexport declare function getActiveUniformBlockParameter( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, pname:GLenum):externref; // any\r\nexport declare function getActiveUniformBlockName( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint):DOMString;\r\nexport declare function uniformBlockBinding( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, uniformBlockBinding:GLuint): void;\r\n\r\n/* Vertex Array Objects */\r\nexport declare function createVertexArray( gl: WebGLRenderingContext ):WebGLVertexArrayObject;\r\nexport declare function deleteVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): GLboolean;\r\nexport declare function bindVertexArray( gl: WebGLRenderingContext, array: WebGLVertexArrayObject): void;\r\n","/// \n\nimport { idof } from \"../builtins\";\nimport { CharCode } from \"./string\";\n\n// @ts-ignore: decorator\n@inline\nexport const MAX_DOUBLE_LENGTH = 28;\n\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000,\n 1000000000\n]);\n\n/*\n Lookup table for pairwise char codes in range [0-99]\n\n \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\",\n \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\",\n \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\",\n \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\",\n \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\",\n \"50\", \"51\", \"52\", \"53\", \"54\", \"55\", \"56\", \"57\", \"58\", \"59\",\n \"60\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\",\n \"70\", \"71\", \"72\", \"73\", \"74\", \"75\", \"76\", \"77\", \"78\", \"79\",\n \"80\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\",\n \"90\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"\n*/\n// @ts-ignore: decorator\n@lazy @inline const DIGITS = memory.data([\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\n]);\n\n// Lookup table for pairwise char codes in range [0x00-0xFF]\n// @ts-ignore: decorator\n@lazy @inline const HEX_DIGITS =\n\"000102030405060708090a0b0c0d0e0f\\\n101112131415161718191a1b1c1d1e1f\\\n202122232425262728292a2b2c2d2e2f\\\n303132333435363738393a3b3c3d3e3f\\\n404142434445464748494a4b4c4d4e4f\\\n505152535455565758595a5b5c5d5e5f\\\n606162636465666768696a6b6c6d6e6f\\\n707172737475767778797a7b7c7d7e7f\\\n808182838485868788898a8b8c8d8e8f\\\n909192939495969798999a9b9c9d9e9f\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\";\n\n// @ts-ignore: decorator\n@lazy @inline const ANY_DIGITS = \"0123456789abcdefghijklmnopqrstuvwxyz\";\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\n 907, 933, 960, 986, 1013, 1039, 1066\n/* eslint-enable indent */]);\n\n// 1e-348, 1e-340, ..., 1e340\n// @ts-ignore: decorator\n@lazy @inline const FRC_POWERS = memory.data([\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function isPowerOf2(value: T): bool {\n return popcnt(value) == 1;\n}\n\n// Count number of decimals for u32 values\n// In our case input value always non-zero so we can simplify some parts\nexport function decimalCount32(value: u32): u32 {\n if (value < 100000) {\n if (value < 100) {\n return 1 + u32(value >= 10);\n } else {\n return 3 + u32(value >= 10000) + u32(value >= 1000);\n }\n } else {\n if (value < 10000000) {\n return 6 + u32(value >= 1000000);\n } else {\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\n }\n }\n}\n\n// Count number of decimals for u64 values\n// In our case input value always greater than 2^32-1 so we can skip some parts\nexport function decimalCount64High(value: u64): u32 {\n if (value < 1000000000000000) {\n if (value < 1000000000000) {\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\n } else {\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\n }\n } else {\n if (value < 100000000000000000) {\n return 16 + u32(value >= 10000000000000000);\n } else {\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\n }\n }\n}\n\nfunction ulog_base(num: u64, base: i32): u32 {\n if (isPowerOf2(base)) {\n return (63 - clz(num)) / (31 - clz(base)) + 1;\n }\n var b64 = u64(base), b = b64, e: u32 = 1;\n while (num >= b) {\n num /= b;\n b *= b;\n e <<= 1;\n }\n while (num >= 1) {\n num /= b64;\n e++;\n }\n return e - 1;\n}\n\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\n while (num >= 10000) {\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\n let t = num / 10000;\n let r = num % 10000;\n num = t;\n\n let d1 = r / 100;\n let d2 = r % 100;\n\n let digits1 = load(DIGITS + (d1 << alignof()));\n let digits2 = load(DIGITS + (d2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n if (num >= 100) {\n let t = num / 100;\n let d1 = num % 100;\n num = t;\n offset -= 2;\n let digits = load(DIGITS + (d1 << alignof()));\n store(buffer + (offset << 1), digits);\n }\n\n if (num >= 10) {\n offset -= 2;\n let digits = load(DIGITS + (num << alignof()));\n store(buffer + (offset << 1), digits);\n } else {\n offset -= 1;\n let digit = CharCode._0 + num;\n store(buffer + (offset << 1), digit);\n }\n}\n\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\n while (num >= 100000000) {\n let t = num / 100000000;\n let r = (num - t * 100000000);\n num = t;\n\n let b = r / 10000;\n let c = r % 10000;\n\n let b1 = b / 100;\n let b2 = b % 100;\n let c1 = c / 100;\n let c2 = c % 100;\n\n let digits1 = load(DIGITS + (c1 << alignof()));\n let digits2 = load(DIGITS + (c2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n\n digits1 = load(DIGITS + (b1 << alignof()));\n digits2 = load(DIGITS + (b2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n utoa32_dec_lut(buffer, num, offset);\n}\n\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\n const lut = changetype(HEX_DIGITS);\n while (offset >= 2) {\n offset -= 2;\n store(\n buffer + (offset << 1),\n load(lut + ((num & 0xFF) << alignof()))\n );\n num >>= 8;\n }\n if (offset & 1) {\n store(buffer, load(lut + (num << 6)));\n }\n}\n\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let t = num / 10;\n let r = (num % 10);\n num = changetype(t);\n offset--;\n store(buffer + (offset << 1), CharCode._0 + r);\n } while (num);\n}\n\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let d = num & 0x0F | CharCode._0;\n d += select(0x27, 0, d > CharCode._9);\n offset--;\n store(buffer + (offset << 1), d);\n // @ts-ignore: type\n num >>= 4;\n } while (num);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa32_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa64_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\n const lut = changetype(ANY_DIGITS);\n var base = u64(radix);\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\n let shift = u64(ctz(radix) & 7);\n let mask = base - 1;\n do {\n offset--;\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\n num >>= shift;\n } while (num);\n } else {\n do {\n offset--;\n let q = num / base;\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\n num = q;\n } while (num);\n }\n}\n\nexport function utoa32(value: u32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa32(value: i32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = value >>> 31;\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let val32 = u32(value);\n let decimals = ulog_base(val32, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, val32, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\nexport function utoa64(value: u64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa64(value: i64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = u32(value >>> 63);\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value) + sign;\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\n// @ts-ignore: decorator\n@lazy var _K: i32 = 0;\n\n// // @ts-ignore: decorator\n// @lazy\n// var _frc: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp: i32 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_minus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_plus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_pow: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp_pow: i32 = 0;\n\n// @ts-ignore: decorator\n@inline\nfunction umul64f(u: u64, v: u64): u64 {\n var u0 = u & 0xFFFFFFFF;\n var v0 = v & 0xFFFFFFFF;\n\n var u1 = u >> 32;\n var v1 = v >> 32;\n\n var l = u0 * v0;\n var t = u1 * v0 + (l >> 32);\n var w = u0 * v1 + (t & 0xFFFFFFFF);\n\n w += 0x7FFFFFFF; // rounding\n\n t >>= 32;\n w >>= 32;\n\n return u1 * v1 + t + w;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction umul64e(e1: i32, e2: i32): i32 {\n return e1 + e2 + 64; // where 64 is significand size\n}\n\n// @ts-ignore: decorator\n@inline\nfunction normalizedBoundaries(f: u64, e: i32): void {\n var frc = (f << 1) + 1;\n var exp = e - 1;\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var m = 1 + i32(f == 0x0010000000000000);\n\n _frc_plus = frc;\n _frc_minus = ((f << m) - 1) << e - m - exp;\n _exp = exp;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\n var lastp = buffer + ((len - 1) << 1);\n var digit = load(lastp);\n while (\n rest < wp_w &&\n delta - rest >= ten_kappa && (\n rest + ten_kappa < wp_w ||\n wp_w - rest > rest + ten_kappa - wp_w\n )\n ) {\n --digit;\n rest += ten_kappa;\n }\n store(lastp, digit);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction getCachedPower(minExp: i32): void {\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\n var dk = (-61 - minExp) * c + 347;\t // dk must be positive, so can do ceiling in positive\n var k = dk;\n k += i32(k != dk); // conversion with ceil\n\n var index = (k >> 3) + 1;\n _K = 348 - (index << 3);\t// decimal exponent no need lookup table\n _frc_pow = load(FRC_POWERS + (index << alignof()));\n _exp_pow = load(EXP_POWERS + (index << alignof()));\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\n\n // frexp routine\n var uv = reinterpret(value);\n var exp = i32((uv & 0x7FF0000000000000) >>> 52);\n var sid = uv & 0x000FFFFFFFFFFFFF;\n var frc = (u64(exp != 0) << 52) + sid;\n exp = select(exp, 1, exp) - (0x3FF + 52);\n\n normalizedBoundaries(frc, exp);\n getCachedPower(_exp);\n\n // normalize\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var frc_pow = _frc_pow;\n var exp_pow = _exp_pow;\n\n var w_frc = umul64f(frc, frc_pow);\n var w_exp = umul64e(exp, exp_pow);\n\n var wp_frc = umul64f(_frc_plus, frc_pow) - 1;\n var wp_exp = umul64e(_exp, exp_pow);\n\n var wm_frc = umul64f(_frc_minus, frc_pow) + 1;\n var delta = wp_frc - wm_frc;\n\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\n}\n\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\n var one_exp = -mp_exp;\n var one_frc = (1) << one_exp;\n var mask = one_frc - 1;\n\n var wp_w_frc = mp_frc - w_frc;\n\n var p1 = u32(mp_frc >> one_exp);\n var p2 = mp_frc & mask;\n\n var kappa = decimalCount32(p1);\n var len = sign;\n\n while (kappa > 0) {\n let d: u32;\n switch (kappa) {\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\n case 3: { d = p1 / 100; p1 %= 100; break; }\n case 2: { d = p1 / 10; p1 %= 10; break; }\n case 1: { d = p1; p1 = 0; break; }\n default: { d = 0; break; }\n }\n\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n --kappa;\n let tmp = ((p1) << one_exp) + p2;\n if (tmp <= delta) {\n _K += kappa;\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\n return len;\n }\n }\n\n while (true) {\n p2 *= 10;\n delta *= 10;\n\n let d = p2 >> one_exp;\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n p2 &= mask;\n --kappa;\n if (p2 < delta) {\n _K += kappa;\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\n return len;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction genExponent(buffer: usize, k: i32): i32 {\n var sign = k < 0;\n if (sign) k = -k;\n var decimals = decimalCount32(k) + 1;\n utoa32_dec_core(buffer, k, decimals);\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\n return decimals;\n}\n\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\n if (!k) {\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\n return length + 2;\n }\n\n var kk = length + k;\n if (length <= kk && kk <= 21) {\n // 1234e7 -> 12340000000\n for (let i = length; i < kk; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\n return kk + 2;\n } else if (kk > 0 && kk <= 21) {\n // 1234e-2 -> 12.34\n let ptr = buffer + (kk << 1);\n memory.copy(\n ptr + 2,\n ptr,\n -k << 1\n );\n store(buffer + (kk << 1), CharCode.DOT);\n return length + 1;\n } else if (-6 < kk && kk <= 0) {\n // 1234e-6 -> 0.001234\n let offset = 2 - kk;\n memory.copy(\n buffer + (offset << 1),\n buffer,\n length << 1\n );\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\n for (let i = 2; i < offset; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n return length + offset;\n } else if (length == 1) {\n // 1e30\n store(buffer, CharCode.e, 2);\n length = genExponent(buffer + 4, kk - 1);\n return length + 2;\n } else {\n let len = length << 1;\n memory.copy(\n buffer + 4,\n buffer + 2,\n len - 2\n );\n store(buffer, CharCode.DOT, 2);\n store(buffer + len, CharCode.e, 2);\n length += genExponent(buffer + len + 4, kk - 1);\n return length + 2;\n }\n}\n\nfunction dtoa_core(buffer: usize, value: f64): i32 {\n var sign = i32(value < 0);\n if (sign) {\n value = -value;\n store(buffer, CharCode.MINUS);\n }\n // assert(value > 0 && value <= 1.7976931348623157e308);\n var len = grisu2(value, buffer, sign);\n len = prettify(buffer + (sign << 1), len - sign, _K);\n return len + sign;\n}\n\n// @ts-ignore: decorator\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\n\nexport function dtoa(value: f64): String {\n if (value == 0) return \"0.0\";\n if (!isFinite(value)) {\n if (isNaN(value)) return \"NaN\";\n return select(\"-Infinity\", \"Infinity\", value < 0);\n }\n var size = dtoa_core(dtoa_buf, value) << 1;\n var result = __new(size, idof());\n memory.copy(result, dtoa_buf, size);\n return changetype(result);\n}\n\nexport function itoa_buffered(buffer: usize, value: T): u32 {\n var sign: u32 = 0;\n if (isSigned()) {\n sign = u32(value < 0);\n if (sign) {\n value = changetype(-value);\n store(buffer, CharCode.MINUS);\n }\n }\n if (ASC_SHRINK_LEVEL <= 1) {\n if (isSigned()) {\n if (sizeof() <= 4) {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n } else {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n }\n } else {\n if (value < 10) {\n store(buffer, value | CharCode._0);\n return 1;\n }\n }\n }\n var decimals = sign;\n if (sizeof() <= 4) {\n decimals += decimalCount32(value);\n utoa32_dec_core(buffer, value, decimals);\n } else {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n decimals += decimalCount32(val32);\n utoa32_dec_core(buffer, val32, decimals);\n } else {\n decimals += decimalCount64High(value);\n utoa64_dec_core(buffer, value, decimals);\n }\n }\n return decimals;\n}\n\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\n if (value == 0) {\n store(buffer, CharCode._0);\n store(buffer, CharCode.DOT, 2);\n store(buffer, CharCode._0, 4);\n return 3;\n }\n if (!isFinite(value)) {\n if (isNaN(value)) {\n store(buffer, CharCode.N);\n store(buffer, CharCode.a, 2);\n store(buffer, CharCode.N, 4);\n return 3;\n } else {\n let sign = value < 0;\n if (sign) {\n store(buffer, CharCode.MINUS); // -\n buffer += 2;\n }\n store(buffer, 0x690066006E0049, 0); // ifnI\n store(buffer, 0x7900740069006E, 8); // ytin\n return 8 + u32(sign);\n }\n }\n return dtoa_core(buffer, value);\n}\n","//\n// Lookup data for exp2f\n//\n\n// @ts-ignore: decorator\n@inline const EXP2F_TABLE_BITS = 5;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\n // used for computing 2^(k/N) for an int |k| < 150 N as\n // double(tab[k%N] + (k << 52-BITS))\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\n]);\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function exp2f_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\n Ox127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x430) {\n // |x| >= 128 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\n }\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\n var kd = xd + shift;\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n y = C2 * r + 1;\n y += (C0 * r + C1) * (r * r);\n y *= s;\n\n return y;\n}\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function expf_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\n Ox1p127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x42B) {\n // |x| >= 88 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\n }\n\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\n var z = InvLn2N * xd;\n\n // Round and convert z to int, the result is in [-150*N, 128*N] and\n // ideally ties-to-even rule is used, otherwise the magnitude of r\n // can be bigger which gives larger approximation error.\n var kd = (z + shift);\n var ki = reinterpret(kd);\n var r = z - (kd - shift);\n var s: f64, y: f64, t: u64;\n\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n\n return y;\n}\n\n//\n// Lookup data for log2f\n//\n\n// @ts-ignore: decorator\n@inline const LOG2F_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFDEFEC65B963019), // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFDB0B6832D4FCA4), // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD7418B0A1FB77B), // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFD39DE91A6DCF7B), // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFD01D9BF3F2B631), // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC97C1D1B3B7AF0), // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFC2F9E393AF3C9F), // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB960CBBF788D5C), // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFAA6F9DB6475FCE), // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0x0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FB338CA9F24F53D), // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FC476A9543891BA), // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FCE840B4AC4E4D2), // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FD40645F0C6651C), // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD88E9C2C1B9FF8), // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FDCE0A44EB17BCC) // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\n]);\n\n// ULP error: 0.752 (nearest rounding.)\n// Relative error: 1.9 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function log2f_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if (ux * 2 == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\n var top = tmp & 0xFF800000;\n var iz = ux - top;\n var k = tmp >> 23;\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(iz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A1 * r + A2;\n var p = A3 * r + y0;\n var r2 = r * r;\n y += A0 * r2;\n y = y * r2 + p;\n\n return y;\n}\n\n//\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\n//\n\n// @ts-ignore: decorator\n@inline const LOGF_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOGF_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFD57BF7808CAADE), // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFD2BEF0A7C06DDB), // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD01EAE7F513A67), // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFCB31D8A68224E9), // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFC6574F0AC07758), // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC1AA2BC79C8100), // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFBA4E76CE8C0E5E), // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB1973C5A611CCC), // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFA252F438E10C1E), // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FAAA5AA5DF25984), // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FBC5E53AA362EB4), // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FC526E57720DB08), // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FCBC2860D224770), // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD1058BC8A07EE1), // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FD4043057B6EE09) // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\n]);\n\n// ULP error: 0.818 (nearest rounding.)\n// Relative error: 1.957 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function logf_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if ((ux << 1) == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log(inf) == inf.\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\n var k = tmp >> 23;\n var iz = ux - (tmp & 0x1FF << 23);\n\n var invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\n var r = z * invc - 1;\n var y0 = logc + k * Ln2;\n\n // Pipelined polynomial evaluation to approximate log1p(r).\n var r2 = r * r;\n var y = A1 * r + A2;\n y += A0 * r2;\n y = y * r2 + (y0 + r);\n\n return y;\n}\n\n//\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\n//\n\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnanf(ux: u32): bool {\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\n}\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkintf(iy: u32): i32 {\n var e = iy >> 23 & 0xFF;\n if (e < 0x7F ) return 0;\n if (e > 0x7F + 23) return 2;\n e = 1 << (0x7F + 23 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// Subnormal input is normalized so ix has negative biased exponent.\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\n// @ts-ignore: decorator\n@inline\nfunction log2f_inline(ux: u32): f64 {\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\n\n const\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\n\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = ((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\n var top = tmp & 0xFF800000;\n var uz = ux - top;\n var k = (top >> 23);\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(uz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A0 * r + A1;\n var p = A2 * r + A3;\n var q = A4 * r + y0;\n\n r *= r;\n q += p * r;\n y = y * (r * r) + q;\n\n return y;\n}\n\n// The output of log2 and thus the input of exp2 is either scaled by N\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\n// in [-1021,1023], sign_bias sets the sign of the result.\n// @ts-ignore: decorator\n@inline\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\n var kd = (xd + shift);\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, z: f64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n return y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflowf(sign: u32, y: f32): f32 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\n}\n\n// @ts-ignore: decorator\n@inline\nexport function powf_lut(x: f32, y: f32): f32 {\n const\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\n LOWER_LIMIT = -150.0,\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\n\n var signBias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var ny = 0;\n\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\n if (ny) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3F800000) return NaN; // original: 1.0\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\n return y * y;\n }\n if (zeroinfnanf(ix)) {\n let x2 = x * x;\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\n return iy >> 31 ? 1 / x2 : x2;\n }\n // x and y are non-zero finite.\n if (ix >> 31) {\n // Finite x < 0.\n let yint = checkintf(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) signBias = SIGN_BIAS;\n ix &= 0x7FFFFFFF;\n }\n if (ix < 0x00800000) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p23f);\n ix &= 0x7FFFFFFF;\n ix -= 23 << 23;\n }\n }\n var logx = log2f_inline(ix);\n var ylogx = y * logx; // cannot overflow, y is single prec.\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\n // |y * log(x)| >= 126\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\n }\n return exp2f_inline(ylogx, signBias);\n}\n\n//\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\n//\n\n// @ts-ignore: decorator\n@inline const EXP_TABLE_BITS = 7;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_DATA_TAB = memory.data([\n 0x0000000000000000, 0x3FF0000000000000,\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\n]);\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\n const\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\n\n var scale: f64;\n if (!(ki & 0x80000000)) {\n // k > 0, the exponent of scale might have overflowed by <= 460.\n sbits -= u64(1009) << 52;\n scale = reinterpret(sbits);\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\n }\n // k < 0, need special care in the subnormal range.\n sbits += u64(1022) << 52;\n // Note: sbits is signed scale.\n scale = reinterpret(sbits);\n var y = scale + scale * tmp;\n if (abs(y) < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let one = copysign(1.0, y);\n let lo = scale - y + scale * tmp;\n let hi = one + y;\n lo = one - hi + y + lo;\n y = (hi + lo) - one;\n // Fix the sign of 0.\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7FF);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n return select(0, Infinity, ux >> 63);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\n var z = InvLn2N * x;\n // #if TOINT_INTRINSICS\n // \tkd = roundtoint(z);\n // \tki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // \t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // var kd = z + shift;\n // var ki = reinterpret(kd) >> 16;\n // var kd = ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes.\n var kd = z + shift;\n var ki = reinterpret(kd);\n kd -= shift;\n // #endif\n var r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // 2^(k/N) ~= scale * (1 + tail).\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n var r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n//\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\n//\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\n var scale: f64;\n if ((ki & 0x80000000) == 0) {\n // k > 0, the exponent of scale might have overflowed by 1\n sbits -= u64(1) << 52;\n scale = reinterpret(sbits);\n return 2 * (scale * tmp + scale);\n }\n // k < 0, need special care in the subnormal range\n sbits += u64(1022) << 52;\n scale = reinterpret(sbits);\n var y = scale * tmp + scale;\n if (y < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let hi: f64, lo: f64;\n lo = scale - y + scale * tmp;\n hi = 1.0 + y;\n lo = 1.0 - hi + y + lo;\n y = (hi + lo) - 1.0;\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp2_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\n\n const\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7ff);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n if (!(ux >> 63)) return Infinity;\n else if (ux >= 0xC090CC0000000000) return 0;\n }\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\n }\n\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\n var kd = x + shift;\n var ki = reinterpret(kd);\n kd -= shift; // k/N for int k\n var r = x - kd;\n // 2^(k/N) ~= scale * (1 + tail)\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r;\n // Without fma the worst case error is 0.5/N ulp larger.\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\n // is no spurious underflow here even without fma.\n return scale * tmp + scale;\n}\n\n//\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG2_TABLE_BITS = 6;\n\n/* Algorithm:\n\n x = 2^k z\n log2(x) = k + log2(c) + log2(z/c)\n log2(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log2(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p10 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\n\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF724286BB1ACF8), reinterpret(0xBFE1095FEECDB000),\n reinterpret(0x3FF6E1F766D2CCA1), reinterpret(0xBFE08494BD76D000),\n reinterpret(0x3FF6A13D0E30D48A), reinterpret(0xBFE00143AEE8F800),\n reinterpret(0x3FF661EC32D06C85), reinterpret(0xBFDEFEC5360B4000),\n reinterpret(0x3FF623FA951198F8), reinterpret(0xBFDDFDD91AB7E000),\n reinterpret(0x3FF5E75BA4CF026C), reinterpret(0xBFDCFFAE0CC79000),\n reinterpret(0x3FF5AC055A214FB8), reinterpret(0xBFDC043811FDA000),\n reinterpret(0x3FF571ED0F166E1E), reinterpret(0xBFDB0B67323AE000),\n reinterpret(0x3FF53909590BF835), reinterpret(0xBFDA152F5A2DB000),\n reinterpret(0x3FF5014FED61ADDD), reinterpret(0xBFD9217F5AF86000),\n reinterpret(0x3FF4CAB88E487BD0), reinterpret(0xBFD8304DB0719000),\n reinterpret(0x3FF49539B4334FEE), reinterpret(0xBFD74189F9A9E000),\n reinterpret(0x3FF460CBDFAFD569), reinterpret(0xBFD6552BB5199000),\n reinterpret(0x3FF42D664EE4B953), reinterpret(0xBFD56B23A29B1000),\n reinterpret(0x3FF3FB01111DD8A6), reinterpret(0xBFD483650F5FA000),\n reinterpret(0x3FF3C995B70C5836), reinterpret(0xBFD39DE937F6A000),\n reinterpret(0x3FF3991C4AB6FD4A), reinterpret(0xBFD2BAA1538D6000),\n reinterpret(0x3FF3698E0CE099B5), reinterpret(0xBFD1D98340CA4000),\n reinterpret(0x3FF33AE48213E7B2), reinterpret(0xBFD0FA853A40E000),\n reinterpret(0x3FF30D191985BDB1), reinterpret(0xBFD01D9C32E73000),\n reinterpret(0x3FF2E025CAB271D7), reinterpret(0xBFCE857DA2FA6000),\n reinterpret(0x3FF2B404CF13CD82), reinterpret(0xBFCCD3C8633D8000),\n reinterpret(0x3FF288B02C7CCB50), reinterpret(0xBFCB26034C14A000),\n reinterpret(0x3FF25E2263944DE5), reinterpret(0xBFC97C1C2F4FE000),\n reinterpret(0x3FF234563D8615B1), reinterpret(0xBFC7D6023F800000),\n reinterpret(0x3FF20B46E33EAF38), reinterpret(0xBFC633A71A05E000),\n reinterpret(0x3FF1E2EEFDCDA3DD), reinterpret(0xBFC494F5E9570000),\n reinterpret(0x3FF1BB4A580B3930), reinterpret(0xBFC2F9E424E0A000),\n reinterpret(0x3FF19453847F2200), reinterpret(0xBFC162595AFDC000),\n reinterpret(0x3FF16E06C0D5D73C), reinterpret(0xBFBF9C9A75BD8000),\n reinterpret(0x3FF1485F47B7E4C2), reinterpret(0xBFBC7B575BF9C000),\n reinterpret(0x3FF12358AD0085D1), reinterpret(0xBFB960C60FF48000),\n reinterpret(0x3FF0FEF00F532227), reinterpret(0xBFB64CE247B60000),\n reinterpret(0x3FF0DB2077D03A8F), reinterpret(0xBFB33F78B2014000),\n reinterpret(0x3FF0B7E6D65980D9), reinterpret(0xBFB0387D1A42C000),\n reinterpret(0x3FF0953EFE7B408D), reinterpret(0xBFAA6F9208B50000),\n reinterpret(0x3FF07325CAC53B83), reinterpret(0xBFA47A954F770000),\n reinterpret(0x3FF05197E40D1B5C), reinterpret(0xBF9D23A8C50C0000),\n reinterpret(0x3FF03091C1208EA2), reinterpret(0xBF916A2629780000),\n reinterpret(0x3FF0101025B37E21), reinterpret(0xBF7720F8D8E80000),\n reinterpret(0x3FEFC07EF9CAA76B), reinterpret(0x3F86FE53B1500000),\n reinterpret(0x3FEF4465D3F6F184), reinterpret(0x3FA11CCCE10F8000),\n reinterpret(0x3FEECC079F84107F), reinterpret(0x3FAC4DFC8C8B8000),\n reinterpret(0x3FEE573A99975AE8), reinterpret(0x3FB3AA321E574000),\n reinterpret(0x3FEDE5D6F0BD3DE6), reinterpret(0x3FB918A0D08B8000),\n reinterpret(0x3FED77B681FF38B3), reinterpret(0x3FBE72E9DA044000),\n reinterpret(0x3FED0CB5724DE943), reinterpret(0x3FC1DCD2507F6000),\n reinterpret(0x3FECA4B2DC0E7563), reinterpret(0x3FC476AB03DEA000),\n reinterpret(0x3FEC3F8EE8D6CB51), reinterpret(0x3FC7074377E22000),\n reinterpret(0x3FEBDD2B4F020C4C), reinterpret(0x3FC98EDE8BA94000),\n reinterpret(0x3FEB7D6C006015CA), reinterpret(0x3FCC0DB86AD2E000),\n reinterpret(0x3FEB20366E2E338F), reinterpret(0x3FCE840AAFCEE000),\n reinterpret(0x3FEAC57026295039), reinterpret(0x3FD0790AB4678000),\n reinterpret(0x3FEA6D01BC2731DD), reinterpret(0x3FD1AC056801C000),\n reinterpret(0x3FEA16D3BC3FF18B), reinterpret(0x3FD2DB11D4FEE000),\n reinterpret(0x3FE9C2D14967FEAD), reinterpret(0x3FD406464EC58000),\n reinterpret(0x3FE970E4F47C9902), reinterpret(0x3FD52DBE093AF000),\n reinterpret(0x3FE920FB3982BCF2), reinterpret(0x3FD651902050D000),\n reinterpret(0x3FE8D30187F759F1), reinterpret(0x3FD771D2CDEAF000),\n reinterpret(0x3FE886E5EBB9F66D), reinterpret(0x3FD88E9C857D9000),\n reinterpret(0x3FE83C97B658B994), reinterpret(0x3FD9A80155E16000),\n reinterpret(0x3FE7F405FFC61022), reinterpret(0x3FDABE186ED3D000),\n reinterpret(0x3FE7AD22181415CA), reinterpret(0x3FDBD0F2AEA0E000),\n reinterpret(0x3FE767DCF99EFF8C), reinterpret(0x3FDCE0A43DBF4000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE6200012B90A8E), reinterpret(0x3C8904AB0644B605),\n reinterpret(0x3FE66000045734A6), reinterpret(0x3C61FF9BEA62F7A9),\n reinterpret(0x3FE69FFFC325F2C5), reinterpret(0x3C827ECFCB3C90BA),\n reinterpret(0x3FE6E00038B95A04), reinterpret(0x3C88FF8856739326),\n reinterpret(0x3FE71FFFE09994E3), reinterpret(0x3C8AFD40275F82B1),\n reinterpret(0x3FE7600015590E10), reinterpret(0xBC72FD75B4238341),\n reinterpret(0x3FE7A00012655BD5), reinterpret(0x3C7808E67C242B76),\n reinterpret(0x3FE7E0003259E9A6), reinterpret(0xBC6208E426F622B7),\n reinterpret(0x3FE81FFFEDB4B2D2), reinterpret(0xBC8402461EA5C92F),\n reinterpret(0x3FE860002DFAFCC3), reinterpret(0x3C6DF7F4A2F29A1F),\n reinterpret(0x3FE89FFFF78C6B50), reinterpret(0xBC8E0453094995FD),\n reinterpret(0x3FE8E00039671566), reinterpret(0xBC8A04F3BEC77B45),\n reinterpret(0x3FE91FFFE2BF1745), reinterpret(0xBC77FA34400E203C),\n reinterpret(0x3FE95FFFCC5C9FD1), reinterpret(0xBC76FF8005A0695D),\n reinterpret(0x3FE9A0003BBA4767), reinterpret(0x3C70F8C4C4EC7E03),\n reinterpret(0x3FE9DFFFE7B92DA5), reinterpret(0x3C8E7FD9478C4602),\n reinterpret(0x3FEA1FFFD72EFDAF), reinterpret(0xBC6A0C554DCDAE7E),\n reinterpret(0x3FEA5FFFDE04FF95), reinterpret(0x3C867DA98CE9B26B),\n reinterpret(0x3FEA9FFFCA5E8D2B), reinterpret(0xBC8284C9B54C13DE),\n reinterpret(0x3FEADFFFDDAD03EA), reinterpret(0x3C5812C8EA602E3C),\n reinterpret(0x3FEB1FFFF10D3D4D), reinterpret(0xBC8EFADDAD27789C),\n reinterpret(0x3FEB5FFFCE21165A), reinterpret(0x3C53CB1719C61237),\n reinterpret(0x3FEB9FFFD950E674), reinterpret(0x3C73F7D94194CE00),\n reinterpret(0x3FEBE000139CA8AF), reinterpret(0x3C750AC4215D9BC0),\n reinterpret(0x3FEC20005B46DF99), reinterpret(0x3C6BEEA653E9C1C9),\n reinterpret(0x3FEC600040B9F7AE), reinterpret(0xBC7C079F274A70D6),\n reinterpret(0x3FECA0006255FD8A), reinterpret(0xBC7A0B4076E84C1F),\n reinterpret(0x3FECDFFFD94C095D), reinterpret(0x3C88F933F99AB5D7),\n reinterpret(0x3FED1FFFF975D6CF), reinterpret(0xBC582C08665FE1BE),\n reinterpret(0x3FED5FFFA2561C93), reinterpret(0xBC7B04289BD295F3),\n reinterpret(0x3FED9FFF9D228B0C), reinterpret(0x3C870251340FA236),\n reinterpret(0x3FEDE00065BC7E16), reinterpret(0xBC75011E16A4D80C),\n reinterpret(0x3FEE200002F64791), reinterpret(0x3C89802F09EF62E0),\n reinterpret(0x3FEE600057D7A6D8), reinterpret(0xBC7E0B75580CF7FA),\n reinterpret(0x3FEEA00027EDC00C), reinterpret(0xBC8C848309459811),\n reinterpret(0x3FEEE0006CF5CB7C), reinterpret(0xBC8F8027951576F4),\n reinterpret(0x3FEF2000782B7DCC), reinterpret(0xBC8F81D97274538F),\n reinterpret(0x3FEF6000260C450A), reinterpret(0xBC4071002727FFDC),\n reinterpret(0x3FEF9FFFE88CD533), reinterpret(0xBC581BDCE1FDA8B0),\n reinterpret(0x3FEFDFFFD50F8689), reinterpret(0x3C87F91ACB918E6E),\n reinterpret(0x3FF0200004292367), reinterpret(0x3C9B7FF365324681),\n reinterpret(0x3FF05FFFE3E3D668), reinterpret(0x3C86FA08DDAE957B),\n reinterpret(0x3FF0A0000A85A757), reinterpret(0xBC57E2DE80D3FB91),\n reinterpret(0x3FF0E0001A5F3FCC), reinterpret(0xBC91823305C5F014),\n reinterpret(0x3FF11FFFF8AFBAF5), reinterpret(0xBC8BFABB6680BAC2),\n reinterpret(0x3FF15FFFE54D91AD), reinterpret(0xBC9D7F121737E7EF),\n reinterpret(0x3FF1A00011AC36E1), reinterpret(0x3C9C000A0516F5FF),\n reinterpret(0x3FF1E00019C84248), reinterpret(0xBC9082FBE4DA5DA0),\n reinterpret(0x3FF220000FFE5E6E), reinterpret(0xBC88FDD04C9CFB43),\n reinterpret(0x3FF26000269FD891), reinterpret(0x3C8CFE2A7994D182),\n reinterpret(0x3FF2A00029A6E6DA), reinterpret(0xBC700273715E8BC5),\n reinterpret(0x3FF2DFFFE0293E39), reinterpret(0x3C9B7C39DAB2A6F9),\n reinterpret(0x3FF31FFFF7DCF082), reinterpret(0x3C7DF1336EDC5254),\n reinterpret(0x3FF35FFFF05A8B60), reinterpret(0xBC9E03564CCD31EB),\n reinterpret(0x3FF3A0002E0EAECC), reinterpret(0x3C75F0E74BD3A477),\n reinterpret(0x3FF3E000043BB236), reinterpret(0x3C9C7DCB149D8833),\n reinterpret(0x3FF4200002D187FF), reinterpret(0x3C7E08AFCF2D3D28),\n reinterpret(0x3FF460000D387CB1), reinterpret(0x3C820837856599A6),\n reinterpret(0x3FF4A00004569F89), reinterpret(0xBC89FA5C904FBCD2),\n reinterpret(0x3FF4E000043543F3), reinterpret(0xBC781125ED175329),\n reinterpret(0x3FF51FFFCC027F0F), reinterpret(0x3C9883D8847754DC),\n reinterpret(0x3FF55FFFFD87B36F), reinterpret(0xBC8709E731D02807),\n reinterpret(0x3FF59FFFF21DF7BA), reinterpret(0x3C87F79F68727B02),\n reinterpret(0x3FF5DFFFEBFC3481), reinterpret(0xBC9180902E30E93E)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log2_lut(x: f64): f64 {\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\n\n const\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\n\n const\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n const\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\n\n const\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n // #if __FP_FAST_FMA\n // hi = r * InvLn2hi;\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\n // #else\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let hi = rhi * InvLn2hi;\n let lo = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n let r2 = r * r; // rounding error: 0x1p-62\n let r4 = r2 * r2;\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\n let p = r2 * (B0 + r * B1);\n let y = hi + p;\n lo += hi - y + p;\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\n return y + lo;\n }\n var top = (ix >> 48);\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan.\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & 0xFFF0000000000000);\n\n var invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n var kd = k;\n\n // log2(x) = log2(z/c) + log2(c) + k.\n // r ~= z/c - 1, |r| < 1/(2*N).\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N.\n // \tr = __builtin_fma(z, invc, -1.0);\n // \tt1 = r * InvLn2hi;\n // \tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-65.\n var chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\n var clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\n\n var r = (z - chi - clo) * invc;\n var rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n var rlo = r - rhi;\n var t1 = rhi * InvLn2hi;\n var t2 = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n\n // hi + lo = r/ln2 + log2(c) + k\n var t3 = kd + logc;\n var hi = t3 + t1;\n var lo = t3 - hi + t1 + t2;\n\n // log2(r+1) = r/ln2 + r^2*poly(r)\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\n var p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\n return lo + r2 * p + hi;\n}\n\n//\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p9 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\n\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF734F0C3E0DE9F), reinterpret(0xBFD7CC7F79E69000),\n reinterpret(0x3FF713786A2CE91F), reinterpret(0xBFD76FEEC20D0000),\n reinterpret(0x3FF6F26008FAB5A0), reinterpret(0xBFD713E31351E000),\n reinterpret(0x3FF6D1A61F138C7D), reinterpret(0xBFD6B85B38287800),\n reinterpret(0x3FF6B1490BC5B4D1), reinterpret(0xBFD65D5590807800),\n reinterpret(0x3FF69147332F0CBA), reinterpret(0xBFD602D076180000),\n reinterpret(0x3FF6719F18224223), reinterpret(0xBFD5A8CA86909000),\n reinterpret(0x3FF6524F99A51ED9), reinterpret(0xBFD54F4356035000),\n reinterpret(0x3FF63356AA8F24C4), reinterpret(0xBFD4F637C36B4000),\n reinterpret(0x3FF614B36B9DDC14), reinterpret(0xBFD49DA7FDA85000),\n reinterpret(0x3FF5F66452C65C4C), reinterpret(0xBFD445923989A800),\n reinterpret(0x3FF5D867B5912C4F), reinterpret(0xBFD3EDF439B0B800),\n reinterpret(0x3FF5BABCCB5B90DE), reinterpret(0xBFD396CE448F7000),\n reinterpret(0x3FF59D61F2D91A78), reinterpret(0xBFD3401E17BDA000),\n reinterpret(0x3FF5805612465687), reinterpret(0xBFD2E9E2EF468000),\n reinterpret(0x3FF56397CEE76BD3), reinterpret(0xBFD2941B3830E000),\n reinterpret(0x3FF54725E2A77F93), reinterpret(0xBFD23EC58CDA8800),\n reinterpret(0x3FF52AFF42064583), reinterpret(0xBFD1E9E129279000),\n reinterpret(0x3FF50F22DBB2BDDF), reinterpret(0xBFD1956D2B48F800),\n reinterpret(0x3FF4F38F4734DED7), reinterpret(0xBFD141679AB9F800),\n reinterpret(0x3FF4D843CFDE2840), reinterpret(0xBFD0EDD094EF9800),\n reinterpret(0x3FF4BD3EC078A3C8), reinterpret(0xBFD09AA518DB1000),\n reinterpret(0x3FF4A27FC3E0258A), reinterpret(0xBFD047E65263B800),\n reinterpret(0x3FF4880524D48434), reinterpret(0xBFCFEB224586F000),\n reinterpret(0x3FF46DCE1B192D0B), reinterpret(0xBFCF474A7517B000),\n reinterpret(0x3FF453D9D3391854), reinterpret(0xBFCEA4443D103000),\n reinterpret(0x3FF43A2744B4845A), reinterpret(0xBFCE020D44E9B000),\n reinterpret(0x3FF420B54115F8FB), reinterpret(0xBFCD60A22977F000),\n reinterpret(0x3FF40782DA3EF4B1), reinterpret(0xBFCCC00104959000),\n reinterpret(0x3FF3EE8F5D57FE8F), reinterpret(0xBFCC202956891000),\n reinterpret(0x3FF3D5D9A00B4CE9), reinterpret(0xBFCB81178D811000),\n reinterpret(0x3FF3BD60C010C12B), reinterpret(0xBFCAE2C9CCD3D000),\n reinterpret(0x3FF3A5242B75DAB8), reinterpret(0xBFCA45402E129000),\n reinterpret(0x3FF38D22CD9FD002), reinterpret(0xBFC9A877681DF000),\n reinterpret(0x3FF3755BC5847A1C), reinterpret(0xBFC90C6D69483000),\n reinterpret(0x3FF35DCE49AD36E2), reinterpret(0xBFC87120A645C000),\n reinterpret(0x3FF34679984DD440), reinterpret(0xBFC7D68FB4143000),\n reinterpret(0x3FF32F5CCEFFCB24), reinterpret(0xBFC73CB83C627000),\n reinterpret(0x3FF3187775A10D49), reinterpret(0xBFC6A39A9B376000),\n reinterpret(0x3FF301C8373E3990), reinterpret(0xBFC60B3154B7A000),\n reinterpret(0x3FF2EB4EBB95F841), reinterpret(0xBFC5737D76243000),\n reinterpret(0x3FF2D50A0219A9D1), reinterpret(0xBFC4DC7B8FC23000),\n reinterpret(0x3FF2BEF9A8B7FD2A), reinterpret(0xBFC4462C51D20000),\n reinterpret(0x3FF2A91C7A0C1BAB), reinterpret(0xBFC3B08ABC830000),\n reinterpret(0x3FF293726014B530), reinterpret(0xBFC31B996B490000),\n reinterpret(0x3FF27DFA5757A1F5), reinterpret(0xBFC2875490A44000),\n reinterpret(0x3FF268B39B1D3BBF), reinterpret(0xBFC1F3B9F879A000),\n reinterpret(0x3FF2539D838FF5BD), reinterpret(0xBFC160C8252CA000),\n reinterpret(0x3FF23EB7AAC9083B), reinterpret(0xBFC0CE7F57F72000),\n reinterpret(0x3FF22A012BA940B6), reinterpret(0xBFC03CDC49FEA000),\n reinterpret(0x3FF2157996CC4132), reinterpret(0xBFBF57BDBC4B8000),\n reinterpret(0x3FF201201DD2FC9B), reinterpret(0xBFBE370896404000),\n reinterpret(0x3FF1ECF4494D480B), reinterpret(0xBFBD17983EF94000),\n reinterpret(0x3FF1D8F5528F6569), reinterpret(0xBFBBF9674ED8A000),\n reinterpret(0x3FF1C52311577E7C), reinterpret(0xBFBADC79202F6000),\n reinterpret(0x3FF1B17C74CB26E9), reinterpret(0xBFB9C0C3E7288000),\n reinterpret(0x3FF19E010C2C1AB6), reinterpret(0xBFB8A646B372C000),\n reinterpret(0x3FF18AB07BB670BD), reinterpret(0xBFB78D01B3AC0000),\n reinterpret(0x3FF1778A25EFBCB6), reinterpret(0xBFB674F145380000),\n reinterpret(0x3FF1648D354C31DA), reinterpret(0xBFB55E0E6D878000),\n reinterpret(0x3FF151B990275FDD), reinterpret(0xBFB4485CDEA1E000),\n reinterpret(0x3FF13F0EA432D24C), reinterpret(0xBFB333D94D6AA000),\n reinterpret(0x3FF12C8B7210F9DA), reinterpret(0xBFB22079F8C56000),\n reinterpret(0x3FF11A3028ECB531), reinterpret(0xBFB10E4698622000),\n reinterpret(0x3FF107FBDA8434AF), reinterpret(0xBFAFFA6C6AD20000),\n reinterpret(0x3FF0F5EE0F4E6BB3), reinterpret(0xBFADDA8D4A774000),\n reinterpret(0x3FF0E4065D2A9FCE), reinterpret(0xBFABBCECE4850000),\n reinterpret(0x3FF0D244632CA521), reinterpret(0xBFA9A1894012C000),\n reinterpret(0x3FF0C0A77CE2981A), reinterpret(0xBFA788583302C000),\n reinterpret(0x3FF0AF2F83C636D1), reinterpret(0xBFA5715E67D68000),\n reinterpret(0x3FF09DDB98A01339), reinterpret(0xBFA35C8A49658000),\n reinterpret(0x3FF08CABAF52E7DF), reinterpret(0xBFA149E364154000),\n reinterpret(0x3FF07B9F2F4E28FB), reinterpret(0xBF9E72C082EB8000),\n reinterpret(0x3FF06AB58C358F19), reinterpret(0xBF9A55F152528000),\n reinterpret(0x3FF059EEA5ECF92C), reinterpret(0xBF963D62CF818000),\n reinterpret(0x3FF04949CDD12C90), reinterpret(0xBF9228FB8CAA0000),\n reinterpret(0x3FF038C6C6F0ADA9), reinterpret(0xBF8C317B20F90000),\n reinterpret(0x3FF02865137932A9), reinterpret(0xBF8419355DAA0000),\n reinterpret(0x3FF0182427EA7348), reinterpret(0xBF781203C2EC0000),\n reinterpret(0x3FF008040614B195), reinterpret(0xBF60040979240000),\n reinterpret(0x3FEFE01FF726FA1A), reinterpret(0x3F6FEFF384900000),\n reinterpret(0x3FEFA11CC261EA74), reinterpret(0x3F87DC41353D0000),\n reinterpret(0x3FEF6310B081992E), reinterpret(0x3F93CEA3C4C28000),\n reinterpret(0x3FEF25F63CEEADCD), reinterpret(0x3F9B9FC114890000),\n reinterpret(0x3FEEE9C8039113E7), reinterpret(0x3FA1B0D8CE110000),\n reinterpret(0x3FEEAE8078CBB1AB), reinterpret(0x3FA58A5BD001C000),\n reinterpret(0x3FEE741AA29D0C9B), reinterpret(0x3FA95C8340D88000),\n reinterpret(0x3FEE3A91830A99B5), reinterpret(0x3FAD276AEF578000),\n reinterpret(0x3FEE01E009609A56), reinterpret(0x3FB07598E598C000),\n reinterpret(0x3FEDCA01E577BB98), reinterpret(0x3FB253F5E30D2000),\n reinterpret(0x3FED92F20B7C9103), reinterpret(0x3FB42EDD8B380000),\n reinterpret(0x3FED5CAC66FB5CCE), reinterpret(0x3FB606598757C000),\n reinterpret(0x3FED272CAA5EDE9D), reinterpret(0x3FB7DA76356A0000),\n reinterpret(0x3FECF26E3E6B2CCD), reinterpret(0x3FB9AB434E1C6000),\n reinterpret(0x3FECBE6DA2A77902), reinterpret(0x3FBB78C7BB0D6000),\n reinterpret(0x3FEC8B266D37086D), reinterpret(0x3FBD431332E72000),\n reinterpret(0x3FEC5894BD5D5804), reinterpret(0x3FBF0A3171DE6000),\n reinterpret(0x3FEC26B533BB9F8C), reinterpret(0x3FC067152B914000),\n reinterpret(0x3FEBF583EEECE73F), reinterpret(0x3FC147858292B000),\n reinterpret(0x3FEBC4FD75DB96C1), reinterpret(0x3FC2266ECDCA3000),\n reinterpret(0x3FEB951E0C864A28), reinterpret(0x3FC303D7A6C55000),\n reinterpret(0x3FEB65E2C5EF3E2C), reinterpret(0x3FC3DFC33C331000),\n reinterpret(0x3FEB374867C9888B), reinterpret(0x3FC4BA366B7A8000),\n reinterpret(0x3FEB094B211D304A), reinterpret(0x3FC5933928D1F000),\n reinterpret(0x3FEADBE885F2EF7E), reinterpret(0x3FC66ACD2418F000),\n reinterpret(0x3FEAAF1D31603DA2), reinterpret(0x3FC740F8EC669000),\n reinterpret(0x3FEA82E63FD358A7), reinterpret(0x3FC815C0F51AF000),\n reinterpret(0x3FEA5740EF09738B), reinterpret(0x3FC8E92954F68000),\n reinterpret(0x3FEA2C2A90AB4B27), reinterpret(0x3FC9BB3602F84000),\n reinterpret(0x3FEA01A01393F2D1), reinterpret(0x3FCA8BED1C2C0000),\n reinterpret(0x3FE9D79F24DB3C1B), reinterpret(0x3FCB5B515C01D000),\n reinterpret(0x3FE9AE2505C7B190), reinterpret(0x3FCC2967CCBCC000),\n reinterpret(0x3FE9852EF297CE2F), reinterpret(0x3FCCF635D5486000),\n reinterpret(0x3FE95CBAEEA44B75), reinterpret(0x3FCDC1BD3446C000),\n reinterpret(0x3FE934C69DE74838), reinterpret(0x3FCE8C01B8CFE000),\n reinterpret(0x3FE90D4F2F6752E6), reinterpret(0x3FCF5509C0179000),\n reinterpret(0x3FE8E6528EFFD79D), reinterpret(0x3FD00E6C121FB800),\n reinterpret(0x3FE8BFCE9FCC007C), reinterpret(0x3FD071B80E93D000),\n reinterpret(0x3FE899C0DABEC30E), reinterpret(0x3FD0D46B9E867000),\n reinterpret(0x3FE87427AA2317FB), reinterpret(0x3FD13687334BD000),\n reinterpret(0x3FE84F00ACB39A08), reinterpret(0x3FD1980D67234800),\n reinterpret(0x3FE82A49E8653E55), reinterpret(0x3FD1F8FFE0CC8000),\n reinterpret(0x3FE8060195F40260), reinterpret(0x3FD2595FD7636800),\n reinterpret(0x3FE7E22563E0A329), reinterpret(0x3FD2B9300914A800),\n reinterpret(0x3FE7BEB377DCB5AD), reinterpret(0x3FD3187210436000),\n reinterpret(0x3FE79BAA679725C2), reinterpret(0x3FD377266DEC1800),\n reinterpret(0x3FE77907F2170657), reinterpret(0x3FD3D54FFBAF3000),\n reinterpret(0x3FE756CADBD6130C), reinterpret(0x3FD432EEE32FE000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE61000014FB66B), reinterpret(0x3C7E026C91425B3C),\n reinterpret(0x3FE63000034DB495), reinterpret(0x3C8DBFEA48005D41),\n reinterpret(0x3FE650000D94D478), reinterpret(0x3C8E7FA786D6A5B7),\n reinterpret(0x3FE67000074E6FAD), reinterpret(0x3C61FCEA6B54254C),\n reinterpret(0x3FE68FFFFEDF0FAE), reinterpret(0xBC7C7E274C590EFD),\n reinterpret(0x3FE6B0000763C5BC), reinterpret(0xBC8AC16848DCDA01),\n reinterpret(0x3FE6D0001E5CC1F6), reinterpret(0x3C833F1C9D499311),\n reinterpret(0x3FE6EFFFEB05F63E), reinterpret(0xBC7E80041AE22D53),\n reinterpret(0x3FE710000E869780), reinterpret(0x3C7BFF6671097952),\n reinterpret(0x3FE72FFFFC67E912), reinterpret(0x3C8C00E226BD8724),\n reinterpret(0x3FE74FFFDF81116A), reinterpret(0xBC6E02916EF101D2),\n reinterpret(0x3FE770000F679C90), reinterpret(0xBC67FC71CD549C74),\n reinterpret(0x3FE78FFFFA7EC835), reinterpret(0x3C81BEC19EF50483),\n reinterpret(0x3FE7AFFFFE20C2E6), reinterpret(0xBC707E1729CC6465),\n reinterpret(0x3FE7CFFFED3FC900), reinterpret(0xBC808072087B8B1C),\n reinterpret(0x3FE7EFFFE9261A76), reinterpret(0x3C8DC0286D9DF9AE),\n reinterpret(0x3FE81000049CA3E8), reinterpret(0x3C897FD251E54C33),\n reinterpret(0x3FE8300017932C8F), reinterpret(0xBC8AFEE9B630F381),\n reinterpret(0x3FE850000633739C), reinterpret(0x3C89BFBF6B6535BC),\n reinterpret(0x3FE87000204289C6), reinterpret(0xBC8BBF65F3117B75),\n reinterpret(0x3FE88FFFEBF57904), reinterpret(0xBC89006EA23DCB57),\n reinterpret(0x3FE8B00022BC04DF), reinterpret(0xBC7D00DF38E04B0A),\n reinterpret(0x3FE8CFFFE50C1B8A), reinterpret(0xBC88007146FF9F05),\n reinterpret(0x3FE8EFFFFC918E43), reinterpret(0x3C83817BD07A7038),\n reinterpret(0x3FE910001EFA5FC7), reinterpret(0x3C893E9176DFB403),\n reinterpret(0x3FE9300013467BB9), reinterpret(0x3C7F804E4B980276),\n reinterpret(0x3FE94FFFE6EE076F), reinterpret(0xBC8F7EF0D9FF622E),\n reinterpret(0x3FE96FFFDE3C12D1), reinterpret(0xBC7082AA962638BA),\n reinterpret(0x3FE98FFFF4458A0D), reinterpret(0xBC87801B9164A8EF),\n reinterpret(0x3FE9AFFFDD982E3E), reinterpret(0xBC8740E08A5A9337),\n reinterpret(0x3FE9CFFFED49FB66), reinterpret(0x3C3FCE08C19BE000),\n reinterpret(0x3FE9F00020F19C51), reinterpret(0xBC8A3FAA27885B0A),\n reinterpret(0x3FEA10001145B006), reinterpret(0x3C74FF489958DA56),\n reinterpret(0x3FEA300007BBF6FA), reinterpret(0x3C8CBEAB8A2B6D18),\n reinterpret(0x3FEA500010971D79), reinterpret(0x3C88FECADD787930),\n reinterpret(0x3FEA70001DF52E48), reinterpret(0xBC8F41763DD8ABDB),\n reinterpret(0x3FEA90001C593352), reinterpret(0xBC8EBF0284C27612),\n reinterpret(0x3FEAB0002A4F3E4B), reinterpret(0xBC69FD043CFF3F5F),\n reinterpret(0x3FEACFFFD7AE1ED1), reinterpret(0xBC823EE7129070B4),\n reinterpret(0x3FEAEFFFEE510478), reinterpret(0x3C6A063EE00EDEA3),\n reinterpret(0x3FEB0FFFDB650D5B), reinterpret(0x3C5A06C8381F0AB9),\n reinterpret(0x3FEB2FFFFEAACA57), reinterpret(0xBC79011E74233C1D),\n reinterpret(0x3FEB4FFFD995BADC), reinterpret(0xBC79FF1068862A9F),\n reinterpret(0x3FEB7000249E659C), reinterpret(0x3C8AFF45D0864F3E),\n reinterpret(0x3FEB8FFFF9871640), reinterpret(0x3C7CFE7796C2C3F9),\n reinterpret(0x3FEBAFFFD204CB4F), reinterpret(0xBC63FF27EEF22BC4),\n reinterpret(0x3FEBCFFFD2415C45), reinterpret(0xBC6CFFB7EE3BEA21),\n reinterpret(0x3FEBEFFFF86309DF), reinterpret(0xBC814103972E0B5C),\n reinterpret(0x3FEC0FFFE1B57653), reinterpret(0x3C8BC16494B76A19),\n reinterpret(0x3FEC2FFFF1FA57E3), reinterpret(0xBC64FEEF8D30C6ED),\n reinterpret(0x3FEC4FFFDCBFE424), reinterpret(0xBC843F68BCEC4775),\n reinterpret(0x3FEC6FFFED54B9F7), reinterpret(0x3C847EA3F053E0EC),\n reinterpret(0x3FEC8FFFEB998FD5), reinterpret(0x3C7383068DF992F1),\n reinterpret(0x3FECB0002125219A), reinterpret(0xBC68FD8E64180E04),\n reinterpret(0x3FECCFFFDD94469C), reinterpret(0x3C8E7EBE1CC7EA72),\n reinterpret(0x3FECEFFFEAFDC476), reinterpret(0x3C8EBE39AD9F88FE),\n reinterpret(0x3FED1000169AF82B), reinterpret(0x3C757D91A8B95A71),\n reinterpret(0x3FED30000D0FF71D), reinterpret(0x3C89C1906970C7DA),\n reinterpret(0x3FED4FFFEA790FC4), reinterpret(0xBC580E37C558FE0C),\n reinterpret(0x3FED70002EDC87E5), reinterpret(0xBC7F80D64DC10F44),\n reinterpret(0x3FED900021DC82AA), reinterpret(0xBC747C8F94FD5C5C),\n reinterpret(0x3FEDAFFFD86B0283), reinterpret(0x3C8C7F1DC521617E),\n reinterpret(0x3FEDD000296C4739), reinterpret(0x3C88019EB2FFB153),\n reinterpret(0x3FEDEFFFE54490F5), reinterpret(0x3C6E00D2C652CC89),\n reinterpret(0x3FEE0FFFCDABF694), reinterpret(0xBC7F8340202D69D2),\n reinterpret(0x3FEE2FFFDB52C8DD), reinterpret(0x3C7B00C1CA1B0864),\n reinterpret(0x3FEE4FFFF24216EF), reinterpret(0x3C72FFA8B094AB51),\n reinterpret(0x3FEE6FFFE88A5E11), reinterpret(0xBC57F673B1EFBE59),\n reinterpret(0x3FEE9000119EFF0D), reinterpret(0xBC84808D5E0BC801),\n reinterpret(0x3FEEAFFFDFA51744), reinterpret(0x3C780006D54320B5),\n reinterpret(0x3FEED0001A127FA1), reinterpret(0xBC5002F860565C92),\n reinterpret(0x3FEEF00007BABCC4), reinterpret(0xBC8540445D35E611),\n reinterpret(0x3FEF0FFFF57A8D02), reinterpret(0xBC4FFB3139EF9105),\n reinterpret(0x3FEF30001EE58AC7), reinterpret(0x3C8A81ACF2731155),\n reinterpret(0x3FEF4FFFF5823494), reinterpret(0x3C8A3F41D4D7C743),\n reinterpret(0x3FEF6FFFFCA94C6B), reinterpret(0xBC6202F41C987875),\n reinterpret(0x3FEF8FFFE1F9C441), reinterpret(0x3C777DD1F477E74B),\n reinterpret(0x3FEFAFFFD2E0E37E), reinterpret(0xBC6F01199A7CA331),\n reinterpret(0x3FEFD0001C77E49E), reinterpret(0x3C7181EE4BCEACB1),\n reinterpret(0x3FEFEFFFF7E0C331), reinterpret(0xBC6E05370170875A),\n reinterpret(0x3FF00FFFF465606E), reinterpret(0xBC8A7EAD491C0ADA),\n reinterpret(0x3FF02FFFF3867A58), reinterpret(0xBC977F69C3FCB2E0),\n reinterpret(0x3FF04FFFFDFC0D17), reinterpret(0x3C97BFFE34CB945B),\n reinterpret(0x3FF0700003CD4D82), reinterpret(0x3C820083C0E456CB),\n reinterpret(0x3FF08FFFF9F2CBE8), reinterpret(0xBC6DFFDFBE37751A),\n reinterpret(0x3FF0B000010CDA65), reinterpret(0xBC913F7FAEE626EB),\n reinterpret(0x3FF0D00001A4D338), reinterpret(0x3C807DFA79489FF7),\n reinterpret(0x3FF0EFFFFADAFDFD), reinterpret(0xBC77040570D66BC0),\n reinterpret(0x3FF110000BBAFD96), reinterpret(0x3C8E80D4846D0B62),\n reinterpret(0x3FF12FFFFAE5F45D), reinterpret(0x3C9DBFFA64FD36EF),\n reinterpret(0x3FF150000DD59AD9), reinterpret(0x3C9A0077701250AE),\n reinterpret(0x3FF170000F21559A), reinterpret(0x3C8DFDF9E2E3DEEE),\n reinterpret(0x3FF18FFFFC275426), reinterpret(0x3C910030DC3B7273),\n reinterpret(0x3FF1B000123D3C59), reinterpret(0x3C997F7980030188),\n reinterpret(0x3FF1CFFFF8299EB7), reinterpret(0xBC65F932AB9F8C67),\n reinterpret(0x3FF1EFFFF48AD400), reinterpret(0x3C937FBF9DA75BEB),\n reinterpret(0x3FF210000C8B86A4), reinterpret(0x3C9F806B91FD5B22),\n reinterpret(0x3FF2300003854303), reinterpret(0x3C93FFC2EB9FBF33),\n reinterpret(0x3FF24FFFFFBCF684), reinterpret(0x3C7601E77E2E2E72),\n reinterpret(0x3FF26FFFF52921D9), reinterpret(0x3C7FFCBB767F0C61),\n reinterpret(0x3FF2900014933A3C), reinterpret(0xBC7202CA3C02412B),\n reinterpret(0x3FF2B00014556313), reinterpret(0xBC92808233F21F02),\n reinterpret(0x3FF2CFFFEBFE523B), reinterpret(0xBC88FF7E384FDCF2),\n reinterpret(0x3FF2F0000BB8AD96), reinterpret(0xBC85FF51503041C5),\n reinterpret(0x3FF30FFFFB7AE2AF), reinterpret(0xBC810071885E289D),\n reinterpret(0x3FF32FFFFEAC5F7F), reinterpret(0xBC91FF5D3FB7B715),\n reinterpret(0x3FF350000CA66756), reinterpret(0x3C957F82228B82BD),\n reinterpret(0x3FF3700011FBF721), reinterpret(0x3C8000BAC40DD5CC),\n reinterpret(0x3FF38FFFF9592FB9), reinterpret(0xBC943F9D2DB2A751),\n reinterpret(0x3FF3B00004DDD242), reinterpret(0x3C857F6B707638E1),\n reinterpret(0x3FF3CFFFF5B2C957), reinterpret(0x3C7A023A10BF1231),\n reinterpret(0x3FF3EFFFEAB0B418), reinterpret(0x3C987F6D66B152B0),\n reinterpret(0x3FF410001532AFF4), reinterpret(0x3C67F8375F198524),\n reinterpret(0x3FF4300017478B29), reinterpret(0x3C8301E672DC5143),\n reinterpret(0x3FF44FFFE795B463), reinterpret(0x3C89FF69B8B2895A),\n reinterpret(0x3FF46FFFE80475E0), reinterpret(0xBC95C0B19BC2F254),\n reinterpret(0x3FF48FFFEF6FC1E7), reinterpret(0x3C9B4009F23A2A72),\n reinterpret(0x3FF4AFFFE5BEA704), reinterpret(0xBC94FFB7BF0D7D45),\n reinterpret(0x3FF4D000171027DE), reinterpret(0xBC99C06471DC6A3D),\n reinterpret(0x3FF4F0000FF03EE2), reinterpret(0x3C977F890B85531C),\n reinterpret(0x3FF5100012DC4BD1), reinterpret(0x3C6004657166A436),\n reinterpret(0x3FF530001605277A), reinterpret(0xBC96BFCECE233209),\n reinterpret(0x3FF54FFFECDB704C), reinterpret(0xBC8902720505A1D7),\n reinterpret(0x3FF56FFFEF5F54A9), reinterpret(0x3C9BBFE60EC96412),\n reinterpret(0x3FF5900017E61012), reinterpret(0x3C887EC581AFEF90),\n reinterpret(0x3FF5B00003C93E92), reinterpret(0xBC9F41080ABF0CC0),\n reinterpret(0x3FF5D0001D4919BC), reinterpret(0xBC98812AFB254729),\n reinterpret(0x3FF5EFFFE7B87A89), reinterpret(0xBC947EB780ED6904)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log_lut(x: f64): f64 {\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\n\n const\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\n\n const\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\n\n const\n LO: u64 = 0x3FEE000000000000,\n HI: u64 = 0x3FF1090000000000;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n let r2 = r * r;\n let r3 = r2 * r;\n let y =\n r3 * (B1 + r * B2 + r2 * B3 +\n r3 * (B4 + r * B5 + r2 * B6 +\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\n // Worst-case error is around 0.507 ULP\n let w = r * Ox1p27;\n let rhi = r + w - w;\n let rlo = r - rhi;\n w = rhi * rhi * B0; // B[0] == -0.5\n let hi = r + w;\n let lo = r - hi + w;\n lo += B0 * rlo * (rhi + r);\n return y + lo + hi;\n }\n var top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & (u64(0xFFF) << 52));\n\n var invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\n // r ~= z/c - 1, |r| < 1/(2*N)\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N\n // \tr = __builtin_fma(z, invc, -1.0);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-66\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\n var r = (z - chi - clo) * invc;\n // #endif\n var kd = k;\n\n // hi + lo = r + log(c) + k*Ln2\n var w = kd * Ln2hi + logc;\n var hi = w + r;\n var lo = w - hi + r + kd * Ln2lo;\n\n // log(x) = lo + (log1p(r) - r) + hi\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst case error if |y| > 0x1p-5:\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\n // Worst case error if |y| > 0x1p-4:\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\n}\n\n//\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\n//\n\n// @ts-ignore: decorator\n@inline const POW_LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\nand z falls into the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = round(0x1p43*log(c))/0x1p43\n tab[i].logctail = (double)(log(c) - logc)\n\nwhere c is chosen near the center of the subinterval such that 1/c has only a\nfew precision bits so z/c - 1 is exactly representible as double:\n\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\n\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\nerror and the interval for z is selected such that near x == 1, where log(x)\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\n\n// @ts-ignore: decorator\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\n // invc ,pad, logc , logctail\n reinterpret(0x3FF6A00000000000), 0, reinterpret(0xBFD62C82F2B9C800), reinterpret(0x3CFAB42428375680),\n reinterpret(0x3FF6800000000000), 0, reinterpret(0xBFD5D1BDBF580800), reinterpret(0xBD1CA508D8E0F720),\n reinterpret(0x3FF6600000000000), 0, reinterpret(0xBFD5767717455800), reinterpret(0xBD2362A4D5B6506D),\n reinterpret(0x3FF6400000000000), 0, reinterpret(0xBFD51AAD872DF800), reinterpret(0xBCE684E49EB067D5),\n reinterpret(0x3FF6200000000000), 0, reinterpret(0xBFD4BE5F95777800), reinterpret(0xBD041B6993293EE0),\n reinterpret(0x3FF6000000000000), 0, reinterpret(0xBFD4618BC21C6000), reinterpret(0x3D13D82F484C84CC),\n reinterpret(0x3FF5E00000000000), 0, reinterpret(0xBFD404308686A800), reinterpret(0x3CDC42F3ED820B3A),\n reinterpret(0x3FF5C00000000000), 0, reinterpret(0xBFD3A64C55694800), reinterpret(0x3D20B1C686519460),\n reinterpret(0x3FF5A00000000000), 0, reinterpret(0xBFD347DD9A988000), reinterpret(0x3D25594DD4C58092),\n reinterpret(0x3FF5800000000000), 0, reinterpret(0xBFD2E8E2BAE12000), reinterpret(0x3D267B1E99B72BD8),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5400000000000), 0, reinterpret(0xBFD22941FBCF7800), reinterpret(0xBD165A242853DA76),\n reinterpret(0x3FF5200000000000), 0, reinterpret(0xBFD1C898C1699800), reinterpret(0xBD1FAFBC68E75404),\n reinterpret(0x3FF5000000000000), 0, reinterpret(0xBFD1675CABABA800), reinterpret(0x3D1F1FC63382A8F0),\n reinterpret(0x3FF4E00000000000), 0, reinterpret(0xBFD1058BF9AE4800), reinterpret(0xBD26A8C4FD055A66),\n reinterpret(0x3FF4C00000000000), 0, reinterpret(0xBFD0A324E2739000), reinterpret(0xBD0C6BEE7EF4030E),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4800000000000), 0, reinterpret(0xBFCFB9186D5E4000), reinterpret(0x3D0D572AAB993C87),\n reinterpret(0x3FF4600000000000), 0, reinterpret(0xBFCEF0ADCBDC6000), reinterpret(0x3D2B26B79C86AF24),\n reinterpret(0x3FF4400000000000), 0, reinterpret(0xBFCE27076E2AF000), reinterpret(0xBD172F4F543FFF10),\n reinterpret(0x3FF4200000000000), 0, reinterpret(0xBFCD5C216B4FC000), reinterpret(0x3D21BA91BBCA681B),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF3E00000000000), 0, reinterpret(0xBFCBC286742D9000), reinterpret(0x3D194EB0318BB78F),\n reinterpret(0x3FF3C00000000000), 0, reinterpret(0xBFCAF3C94E80C000), reinterpret(0x3CBA4E633FCD9066),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3800000000000), 0, reinterpret(0xBFC9525A9CF45000), reinterpret(0xBD2AD1D904C1D4E3),\n reinterpret(0x3FF3600000000000), 0, reinterpret(0xBFC87FA06520D000), reinterpret(0x3D2BBDBF7FDBFA09),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3200000000000), 0, reinterpret(0xBFC6D60FE719D000), reinterpret(0xBD10E46AA3B2E266),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF2E00000000000), 0, reinterpret(0xBFC526E5E3A1B000), reinterpret(0xBD20DE8B90075B8F),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2A00000000000), 0, reinterpret(0xBFC371FC201E9000), reinterpret(0x3CF178864D27543A),\n reinterpret(0x3FF2800000000000), 0, reinterpret(0xBFC29552F81FF000), reinterpret(0xBD248D301771C408),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2200000000000), 0, reinterpret(0xBFBFEC9131DBE000), reinterpret(0xBD2575545CA333F2),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF1E00000000000), 0, reinterpret(0xBFBC5E548F5BC000), reinterpret(0xBD1D0C57585FBE06),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1800000000000), 0, reinterpret(0xBFB6F0D28AE56000), reinterpret(0xBD269737C93373DA),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1200000000000), 0, reinterpret(0xBFB16536EEA38000), reinterpret(0x3D147C5E768FA309),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0600000000000), 0, reinterpret(0xBF97B91B07D58000), reinterpret(0xBD288D5493FAA639),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FEFC00000000000), 0, reinterpret(0x3F80101575890000), reinterpret(0xBD10C76B999D2BE8),\n reinterpret(0x3FEF800000000000), 0, reinterpret(0x3F90205658938000), reinterpret(0xBD23DC5B06E2F7D2),\n reinterpret(0x3FEF400000000000), 0, reinterpret(0x3F98492528C90000), reinterpret(0xBD2AA0BA325A0C34),\n reinterpret(0x3FEF000000000000), 0, reinterpret(0x3FA0415D89E74000), reinterpret(0x3D0111C05CF1D753),\n reinterpret(0x3FEEC00000000000), 0, reinterpret(0x3FA466AED42E0000), reinterpret(0xBD2C167375BDFD28),\n reinterpret(0x3FEE800000000000), 0, reinterpret(0x3FA894AA149FC000), reinterpret(0xBD197995D05A267D),\n reinterpret(0x3FEE400000000000), 0, reinterpret(0x3FACCB73CDDDC000), reinterpret(0xBD1A68F247D82807),\n reinterpret(0x3FEE200000000000), 0, reinterpret(0x3FAEEA31C006C000), reinterpret(0xBD0E113E4FC93B7B),\n reinterpret(0x3FEDE00000000000), 0, reinterpret(0x3FB1973BD1466000), reinterpret(0xBD25325D560D9E9B),\n reinterpret(0x3FEDA00000000000), 0, reinterpret(0x3FB3BDF5A7D1E000), reinterpret(0x3D2CC85EA5DB4ED7),\n reinterpret(0x3FED600000000000), 0, reinterpret(0x3FB5E95A4D97A000), reinterpret(0xBD2C69063C5D1D1E),\n reinterpret(0x3FED400000000000), 0, reinterpret(0x3FB700D30AEAC000), reinterpret(0x3CEC1E8DA99DED32),\n reinterpret(0x3FED000000000000), 0, reinterpret(0x3FB9335E5D594000), reinterpret(0x3D23115C3ABD47DA),\n reinterpret(0x3FECC00000000000), 0, reinterpret(0x3FBB6AC88DAD6000), reinterpret(0xBD1390802BF768E5),\n reinterpret(0x3FECA00000000000), 0, reinterpret(0x3FBC885801BC4000), reinterpret(0x3D2646D1C65AACD3),\n reinterpret(0x3FEC600000000000), 0, reinterpret(0x3FBEC739830A2000), reinterpret(0xBD2DC068AFE645E0),\n reinterpret(0x3FEC400000000000), 0, reinterpret(0x3FBFE89139DBE000), reinterpret(0xBD2534D64FA10AFD),\n reinterpret(0x3FEC000000000000), 0, reinterpret(0x3FC1178E8227E000), reinterpret(0x3D21EF78CE2D07F2),\n reinterpret(0x3FEBE00000000000), 0, reinterpret(0x3FC1AA2B7E23F000), reinterpret(0x3D2CA78E44389934),\n reinterpret(0x3FEBA00000000000), 0, reinterpret(0x3FC2D1610C868000), reinterpret(0x3D039D6CCB81B4A1),\n reinterpret(0x3FEB800000000000), 0, reinterpret(0x3FC365FCB0159000), reinterpret(0x3CC62FA8234B7289),\n reinterpret(0x3FEB400000000000), 0, reinterpret(0x3FC4913D8333B000), reinterpret(0x3D25837954FDB678),\n reinterpret(0x3FEB200000000000), 0, reinterpret(0x3FC527E5E4A1B000), reinterpret(0x3D2633E8E5697DC7),\n reinterpret(0x3FEAE00000000000), 0, reinterpret(0x3FC6574EBE8C1000), reinterpret(0x3D19CF8B2C3C2E78),\n reinterpret(0x3FEAC00000000000), 0, reinterpret(0x3FC6F0128B757000), reinterpret(0xBD25118DE59C21E1),\n reinterpret(0x3FEAA00000000000), 0, reinterpret(0x3FC7898D85445000), reinterpret(0xBD1C661070914305),\n reinterpret(0x3FEA600000000000), 0, reinterpret(0x3FC8BEAFEB390000), reinterpret(0xBD073D54AAE92CD1),\n reinterpret(0x3FEA400000000000), 0, reinterpret(0x3FC95A5ADCF70000), reinterpret(0x3D07F22858A0FF6F),\n reinterpret(0x3FEA000000000000), 0, reinterpret(0x3FCA93ED3C8AE000), reinterpret(0xBD28724350562169),\n reinterpret(0x3FE9E00000000000), 0, reinterpret(0x3FCB31D8575BD000), reinterpret(0xBD0C358D4EACE1AA),\n reinterpret(0x3FE9C00000000000), 0, reinterpret(0x3FCBD087383BE000), reinterpret(0xBD2D4BC4595412B6),\n reinterpret(0x3FE9A00000000000), 0, reinterpret(0x3FCC6FFBC6F01000), reinterpret(0xBCF1EC72C5962BD2),\n reinterpret(0x3FE9600000000000), 0, reinterpret(0x3FCDB13DB0D49000), reinterpret(0xBD2AFF2AF715B035),\n reinterpret(0x3FE9400000000000), 0, reinterpret(0x3FCE530EFFE71000), reinterpret(0x3CC212276041F430),\n reinterpret(0x3FE9200000000000), 0, reinterpret(0x3FCEF5ADE4DD0000), reinterpret(0xBCCA211565BB8E11),\n reinterpret(0x3FE9000000000000), 0, reinterpret(0x3FCF991C6CB3B000), reinterpret(0x3D1BCBECCA0CDF30),\n reinterpret(0x3FE8C00000000000), 0, reinterpret(0x3FD07138604D5800), reinterpret(0x3CF89CDB16ED4E91),\n reinterpret(0x3FE8A00000000000), 0, reinterpret(0x3FD0C42D67616000), reinterpret(0x3D27188B163CEAE9),\n reinterpret(0x3FE8800000000000), 0, reinterpret(0x3FD1178E8227E800), reinterpret(0xBD2C210E63A5F01C),\n reinterpret(0x3FE8600000000000), 0, reinterpret(0x3FD16B5CCBACF800), reinterpret(0x3D2B9ACDF7A51681),\n reinterpret(0x3FE8400000000000), 0, reinterpret(0x3FD1BF99635A6800), reinterpret(0x3D2CA6ED5147BDB7),\n reinterpret(0x3FE8200000000000), 0, reinterpret(0x3FD214456D0EB800), reinterpret(0x3D0A87DEBA46BAEA),\n reinterpret(0x3FE7E00000000000), 0, reinterpret(0x3FD2BEF07CDC9000), reinterpret(0x3D2A9CFA4A5004F4),\n reinterpret(0x3FE7C00000000000), 0, reinterpret(0x3FD314F1E1D36000), reinterpret(0xBD28E27AD3213CB8),\n reinterpret(0x3FE7A00000000000), 0, reinterpret(0x3FD36B6776BE1000), reinterpret(0x3D116ECDB0F177C8),\n reinterpret(0x3FE7800000000000), 0, reinterpret(0x3FD3C25277333000), reinterpret(0x3D183B54B606BD5C),\n reinterpret(0x3FE7600000000000), 0, reinterpret(0x3FD419B423D5E800), reinterpret(0x3D08E436EC90E09D),\n reinterpret(0x3FE7400000000000), 0, reinterpret(0x3FD4718DC271C800), reinterpret(0xBD2F27CE0967D675),\n reinterpret(0x3FE7200000000000), 0, reinterpret(0x3FD4C9E09E173000), reinterpret(0xBD2E20891B0AD8A4),\n reinterpret(0x3FE7000000000000), 0, reinterpret(0x3FD522AE0738A000), reinterpret(0x3D2EBE708164C759),\n reinterpret(0x3FE6E00000000000), 0, reinterpret(0x3FD57BF753C8D000), reinterpret(0x3D1FADEDEE5D40EF),\n reinterpret(0x3FE6C00000000000), 0, reinterpret(0x3FD5D5BDDF596000), reinterpret(0xBD0A0B2A08A465DC)\n]);\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkint(iy: u64): i32 {\n var e = iy >> 52 & 0x7FF;\n if (e < 0x3FF ) return 0;\n if (e > 0x3FF + 52) return 2;\n e = u64(1) << (0x3FF + 52 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflow(sign: u32, y: f64): f64 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\n}\n\n// Returns 1 if input is the bit representation of 0, infinity or nan.\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnan(u: u64): bool {\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\n}\n\n// @ts-ignore: decorator\n@lazy var log_tail: f64 = 0;\n\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\n// additional 15 bits precision. IX is the bit representation of x, but\n// normalized in the subnormal range using the sign bit for the exponent.\n// @ts-ignore: decorator\n@inline\nfunction log_inline(ix: u64): f64 {\n const N = 1 << POW_LOG_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\n Ln2lo = reinterpret(0x3D2EF35793C76730);\n\n const\n A0 = reinterpret(0xBFE0000000000000),\n A1 = reinterpret(0xBFE5555555555560),\n A2 = reinterpret(0x3FE0000000000006),\n A3 = reinterpret(0x3FE999999959554E),\n A4 = reinterpret(0xBFE555555529A47A),\n A5 = reinterpret(0xBFF2495B9B4845E9),\n A6 = reinterpret(0x3FF0002B8B263FC3);\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3fE6955500000000;\n var i = ((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & u64(0xFFF) << 52);\n var z = reinterpret(iz);\n var kd = k;\n\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\n var invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\n var logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\n var logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\n\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\n var zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\n var zlo = z - zhi;\n var rhi = zhi * invc - 1.0;\n var rlo = zlo * invc;\n var r = rhi + rlo;\n\n // k * Ln2 + log(c) + r.\n var t1 = kd * Ln2hi + logc;\n var t2 = t1 + r;\n var lo1 = kd * Ln2lo + logctail;\n var lo2 = t1 - t2 + r;\n\n // Evaluation is optimized assuming superscalar pipelined execution.\n var ar = A0 * r; // A[0] = -0.5\n var ar2 = r * ar;\n var ar3 = r * ar2;\n // k * Ln2 + log(c) + r + A[0] * r * r.\n var arhi = A0 * rhi;\n var arhi2 = rhi * arhi;\n var hi = t2 + arhi2;\n var lo3 = rlo * (ar + arhi);\n var lo4 = t2 - hi + arhi2;\n\n // p = log1p(r) - r - A[0] * r * r.\n var p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\n var lo = lo1 + lo2 + lo3 + lo4 + p;\n var y = hi + lo;\n log_tail = hi - y + lo;\n\n return y;\n}\n\n// @ts-ignore: decorator\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\n\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\n// @ts-ignore: decorator\n@inline\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\n const N = 1 << EXP_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var abstop: u32;\n var ki: u64, top: u64, sbits: u64;\n var idx: usize;\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\n var kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\n\n var ux = reinterpret(x);\n abstop = (ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) {\n // Avoid spurious underflow for tiny x.\n // Note: 0 is common input.\n return select(-1.0, 1.0, sign_bias);\n }\n if (abstop >= 0x409) { // top12(1024.0)\n // Note: inf and nan are already handled.\n return ux >> 63 ? uflow(sign_bias) : oflow(sign_bias);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\n z = InvLn2N * x;\n\n // #if TOINT_INTRINSICS\n // kd = roundtoint(z);\n // ki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // kd = eval_as_double(z + shift);\n // ki = asuint64(kd) >> 16;\n // kd = (double_t)(int32_t)ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes\n kd = z + shift;\n ki = reinterpret(kd);\n kd -= shift;\n // #endif\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // The code assumes 2^-200 < |xtail| < 2^-8/N\n r += xtail;\n // 2^(k/N) ~= scale * (1 + tail)\n idx = ((ki & N_MASK) << 1);\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\n\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\n // This is only a valid scale when -1023*N < k < 1024*N\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function pow_lut(x: f64, y: f64): f64 {\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var sign_bias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var topx = ix >> 52;\n var topy = iy >> 52;\n\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\n // Special cases: (x < 0x1p-126 or inf or nan) or\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\n if (zeroinfnan(iy)) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\n return y * y;\n }\n if (zeroinfnan(ix)) {\n let x2 = x * x;\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\n return iy >> 63 ? 1 / x2 : x2;\n }\n // Here x and y are non-zero finite\n if (ix >> 63) {\n // Finite x < 0\n let yint = checkint(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) sign_bias = SIGN_BIAS;\n ix &= 0x7FFFFFFFFFFFFFFF;\n topx &= 0x7FF;\n }\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\n // Note: sign_bias == 0 here because y is not odd.\n if (ix == 0x3FF0000000000000) return 1;\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\n }\n if (topx == 0) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p52);\n ix &= 0x7FFFFFFFFFFFFFFF;\n ix -= u64(52) << 52;\n }\n }\n\n var hi = log_inline(ix);\n var lo = log_tail;\n var ehi: f64, elo: f64;\n // #if __FP_FAST_FMA\n // ehi = y * hi;\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\n // #else\n var yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\n var ylo = y - yhi;\n var lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\n var llo = hi - lhi + lo;\n ehi = yhi * lhi;\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\n // #endif\n return exp_inline(ehi, elo, sign_bias);\n}\n","import { itoa32, utoa32, itoa64, utoa64, dtoa, itoa_buffered, dtoa_buffered, MAX_DOUBLE_LENGTH } from \"./number\";\nimport { ipow32 } from \"../math\";\n\n// All tables are stored as two staged lookup tables (static tries)\n// because the full range of Unicode symbols can't be efficiently\n// represented as-is in memory (see Unicode spec ch 5, p.196):\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\n// Tables have been generated using these forked musl tools:\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\n\n// Lookup table to check if a character is alphanumeric or not\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\n// size: 3904 bytes\n// @ts-ignore\n@inline @lazy const ALPHA_TABLE = memory.data([\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\n 16,16,125,16,16,16,\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\n 31,254,225,255,\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\n 63,\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\n 255,\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\n 0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\n]);\n\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASED = memory.data([\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0\n]);\n\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASE_IGNORABLES = memory.data([\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,248\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOWER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 91,92,93,94,95,96,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 123,124,125,126,127\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const UPPER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 91,92,93,94,95,96,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 123,124,125,126,127\n]);\n\n// 23 * 8 = 184 bytes\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\n 1e20, 1e21, 1e22\n]);\n\n// @ts-ignore: decorator\n@inline\nexport const enum CharCode {\n PLUS = 0x2B,\n MINUS = 0x2D,\n DOT = 0x2E,\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n A = 0x41,\n B = 0x42,\n E = 0x45,\n I = 0x49,\n N = 0x4E,\n O = 0x4F,\n X = 0x58,\n Z = 0x5A,\n a = 0x61,\n b = 0x62,\n e = 0x65,\n n = 0x6E,\n o = 0x6F,\n x = 0x78,\n z = 0x7A\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isAscii(c: u32): bool {\n return !(c >> 7);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isLower8(c: u32): bool {\n return c - CharCode.a < 26;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isUpper8(c: u32): bool {\n return c - CharCode.A < 26;\n}\n\nexport function isSpace(c: u32): bool {\n if (c < 0x1680) { // < (1)\n // , , , , , and \n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\n // @ts-ignore: cast\n return ((c | 0x80) == 0xA0) | (c - 0x09 <= 0x0D - 0x09);\n }\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\n switch (c) {\n case 0x1680: // (1)\n case 0x2028: // (2)\n case 0x2029: // \n case 0x202F: // \n case 0x205F: // \n case 0x3000: // \n case 0xFEFF: return true; // \n }\n return false;\n}\n\nexport function isAlpha(c: u32): bool {\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\n if (c < 0x20000) {\n // @ts-ignore: cast\n return stagedBinaryLookup(ALPHA_TABLE, c);\n }\n return c < 0x2FFFE;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCased(c: u32): bool {\n // @ts-ignore: cast\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCaseIgnorable(c: u32): bool {\n // @ts-ignore: cast\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\n const lookaheadLimit = 30; // max lookahead limit\n var found = false;\n var pos = index;\n var minPos = max(0, pos - lookaheadLimit);\n while (pos > minPos) {\n let c = codePointBefore(buffer, pos);\n if (!isCaseIgnorable(c)) {\n if (isCased(c)) {\n found = true;\n } else {\n return false;\n }\n }\n pos -= isize(c >= 0x10000) + 1;\n }\n if (!found) return false;\n pos = index + 1;\n var maxPos = min(pos + lookaheadLimit, len);\n while (pos < maxPos) {\n let c = load(buffer + (pos << 1));\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\n let c1 = load(buffer + (pos << 1), 2);\n if ((c1 & 0xFC00) == 0xDC00) {\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\n }\n }\n if (!isCaseIgnorable(c)) {\n return !isCased(c);\n }\n pos += isize(c >= 0x10000) + 1;\n }\n return true;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction codePointBefore(buffer: usize, index: isize): i32 {\n if (index <= 0) return -1;\n var c = load(buffer + (index - 1 << 1));\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\n let c1 = load(buffer + (index - 2 << 1));\n if ((c1 & 0xFC00) == 0xD800) {\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\n }\n }\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\n}\n\n// Search routine for two-staged lookup tables\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\n}\n\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\n var ptr1 = changetype(str1) + (index1 << 1);\n var ptr2 = changetype(str2) + (index2 << 1);\n if (ASC_SHRINK_LEVEL < 2) {\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\n do {\n if (load(ptr1) != load(ptr2)) break;\n ptr1 += 8;\n ptr2 += 8;\n len -= 4;\n } while (len >= 4);\n }\n }\n while (len--) {\n let a = load(ptr1);\n let b = load(ptr2);\n if (a != b) return a - b;\n ptr1 += 2;\n ptr2 += 2;\n }\n return 0;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toLower8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c | u32(isUpper8(c)) << 5;\n } else {\n return load(LOWER127 + c);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toUpper8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c & ~(u32(isLower8(c)) << 5);\n } else {\n return load(UPPER127 + c);\n }\n}\n\n/** Parses a string to an integer (usually), using the specified radix. */\nexport function strtol(str: string, radix: i32 = 0): T {\n var len = str.length;\n if (!len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n\n var ptr = changetype(str) /* + HEAD -> offset */;\n var code = load(ptr);\n\n // trim white spaces\n while (isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n // determine sign\n // @ts-ignore\n var sign: T = 1;\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\n if (!--len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n if (code == CharCode.MINUS) {\n // @ts-ignore: type\n sign = -1;\n }\n code = load(ptr += 2);\n }\n\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\n if (radix) {\n if (radix < 2 || radix > 36) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n // handle case as parseInt(\"0xFF\", 16) by spec\n if (radix == 16) {\n if (\n len > 2 &&\n code == CharCode._0 &&\n (load(ptr, 2) | 32) == CharCode.x\n ) {\n ptr += 4; len -= 2;\n }\n }\n } else {\n // determine radix by literal prefix\n if (code == CharCode._0 && len > 2) {\n switch (load(ptr, 2) | 32) {\n case CharCode.b: {\n ptr += 4; len -= 2;\n radix = 2;\n break;\n }\n case CharCode.o: {\n ptr += 4; len -= 2;\n radix = 8;\n break;\n }\n case CharCode.x: {\n ptr += 4; len -= 2;\n radix = 16;\n break;\n }\n }\n }\n if (!radix) radix = 10;\n }\n\n // calculate value\n // @ts-ignore: type\n var num: T = 0;\n while (len--) {\n code = load(ptr);\n if (code - CharCode._0 < 10) {\n code -= CharCode._0;\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\n code -= CharCode.A - 10;\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\n code -= CharCode.a - 10;\n }\n if (code >= radix) {\n if (!num) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n break;\n }\n // @ts-ignore: type\n num = num * radix + code;\n ptr += 2;\n }\n // @ts-ignore: type\n return sign * num;\n}\n\nexport function strtod(str: string): f64 {\n var len = str.length;\n if (!len) return NaN;\n\n var ptr = changetype(str);\n var code = load(ptr);\n\n var sign = 1.0;\n // skip white spaces\n while (len && isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n if (!len) return NaN;\n\n // try parse '-' or '+'\n if (code == CharCode.MINUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n }\n\n // try parse Infinity\n if (len >= 8 && code == CharCode.I) {\n if (\n load(ptr, 0) == 0x690066006E0049 && // ifnI\n load(ptr, 8) == 0x7900740069006E // ytin\n ) {\n return Infinity * sign;\n }\n return NaN;\n }\n // validate next symbol\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\n return NaN;\n }\n var savedPtr = ptr;\n // skip zeros\n while (code == CharCode._0) {\n code = load(ptr += 2);\n --len;\n }\n if (len <= 0) return 0;\n const capacity = 19; // int(64 * 0.3010)\n var pointed = false;\n var consumed = 0;\n var position = 0;\n var x: u64 = 0;\n if (code == CharCode.DOT) {\n let noDigits = !(savedPtr - ptr);\n ptr += 2; --len;\n if (!len && noDigits) return NaN;\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\n if (len <= 0) return 0;\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\n }\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\n if (digit < 10) {\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\n ++consumed;\n } else {\n position = consumed;\n pointed = true;\n }\n if (!--len) break;\n code = load(ptr += 2);\n }\n\n if (!pointed) position = consumed;\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\n}\n\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) return select(\"true\", \"false\", load(dataStart));\n\n var sepLen = separator.length;\n var valueLen = 5; // max possible length of element len(\"false\")\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: bool;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + i);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + lastIndex);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n let value = load(dataStart);\n if (isSigned()) {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(itoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(itoa64(value, 10)); // retains\n }\n } else {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(utoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(utoa64(value, 10)); // retains\n }\n }\n }\n\n var sepLen = separator.length;\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n return changetype(dtoa(\n // @ts-ignore: type\n load(dataStart))\n ); // retains\n }\n\n const valueLen = MAX_DOUBLE_LENGTH;\n var sepLen = separator.length;\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n // @ts-ignore: type\n return load(dataStart) || \"\";\n }\n var estLen = 0;\n var value: string;\n for (let i = 0; i < length; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) estLen += value.length;\n }\n var offset = 0;\n var sepLen = separator.length;\n var result = __new((estLen + sepLen * lastIndex) << 1, idof());\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n if (value !== null) {\n let valueLen = value.length;\n memory.copy(\n result + (offset << 1),\n changetype(value),\n valueLen << 1\n );\n offset += valueLen;\n }\n if (sepLen) {\n memory.copy(\n result + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n if (value !== null) {\n memory.copy(\n result + (offset << 1),\n changetype(value),\n value.length << 1\n );\n }\n return changetype(result); // retains\n}\n\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n var value: T;\n if (!lastIndex) {\n value = load(dataStart);\n // @ts-ignore: type\n return value !== null ? value.toString() : \"\";\n }\n var result = \"\";\n var sepLen = separator.length;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n if (sepLen) result += separator;\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n return result;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction scientific(significand: u64, exp: i32): f64 {\n if (!significand || exp < -342) return 0;\n if (exp > 308) return Infinity;\n // Try use fast path\n // Use fast path for string-to-double conversion if possible\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\n // Simple integer\n var significandf = significand;\n if (!exp) return significandf;\n if (exp > 22 && exp <= 22 + 15) {\n significandf *= pow10(exp - 22);\n exp = 22;\n }\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\n if (exp > 0) return significandf * pow10(exp);\n return significandf / pow10(-exp);\n } else if (exp < 0) {\n return scaledown(significand, exp);\n } else {\n return scaleup(significand, exp);\n }\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaledown(significand: u64, exp: i32): f64 {\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\n\n var shift = clz(significand);\n significand <<= shift;\n shift = exp - shift;\n\n for (; exp <= -14; exp += 14) {\n let q = significand / denom;\n let r = significand % denom;\n let s = clz(q);\n significand = (q << s) + nearest(scale * (r << (s - 18)));\n shift -= s;\n }\n var b = ipow32(5, -exp);\n var q = significand / b;\n var r = significand % b;\n var s = clz(q);\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\n shift -= s;\n\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaleup(significand: u64, exp: i32): f64 {\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\n var shift = ctz(significand);\n significand >>= shift;\n shift += exp;\n\n __fixmulShift = shift;\n for (; exp >= 13; exp -= 13) {\n significand = fixmul(significand, coeff);\n }\n significand = fixmul(significand, ipow32(5, exp));\n shift = __fixmulShift;\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction parseExp(ptr: usize, len: i32): i32 {\n var sign = 1, magnitude = 0;\n var code = load(ptr);\n // check code is 'e' or 'E'\n if ((code | 32) != CharCode.e) return 0;\n\n if (!--len) return 0;\n code = load(ptr += 2);\n if (code == CharCode.MINUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n // skip zeros\n while (code == CharCode._0) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\n if (magnitude >= 3200) return sign * 3200;\n magnitude = 10 * magnitude + digit;\n code = load(ptr += 2);\n --len;\n }\n return sign * magnitude;\n}\n\n// @ts-ignore: decorator\n@lazy var __fixmulShift: u64 = 0;\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction fixmul(a: u64, b: u32): u64 {\n var low = (a & 0xFFFFFFFF) * b;\n var high = (a >> 32) * b + (low >> 32);\n var overflow = (high >> 32);\n var space = clz(overflow);\n var revspace: u64 = 32 - space;\n __fixmulShift += revspace;\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pow10(n: i32): f64 {\n // argument `n` should bounds in [0, 22] range\n return load(POWERS10 + (n << alignof()));\n}\n","/// \n\nimport { BLOCK_MAXSIZE } from \"./rt/common\";\nimport { COMPARATOR, SORT } from \"./util/sort\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\nimport { idof, isArray as builtin_isArray } from \"./builtins\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_ILLEGALGENTYPE, E_EMPTYARRAY, E_HOLEYARRAY } from \"./util/error\";\n\n/** Ensures that the given array has _at least_ the specified backing size. */\nfunction ensureSize(array: usize, minSize: usize, alignLog2: u32): void {\n // depends on the fact that Arrays mimic ArrayBufferView\n var oldCapacity = changetype(array).byteLength;\n if (minSize > oldCapacity >>> alignLog2) {\n if (minSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\n let oldData = changetype(changetype(array).buffer);\n let newCapacity = minSize << alignLog2;\n let newData = __renew(oldData, newCapacity); // keeps RC\n memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity);\n if (newData !== oldData) { // oldData has been free'd\n store(array, newData, offsetof(\"buffer\"));\n store(array, newData, offsetof(\"dataStart\"));\n }\n store(array, newCapacity, offsetof(\"byteLength\"));\n }\n}\n\nexport class Array {\n [key: number]: T;\n\n // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code\n // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need\n // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the\n // block is 16 bytes anyway so it's fine to have a couple extra fields in there.\n\n private buffer: ArrayBuffer;\n private dataStart: usize;\n private byteLength: i32;\n\n // Also note that Array with non-nullable T must guard against uninitialized null values\n // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee\n // type-safety anymore. For lack of a better word, such an array is \"holey\".\n\n private length_: i32;\n\n static isArray(value: U): bool {\n return isReference() ? builtin_isArray(value) && value !== null : false;\n }\n\n static create(capacity: i32 = 0): Array {\n WARNING(\"'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized.\");\n var array = new Array(capacity);\n array.length = 0;\n return array;\n }\n\n constructor(length: i32 = 0) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var bufferSize = length << alignof();\n var buffer = __new(bufferSize, idof());\n memory.fill(buffer, 0, bufferSize);\n this.buffer = changetype(buffer); // retains\n this.dataStart = buffer;\n this.byteLength = bufferSize;\n this.length_ = length;\n }\n\n get length(): i32 {\n return this.length_;\n }\n\n set length(newLength: i32) {\n var oldLength = this.length_;\n if (isManaged()) {\n if (oldLength > newLength) { // release no longer used refs\n let dataStart = this.dataStart;\n let cur = dataStart + (newLength << alignof());\n let end = dataStart + (oldLength << alignof());\n do __release(load(cur));\n while ((cur += sizeof()) < end);\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n this.length_ = newLength;\n }\n\n every(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (!fn(load(this.dataStart + (index << alignof())), index, this)) return false;\n }\n return true;\n }\n\n findIndex(predicate: (value: T, index: i32, array: Array) => bool): i32 {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (predicate(load(this.dataStart + (index << alignof())), index, this)) return index;\n }\n return -1;\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(this.dataStart + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length_) {\n if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE);\n ensureSize(changetype(this), index + 1, alignof());\n this.length_ = index + 1;\n }\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = this.dataStart + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(oldRef);\n }\n } else {\n store(this.dataStart + (index << alignof()), value);\n }\n }\n\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n end = end < 0 ? max(length + end, 0) : min(end, length);\n if (isManaged()) {\n for (; start < end; ++start) {\n let oldRef: usize = load(dataStart + (start << alignof()));\n if (changetype(value) != oldRef) {\n store(dataStart + (start << alignof()), __retain(changetype(value)));\n __release(oldRef);\n }\n }\n } else if (sizeof() == 1) {\n if (start < end) {\n memory.fill(\n dataStart + start,\n u8(value),\n (end - start)\n );\n }\n } else {\n for (; start < end; ++start) {\n store(dataStart + (start << alignof()), value);\n }\n }\n return this;\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length_;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n let dataStart = this.dataStart;\n while (fromIndex < length) {\n let elem = load(dataStart + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length_;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n var dataStart = this.dataStart;\n while (fromIndex < length) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 {\n var length = this.length_;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n var dataStart = this.dataStart;\n while (fromIndex >= 0) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n push(value: T): i32 {\n var length = this.length_;\n var newLength = length + 1;\n ensureSize(changetype(this), newLength, alignof());\n if (isManaged()) {\n store(this.dataStart + (length << alignof()), __retain(changetype(value)));\n } else {\n store(this.dataStart + (length << alignof()), value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length_;\n var otherLen = select(0, other.length_, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = this.dataStart;\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, this.dataStart, thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var len = this.length_;\n\n end = min(end, len);\n\n var to = target < 0 ? max(len + target, 0) : min(target, len);\n var from = start < 0 ? max(len + start, 0) : min(start, len);\n var last = end < 0 ? max(len + end, 0) : min(end, len);\n var count = min(last - from, len - to);\n\n if (isManaged()) {\n if (from < to && to < (from + count)) { // right to left\n from += count - 1;\n to += count - 1;\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n --from, --to, --count;\n }\n } else { // left to right\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n ++from, ++to, --count;\n }\n }\n } else {\n memory.copy( // is memmove\n dataStart + (to << alignof()),\n dataStart + (from << alignof()),\n count << alignof()\n );\n }\n return this;\n }\n\n pop(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var element = load(this.dataStart + ((--length) << alignof()));\n this.length_ = length;\n return element; // no need to retain -> is moved\n }\n\n forEach(fn: (value: T, index: i32, array: Array) => void): void {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n fn(load(this.dataStart + (index << alignof())), index, this);\n }\n }\n\n map(fn: (value: T, index: i32, array: Array) => U): Array {\n var length = this.length_;\n var out = changetype>(__newArray(length, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n for (let index = 0; index < min(length, this.length_); ++index) {\n let result = fn(load(this.dataStart + (index << alignof())), index, this); // retains\n if (isManaged()) {\n store(outStart + (index << alignof()), __retain(changetype(result)));\n } else {\n store(outStart + (index << alignof()), result);\n }\n // releases result\n }\n return out;\n }\n\n filter(fn: (value: T, index: i32, array: Array) => bool): Array {\n var result = changetype>(__newArray(0, alignof(), idof>())); // retains\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n let value = load(this.dataStart + (index << alignof()));\n if (fn(value, index, this)) result.push(value);\n }\n return result;\n }\n\n reduce(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n reduceRight(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = this.length_ - 1; index >= 0; --index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n shift(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var base = this.dataStart;\n var element = load(base);\n var lastIndex = length - 1;\n memory.copy(\n base,\n base + sizeof(),\n lastIndex << alignof()\n );\n if (isReference()) {\n store(base + (lastIndex << alignof()), 0);\n } else {\n // @ts-ignore\n store(base + (lastIndex << alignof()), 0);\n }\n this.length_ = lastIndex;\n return element; // no need to retain -> is moved\n }\n\n some(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (fn(load(this.dataStart + (index << alignof())), index, this)) return true;\n }\n return false;\n }\n\n unshift(value: T): i32 {\n var newLength = this.length_ + 1;\n ensureSize(changetype(this), newLength, alignof());\n var dataStart = this.dataStart;\n memory.copy(\n dataStart + sizeof(),\n dataStart,\n (newLength - 1) << alignof()\n );\n if (isManaged()) {\n store(dataStart, __retain(changetype(value)));\n } else {\n store(dataStart, value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = this.dataStart + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n deleteCount = max(min(deleteCount, length - start), 0);\n var result = changetype>(__newArray(deleteCount, alignof(), idof>())); // retains\n var resultStart = result.dataStart;\n var thisStart = this.dataStart;\n var thisBase = thisStart + (start << alignof());\n // no need to retain -> is moved\n memory.copy(\n resultStart,\n thisBase,\n deleteCount << alignof()\n );\n var offset = start + deleteCount;\n if (length != offset) {\n memory.copy(\n thisBase,\n thisStart + (offset << alignof()),\n (length - offset) << alignof()\n );\n }\n this.length_ = length - deleteCount;\n return result;\n }\n\n reverse(): Array {\n var length = this.length_;\n if (length) {\n let front = this.dataStart;\n let back = this.dataStart + ((length - 1) << alignof());\n while (front < back) {\n let temp = load(front);\n store(front, load(back));\n store(back, temp);\n front += sizeof();\n back -= sizeof();\n }\n }\n return this;\n }\n\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): this {\n var length = this.length_;\n if (length <= 1) return this;\n var base = this.dataStart;\n if (length == 2) {\n let a: T = load(base, sizeof()); // a = arr[1]\n let b: T = load(base); // b = arr[0]\n if (comparator(a, b) < 0) {\n store(base, b, sizeof()); // arr[1] = b;\n store(base, a); // arr[0] = a;\n }\n return this;\n }\n SORT(base, length, comparator);\n return this;\n }\n\n join(separator: string = \",\"): string {\n var dataStart = this.dataStart;\n var length = this.length_;\n if (isBoolean()) return joinBooleanArray(dataStart, length, separator);\n if (isInteger()) return joinIntegerArray(dataStart, length, separator);\n if (isFloat()) return joinFloatArray(dataStart, length, separator);\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(dataStart, length, separator);\n }\n // For rest objects and arrays use general join routine\n if (isReference()) return joinReferenceArray(dataStart, length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n flat(): T {\n if (!isArray()) {\n throw new TypeError(E_ILLEGALGENTYPE);\n }\n // Get the length and data start values\n var length = this.length_;\n var selfDataStart = this.dataStart;\n\n // calculate the end size with an initial pass\n var size = 0;\n for (let i = 0; i < length; i++) {\n let child = load(selfDataStart + (i << alignof()));\n size += child == 0 ? 0 : load(child, offsetof(\"length_\"));\n }\n\n // calculate the byteLength of the resulting backing ArrayBuffer\n var byteLength = size << usize(alignof>());\n var dataStart = __new(byteLength, idof());\n\n // create the return value and initialize it\n var result = __new(offsetof(), idof());\n store(result, size, offsetof(\"length_\"));\n\n // byteLength, dataStart, and buffer are all readonly\n store(result, byteLength, offsetof(\"byteLength\"));\n store(result, dataStart, offsetof(\"dataStart\"));\n store(result, __retain(dataStart), offsetof(\"buffer\"));\n\n // set the elements\n var resultOffset: usize = 0;\n for (let i = 0; i < length; i++) { // for each child\n let child = load(selfDataStart + (i << alignof()));\n\n // ignore null arrays\n if (child == 0) continue;\n\n // copy the underlying buffer data to the result buffer\n let childDataLength = load(child, offsetof(\"byteLength\"));\n memory.copy(\n dataStart + resultOffset,\n load(child, offsetof(\"dataStart\")),\n childDataLength\n );\n\n // advance the result length\n resultOffset += childDataLength;\n }\n\n // if the `valueof` type is managed, we must call __retain() on each reference\n if (isManaged>()) {\n for (let i = 0; i < size; i++) {\n __retain(load(dataStart + (i << usize(alignof>()))));\n }\n }\n\n return changetype(result);\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = this.dataStart;\n let end = cur + (this.length_ << alignof());\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n __visit(changetype(this.buffer), cookie);\n }\n}\n","// Common error messages for use accross the standard library. Keeping error messages compact\n// and reusing them where possible ensures minimal static data in binaries.\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INDEXOUTOFRANGE: string = \"Index out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDLENGTH: string = \"Invalid length\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ILLEGALGENTYPE: string = \"Illegal generic type\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_EMPTYARRAY: string = \"Array is empty\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_HOLEYARRAY: string = \"Element type must be nullable if array is holey\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOTIMPLEMENTED: string = \"Not implemented\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_KEYNOTFOUND: string = \"Key does not exist\";\n","\nexport var objArray = new Array>(1);\nexport var matArray = new Array>(3);\nexport var groupArray = new Array>(0);\n\nexport var TanMaterial_mat:StaticArray = [\n 323.999994, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 0.800000, 0.314507, 0.070683, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatArray.push(TanMaterial_mat);\n\nexport var RedMaterial_mat:StaticArray = [\n 225.000000, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 1.000000, 0.000000, 0.000000, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatArray.push(RedMaterial_mat);\n\nexport var BlueMaterial_mat:StaticArray = [\n 225.000000, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 0.000000, 0.000000, 1.000000, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatArray.push(BlueMaterial_mat);\n\n\nexport var Robot_data: StaticArray = [\n//X, Y, Z, U, V, NX, NY, NZ\n 1, 1, -1, 0.625, 0.5, 0, 0.2651, -0.9642, \n -1, 1, -1, 0.625, 0.25, 0, 0.2651, -0.9642, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, 0, 0.2651, -0.9642, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0, 0.2651, -0.9642, \n 1, -1, 1, 0.375, 0.75, 0, 0, 1, \n 1, 1, 1, 0.625, 0.75, 0, 0, 1, \n -1, 1, 1, 0.625, 1, 0, 0, 1, \n -1, -1, 1, 0.375, 1, 0, 0, 1, \n -1, -1, 1, 0.375, 0, -1, 0, 0, \n -1, 1, 1, 0.625, 0, -1, 0, 0, \n -1, 1, -1, 0.625, 0.25, -1, 0, 0, \n -1, -1, -1, 0.375, 0.25, -1, 0, 0, \n -1, -1, -1, 0.125, 0.5, 0, -1, 0, \n 1, -1, -1, 0.375, 0.5, 0, -1, 0, \n 1, -1, 1, 0.375, 0.75, 0, -1, 0, \n -1, -1, 1, 0.125, 0.75, 0, -1, 0, \n 1, -1, -1, 0.375, 0.5, 1, 0, 0, \n 1, 1, -1, 0.625, 0.5, 1, 0, 0, \n 1, 1, 1, 0.625, 0.75, 1, 0, 0, \n 1, -1, 1, 0.375, 0.75, 1, 0, 0, \n -1, -1, -1, 0.375, 0.25, 0, 0, -1, \n -1, 1, -1, 0.625, 0.25, 0, 0, -1, \n 1, 1, -1, 0.625, 0.5, 0, 0, -1, \n 1, -1, -1, 0.375, 0.5, 0, 0, -1, \n -1, 1, 1, 0.625, 1, 0, 0.2651, 0.9642, \n 1, 1, 1, 0.625, 0.75, 0, 0.2651, 0.9642, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0, 0.2651, 0.9642, \n-0.396396, 3.195775, 0.396396, 0.625, 1, 0, 0.2651, 0.9642, \n -1, 1, -1, 0.625, 0.25, -0.9642, 0.2651, 0, \n -1, 1, 1, 0.625, 0, -0.9642, 0.2651, 0, \n-0.396396, 3.195775, 0.396396, 0.625, 0, -0.9642, 0.2651, 0, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, -0.9642, 0.2651, 0, \n 1, 1, 1, 0.625, 0.75, 0.9642, 0.2651, 0, \n 1, 1, -1, 0.625, 0.5, 0.9642, 0.2651, 0, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0.9642, 0.2651, 0, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0.9642, 0.2651, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0, 0, -1, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, 0, 0, -1, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, 0, 0, -1, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0, 0, -1, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, -0.6461, 0.7632, 0, \n-0.70778, 5.747853, 0.70778, 0.625, 0, -0.6461, 0.7632, 0, \n-0.363607, 6.039236, 0.363607, 0.625, 0, -0.6461, 0.7632, 0, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, -0.6461, 0.7632, 0, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0.7408, 0, 0.6717, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0.7408, 0, 0.6717, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0.7408, 0, 0.6717, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0.7408, 0, 0.6717, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.70778, 4.659433, 0.70778, 0.625, 1, 0, 0, 1, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0, 0, 1, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0, 0, 1, \n-0.70778, 5.747853, 0.70778, 0.625, 1, 0, 0, 1, \n-0.363607, 6.039236, 0.363607, 0.625, 1, 0, 0, 1, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 0, 0, 1, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 0, 0, 1, \n-0.363607, 6.228965, 0.363607, 0.625, 1, 0, 0, 1, \n-0.70778, 5.747853, 0.70778, 0.625, 1, 0, 0.7632, 0.6461, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0, 0.7632, 0.6461, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 0, 0.7632, 0.6461, \n-0.363607, 6.039236, 0.363607, 0.625, 1, 0, 0.7632, 0.6461, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0, 0.7632, -0.6461, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, 0, 0.7632, -0.6461, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, 0, 0.7632, -0.6461, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 0, 0.7632, -0.6461, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0.6461, 0.7632, 0, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0.6461, 0.7632, 0, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 0.6461, 0.7632, 0, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 0.6461, 0.7632, 0, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 0, -0.6177, -0.7864, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, 0, -0.6177, -0.7864, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, 0, -0.6177, -0.7864, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0, -0.6177, -0.7864, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 0, 0, -1, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, 0, 0, -1, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, 0, 0, -1, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 0, 0, -1, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 1, 0, 0, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 1, 0, 0, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 1, 0, 0, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 1, 0, 0, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, -1, 0, 0, \n-0.363607, 6.039236, 0.363607, 0.625, 0, -1, 0, 0, \n-0.363607, 6.228965, 0.363607, 0.625, 0, -1, 0, 0, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, -1, 0, 0, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 0.7864, -0.6177, 0, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 0.7864, -0.6177, 0, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0.7864, -0.6177, 0, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0.7864, -0.6177, 0, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, -0.7864, -0.6177, 0, \n-0.363607, 6.228965, 0.363607, 0.625, 0, -0.7864, -0.6177, 0, \n-0.527745, 6.437937, 0.527745, 0.625, 0, -0.7864, -0.6177, 0, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, -0.7864, -0.6177, 0, \n-0.363607, 6.228965, 0.363607, 0.625, 1, 0, -0.6177, 0.7864, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 0, -0.6177, 0.7864, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0, -0.6177, 0.7864, \n-0.527745, 6.437937, 0.527745, 0.625, 1, 0, -0.6177, 0.7864, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0, 0.5681, -0.8229, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, 0, 0.5681, -0.8229, \n-0.28575, 7.64915, -0.28575, 0.625, 0.25, 0, 0.5681, -0.8229, \n0.28575, 7.64915, -0.28575, 0.625, 0.5, 0, 0.5681, -0.8229, \n-0.527745, 6.437937, 0.527745, 0.625, 1, 0, -0.0692, 0.9976, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0, -0.0692, 0.9976, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0, -0.0692, 0.9976, \n-0.581972, 7.220059, 0.581972, 0.625, 1, 0, -0.0692, 0.9976, \n0.28575, 7.64915, -0.28575, 0.625, 0.5, 0, 1, 0, \n-0.28575, 7.64915, -0.28575, 0.875, 0.5, 0, 1, 0, \n-0.28575, 7.64915, 0.28575, 0.875, 0.75, 0, 1, 0, \n0.28575, 7.64915, 0.28575, 0.625, 0.75, 0, 1, 0, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0.8229, 0.5681, 0, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0.8229, 0.5681, 0, \n0.28575, 7.64915, -0.28575, 0.625, 0.5, 0.8229, 0.5681, 0, \n0.28575, 7.64915, 0.28575, 0.625, 0.75, 0.8229, 0.5681, 0, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, -0.8229, 0.5681, 0, \n-0.581972, 7.220059, 0.581972, 0.625, 0, -0.8229, 0.5681, 0, \n-0.28575, 7.64915, 0.28575, 0.625, 0, -0.8229, 0.5681, 0, \n-0.28575, 7.64915, -0.28575, 0.625, 0.25, -0.8229, 0.5681, 0, \n-0.581972, 7.220059, 0.581972, 0.625, 1, 0, 0.5681, 0.8229, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0, 0.5681, 0.8229, \n0.28575, 7.64915, 0.28575, 0.625, 0.75, 0, 0.5681, 0.8229, \n-0.28575, 7.64915, 0.28575, 0.625, 1, 0, 0.5681, 0.8229, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0, 0, -1, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0, 0, -1, \n1.280918, 5.516228, -0.406536, 0.625, 0.5, 0, 0, -1, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 0, 0, -1, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0.6468, -0.7627, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0.6468, -0.7627, 0, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0.6468, -0.7627, 0, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0.6468, -0.7627, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0.6468, 0.7627, 0, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0.6468, 0.7627, 0, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0.6468, 0.7627, 0, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0.6468, 0.7627, 0, \n-0.980918, 4.891058, 0.406536, 0.625, 1, 0, 0, 1, \n-0.980918, 5.516228, 0.406536, 0.625, 1, 0, 0, 1, \n-1.280918, 5.516228, 0.406536, 0.625, 1, 0, 0, 1, \n-1.280918, 4.891058, 0.406536, 0.625, 1, 0, 0, 1, \n-0.70778, 5.747853, 0.70778, 0.625, 0, -0.6468, 0.7627, 0, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, -0.6468, 0.7627, 0, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, -0.6468, 0.7627, 0, \n-0.980918, 5.516228, 0.406536, 0.625, 0, -0.6468, 0.7627, 0, \n-0.70778, 4.659433, 0.70778, 0.625, 1, -0.7408, 0, 0.6717, \n-0.70778, 5.747853, 0.70778, 0.625, 1, -0.7408, 0, 0.6717, \n-0.980918, 5.516228, 0.406536, 0.625, 1, -0.7408, 0, 0.6717, \n-0.980918, 4.891058, 0.406536, 0.625, 1, -0.7408, 0, 0.6717, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, -0.6468, -0.7627, 0, \n-0.70778, 4.659433, 0.70778, 0.625, 0, -0.6468, -0.7627, 0, \n-0.980918, 4.891058, 0.406536, 0.625, 0, -0.6468, -0.7627, 0, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, -0.6468, -0.7627, 0, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, -1, 0, 0, \n-1.280918, 4.891058, 0.406536, 0.625, 0, -1, 0, 0, \n-1.280918, 5.516228, 0.406536, 0.625, 0, -1, 0, 0, \n-1.280918, 5.516228, -0.406536, 0.625, 0.25, -1, 0, 0, \n-0.980918, 5.516228, 0.406536, 0.625, 0, 0, 1, 0, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, 0, 1, 0, \n-1.280918, 5.516228, -0.406536, 0.625, 0.25, 0, 1, 0, \n-1.280918, 5.516228, 0.406536, 0.625, 0, 0, 1, 0, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, 0, 0, -1, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, 0, 0, -1, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, 0, 0, -1, \n-1.280918, 5.516228, -0.406536, 0.625, 0.25, 0, 0, -1, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, -0.9978, -0.0665, 0, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, -0.9978, -0.0665, 0, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, -0.9978, -0.0665, 0, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, -0.9978, -0.0665, 0, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 1, 0, 0, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 1, 0, 0, \n1.280918, 5.516228, -0.406536, 0.625, 0.5, 1, 0, 0, \n1.280918, 5.516228, 0.406536, 0.625, 0.75, 1, 0, 0, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 0.9978, -0.0665, 0, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 0.9978, -0.0665, 0, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0.9978, -0.0665, 0, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0.9978, -0.0665, 0, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0, 0, 1, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0, 0, 1, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 0, 0, 1, \n1.280918, 5.516228, 0.406536, 0.625, 0.75, 0, 0, 1, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0, 1, 0, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0, 1, 0, \n1.280918, 5.516228, 0.406536, 0.625, 0.75, 0, 1, 0, \n1.280918, 5.516228, -0.406536, 0.625, 0.5, 0, 1, 0, \n-1.039887, 4.005651, 0.246717, 0.625, 1, 0, 0.239, 0.971, \n-1.22195, 4.005651, 0.246717, 0.625, 1, 0, 0.239, 0.971, \n-1.280918, 3.356243, 0.406536, 0.625, 1, 0, 0.239, 0.971, \n-0.980918, 3.356243, 0.406536, 0.625, 1, 0, 0.239, 0.971, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0.9944, 0.105, 0.0146, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0.9944, 0.105, 0.0146, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 0.9944, 0.105, 0.0146, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 0.9944, 0.105, 0.0146, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0, -0.1776, -0.9841, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 0, -0.1776, -0.9841, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0, -0.1776, -0.9841, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, 0, -0.1776, -0.9841, \n-1.280918, 4.891058, 0.406536, 0.625, 0, -0.9978, -0.0665, 0, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, -0.9978, -0.0665, 0, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, -0.9978, -0.0665, 0, \n-1.22195, 4.005651, 0.246717, 0.625, 0, -0.9978, -0.0665, 0, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, 0, -0.1776, -0.9841, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, 0, -0.1776, -0.9841, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0, -0.1776, -0.9841, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, 0, -0.1776, -0.9841, \n-0.980918, 4.891058, 0.406536, 0.625, 1, 0, -0.1776, 0.9841, \n-1.280918, 4.891058, 0.406536, 0.625, 1, 0, -0.1776, 0.9841, \n-1.22195, 4.005651, 0.246717, 0.625, 1, 0, -0.1776, 0.9841, \n-1.039887, 4.005651, 0.246717, 0.625, 1, 0, -0.1776, 0.9841, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 0, -0.1776, 0.9841, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0, -0.1776, 0.9841, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, 0, -0.1776, 0.9841, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0, -0.1776, 0.9841, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, 0.9978, -0.0665, 0, \n-0.980918, 4.891058, 0.406536, 0.625, 0, 0.9978, -0.0665, 0, \n-1.039887, 4.005651, 0.246717, 0.625, 0, 0.9978, -0.0665, 0, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0.9978, -0.0665, 0, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 0, -0.6592, 0.752, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, 0, -0.6592, 0.752, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.6592, 0.752, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.6592, 0.752, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, -1, 0, 0, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, -1, 0, 0, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, -1, 0, 0, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, -1, 0, 0, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0.9944, 0.105, 0.0146, \n-1.039887, 4.005651, 0.246717, 0.625, 0, 0.9944, 0.105, 0.0146, \n-0.980918, 3.356243, 0.406536, 0.625, 0, 0.9944, 0.105, 0.0146, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 0.9944, 0.105, 0.0146, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, 0, 0.3233, -0.9463, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0, 0.3233, -0.9463, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3233, -0.9463, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3233, -0.9463, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, 0, 0.3233, -0.9463, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0, 0.3233, -0.9463, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3233, -0.9463, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3233, -0.9463, \n-1.22195, 4.005651, 0.246717, 0.625, 0, -0.9944, 0.105, 0.0146, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, -0.9944, 0.105, 0.0146, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, -0.9944, 0.105, 0.0146, \n-1.280918, 3.356243, 0.406536, 0.625, 0, -0.9944, 0.105, 0.0146, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, -0.9944, 0.105, 0.0146, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, -0.9944, 0.105, 0.0146, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, -0.9944, 0.105, 0.0146, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, -0.9944, 0.105, 0.0146, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0, 0.239, 0.971, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, 0, 0.239, 0.971, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, 0, 0.239, 0.971, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 0, 0.239, 0.971, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.6843, -0.7292, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.6843, -0.7292, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.6843, -0.7292, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.6843, -0.7292, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.6843, -0.7292, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.6843, -0.7292, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.6843, -0.7292, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.6843, -0.7292, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 1, 0, 0, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 1, 0, 0, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 1, 0, 0, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 1, 0, 0, \n-0.980918, 3.356243, 0.406536, 0.625, 1, 0, -0.6592, 0.752, \n-1.280918, 3.356243, 0.406536, 0.625, 1, 0, -0.6592, 0.752, \n-1.280918, 2.342852, -0.481741, 0.625, 1, 0, -0.6592, 0.752, \n-0.980918, 2.342852, -0.481741, 0.625, 1, 0, -0.6592, 0.752, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 1, 0, 0, \n-0.980918, 3.356243, 0.406536, 0.625, 0, 1, 0, 0, \n-0.980918, 2.342852, -0.481741, 0.625, 0, 1, 0, 0, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 1, 0, 0, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3097, -0.9508, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3097, -0.9508, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.3097, -0.9508, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.3097, -0.9508, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3097, -0.9508, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3097, -0.9508, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.3097, -0.9508, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.3097, -0.9508, \n-1.280918, 3.356243, 0.406536, 0.625, 0, -1, 0, 0, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, -1, 0, 0, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, -1, 0, 0, \n-1.280918, 2.342852, -0.481741, 0.625, 0, -1, 0, 0, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.1306, -0.9914, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.1306, -0.9914, \n1.205918, 1.868141, -1.073623, 0.625, 0.5, 0, 0.1306, -0.9914, \n1.055918, 1.868141, -1.073623, 0.625, 0.5, 0, 0.1306, -0.9914, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 0.9329, -0.3135, -0.1774, \n-0.980918, 1.921174, -0.773021, 0.625, 0, 0.9329, -0.3135, -0.1774, \n-1.055918, 1.790813, -0.937002, 0.625, 0, 0.9329, -0.3135, -0.1774, \n-1.055918, 1.868141, -1.073623, 0.625, 0.25, 0.9329, -0.3135, -0.1774, \n-1.280918, 2.342852, -0.481741, 0.625, 0, -1, 0, 0, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, -1, 0, 0, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, -1, 0, 0, \n-1.280918, 1.921174, -0.773021, 0.625, 0, -1, 0, 0, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, -1, 0, 0, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, -1, 0, 0, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, -1, 0, 0, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, -1, 0, 0, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.5684, 0.8228, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.5684, 0.8228, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.5684, 0.8228, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.5684, 0.8228, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 1, 0, 0, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 1, 0, 0, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 1, 0, 0, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 1, 0, 0, \n-0.980918, 2.342852, -0.481741, 0.625, 1, 0, -0.5684, 0.8228, \n-1.280918, 2.342852, -0.481741, 0.625, 1, 0, -0.5684, 0.8228, \n-1.280918, 1.921174, -0.773021, 0.625, 1, 0, -0.5684, 0.8228, \n-0.980918, 1.921174, -0.773021, 0.625, 1, 0, -0.5684, 0.8228, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 1, 0, 0, \n-0.980918, 2.342852, -0.481741, 0.625, 0, 1, 0, 0, \n-0.980918, 1.921174, -0.773021, 0.625, 0, 1, 0, 0, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 1, 0, 0, \n-1.055918, 1.868141, -1.073623, 0.625, 0.25, 0, -0.8703, -0.4926, \n-1.055918, 1.790813, -0.937002, 0.625, 0, 0, -0.8703, -0.4926, \n-1.205918, 1.790813, -0.937002, 0.625, 0, 0, -0.8703, -0.4926, \n-1.205918, 1.868141, -1.073623, 0.625, 0.25, 0, -0.8703, -0.4926, \n1.055918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.8703, -0.4926, \n1.055918, 1.868141, -1.073623, 0.625, 0.5, 0, -0.8703, -0.4926, \n1.205918, 1.868141, -1.073623, 0.625, 0.5, 0, -0.8703, -0.4926, \n1.205918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.8703, -0.4926, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.1306, -0.9914, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.1306, -0.9914, \n-1.055918, 1.868141, -1.073623, 0.625, 0.25, 0, 0.1306, -0.9914, \n-1.205918, 1.868141, -1.073623, 0.625, 0.25, 0, 0.1306, -0.9914, \n-1.280918, 1.921174, -0.773021, 0.625, 0, -0.9329, -0.3135, -0.1774, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, -0.9329, -0.3135, -0.1774, \n-1.205918, 1.868141, -1.073623, 0.625, 0.25, -0.9329, -0.3135, -0.1774, \n-1.205918, 1.790813, -0.937002, 0.625, 0, -0.9329, -0.3135, -0.1774, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, -0.9329, -0.3135, -0.1774, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, -0.9329, -0.3135, -0.1774, \n1.055918, 1.868141, -1.073623, 0.625, 0.5, -0.9329, -0.3135, -0.1774, \n1.055918, 1.790813, -0.937002, 0.625, 0.75, -0.9329, -0.3135, -0.1774, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.7828, 0.6223, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.7828, 0.6223, \n1.055918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.7828, 0.6223, \n1.205918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.7828, 0.6223, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 0.9329, -0.3135, -0.1774, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 0.9329, -0.3135, -0.1774, \n1.205918, 1.790813, -0.937002, 0.625, 0.75, 0.9329, -0.3135, -0.1774, \n1.205918, 1.868141, -1.073623, 0.625, 0.5, 0.9329, -0.3135, -0.1774, \n-0.980918, 1.921174, -0.773021, 0.625, 1, 0, -0.7828, 0.6223, \n-1.280918, 1.921174, -0.773021, 0.625, 1, 0, -0.7828, 0.6223, \n-1.205918, 1.790813, -0.937002, 0.625, 1, 0, -0.7828, 0.6223, \n-1.055918, 1.790813, -0.937002, 0.625, 1, 0, -0.7828, 0.6223, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, -0.9976, -0.0692, 0, \n-0.527745, 6.437937, 0.527745, 0.625, 0, -0.9976, -0.0692, 0, \n-0.581972, 7.220059, 0.581972, 0.625, 0, -0.9976, -0.0692, 0, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, -0.9976, -0.0692, 0, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0, -0.0692, -0.9976, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, 0, -0.0692, -0.9976, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, 0, -0.0692, -0.9976, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0, -0.0692, -0.9976, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0.9976, -0.0692, 0, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0.9976, -0.0692, 0, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0.9976, -0.0692, 0, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0.9976, -0.0692, 0, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, -0.9781, -0.2081, 0, \n-0.396396, 3.195775, 0.396396, 0.625, 0, -0.9781, -0.2081, 0, \n-0.70778, 4.659433, 0.70778, 0.625, 0, -0.9781, -0.2081, 0, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, -0.9781, -0.2081, 0, \n-0.396396, 3.195775, 0.396396, 0.625, 1, 0, -0.2081, 0.9781, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0, -0.2081, 0.9781, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0, -0.2081, 0.9781, \n-0.70778, 4.659433, 0.70778, 0.625, 1, 0, -0.2081, 0.9781, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0, -0.2081, -0.9781, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, 0, -0.2081, -0.9781, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, 0, -0.2081, -0.9781, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0, -0.2081, -0.9781, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0.9781, -0.2081, 0, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0.9781, -0.2081, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0.9781, -0.2081, 0, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0.9781, -0.2081, 0, \n];\n\nobjArray.push(Robot_data);\n\n\ngroupArray.push(\n StaticArray.fromArray([\n 0, // material number\n 0, // object number\n 0, // starting face\n 348, // length\n ])\n);\n\ngroupArray.push(\n StaticArray.fromArray([\n 1, // material number\n 0, // object number\n 348, // starting face\n 12, // length\n ])\n);\n\ngroupArray.push(\n StaticArray.fromArray([\n 2, // material number\n 0, // object number\n 360, // starting face\n 16, // length\n ])\n);\n","import { Typeinfo, TypeinfoFlags } from \"./shared/typeinfo\";\nimport { E_INDEXOUTOFRANGE } from \"./util/error\";\nimport { OBJECT, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { ArrayBufferView } from \"./arraybuffer\";\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __rtti_base: usize;\n\n// @ts-ignore: decorator\n@builtin @unsafe\nexport declare function __visit_globals(cookie: u32): void;\n\n// @ts-ignore: decorator\n@builtin @unsafe\nexport declare function __visit_members(ref: usize, cookie: u32): void;\n\n// @ts-ignore: decorator\n@unsafe\nexport function __typeinfo(id: u32): TypeinfoFlags {\n var ptr = __rtti_base;\n if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE);\n return changetype(ptr + sizeof() + id * offsetof()).flags;\n}\n\n// @ts-ignore: decorator\n@unsafe\nexport function __instanceof(ref: usize, superId: u32): bool { // keyword\n var id = changetype(ref - TOTAL_OVERHEAD).rtId;\n var ptr = __rtti_base;\n if (id <= load(ptr)) {\n do if (id == superId) return true;\n while (id = changetype(ptr + sizeof() + id * offsetof()).base);\n }\n return false;\n}\n\n// @ts-ignore: decorator\n@unsafe\nexport function __newBuffer(size: usize, id: u32, data: usize = 0): usize {\n var buffer = __new(size, id);\n if (data) memory.copy(buffer, data, size);\n return buffer;\n}\n\n// @ts-ignore: decorator\n@unsafe\nexport function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize {\n var array = __new(offsetof(), id);\n var bufferSize = length << alignLog2;\n var buffer = __newBuffer(bufferSize, idof(), data);\n store(array, __retain(buffer), offsetof(\"buffer\"));\n store(array, buffer, offsetof(\"dataStart\"));\n store(array, bufferSize, offsetof(\"byteLength\"));\n store(array, length, offsetof(\"length_\"));\n return array;\n}\n\n// These are provided by the respective implementation, included as another entry file by asc:\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __alloc(size: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __realloc(ptr: usize, size: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __free(ptr: usize): void;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __new(size: usize, id: u32): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __renew(ptr: usize, size: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __retain(ptr: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __release(ptr: usize): void;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __collect(): void;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __visit(ptr: usize, cookie: u32): void;\n","/// \n\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { idof } from \"./builtins\";\nimport { Array } from \"./array\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from \"./util/error\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\n\n@final\nexport class StaticArray {\n [key: number]: T;\n\n // Note that the interface of StaticArray instances must be a semantically\n // compatible subset of Array in order for syntax highlighting to work\n // properly, for instance when creating static arrays from array literals.\n // The additionally provided static methods take care of dealing with static\n // arrays exclusively, without having to convert to Array first.\n\n static fromArray(source: Array): StaticArray {\n var length = source.length;\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n if (isManaged()) {\n let sourcePtr = source.dataStart;\n for (let i = 0; i < length; ++i) {\n let off = i << alignof();\n store(out + off, __retain(load(sourcePtr + off)));\n }\n } else {\n memory.copy(out, source.dataStart, outSize);\n }\n return changetype>(out);\n }\n\n static concat(source: StaticArray, other: StaticArray): StaticArray {\n var sourceLen = source.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = sourceLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__new(outLen << alignof(), idof>())); // retains\n var outStart = changetype(out);\n var sourceSize = sourceLen << alignof();\n if (isManaged()) {\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\n let ref = load(changetype(source) + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += sourceSize;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(changetype(other) + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(source), sourceSize);\n memory.copy(outStart + sourceSize, changetype(other), otherLen << alignof());\n }\n return out;\n }\n\n static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\n var length = source.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var sliceSize = length << alignof();\n var slice = changetype>(__new(sliceSize, idof>())); // retains\n var sourcePtr = changetype(source) + (start << alignof());\n if (isManaged()) {\n let off: usize = 0;\n while (off < sliceSize) {\n let ref = load(sourcePtr + off);\n store(changetype(slice) + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(changetype(slice), sourcePtr, sliceSize);\n }\n return slice;\n }\n\n constructor(length: i32) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n memory.fill(out, 0, outSize);\n return changetype>(out); // retains\n }\n\n get length(): i32 {\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof();\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(changetype(this) + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = changetype(this) + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(changetype(oldRef));\n }\n } else {\n store(changetype(this) + (index << alignof()), value);\n }\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n let elem = load(changetype(this) + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length): i32 {\n var length = this.length;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n while (fromIndex >= 0) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = changetype(this);\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(this), thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = changetype(this) + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n join(separator: string = \",\"): string {\n if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator);\n if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator);\n if (isFloat()) return joinFloatArray(changetype(this), this.length, separator);\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(changetype(this), this.length, separator);\n }\n if (isReference()) return joinReferenceArray(changetype(this), this.length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = changetype(this);\n let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n }\n}\n","/**\r\n * @author Rick Battagline / https://embed.com\r\n */\r\n\r\nimport {\r\n WebGLShader, shaderSource, createShader, compileShader, \r\n VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram,\r\n attachShader, useProgram, WebGLUniformLocation, getUniformLocation,\r\n linkProgram, clearColor, clear,\r\n createBuffer, ARRAY_BUFFER, \r\n DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT,\r\n enableVertexAttribArray, bindBuffer, createContextFromCanvas,\r\n bufferData, getAttribLocation, drawArrays, enable, depthFunc,\r\n vertexAttribPointer, TRIANGLES, GREATER\r\n} from '../../webgl'\r\n\r\nimport {\r\n objArray, matArray, groupArray\r\n} from './Robot'\r\n\r\nconst VERTEX_SHADER_CODE:string = `#version 300 es\r\n precision mediump float;\r\n\r\n in vec3 position;\r\n in vec3 normal;\r\n out vec4 c;\r\n \r\n void main() {\r\n const vec3 light = vec3(0.25, 2.0, -0.5);\r\n float d = clamp( dot( normal, light ), 0.0, 1.0);\r\n vec4 pos = vec4( position, 1.0 );\r\n\r\n mat4 mRotateTranslate = mat4(\r\n 1.0, 0.0, 0.0, 0.0, // column 1\r\n 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2\r\n 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3\r\n 0.0, 0.0, 0.0, 1.0 // column 4\r\n );\r\n\r\n gl_Position = pos * mRotateTranslate;\r\n c = vec4(max(d, 0.2), max(d, 0.2), max(d, 0.25), 1.0);\r\n }\r\n`;\r\n\r\n// THIS IS THE FRAGMENT SHADER\r\nconst FRAGMENT_SHADER_CODE:string = `#version 300 es\r\n precision highp float;\r\n in vec4 c;\r\n out vec4 color;\r\n\r\n void main() {\r\n color = c;\r\n }\r\n`;\r\n\r\n // initialize webgl\r\n var gl = createContextFromCanvas('cnvs', 'webgl2');\r\n\r\n let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER);\r\n shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE);\r\n compileShader(gl, vertex_shader);\r\n\r\n let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER);\r\n shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE);\r\n compileShader( gl, fragment_shader );\r\n\r\n let program = createProgram(gl);\r\n\r\n attachShader(gl, program, vertex_shader);\r\n attachShader(gl, program, fragment_shader);\r\n\r\n linkProgram( gl, program );\r\n\r\n useProgram( gl, program );\r\n\r\n let buffer = createBuffer(gl);\r\n bindBuffer(gl, ARRAY_BUFFER, buffer);\r\n\r\n let position_al = getAttribLocation(gl, program, 'position');\r\n enableVertexAttribArray(gl, position_al);\r\n\r\n let normal_al = getAttribLocation(gl, program, 'normal');\r\n enableVertexAttribArray(gl, normal_al);\r\n\r\n enable(gl, DEPTH_TEST);\r\n\r\n // I'M DUPLICATING A LOT OF VERTICES HERE.\r\n // INDEXES WOULD BE BETTER\r\n\r\nfunction rotate(theta: f32) : void { //u32 {\r\n for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) {\r\n for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 6 ) {\r\n\r\n let x:f32 = objArray[obj_i][coord_i];\r\n let z:f32 = objArray[obj_i][coord_i+2];\r\n\r\n let nx:f32 = objArray[obj_i][coord_i+3];\r\n let nz:f32 = objArray[obj_i][coord_i+5];\r\n\r\n let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta);\r\n let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta);\r\n\r\n let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta);\r\n let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta);\r\n\r\n objArray[obj_i][coord_i] = x1;\r\n objArray[obj_i][coord_i+2] = z1;\r\n\r\n objArray[obj_i][coord_i+3] = nx1;\r\n objArray[obj_i][coord_i+5] = nz1;\r\n }\r\n }\r\n\r\n return;\r\n}\r\n\r\n export function displayLoop(delta:i32):void {\r\n let r: f32 = delta / 10000.0;\r\n rotate(r);\r\n\r\n clearColor(gl, 0.0, 0.0, 0.0, 1.0);\r\n clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT);\r\n\r\n for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) {\r\n bufferData(gl, ARRAY_BUFFER, objArray[obj_i], DYNAMIC_DRAW);\r\n // dimensions | data_type | normalize | stride | offset\r\n vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0);\r\n vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12);\r\n drawArrays(gl, TRIANGLES, 0, objArray[obj_i].length / 6);\r\n }\r\n }","import * as JSMath from \"./bindings/Math\";\nexport { JSMath };\n\nimport {\n pow_lut, exp_lut, exp2_lut, log_lut, log2_lut,\n powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut\n} from \"./util/math\";\n\nimport {\n abs as builtin_abs,\n ceil as builtin_ceil,\n clz as builtin_clz,\n copysign as builtin_copysign,\n floor as builtin_floor,\n max as builtin_max,\n min as builtin_min,\n sqrt as builtin_sqrt,\n trunc as builtin_trunc\n} from \"./builtins\";\n\n// SUN COPYRIGHT NOTICE\n//\n// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\n// Developed at SunPro, a Sun Microsystems, Inc. business.\n// Permission to use, copy, modify, and distribute this software\n// is freely granted, provided that this notice is preserved.\n//\n// Applies to all functions marked with a comment referring here.\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy var rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64;\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy @inline const PIO2_TABLE = memory.data([\n 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB,\n 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5,\n 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF,\n 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7,\n 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20,\n 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557\n]);\n\n/** @internal */\nfunction R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01\n pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01\n pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01\n pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02\n pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04\n pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05\n qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00\n qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00\n qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01\n qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02\n var p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5)))));\n var q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4)));\n return p / q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2.c\n k = 2043,\n kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10\n var scale = reinterpret(((0x3FF + k / 2) << 20) << 32);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMath.exp(x - kln2) * (sign * scale) * scale;\n}\n\n/** @internal */\n/* Helper function to eventually get bits of π/2 * |x|\n *\n * y = π/4 * (frac << clz(frac) >> 11)\n * return clz(frac)\n *\n * Right shift 11 bits to make upper half fit in `double`\n */\n// @ts-ignore: decorator\n@inline\nfunction pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n // Bits of π/4\n const p0: u64 = 0xC4C6628B80DC1CD1;\n const p1: u64 = 0xC90FDAA22168C234;\n\n const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64\n const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75\n\n var shift = clz(q1);\n\n q1 = q1 << shift | q0 >> (64 - shift);\n q0 <<= shift;\n\n var lo = umuldi(p1, q1);\n var hi = res128_hi;\n\n var ahi = hi >> 11;\n var alo = lo >> 11 | hi << 53;\n var blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0);\n\n rempio2_y0 = (ahi + u64(lo < blo));\n rempio2_y1 = Ox1p_64 * (alo + blo);\n\n return shift;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction umuldi(u: u64, v: u64): u64 {\n var u1: u64 , v1: u64, w0: u64, w1: u64, t: u64;\n\n u1 = u & 0xFFFFFFFF;\n v1 = v & 0xFFFFFFFF;\n\n u >>= 32;\n v >>= 32;\n\n t = u1 * v1;\n w0 = t & 0xFFFFFFFF;\n t = u * v1 + (t >> 32);\n w1 = t >> 32;\n t = u1 * v + (t & 0xFFFFFFFF);\n\n res128_hi = u * v + w1 + (t >> 32);\n return (t << 32) + w0;\n}\n\n/** @internal */\nfunction pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n var magnitude = u & 0x7FFFFFFFFFFFFFFF;\n var offset = (magnitude >> 52) - 1045;\n var shift = offset & 63;\n var tblPtr = PIO2_TABLE + ((offset >> 6) << 3);\n var s0: u64, s1: u64, s2: u64;\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var b2 = load(tblPtr, 2 << 3);\n\n // Get 192 bits of 0x1p-31 / π with `offset` bits skipped\n if (shift) {\n let rshift = 64 - shift;\n let b3 = load(tblPtr, 3 << 3);\n s0 = b1 >> rshift | b0 << shift;\n s1 = b2 >> rshift | b1 << shift;\n s2 = b3 >> rshift | b2 << shift;\n } else {\n s0 = b0;\n s1 = b1;\n s2 = b2;\n }\n\n var significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000;\n\n // First 128 bits of fractional part of x/(2π)\n var blo = umuldi(s1, significand);\n var bhi = res128_hi;\n\n var ahi = s0 * significand;\n var clo = (s2 >> 32) * (significand >> 32);\n var plo = blo + clo;\n var phi = ahi + bhi + u64(plo < clo);\n\n // r: u128 = p << 2\n var rlo = plo << 2;\n var rhi = phi << 2 | plo >> 62;\n\n // s: i128 = r >> 127\n var slo = rhi >> 63;\n var shi = slo >> 1;\n var q = (phi >> 62) - slo;\n\n var shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52);\n var signbit = (u ^ rhi) & 0x8000000000000000;\n var coeff = reinterpret(shifter | signbit);\n\n rempio2_y0 *= coeff;\n rempio2_y1 *= coeff;\n\n return q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction rempio2(x: f64, u: u64, sign: i32): i32 {\n const pio2_1 = reinterpret(0x3FF921FB54400000); // 1.57079632673412561417e+00\n const pio2_1t = reinterpret(0x3DD0B4611A626331); // 6.07710050650619224932e-11\n const pio2_2 = reinterpret(0x3DD0B4611A600000); // 6.07710050630396597660e-11\n const pio2_2t = reinterpret(0x3BA3198A2E037073); // 2.02226624879595063154e-21\n const pio2_3 = reinterpret(0x3BA3198A2E000000); // 2.02226624871116645580e-21\n const pio2_3t = reinterpret(0x397B839A252049C1); // 8.47842766036889956997e-32\n const invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n var ix = (u >> 32) & 0x7FFFFFFF;\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1\n let q = 1, z: f64, y0: f64, y1: f64;\n if (!sign) {\n z = x - pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z - pio2_1t;\n y1 = (z - y0) - pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z -= pio2_2;\n y0 = z - pio2_2t;\n y1 = (z - y0) - pio2_2t;\n }\n } else { // negative x\n z = x + pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z + pio2_1t;\n y1 = (z - y0) + pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z += pio2_2;\n y0 = z + pio2_2t;\n y1 = (z - y0) + pio2_2t;\n }\n q = -1;\n }\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n }\n\n if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099)\n // Use precise Cody Waite scheme\n let q = nearest(x * invpio2);\n let r = x - q * pio2_1;\n let w = q * pio2_1t; // 1st round good to 85 bit\n let j = ix >> 20;\n let y0 = r - w;\n let hi = (reinterpret(y0) >> 32);\n let i = j - ((hi >> 20) & 0x7FF);\n\n if (i > 16) { // 2nd iteration needed, good to 118\n let t = r;\n w = q * pio2_2;\n r = t - w;\n w = q * pio2_2t - ((t - r) - w);\n y0 = r - w;\n hi = (reinterpret(y0) >> 32);\n i = j - ((hi >> 20) & 0x7FF);\n if (i > 49) { // 3rd iteration need, 151 bits acc\n let t = r;\n w = q * pio2_3;\n r = t - w;\n w = q * pio2_3t - ((t - r) - w);\n y0 = r - w;\n }\n }\n let y1 = (r - y0) - w;\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n var q = pio2_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c\n const S1 = reinterpret(0xBFC5555555555549); // -1.66666666666666324348e-01\n const S2 = reinterpret(0x3F8111111110F8A6); // 8.33333333332248946124e-03\n const S3 = reinterpret(0xBF2A01A019C161D5); // -1.98412698298579493134e-04\n const S4 = reinterpret(0x3EC71DE357B1FE7D); // 2.75573137070700676789e-06\n const S5 = reinterpret(0xBE5AE5E68A2B9CEB); // -2.50507602534068634195e-08\n const S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10\n\n var z = x * x;\n var w = z * z;\n var r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6);\n var v = z * x;\n if (!iy) {\n return x + v * (S1 + z * r);\n } else {\n return x - ((z * (0.5 * y - v * r) - y) - v * S1);\n }\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c\n const C1 = reinterpret(0x3FA555555555554C); // 4.16666666666666019037e-02\n const C2 = reinterpret(0xBF56C16C16C15177); // -1.38888888888741095749e-03\n const C3 = reinterpret(0x3EFA01A019CB1590); // 2.48015872894767294178e-05\n const C4 = reinterpret(0xBE927E4F809C52AD); // -2.75573143513906633035e-07\n const C5 = reinterpret(0x3E21EE9EBDB4B1C4); // 2.08757232129817482790e-09\n const C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11\n\n var z = x * x;\n var w = z * z;\n var r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6));\n var hz = 0.5 * z;\n w = 1.0 - hz;\n return w + (((1.0 - w) - hz) + (z * r - x * y));\n}\n\n/** @internal */\nfunction tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c\n const T0 = reinterpret(0x3FD5555555555563); // 3.33333333333334091986e-01\n const T1 = reinterpret(0x3FC111111110FE7A); // 1.33333333333201242699e-01\n const T2 = reinterpret(0x3FABA1BA1BB341FE); // 5.39682539762260521377e-02\n const T3 = reinterpret(0x3F9664F48406D637); // 2.18694882948595424599e-02\n const T4 = reinterpret(0x3F8226E3E96E8493); // 8.86323982359930005737e-03\n const T5 = reinterpret(0x3F6D6D22C9560328); // 3.59207910759131235356e-03\n const T6 = reinterpret(0x3F57DBC8FEE08315); // 1.45620945432529025516e-03\n const T7 = reinterpret(0x3F4344D8F2F26501); // 5.88041240820264096874e-04\n const T8 = reinterpret(0x3F3026F71A8D1068); // 2.46463134818469906812e-04\n const T9 = reinterpret(0x3F147E88A03792A6); // 7.81794442939557092300e-05\n const T10 = reinterpret(0x3F12B80F32F0A7E9); // 7.14072491382608190305e-05\n const T11 = reinterpret(0xBEF375CBDB605373); // -1.85586374855275456654e-05\n const T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05\n\n const one = reinterpret(0x3FF0000000000000); // 1.00000000000000000000e+00\n const pio4 = reinterpret(0x3FE921FB54442D18); // 7.85398163397448278999e-01\n const pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17\n\n var z: f64, r: f64, v: f64, w: f64, s: f64;\n var hx = (reinterpret(x) >> 32); // high word of x\n var ix = hx & 0x7FFFFFFF; // high word of |x|\n var big = ix >= 0x3FE59428;\n if (big) { // |x| >= 0.6744\n if (hx < 0) { x = -x, y = -y; }\n z = pio4 - x;\n w = pio4lo - y;\n x = z + w;\n y = 0.0;\n }\n z = x * x;\n w = z * z;\n r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11))));\n v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12)))));\n s = z * x;\n r = y + z * (s * (r + v) + y);\n r += T0 * s;\n w = x + r;\n if (big) {\n v = iy;\n return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r)));\n }\n if (iy == 1) return w;\n var a: f64, t: f64;\n z = w;\n z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000);\n v = r - (z - x); // z + v = r + x\n t = a = -one / w; // a = -1.0 / w\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n s = one + t * z;\n return t + a * (s + t * v);\n}\n\n/** @internal */\nfunction dtoi32(x: f64): i32 {\n if (ASC_SHRINK_LEVEL > 0) {\n const inv32 = 1.0 / 4294967296;\n return (x - 4294967296 * floor(x * inv32));\n } else {\n let result = 0;\n let u = reinterpret(x);\n let e = (u >> 52) & 0x7FF;\n if (e <= 1023 + 30) {\n result = x;\n } else if (e <= 1023 + 30 + 53) {\n let v = (u & ((1 << 52) - 1)) | (1 << 52);\n v = v << e - 1023 - 52 + 32;\n result = (v >> 32);\n result = select(-result, result, u >> 63);\n }\n return result;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var random_seeded = false;\n\n// @ts-ignore: decorator\n@lazy var random_state0_64: u64, random_state1_64: u64;\n\n// @ts-ignore: decorator\n@lazy var random_state0_32: u32, random_state1_32: u32;\n\nfunction murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche\n h ^= h >> 33; // see: https://github.com/aappleby/smhasher\n h *= 0xFF51AFD7ED558CCD;\n h ^= h >> 33;\n h *= 0xC4CEB9FE1A85EC53;\n h ^= h >> 33;\n return h;\n}\n\nfunction splitMix32(h: u32): u32 {\n h += 0x6D2B79F5;\n h = (h ^ (h >> 15)) * (h | 1);\n h ^= h + (h ^ (h >> 7)) * (h | 61);\n return h ^ (h >> 14);\n}\n\nexport namespace NativeMath {\n\n // @ts-ignore: decorator\n @lazy\n export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765\n\n // @ts-ignore: decorator\n @lazy\n export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f64 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f64 = 0;\n\n // @ts-ignore: decorator\n @inline export function abs(x: f64): f64 {\n return builtin_abs(x);\n }\n\n export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * R(x * x)));\n }\n var s: f64, w: f64, z: f64;\n if (hx >> 31) {\n // z = (1.0 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = R(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1.0 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n var df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n var c = (z - df * df) / (s + df);\n w = R(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c\n const s = reinterpret(0x3FE62E42FEFA39EF);\n var e = reinterpret(x) >> 52 & 0x7FF;\n if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1)));\n if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f;\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix < 0x3E500000 && ix >= 0x00100000) return x;\n return x + x * R(x * x);\n }\n // var z = (1.0 - builtin_abs(x)) * 0.5;\n var z = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z);\n var r = R(z);\n if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo);\n else {\n let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n let c = (z - f * f) / (s + f);\n x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));\n }\n if (hx >> 31) return -x;\n return x;\n }\n\n export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c\n const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = reinterpret(u & 0x7FFFFFFFFFFFFFFF);\n if (e >= 0x3FF + 26) y = log(y) + c;\n else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01\n atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\n atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01\n atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17\n atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17\n atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17\n atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01\n aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01\n aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01\n aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01,\n aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02\n aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02\n aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02\n aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02\n aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02\n aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02\n aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02\n Ox1p_120f = reinterpret(0x03800000);\n var ix = (reinterpret(x) >> 32);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f64;\n if (ix >= 0x44100000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3FDC0000) {\n if (ix < 0x3E400000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3FF30000) {\n if (ix < 0x3FE60000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x40038000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10)))));\n var s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9))));\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = builtin_abs(x);\n if (e < 0x3FF - 1) {\n if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y));\n } else {\n y = 0.5 * log1p(2 * (y / (1 - y)));\n }\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above\n const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16\n if (isNaN(x) || isNaN(y)) return x + y;\n var u = reinterpret(x);\n var ix = (u >> 32);\n var lx = u;\n u = reinterpret(y);\n var iy = (u >> 32);\n var ly = u;\n if ((ix - 0x3FF00000 | lx) == 0) return atan(y);\n var m = ((iy >> 31) & 1) | ((ix >> 30) & 2);\n ix = ix & 0x7FFFFFFF;\n iy = iy & 0x7FFFFFFF;\n if ((iy | ly) == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return PI;\n case 3: return -PI;\n }\n }\n if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2;\n if (ix == 0x7FF00000) {\n if (iy == 0x7FF00000) {\n let t = m & 2 ? 3 * PI / 4 : PI / 4;\n return m & 1 ? -t : t;\n } else {\n let t = m & 2 ? PI : 0;\n return m & 1 ? -t : t;\n }\n }\n var z: f64;\n if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2;\n if ((m & 2) && iy + (64 << 20) < ix) z = 0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return PI - (z - pi_lo);\n case 3: return (z - pi_lo) - PI;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 715094163,\n B2 = 696219795,\n P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643\n P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875\n P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140\n P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437\n P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32) & 0x7FFFFFFF;\n if (hx >= 0x7FF00000) return x + x;\n if (hx < 0x00100000) {\n u = reinterpret(x * Ox1p54);\n hx = (u >> 32) & 0x7FFFFFFF;\n if (hx == 0) return x;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 1 << 63;\n u |= hx << 32;\n var t = reinterpret(u);\n var r = (t * t) * (t / x);\n t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4));\n t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000);\n var s = t * t;\n r = x / s;\n r = (r - t) / (2 * t + r);\n t = t + t * r;\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f64): f64 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f64): f64 {\n if (!isFinite(x)) return 32;\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f64): f64 { // see: musl/src/math/cos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2)\n return 1.0;\n }\n return cos_kern(x, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1);\n return (n + 1) & 2 ? -x : x;\n }\n\n export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n x = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w < 0x3FE62E42) {\n if (w < 0x3FF00000 - (26 << 20)) return 1;\n t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (w < 0x40862E42) {\n t = exp(x);\n return 0.5 * (t + 1 / t);\n }\n t = expo2(x, 1);\n return t;\n }\n\n export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return exp_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096\n underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n let hx = (reinterpret(x) >> 32);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x4086232B) {\n if (isNaN(x)) return x;\n if (x > overflow) return x * Ox1p1023;\n if (x < underflow) return 0;\n }\n let hi: f64, lo: f64 = 0;\n let k = 0;\n if (hx > 0x3FD62E42) {\n if (hx >= 0x3FF0A2B2) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x3E300000) {\n hi = x;\n } else return 1.0 + x;\n let xs = x * x;\n // var c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5))));\n let xq = xs * xs;\n let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5)));\n let y = 1.0 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f64): f64 {\n return exp2_lut(x);\n }\n\n export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02\n Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03\n Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05\n Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06\n Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32 & 0x7FFFFFFF);\n var k = 0, sign_ = (u >> 63);\n if (hx >= 0x4043687A) {\n if (isNaN(x)) return x;\n if (sign_) return -1;\n if (x > o_threshold) return x * Ox1p1023;\n }\n var c = 0.0, t: f64;\n if (hx > 0x3FD62E42) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3FF0A2B2\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x3C900000) return x;\n var hfx = 0.5 * x;\n var hxs = x * hfx;\n // var r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5))));\n var hxq = hxs * hxs;\n var r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5));\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x3FF + k) << 52;\n var twopk = reinterpret(u);\n var y: f64;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 1024) y = y * 2.0 * Ox1p1023;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x3FF - k) << 52;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f64): f64 {\n return builtin_floor(x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f64): f64 {\n return x;\n }\n\n export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c\n const\n SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1\n Ox1p700 = reinterpret(0x6BB0000000000000),\n Ox1p_700 = reinterpret(0x1430000000000000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFFFFFFFFFF;\n uy &= 0x7FFFFFFFFFFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n var ex = (ux >> 52);\n var ey = (uy >> 52);\n y = reinterpret(uy);\n if (ey == 0x7FF) return y;\n x = reinterpret(ux);\n if (ex == 0x7FF || uy == 0) return x;\n if (ex - ey > 64) return x + y;\n var z = 1.0;\n if (ex > 0x3FF + 510) {\n z = Ox1p700;\n x *= Ox1p_700;\n y *= Ox1p_700;\n } else if (ey < 0x3FF - 450) {\n z = Ox1p_700;\n x *= Ox1p700;\n y *= Ox1p700;\n }\n var c = x * SPLIT;\n var h = x - c + c;\n var l = x - h;\n var hx = x * x;\n var lx = h * h - hx + (2 * h + l) * l;\n c = y * SPLIT;\n h = y - c + c;\n l = y - h;\n var hy = y * y;\n var ly = h * h - hy + (2 * h + l) * l;\n return z * builtin_sqrt(ly + lx + hy + hx);\n }\n\n export function imul(x: f64, y: f64): f64 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return dtoi32(x) * dtoi32(y);\n }\n\n export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01\n ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11\n log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01\n log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n var f = x - 1.0;\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var val_hi = hi * ivln10hi;\n var dk = k;\n var y = dk * log10_2hi;\n var val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n return val_lo + w;\n }\n\n export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 1;\n var c = 0.0, f = 0.0;\n if (hx < 0x3FDA827A || (hx >> 31)) {\n if (hx >= 0xBFF00000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (hx << 1 < 0x3CA00000 << 1) return x;\n if (hx <= 0xBFD2BEC4) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (hx >= 0x7FF00000) return x;\n if (k) {\n u = reinterpret(1 + x);\n let hu = (u >> 32);\n hu += 0x3FF00000 - 0x3FE6A09E;\n k = (hu >> 20) - 0x3FF;\n if (k < 54) {\n let uf = reinterpret(u);\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n hu = (hu & 0x000FFFFF) + 0x3FE6A09E;\n u = hu << 32 | (u & 0xFFFFFFFF);\n f = reinterpret(u) - 1;\n }\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00\n ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n let lo = f - hi - hfsq + s * (hfsq + r);\n let val_hi = hi * ivln2hi;\n let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi;\n let y = k;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n val_hi = w;\n return val_lo + val_hi;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f64, value2: f64): f64 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f64, value2: f64): f64 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n return pow_lut(x, y);\n } else {\n const\n dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01\n dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08\n two53 = reinterpret(0x4340000000000000), // 9007199254740992.0\n huge = reinterpret(0x7E37E43C8800759C), // 1e+300\n tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300\n L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01\n L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01\n L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01\n L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01\n L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01\n L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01\n lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01\n lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09\n ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017\n cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01\n cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01\n cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09\n ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00\n ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08\n inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333\n let u_ = reinterpret(x);\n let hx = (u_ >> 32);\n let lx = u_;\n u_ = reinterpret(y);\n let hy = (u_ >> 32);\n let ly = u_;\n let ix = hx & 0x7FFFFFFF;\n let iy = hy & 0x7FFFFFFF;\n if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN\n // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN\n if ( // NaN if either arg is NaN\n ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) ||\n iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0)\n ) return x + y;\n let yisint = 0, k: i32;\n if (hx < 0) {\n if (iy >= 0x43400000) yisint = 2;\n else if (iy >= 0x3FF00000) {\n k = (iy >> 20) - 0x3FF;\n let offset = select(52, 20, k > 20) - k;\n let Ly = select(ly, iy, k > 20);\n let jj = Ly >> offset;\n if ((jj << offset) == Ly) yisint = 2 - (jj & 1);\n }\n }\n if (ly == 0) {\n if (iy == 0x7FF00000) { // y is +-inf\n if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN\n else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0\n else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf\n }\n if (iy == 0x3FF00000) {\n if (hy >= 0) return x;\n return 1 / x;\n }\n if (hy == 0x40000000) return x * x;\n if (hy == 0x3FE00000) {\n if (hx >= 0) return builtin_sqrt(x);\n }\n }\n let ax = builtin_abs(x), z: f64;\n if (lx == 0) {\n if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) {\n z = ax;\n if (hy < 0) z = 1.0 / z;\n if (hx < 0) {\n if (((ix - 0x3FF00000) | yisint) == 0) {\n let d = z - z;\n z = d / d;\n } else if (yisint == 1) z = -z;\n }\n return z;\n }\n }\n let s = 1.0;\n if (hx < 0) {\n if (yisint == 0) {\n let d = x - x;\n return d / d;\n }\n if (yisint == 1) s = -1.0;\n }\n let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64;\n let j: i32, n: i32;\n if (iy > 0x41E00000) {\n if (iy > 0x43F00000) {\n if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny;\n if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny;\n }\n if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny;\n if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny;\n t = ax - 1.0;\n w = (t * t) * (0.5 - t * (inv3 - t * 0.25));\n u = ivln2_h * t;\n v = t * ivln2_l - w * ivln2;\n t1 = u + v;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = v - (t1 - u);\n } else {\n let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64;\n n = 0;\n if (ix < 0x00100000) {\n ax *= two53;\n n -= 53;\n ix = (reinterpret(ax) >> 32);\n }\n n += (ix >> 20) - 0x3FF;\n j = ix & 0x000FFFFF;\n ix = j | 0x3FF00000;\n if (j <= 0x3988E) k = 0;\n else if (j < 0xBB67A) k = 1;\n else {\n k = 0;\n n += 1;\n ix -= 0x00100000;\n }\n ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32));\n let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0\n u = ax - bp;\n v = 1.0 / (ax + bp);\n ss = u * v;\n s_h = ss;\n s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000);\n t_h = reinterpret((((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32);\n t_l = ax - (t_h - bp);\n s_l = v * ((u - s_h * t_h) - s_h * t_l);\n s2 = ss * ss;\n r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))));\n r += s_l * (s_h + ss);\n s2 = s_h * s_h;\n t_h = 3.0 + s2 + r;\n t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000);\n t_l = r - ((t_h - 3.0) - s2);\n u = s_h * t_h;\n v = s_l * t_h + t_l * ss;\n p_h = u + v;\n p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000);\n p_l = v - (p_h - u);\n let z_h = cp_h * p_h;\n let dp_l = select(dp_l1, 0.0, k);\n let z_l = cp_l * p_h + p_l * cp + dp_l;\n t = n;\n let dp_h = select(dp_h1, 0.0, k);\n t1 = ((z_h + z_l) + dp_h) + t;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = z_l - (((t1 - t) - dp_h) - z_h);\n }\n let y1 = y;\n y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000);\n p_l = (y - y1) * t1 + y * t2;\n p_h = y1 * t1;\n z = p_l + p_h;\n u_ = reinterpret(z);\n j = (u_ >> 32);\n let i = u_;\n if (j >= 0x40900000) {\n if (((j - 0x40900000) | i) != 0) return s * huge * huge;\n if (p_l + ovt > z - p_h) return s * huge * huge;\n } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) {\n if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny;\n if (p_l <= z - p_h) return s * tiny * tiny;\n }\n i = j & 0x7FFFFFFF;\n k = (i >> 20) - 0x3FF;\n n = 0;\n if (i > 0x3FE00000) {\n n = j + (0x00100000 >> (k + 1));\n k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF;\n t = 0.0;\n t = reinterpret((n & ~(0x000FFFFF >> k)) << 32);\n n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k);\n if (j < 0) n = -n;\n p_h -= t;\n }\n t = p_l + p_h;\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n u = t * lg2_h;\n v = (p_l - (t - p_h)) * lg2 + t * lg2_l;\n z = u + v;\n w = v - (z - u);\n t = z * z;\n t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5))));\n r = (z * t1) / (t1 - 2.0) - (w + z * w);\n z = 1.0 - (r - z);\n j = (reinterpret(z) >> 32);\n j += n << 20;\n if ((j >> 20) <= 0) z = scalbn(z, n);\n else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32));\n return s * z;\n }\n }\n\n export function seedRandom(value: i64): void {\n random_seeded = true;\n random_state0_64 = murmurHash3(value);\n random_state1_64 = murmurHash3(~random_state0_64);\n random_state0_32 = splitMix32(value);\n random_state1_32 = splitMix32(random_state0_32);\n assert(\n random_state0_64 != 0 && random_state1_64 != 0 &&\n random_state0_32 != 0 && random_state1_32 != 0\n );\n }\n\n export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc\n if (!random_seeded) seedRandom(reinterpret(seed()));\n var s1 = random_state0_64;\n var s0 = random_state1_64;\n random_state0_64 = s0;\n s1 ^= s1 << 23;\n s1 ^= s1 >> 17;\n s1 ^= s0;\n s1 ^= s0 >> 26;\n random_state1_64 = s1;\n var r = (s0 >> 12) | 0x3FF0000000000000;\n return reinterpret(r) - 1;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f64): f64 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f64): f64 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f64): bool {\n return (reinterpret(x) >>> 63);\n }\n\n export function sin(x: f64): f64 { // see: musl/src/math/sin.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E500000) { // |x| < 2**-26\n return x;\n }\n return sin_kern(x, 0.0, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1);\n return n & 2 ? -x : x;\n }\n\n export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c\n var u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF;\n var absx = reinterpret(u);\n var w = (u >> 32);\n var h = builtin_copysign(0.5, x);\n if (w < 0x40862E42) {\n let t = expm1(absx);\n if (w < 0x3FF00000) {\n if (w < 0x3FF00000 - (26 << 20)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f64): f64 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f64): f64 { // see: musl/src/math/tan.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >>> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E400000) { // |x| < 2**-27\n return x;\n }\n return tan_kern(x, 0.0, 1);\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n var n = rempio2(x, u, sign);\n return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1));\n }\n\n export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n var y = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w > 0x3FE193EA) {\n if (w > 0x40340000) {\n t = 1 - 0 / y;\n } else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (w > 0x3FD058AE) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (w >= 0x00100000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f64): f64 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c\n const\n Ox1p53 = reinterpret(0x4340000000000000),\n Ox1p1023 = reinterpret(0x7FE0000000000000),\n Ox1p_1022 = reinterpret(0x0010000000000000);\n var y = x;\n if (n > 1023) {\n y *= Ox1p1023;\n n -= 1023;\n if (n > 1023) {\n y *= Ox1p1023;\n n = builtin_min(n - 1023, 1023);\n }\n } else if (n < -1022) {\n // make sure final n < -53 to avoid double\n // rounding in the subnormal range\n y *= Ox1p_1022 * Ox1p53;\n n += 1022 - 53;\n if (n < -1022) {\n y *= Ox1p_1022 * Ox1p53;\n n = builtin_max(n + 1022 - 53, -1022);\n }\n }\n return y * reinterpret((0x3FF + n) << 52);\n }\n\n export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = ux >> 63;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f64(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 12);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 12;\n ux |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 52); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 11);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 52;\n ux |= ex << 52;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | (sx << 63));\n }\n\n export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = (ux >> 63);\n if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n if (ux << 1 == 0) return x;\n var uxi = ux;\n if (!ex) {\n ex -= builtin_clz(uxi << 12);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 12;\n uxi |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n var q: u32 = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -60;\n else {\n let shift = builtin_clz(uxi << 11);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 52;\n uxi |= ex << 52;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // ++q;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3FE921FB) { // |x| ~<= π/4\n if (ix < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2)\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kern(x, 0, 0);\n sincos_cos = cos_kern(x, 0);\n return;\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n var s = sin_kern(y0, y1, 1);\n var c = cos_kern(y0, y1);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var rempio2f_y: f64;\n\n// @ts-ignore: decorator\n@lazy @inline const PIO2F_TABLE = memory.data([\n 0xA2F9836E4E441529,\n 0xFC2757D1F534DDC0,\n 0xDB6295993C439041,\n 0xFE5163ABDEBBC561\n]);\n\nfunction Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f\n pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f\n pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f\n qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f\n var p = z * (pS0 + z * (pS1 + z * pS2));\n var q: f32 = 1 + z * qS1;\n return p / q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2f.c\n k = 235,\n kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f\n var scale = reinterpret((0x7F + (k >> 1)) << 23);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMathf.exp(x - kln2) * (sign * scale) * scale;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20\n\n var offset = (u >> 23) - 152;\n var shift = (offset & 63);\n var tblPtr = PIO2F_TABLE + (offset >> 6 << 3);\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var lo: u64;\n\n if (shift > 32) {\n let b2 = load(tblPtr, 2 << 3);\n lo = b2 >> (96 - shift);\n lo |= b1 << (shift - 32);\n } else {\n lo = b1 >> (32 - shift);\n }\n\n var hi = (b1 >> (64 - shift)) | (b0 << shift);\n var mantissa: u64 = (u & 0x007FFFFF) | 0x00800000;\n var product = mantissa * hi + (mantissa * lo >> 32);\n var r: i64 = product << 2;\n var q = ((product >> 62) + (r >>> 63));\n rempio2f_y = copysign(coeff, x) * r;\n return q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const pi2hi = reinterpret(0x3FF921FB50000000); // 1.57079631090164184570\n const pi2lo = reinterpret(0x3E5110B4611A6263); // 1.58932547735281966916e-8\n const _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n if (u < 0x4DC90FDB) { // π * 0x1p28\n let q = nearest(x * _2_pi);\n rempio2f_y = x - q * pi2hi - q * pi2lo;\n return q;\n }\n\n var q = pio2f_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]).\n// @ts-ignore: decorator\n@inline\nfunction sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c\n const S1 = reinterpret(0xBFC5555554CBAC77); // -0x15555554cbac77.0p-55\n const S2 = reinterpret(0x3F811110896EFBB2); // 0x111110896efbb2.0p-59\n const S3 = reinterpret(0xBF2A00F9E2CAE774); // -0x1a00f9e2cae774.0p-65\n const S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71\n\n var z = x * x;\n var w = z * z;\n var r = S3 + z * S4;\n var s = z * x;\n return ((x + s * (S1 + z * S2)) + s * w * r);\n}\n\n// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]).\n// @ts-ignore: decorator\n@inline\nfunction cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c\n const C0 = reinterpret(0xBFDFFFFFFD0C5E81); // -0x1ffffffd0c5e81.0p-54\n const C1 = reinterpret(0x3FA55553E1053A42); // 0x155553e1053a42.0p-57\n const C2 = reinterpret(0xBF56C087E80F1E27); // -0x16c087e80f1e27.0p-62\n const C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68\n\n var z = x * x;\n var w = z * z;\n var r = C2 + z * C3;\n return (((1 + z * C0) + w * C1) + (w * z) * r);\n}\n\n// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]).\n// @ts-ignore: decorator\n@inline\nfunction tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c\n\n const T0 = reinterpret(0x3FD5554D3418C99F); // 0x15554d3418c99f.0p-54\n const T1 = reinterpret(0x3FC112FD38999F72); // 0x1112fd38999f72.0p-55\n const T2 = reinterpret(0x3FAB54C91D865AFE); // 0x1b54c91d865afe.0p-57\n const T3 = reinterpret(0x3F991DF3908C33CE); // 0x191df3908c33ce.0p-58\n const T4 = reinterpret(0x3F685DADFCECF44E); // 0x185dadfcecf44e.0p-61\n const T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59\n\n var z = x * x;\n var r = T4 + z * T5;\n var t = T2 + z * T3;\n var w = z * z;\n var s = z * x;\n var u = T0 + z * T1;\n\n r = (x + s * u) + (s * w) * (t + w * r);\n return (odd ? -1 / r : r);\n}\n\n// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h\n// @ts-ignore: decorator\n@inline\nfunction log2f(x: f64): f64 {\n const\n log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736\n c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129\n c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505\n c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375\n c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150\n\n var i = reinterpret(x);\n var exponent = (i - 0x3FE6A09E667F3BCD) >> 52;\n x = reinterpret(i - (exponent << 52));\n x = (x - 1) / (x + 1);\n var xx = x * x;\n var y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx));\n return (2 * log2e) * y + exponent;\n}\n\n// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h\n// @ts-ignore: decorator\n@inline\nfunction exp2f(x: f64): f64 {\n const\n c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1\n c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1\n c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2\n c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3\n c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3\n c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4\n\n if (x < -1022) return 0;\n if (x >= 1024) return Infinity;\n\n var n = nearest(x);\n x -= n;\n var xx = x * x;\n var y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx));\n return reinterpret(reinterpret(y) + (n << 52));\n}\n\nexport namespace NativeMathf {\n\n // @ts-ignore: decorator\n @lazy\n export const E = NativeMath.E;\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = NativeMath.LN2;\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = NativeMath.LN10;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = NativeMath.LOG2E;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = NativeMath.LOG10E;\n\n // @ts-ignore: decorator\n @lazy\n export const PI = NativeMath.PI;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = NativeMath.SQRT1_2;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = NativeMath.SQRT2;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f32 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f32 = 0;\n\n // @ts-ignore: decorator\n @inline\n export function abs(x: f32): f32 {\n return builtin_abs(x);\n }\n\n export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f\n Ox1p_120f = reinterpret(0x03800000);\n var hx = reinterpret(x);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3F800000) {\n if (ix == 0x3F800000) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3F000000) {\n if (ix <= 0x32800000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * Rf(x * x)));\n }\n var z: f32, w: f32, s: f32;\n if (hx >> 31) {\n // z = (1 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = Rf(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n hx = reinterpret(s);\n var df = reinterpret(hx & 0xFFFFF000);\n var c = (z - df * df) / (s + df);\n w = Rf(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c\n const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x);\n var a = u & 0x7FFFFFFF;\n if (a < 0x3F800000 + (1 << 23)) {\n let xm1 = x - 1;\n return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2)));\n }\n if (a < 0x3F800000 + (12 << 23)) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n const\n pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f\n Ox1p_120f = reinterpret(0x03800000);\n var sx = x;\n var hx = reinterpret(x) & 0x7FFFFFFF;\n if (hx >= 0x3F800000) {\n if (hx == 0x3F800000) return x * pio2 + Ox1p_120f;\n return 0 / (x - x);\n }\n if (hx < 0x3F000000) {\n if (hx < 0x39800000 && hx >= 0x00800000) return x;\n return x + x * Rf(x * x);\n }\n // var z: f32 = (1 - builtin_abs(x)) * 0.5;\n var z: f32 = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z); // sic\n x = (pio2 - 2 * (s + s * Rf(z)));\n return builtin_copysign(x, sx);\n }\n\n export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c\n const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x) & 0x7FFFFFFF;\n var y = reinterpret(u);\n if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c;\n else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f\n atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f\n atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f\n atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f\n atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f\n atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f\n atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f\n aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f\n aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f\n aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f\n aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f\n aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f\n Ox1p_120f = reinterpret(0x03800000);\n var ix = reinterpret(x);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f32;\n if (ix >= 0x4C800000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3EE00000) {\n if (ix < 0x39800000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3F980000) {\n if (ix < 0x3F300000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x401C0000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * aT4));\n var s2 = w * (aT1 + w * aT3);\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c\n var u = reinterpret(x);\n var y = builtin_abs(x);\n if (u < 0x3F800000 - (1 << 23)) {\n if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y)));\n } else y = 0.5 * log1p(2 * (y / (1 - y)));\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above\n const\n pi = reinterpret(0x40490FDB), // 3.1415927410e+00f\n pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f\n if (isNaN(x) || isNaN(y)) return x + y;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n if (ix == 0x3F800000) return atan(y);\n var m = (((iy >> 31) & 1) | ((ix >> 30) & 2));\n ix &= 0x7FFFFFFF;\n iy &= 0x7FFFFFFF;\n if (iy == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return pi;\n case 3: return -pi;\n }\n }\n if (ix == 0) return m & 1 ? -pi / 2 : pi / 2;\n if (ix == 0x7F800000) {\n if (iy == 0x7F800000) {\n let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4;\n return m & 1 ? -t : t;\n } else {\n let t: f32 = m & 2 ? pi : 0.0;\n return m & 1 ? -t : t;\n }\n }\n if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2;\n var z: f32;\n if ((m & 2) && iy + (26 << 23) < ix) z = 0.0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return pi - (z - pi_lo);\n case 3: return (z - pi_lo) - pi;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 709958130,\n B2 = 642849266,\n Ox1p24f = reinterpret(0x4B800000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n if (hx >= 0x7F800000) return x + x;\n if (hx < 0x00800000) {\n if (hx == 0) return x;\n u = reinterpret(x * Ox1p24f);\n hx = u & 0x7FFFFFFF;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 0x80000000;\n u |= hx;\n var t = reinterpret(u);\n var r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f32): f32 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f32): f32 {\n if (!isFinite(x)) return 32;\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f32): f32 { // see: musl/src/math/cosf.c\n const c1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const c2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const c3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n // raise inexact if x != 0\n return 1;\n }\n return cos_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix > 0x4016CBE3) { // |x| ~> 3π/4\n return -cos_kernf(sign ? x + c2pio2 : x - c2pio2);\n } else {\n return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix > 0x40AFEDDF) { // |x| ~> 7π/4\n return cos_kernf(sign ? x + c4pio2 : x - c4pio2);\n } else {\n return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2);\n }\n }\n }\n\n // cos(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? sin_kernf(y) : cos_kernf(y);\n return (n + 1) & 2 ? -t : t;\n }\n\n export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n x = reinterpret(u);\n if (u < 0x3F317217) {\n if (u < 0x3F800000 - (12 << 23)) return 1;\n let t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (u < 0x42B17217) {\n let t = exp(x);\n // return 0.5 * (t + 1 / t);\n return 0.5 * t + 0.5 / t;\n }\n return expo2f(x, 1);\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f32): f32 {\n return builtin_floor(x);\n }\n\n export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return expf_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f\n ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f\n P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f\n P2 = reinterpret(0xBB355215), // -2.7667332906e-3f\n Ox1p127f = reinterpret(0x7F000000);\n let hx = reinterpret(x);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x42AEAC50) {\n if (hx > 0x7F800000) return x; // NaN\n if (hx >= 0x42B17218) {\n if (!sign_) return x * Ox1p127f;\n else if (hx >= 0x42CFF1B5) return 0;\n }\n }\n let hi: f32, lo: f32;\n let k: i32;\n if (hx > 0x3EB17218) {\n if (hx > 0x3F851592) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x39000000) {\n k = 0;\n hi = x;\n lo = 0;\n } else {\n return 1 + x;\n }\n let xx = x * x;\n let c = x - xx * (P1 + xx * P2);\n let y: f32 = 1 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f32): f32 {\n return exp2f_lut(x);\n }\n\n export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x42B17180), // 8.8721679688e+01f\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f\n Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f\n Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f\n Ox1p127f = reinterpret(0x7F000000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n var sign_ = (u >> 31);\n if (hx >= 0x4195B844) {\n if (hx > 0x7F800000) return x;\n if (sign_) return -1;\n if (x > o_threshold) {\n x *= Ox1p127f;\n return x;\n }\n }\n var c: f32 = 0.0, t: f32, k: i32;\n if (hx > 0x3EB17218) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3F851592\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x33000000) {\n return x;\n } else k = 0;\n var hfx: f32 = 0.5 * x;\n var hxs: f32 = x * hfx;\n var r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2);\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x7F + k) << 23;\n var twopk = reinterpret(u);\n var y: f32;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 128) y = y * 2.0 * Ox1p127f;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x7F - k) << 23;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f32): f32 {\n return x;\n }\n\n export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c\n const\n Ox1p90f = reinterpret(0x6C800000),\n Ox1p_90f = reinterpret(0x12800000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFF;\n uy &= 0x7FFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n x = reinterpret(ux);\n y = reinterpret(uy);\n if (uy == 0xFF << 23) return y;\n if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y;\n var z: f32 = 1;\n if (ux >= (0x7F + 60) << 23) {\n z = Ox1p90f;\n x *= Ox1p_90f;\n y *= Ox1p_90f;\n } else if (uy < (0x7F - 60) << 23) {\n z = Ox1p_90f;\n x *= Ox1p90f;\n y *= Ox1p90f;\n }\n return z * builtin_sqrt((x * x + y * y));\n }\n\n // @ts-ignore: decorator\n @inline\n export function imul(x: f32, y: f32): f32 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return (dtoi32(x) * dtoi32(y));\n }\n\n export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return logf_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f\n Ox1p25f = reinterpret(0x4C000000);\n let u = reinterpret(x);\n let k = 0;\n if (u < 0x00800000 || (u >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (u >> 31) return (x - x) / 0;\n k -= 25;\n x *= Ox1p25f;\n u = reinterpret(x);\n } else if (u >= 0x7F800000) {\n return x;\n } else if (u == 0x3F800000) {\n return 0;\n }\n u += 0x3F800000 - 0x3F3504F3;\n k += (u >> 23) - 0x7F;\n u = (u & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(u);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq = 0.5 * f * f;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f\n ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f\n log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f\n log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n var ix = reinterpret(x);\n var k = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n var f = x - 1.0;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var hi = f - hfsq;\n ix = reinterpret(hi);\n ix &= 0xFFFFF000;\n hi = reinterpret(ix);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var dk = k;\n return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi;\n }\n\n export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f\n var ix = reinterpret(x);\n var c: f32 = 0, f: f32 = 0;\n var k: i32 = 1;\n if (ix < 0x3ED413D0 || (ix >> 31)) {\n if (ix >= 0xBF800000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (ix << 1 < 0x33800000 << 1) return x;\n if (ix <= 0xBE95F619) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (ix >= 0x7F800000) return x;\n if (k) {\n let uf: f32 = 1 + x;\n let iu = reinterpret(uf);\n iu += 0x3F800000 - 0x3F3504F3;\n k = (iu >> 23) - 0x7F;\n if (k < 25) {\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n iu = (iu & 0x007FFFFF) + 0x3F3504F3;\n f = reinterpret(iu) - 1;\n }\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2f_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f\n ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n let ix = reinterpret(x);\n let k: i32 = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq: f32 = 0.5 * f * f;\n let hi = f - hfsq;\n let u = reinterpret(hi);\n u &= 0xFFFFF000;\n hi = reinterpret(u);\n let lo: f32 = f - hi - hfsq + s * (hfsq + r);\n let dk = k;\n return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f32, value2: f32): f32 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f32, value2: f32): f32 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f32, y: f32): f32 {\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n // see: musl/src/math/powf.c\n return powf_lut(x, y);\n } else {\n // based on: jdh8/metallic/src/math/float/powf.c\n if (y == 0) return 1;\n // @ts-ignore: cast\n if (isNaN(x) | isNaN(y)) {\n return NaN;\n }\n let sign: u32 = 0;\n let uy = reinterpret(y);\n let ux = reinterpret(x);\n let sx = ux >> 31;\n ux &= 0x7FFFFFFF;\n if (sx && nearest(y) == y) {\n x = -x;\n sx = 0;\n sign = u32(nearest(y * 0.5) != y * 0.5) << 31;\n }\n let m: u32;\n if (ux == 0x3F800000) { // x == 1\n m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000;\n } else if (ux == 0) {\n m = uy >> 31 ? 0x7F800000 : 0;\n } else if (ux == 0x7F800000) {\n m = uy >> 31 ? 0 : 0x7F800000;\n } else if (sx) {\n m = 0x7FC00000;\n } else {\n m = reinterpret(exp2f(y * log2f(x)));\n }\n return reinterpret(m | sign);\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function seedRandom(value: i64): void {\n NativeMath.seedRandom(value);\n }\n\n // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c\n export function random(): f32 {\n if (!random_seeded) seedRandom(reinterpret(seed()));\n\n var s0 = random_state0_32;\n var s1 = random_state1_32;\n var r = rotl(s0 * 0x9E3779BB, 5) * 5;\n\n s1 ^= s0;\n random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9);\n random_state1_32 = rotl(s1, 13);\n\n return reinterpret((r >> 9) | (127 << 23)) - 1.0;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f32): f32 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f32): f32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f32): bool {\n return (reinterpret(x) >>> 31);\n }\n\n export function sin(x: f32): f32 { // see: musl/src/math/sinf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const s2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return sin_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2);\n }\n return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2));\n }\n\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2);\n }\n return sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n }\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? cos_kernf(y) : sin_kernf(y);\n return n & 2 ? -t : t;\n }\n\n export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c\n var u = reinterpret(x) & 0x7FFFFFFF;\n var absx = reinterpret(u);\n var h = builtin_copysign(0.5, x);\n if (u < 0x42B17217) {\n let t = expm1(absx);\n if (u < 0x3F800000) {\n if (u < 0x3F800000 - (12 << 23)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2f(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f32): f32 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f32): f32 { // see: musl/src/math/tanf.c\n const t1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const t2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const t3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return tan_kernf(x, 0);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1);\n } else {\n return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1);\n } else {\n return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0);\n }\n }\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // argument reduction\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n return tan_kernf(y, n & 1);\n }\n\n export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n var y = reinterpret(u);\n var t: f32;\n if (u > 0x3F0C9F54) {\n if (u > 0x41200000) t = 1 + 0 / y;\n else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (u > 0x3E82C578) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (u >= 0x00800000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f32): f32 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c\n const\n Ox1p24f = reinterpret(0x4B800000),\n Ox1p127f = reinterpret(0x7F000000),\n Ox1p_126f = reinterpret(0x00800000);\n var y = x;\n if (n > 127) {\n y *= Ox1p127f;\n n -= 127;\n if (n > 127) {\n y *= Ox1p127f;\n n = builtin_min(n - 127, 127);\n }\n } else if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n += 126 - 24;\n if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n = builtin_max(n + 126 - 24, -126);\n }\n }\n return y * reinterpret((0x7F + n) << 23);\n }\n\n export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sm = ux & 0x80000000;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0xFF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f32(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 9);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 9;\n ux |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 23); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 8);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 23;\n ux |= ex << 23;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | sm);\n }\n\n export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sx = (ux >> 31);\n var uxi = ux;\n if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y);\n if (ux << 1 == 0) return x;\n if (!ex) {\n ex -= builtin_clz(uxi << 9);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 9;\n uxi |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n var q = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -30;\n else {\n let shift = builtin_clz(uxi << 8);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 23;\n uxi |= ex << 23;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // q++;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const s2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kernf(x);\n sincos_cos = cos_kernf(x);\n return;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n if (sign) {\n sincos_sin = -cos_kernf(x + s1pio2);\n sincos_cos = sin_kernf(x + s1pio2);\n } else {\n sincos_sin = cos_kernf(s1pio2 - x);\n sincos_cos = sin_kernf(s1pio2 - x);\n }\n return;\n }\n // -sin(x + c) is not correct if x+c could be 0: -0 vs +0\n sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2);\n sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2);\n return;\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n if (sign) {\n sincos_sin = cos_kernf(x + s3pio2);\n sincos_cos = -sin_kernf(x + s3pio2);\n } else {\n sincos_sin = -cos_kernf(x - s3pio2);\n sincos_cos = sin_kernf(x - s3pio2);\n }\n return;\n }\n sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2);\n return;\n }\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n var s = sin_kernf(y);\n var c = cos_kernf(y);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\nexport function ipow32(x: i32, e: i32): i32 {\n var out = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i32(e == 0) | i32(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 32) {\n let log = 32 - clz(e);\n // 32 = 2 ^ 5, so need only five cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\nexport function ipow64(x: i64, e: i64): i64 {\n var out: i64 = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i64(e == 0) | i64(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 64) {\n let log = 64 - clz(e);\n // 64 = 2 ^ 6, so need only six cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 6: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\n/*\nTODO:\nIn compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains\nwhich usually faster than exponentiation by squaring\n\nfor ipow32 and e < 32:\n\nlet b: i32, c: i32, d: i32, h: i32, k: i32, g: i32;\nswitch (e) {\n case 1: return x;\n case 2: return x * x;\n case 3: return x * x * x;\n case 4: return (b = x * x) * b;\n case 5: return (b = x * x) * b * x;\n case 6: return (b = x * x) * b * b;\n case 7: return (b = x * x) * b * b * x;\n case 8: return (d = (b = x * x) * b) * d;\n case 9: return (c = x * x * x) * c * c;\n case 10: return (d = (b = x * x) * b) * d * b;\n case 11: return (d = (b = x * x) * b) * d * b * x;\n case 12: return (d = (b = x * x) * b) * d * d;\n case 13: return (d = (b = x * x) * b) * d * d * x;\n case 14: return (d = (b = x * x) * b) * d * d * b;\n case 15: return (k = (b = x * x) * b * x) * k * k;\n case 16: return (h = (d = (b = x * x) * b) * d) * h;\n case 17: return (h = (d = (b = x * x) * b) * d) * h * x;\n case 18: return (h = (d = (b = x * x) * b) * d * x) * h;\n case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x;\n case 20: return (h = (k = (b = x * x) * b * x) * k) * h;\n case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x;\n case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g;\n case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c;\n case 24: return (h = (d = (c = x * x * x) * c) * d) * h;\n case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x;\n case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g;\n case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c;\n case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h;\n case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x;\n case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h;\n case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x;\n}\n\nfor ipow64: TODO\nswitch (e) {\n case 32:\n ...\n case 63:\n}\n*/\n"]} \ No newline at end of file diff --git a/examples/Material/obj_mat_commented.wat b/examples/Material/obj_mat_commented.wat new file mode 100644 index 0000000..97b3825 --- /dev/null +++ b/examples/Material/obj_mat_commented.wat @@ -0,0 +1,4297 @@ +(module + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_i32_=>_none (func (param i32 i32))) + (type $none_=>_none (func)) + (type $i32_=>_none (func (param i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) + (type $f32_=>_f32 (func (param f32) (result f32))) + (type $i32_i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32 i32))) + (type $i32_f32_f32_f32_f32_=>_none (func (param i32 f32 f32 f32 f32))) + (type $f32_=>_none (func (param f32))) + (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (import "env" "memory" (memory $0 1)) + (data (i32.const 12) " \00\00\00\01\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00a\00s\00c\00") + (data (i32.const 76) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 124) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00a\00s\00c\00") + (data (i32.const 172) "@\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00@\00\00\00\00\00\a2C\00\00\80?\00\00\80?\00\00\80?\cd\ccL?\10\07\a1>@\c2\90=\00\00\00?\00\00\00?\00\00\00?\00\00\00\00\00\00\00\00\00\00\00\00\9a\99\b9?\00\00\80?\00\00\00@") + (data (i32.const 268) "@\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00@\00\00\00\00\00aC\00\00\80?\00\00\80?\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\00?\00\00\00?\00\00\00?\00\00\00\00\00\00\00\00\00\00\00\00\9a\99\b9?\00\00\80?\00\00\00@") + (data (i32.const 364) "@\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00@\00\00\00\00\00aC\00\00\80?\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\00?\00\00\00?\00\00\00?\00\00\00\00\00\00\00\00\00\00\00\00\9a\99\b9?\00\00\80?\00\00\00@") + (data (i32.const 460) "\00/\00\00\01\00\00\00\00\00\00\00\03\00\00\00\00/\00\00\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\00\00\00\000\bb\87>\d0\d5v\bf\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\00\00\00\000\bb\87>\d0\d5v\bfk\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\00\00\00\000\bb\87>\d0\d5v\bfk\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\00\00\00\000\bb\87>\d0\d5v\bf\00\00\80?\00\00\80\bf\00\00\80?\00\00\c0>\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\c0>\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\c0>\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\00>\00\00\00?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\00?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80?\00\00\c0>\00\00@?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\00>\00\00@?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80?\00\00\c0>\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\80?\00\00\00\000\bb\87>\d0\d5v?\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\00\00\00\000\bb\87>\d0\d5v?k\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\00\00\00\000\bb\87>\d0\d5v?k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\80?\00\00\00\000\bb\87>\d0\d5v?\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\d0\d5v\bf0\bb\87>\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\00\00\d0\d5v\bf0\bb\87>\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\00\00\d0\d5v\bf0\bb\87>\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\d0\d5v\bf0\bb\87>\00\00\00\00\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\d0\d5v?0\bb\87>\00\00\00\00\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\d0\d5v?0\bb\87>\00\00\00\00k\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\d0\d5v?0\bb\87>\00\00\00\00k\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\d0\d5v?0\bb\87>\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\cff%\bf\13aC?\00\00\00\00\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\00\00\cff%\bf\13aC?\00\00\00\00\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\00\00\cff%\bf\13aC?\00\00\00\00\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\cff%\bf\13aC?\00\00\00\00\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bf\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bfq\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bfq\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bf\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\80?\00\00\00\00\13aC?\cff%?\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\00\00\00\00\13aC?\cff%?\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\13aC?\cff%?\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\13aC?\cff%?\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\00\00\00\00\13aC?\cff%\bf\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\00\00\00\00\13aC?\cff%\bf\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\13aC?\cff%\bf\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\13aC?\cff%\bf\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\cff%?\13aC?\00\00\00\00\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\cff%?\13aC?\00\00\00\00\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\cff%?\13aC?\00\00\00\00\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\cff%?\13aC?\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\96!\1e\bf\83QI\bf\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\96!\1e\bf\83QI\bfL\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\00\00\00\00\96!\1e\bf\83QI\bfL\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\00\00\00\00\96!\1e\bf\83QI\bf\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\83QI?\96!\1e\bf\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\83QI?\96!\1e\bf\00\00\00\00L\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\83QI?\96!\1e\bf\00\00\00\00L\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\83QI?\96!\1e\bf\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\83QI\bf\96!\1e\bf\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\00\00\83QI\bf\96!\1e\bf\00\00\00\00L\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\00\00\83QI\bf\96!\1e\bf\00\00\00\00L\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\83QI\bf\96!\1e\bf\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\96!\1e\bf\83QI?\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\96!\1e\bf\83QI?L\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\00\00\00\00\96!\1e\bf\83QI?L\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\80?\00\00\00\00\96!\1e\bf\83QI?\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\00\00\00\00\00o\11?\93\a9R\bf\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\00\00\00\00\00o\11?\93\a9R\bf\d3M\92\be\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\80>\00\00\00\00\00o\11?\93\a9R\bf\d3M\92>\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\00?\00\00\00\00\00o\11?\93\a9R\bfL\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\80?\00\00\00\00\bb\b8\8d\bd\b7b\7f?L\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\00\00\00\00\bb\b8\8d\bd\b7b\7f?\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\00\00\00\00\bb\b8\8d\bd\b7b\7f?\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\80?\00\00\00\00\bb\b8\8d\bd\b7b\7f?\d3M\92>\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92\be\00\00`?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92>\00\00`?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\d3M\92>\d6\c5\f4@\d3M\92>\00\00 ?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\93\a9R?\00o\11?\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\93\a9R?\00o\11?\00\00\00\00\d3M\92>\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\00?\93\a9R?\00o\11?\00\00\00\00\d3M\92>\d6\c5\f4@\d3M\92>\00\00 ?\00\00@?\93\a9R?\00o\11?\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\93\a9R\bf\00o\11?\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\00\00\93\a9R\bf\00o\11?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92>\00\00 ?\00\00\00\00\93\a9R\bf\00o\11?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\80>\93\a9R\bf\00o\11?\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\80?\00\00\00\00\00o\11?\93\a9R?\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\00\00\00\00\00o\11?\93\a9R?\d3M\92>\d6\c5\f4@\d3M\92>\00\00 ?\00\00@?\00\00\00\00\00o\11?\93\a9R?\d3M\92\be\d6\c5\f4@\d3M\92>\00\00 ?\00\00\80?\00\00\00\00\00o\11?\93\a9R?q\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bfq\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\af\94%?O@C\bf\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\af\94%?O@C\bf\00\00\00\00q\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\af\94%?O@C\bf\00\00\00\00q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\af\94%?O@C\bf\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bf\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bfq\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bfq\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bf\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\af\94%?O@C?\00\00\00\00\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\af\94%?O@C?\00\00\00\00q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\af\94%?O@C?\00\00\00\00q\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\af\94%?O@C?\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\00\00\af\94%\bfO@C?\00\00\00\00\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\af\94%\bfO@C?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\af\94%\bfO@C?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\af\94%\bfO@C?\00\00\00\00\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\af\94%\bfO@C\bf\00\00\00\00\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\00\00\af\94%\bfO@C\bf\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\00\00\af\94%\bfO@C\bf\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\af\94%\bfO@C\bf\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\00\00\00\00\00\00\80?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\00\00\00\00\00\00\80?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bfq\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bfq\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\d2o\7f\bf\'1\88\bd\00\00\00\00q\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\d2o\7f\bf\'1\88\bd\00\00\00\00\04\1b\85?K.\80@b\a3|\be\00\00 ?\00\00\00?\d2o\7f\bf\'1\88\bd\00\00\00\00\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\d2o\7f\bf\'1\88\bd\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\d2o\7f?\'1\88\bd\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\d2o\7f?\'1\88\bd\00\00\00\00\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\d2o\7f?\'1\88\bd\00\00\00\00\dch\9c?K.\80@b\a3|\be\00\00 ?\00\00\00?\d2o\7f?\'1\88\bd\00\00\00\00q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?q\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?q\1d{\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?\dch\9c?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\91~?=\n\d7=\d74o<\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\00\91~?=\n\d7=\d74o<\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\91~?=\n\d7=\d74o<\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\91~?=\n\d7=\d74o\00\00 ?\00\00\00\00\d2o\7f\bf\'1\88\bd\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\d2o\7f\bf\'1\88\bd\00\00\00\00\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\d2o\7f\bf\'1\88\bd\00\00\00\00\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\d2o\7f\bf\'1\88\bd\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bfq\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bf\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bf\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bfq\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\1f\f5\a3\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?q\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\d2o\7f?\'1\88\bd\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\00\00\d2o\7f?\'1\88\bd\00\00\00\00\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\d2o\7f?\'1\88\bd\00\00\00\00\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\d2o\7f?\'1\88\bd\00\00\00\00\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?q\1d{?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?q\1d{?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\91~?=\n\d7=\d74o<\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\00\91~?=\n\d7=\d74o\00\00 ?\00\00\00\00\00\91~?=\n\d7=\d74o\00\91~?=\n\d7=\d74o<\04\1b\85?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bf\dch\9c?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bf\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bfq\1d{?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bf\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bf\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bfq\1d{\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bf\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bf\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\00\91~\bf=\n\d7=\d74o<\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\91~\bf=\n\d7=\d74o<\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\91~\bf=\n\d7=\d74o<\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\00\00\00\91~\bf=\n\d7=\d74o<\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\00\91~\bf=\n\d7=\d74o<\04\1b\85?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\91~\bf=\n\d7=\d74o\00\00 ?\00\00@?\00\91~\bf=\n\d7=\d74o<\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?q\1d{?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bfq\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bfq\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bf\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bfq\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bf\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bf\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bfq\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bf\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?q\1d{\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bf\af\ccV@}%\d0>\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00q\1d{?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bfq\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bfq\1d{\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bfq\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bf\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bf\85[\9a??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bfR(\87??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bfq\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\89\d2n?\12\83\a0\beX\a85\beq\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\89\d2n?\12\83\a0\beX\a85\beR(\87\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\89\d2n?\12\83\a0\beX\a85\beR(\87\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\89\d2n?\12\83\a0\beX\a85\be\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00R(\87\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\fb\cb^\bf\116\fc\beR(\87\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\fb\cb^\bf\116\fc\beR(\87?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\fb\cb^\bf\116\fc\beR(\87??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\fb\cb^\bf\116\fc\be\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bfq\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bfR(\87\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bf\85[\9a\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bf\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\89\d2n\bf\12\83\a0\beX\a85\be\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\89\d2n\bf\12\83\a0\beX\a85\be\85[\9a\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\89\d2n\bf\12\83\a0\beX\a85\be\85[\9a\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\89\d2n\bf\12\83\a0\beX\a85\beq\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\89\d2n\bf\12\83\a0\beX\a85\beq\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\89\d2n\bf\12\83\a0\beX\a85\beR(\87??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\89\d2n\bf\12\83\a0\beX\a85\beR(\87?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\89\d2n\bf\12\83\a0\beX\a85\be\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?q\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?R(\87?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?\85[\9a?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\89\d2n?\12\83\a0\beX\a85\be\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\89\d2n?\12\83\a0\beX\a85\be\85[\9a?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\89\d2n?\12\83\a0\beX\a85\be\85[\9a??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\89\d2n?\12\83\a0\beX\a85\beq\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?\85[\9a\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?R(\87\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?L\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00L\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\00\00\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\00\00\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00L\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\00\00\00\00\bb\b8\8d\bd\b7b\7f\bfL\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\00\00\00\00\bb\b8\8d\bd\b7b\7f\bf\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\00\00\00\00\bb\b8\8d\bd\b7b\7f\bf\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\00\00\00\00\bb\b8\8d\bd\b7b\7f\bfL\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\b7b\7f?\bb\b8\8d\bd\00\00\00\00L\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\b7b\7f?\bb\b8\8d\bd\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\b7b\7f?\bb\b8\8d\bd\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\b7b\7f?\bb\b8\8d\bd\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\c3dz\bf+\18U\be\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\00\00\c3dz\bf+\18U\be\00\00\00\00\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\00\00\c3dz\bf+\18U\be\00\00\00\00\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\c3dz\bf+\18U\be\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\80?\00\00\00\00+\18U\be\c3dz?k\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\00\00\00\00+\18U\be\c3dz?\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\00\00\00\00+\18U\be\c3dz?\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\80?\00\00\00\00+\18U\be\c3dz?k\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\00\00\00\00+\18U\be\c3dz\bfk\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\00\00\00\00+\18U\be\c3dz\bf\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\00\00\00\00+\18U\be\c3dz\bf\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\00\00\00\00+\18U\be\c3dz\bfk\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\c3dz?+\18U\be\00\00\00\00k\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\c3dz?+\18U\be\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\c3dz?+\18U\be\00\00\00\00\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\c3dz?+\18U\be\00\00\00\00") + (data (i32.const 12524) "\10\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\\\01\00\00") + (data (i32.const 12572) "\10\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\00\00\00\00\\\01\00\00\0c\00\00\00") + (data (i32.const 12620) "\10\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\00\00\00\00h\01\00\00\10\00\00\00") + (data (i32.const 12668) "\ee\04\00\00\01\00\00\00\00\00\00\00\01\00\00\00\ee\04\00\00#\00v\00e\00r\00s\00i\00o\00n\00 \003\000\000\00 \00e\00s\00\0d\00\n\00 \00 \00p\00r\00e\00c\00i\00s\00i\00o\00n\00 \00m\00e\00d\00i\00u\00m\00p\00 \00f\00l\00o\00a\00t\00;\00\0d\00\n\00\0d\00\n\00 \00 \00i\00n\00 \00v\00e\00c\003\00 \00p\00o\00s\00i\00t\00i\00o\00n\00;\00\0d\00\n\00 \00 \00i\00n\00 \00v\00e\00c\003\00 \00n\00o\00r\00m\00a\00l\00;\00\0d\00\n\00 \00 \00o\00u\00t\00 \00v\00e\00c\004\00 \00c\00;\00\0d\00\n\00 \00 \00\0d\00\n\00 \00 \00v\00o\00i\00d\00 \00m\00a\00i\00n\00(\00)\00 \00{\00\0d\00\n\00 \00 \00 \00 \00c\00o\00n\00s\00t\00 \00v\00e\00c\003\00 \00l\00i\00g\00h\00t\00 \00=\00 \00v\00e\00c\003\00(\000\00.\002\005\00,\00 \002\00.\000\00,\00 \00-\000\00.\005\00)\00;\00\0d\00\n\00 \00 \00 \00 \00f\00l\00o\00a\00t\00 \00d\00 \00=\00 \00c\00l\00a\00m\00p\00(\00 \00d\00o\00t\00(\00 \00n\00o\00r\00m\00a\00l\00,\00 \00l\00i\00g\00h\00t\00 \00)\00,\00 \000\00.\000\00,\00 \001\00.\000\00)\00;\00\0d\00\n\00 \00 \00 \00 \00v\00e\00c\004\00 \00p\00o\00s\00 \00=\00 \00v\00e\00c\004\00(\00 \00p\00o\00s\00i\00t\00i\00o\00n\00,\00 \001\00.\000\00 \00)\00;\00\0d\00\n\00\0d\00\n\00 \00 \00 \00 \00m\00a\00t\004\00 \00m\00R\00o\00t\00a\00t\00e\00T\00r\00a\00n\00s\00l\00a\00t\00e\00 \00=\00 \00m\00a\00t\004\00(\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \001\00.\000\00,\00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \001\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00c\00o\00s\00(\00-\000\00.\002\00)\00,\00-\00s\00i\00n\00(\00-\000\00.\002\00)\00,\00 \00-\000\00.\002\00,\00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \002\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00s\00i\00n\00(\00-\000\00.\000\00)\00,\00 \00c\00o\00s\00(\00-\000\00.\002\00)\00,\00 \00 \000\00.\000\00,\00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \003\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \00 \001\00.\000\00 \00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \004\00\0d\00\n\00 \00 \00 \00 \00)\00;\00\0d\00\n\00\0d\00\n\00 \00 \00 \00 \00g\00l\00_\00P\00o\00s\00i\00t\00i\00o\00n\00 \00=\00 \00p\00o\00s\00 \00*\00 \00m\00R\00o\00t\00a\00t\00e\00T\00r\00a\00n\00s\00l\00a\00t\00e\00;\00\0d\00\n\00 \00 \00 \00 \00c\00 \00=\00 \00v\00e\00c\004\00(\00m\00a\00x\00(\00d\00,\00 \000\00.\002\00)\00,\00 \00m\00a\00x\00(\00d\00,\00 \000\00.\002\00)\00,\00 \00m\00a\00x\00(\00d\00,\00 \000\00.\002\005\00)\00,\00 \001\00.\000\00)\00;\00\0d\00\n\00 \00 \00}\00\0d\00\n\00") + (data (i32.const 13964) "\e8\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\e8\00\00\00#\00v\00e\00r\00s\00i\00o\00n\00 \003\000\000\00 \00e\00s\00\0d\00\n\00 \00 \00p\00r\00e\00c\00i\00s\00i\00o\00n\00 \00h\00i\00g\00h\00p\00 \00f\00l\00o\00a\00t\00;\00\0d\00\n\00 \00 \00i\00n\00 \00v\00e\00c\004\00 \00c\00;\00\0d\00\n\00 \00 \00o\00u\00t\00 \00v\00e\00c\004\00 \00c\00o\00l\00o\00r\00;\00\0d\00\n\00\0d\00\n\00 \00 \00v\00o\00i\00d\00 \00m\00a\00i\00n\00(\00)\00 \00{\00\0d\00\n\00 \00 \00 \00 \00c\00o\00l\00o\00r\00 \00=\00 \00c\00;\00\0d\00\n\00 \00 \00}\00\0d\00\n\00") + (data (i32.const 14220) "\08\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00c\00n\00v\00s\00") + (data (i32.const 14252) "\0c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00w\00e\00b\00g\00l\002\00") + (data (i32.const 14284) "\10\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00p\00o\00s\00i\00t\00i\00o\00n\00") + (data (i32.const 14332) "\0c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00n\00o\00r\00m\00a\00l\00") + (data (i32.const 14364) "$\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 14428) "^\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00") + (data (i32.const 14556) "(\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00a\00s\00c\00") + (data (i32.const 14616) ")\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") + (data (i32.const 14656) "\08\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00$\19\00\00\00\00\00\00\"A\00\00\00\00\00\00$\t\00\00\00\00\00\00\"A\00\00\00\00\00\00\"\t\00\00\00\00\00\00") + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) ;; $import0 + (import "webgl" "createContextFromCanvas" (func $../../webgl/createContextFromCanvas (param i32 i32) (result i32))) ;; $import1 + (import "webgl" "createShader" (func $../../webgl/createShader (param i32 i32) (result i32))) ;; $import2 + (import "webgl" "shaderSource" (func $../../webgl/shaderSource (param i32 i32 i32))) ;; $import3 + (import "webgl" "compileShader" (func $../../webgl/compileShader (param i32 i32))) ;; $import4 + (import "webgl" "createProgram" (func $../../webgl/createProgram (param i32) (result i32))) ;; $import5 + (import "webgl" "attachShader" (func $../../webgl/attachShader (param i32 i32 i32))) ;; $import6 + (import "webgl" "linkProgram" (func $../../webgl/linkProgram (param i32 i32))) ;; $import7 + (import "webgl" "useProgram" (func $../../webgl/useProgram (param i32 i32))) ;; $import8 + (import "webgl" "createBuffer" (func $../../webgl/createBuffer (param i32) (result i32))) ;; $import9 + (import "webgl" "bindBuffer" (func $../../webgl/bindBuffer (param i32 i32 i32))) ;; $import10 + (import "webgl" "getAttribLocation" (func $../../webgl/getAttribLocation (param i32 i32 i32) (result i32))) ;; $import11 + (import "webgl" "enableVertexAttribArray" (func $../../webgl/enableVertexAttribArray (param i32 i32))) ;; $import12 + (import "webgl" "enable" (func $../../webgl/enable (param i32 i32))) ;; $import13 + (import "webgl" "clearColor" (func $../../webgl/clearColor (param i32 f32 f32 f32 f32))) ;; $import14 + (import "webgl" "clear" (func $../../webgl/clear (param i32 i32))) ;; $import15 + (import "webgl" "bufferData" (func $../../webgl/bufferData (param i32 i32 i32 i32))) ;; $import16 + (import "webgl" "vertexAttribPointer" (func $../../webgl/vertexAttribPointer (param i32 i32 i32 i32 i32 i32 i32))) ;; $import17 + (import "webgl" "drawArrays" (func $../../webgl/drawArrays (param i32 i32 i32 i32))) ;; $import18 + (table $0 1 funcref) + (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) + (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $../../webgl/ALPHA_DEFAULT i32 (i32.const 1)) + (global $../../webgl/FALSE i32 (i32.const 0)) + (global $../../webgl/DEPTH_DEFAULT i32 (i32.const 1)) + (global $../../webgl/STENCIL_DEFAULT i32 (i32.const 0)) + (global $../../webgl/ANTIALIAS_DEFAULT i32 (i32.const 1)) + (global $../../webgl/PREMULTIPLIED_ALPHA_DEFAULT i32 (i32.const 1)) + (global $../../webgl/PRESERVE_DRAWING_BUFFER_DEFAULT i32 (i32.const 0)) + (global $../../webgl/DEPTH_BUFFER_BIT i32 (i32.const 256)) + (global $../../webgl/STENCIL_BUFFER_BIT i32 (i32.const 1024)) + (global $../../webgl/COLOR_BUFFER_BIT i32 (i32.const 16384)) + (global $../../webgl/POINTS i32 (i32.const 0)) + (global $../../webgl/LINES i32 (i32.const 1)) + (global $../../webgl/LINE_LOOP i32 (i32.const 2)) + (global $../../webgl/LINE_STRIP i32 (i32.const 3)) + (global $../../webgl/TRIANGLES i32 (i32.const 4)) + (global $../../webgl/TRIANGLE_STRIP i32 (i32.const 5)) + (global $../../webgl/TRIANGLE_FAN i32 (i32.const 6)) + (global $../../webgl/ZERO i32 (i32.const 0)) + (global $../../webgl/ONE i32 (i32.const 1)) + (global $../../webgl/SRC_COLOR i32 (i32.const 768)) + (global $../../webgl/ONE_MINUS_SRC_COLOR i32 (i32.const 769)) + (global $../../webgl/SRC_ALPHA i32 (i32.const 770)) + (global $../../webgl/ONE_MINUS_SRC_ALPHA i32 (i32.const 771)) + (global $../../webgl/DST_ALPHA i32 (i32.const 772)) + (global $../../webgl/ONE_MINUS_DST_ALPHA i32 (i32.const 773)) + (global $../../webgl/DST_COLOR i32 (i32.const 774)) + (global $../../webgl/ONE_MINUS_DST_COLOR i32 (i32.const 775)) + (global $../../webgl/SRC_ALPHA_SATURATE i32 (i32.const 776)) + (global $../../webgl/FUNC_ADD i32 (i32.const 32774)) + (global $../../webgl/BLEND_EQUATION i32 (i32.const 32777)) + (global $../../webgl/BLEND_EQUATION_RGB i32 (i32.const 32777)) + (global $../../webgl/BLEND_EQUATION_ALPHA i32 (i32.const 34877)) + (global $../../webgl/FUNC_SUBTRACT i32 (i32.const 32778)) + (global $../../webgl/FUNC_REVERSE_SUBTRACT i32 (i32.const 32779)) + (global $../../webgl/BLEND_DST_RGB i32 (i32.const 32968)) + (global $../../webgl/BLEND_SRC_RGB i32 (i32.const 32969)) + (global $../../webgl/BLEND_DST_ALPHA i32 (i32.const 32970)) + (global $../../webgl/BLEND_SRC_ALPHA i32 (i32.const 32971)) + (global $../../webgl/CONSTANT_COLOR i32 (i32.const 32769)) + (global $../../webgl/ONE_MINUS_CONSTANT_COLOR i32 (i32.const 32770)) + (global $../../webgl/CONSTANT_ALPHA i32 (i32.const 32771)) + (global $../../webgl/ONE_MINUS_CONSTANT_ALPHA i32 (i32.const 32772)) + (global $../../webgl/BLEND_COLOR i32 (i32.const 32773)) + (global $../../webgl/ARRAY_BUFFER i32 (i32.const 34962)) + (global $../../webgl/ELEMENT_ARRAY_BUFFER i32 (i32.const 34963)) + (global $../../webgl/ARRAY_BUFFER_BINDING i32 (i32.const 34964)) + (global $../../webgl/ELEMENT_ARRAY_BUFFER_BINDING i32 (i32.const 34965)) + (global $../../webgl/STREAM_DRAW i32 (i32.const 35040)) + (global $../../webgl/STATIC_DRAW i32 (i32.const 35044)) + (global $../../webgl/DYNAMIC_DRAW i32 (i32.const 35048)) + (global $../../webgl/BUFFER_SIZE i32 (i32.const 34660)) + (global $../../webgl/BUFFER_USAGE i32 (i32.const 34661)) + (global $../../webgl/CURRENT_VERTEX_ATTRIB i32 (i32.const 34342)) + (global $../../webgl/FRONT i32 (i32.const 1028)) + (global $../../webgl/BACK i32 (i32.const 1029)) + (global $../../webgl/FRONT_AND_BACK i32 (i32.const 1032)) + (global $../../webgl/CULL_FACE i32 (i32.const 2884)) + (global $../../webgl/BLEND i32 (i32.const 3042)) + (global $../../webgl/DITHER i32 (i32.const 3024)) + (global $../../webgl/STENCIL_TEST i32 (i32.const 2960)) + (global $../../webgl/DEPTH_TEST i32 (i32.const 2929)) + (global $../../webgl/SCISSOR_TEST i32 (i32.const 3089)) + (global $../../webgl/POLYGON_OFFSET_FILL i32 (i32.const 32823)) + (global $../../webgl/SAMPLE_ALPHA_TO_COVERAGE i32 (i32.const 32926)) + (global $../../webgl/SAMPLE_COVERAGE i32 (i32.const 32928)) + (global $../../webgl/NO_ERROR i32 (i32.const 0)) + (global $../../webgl/INVALID_ENUM i32 (i32.const 1280)) + (global $../../webgl/INVALID_VALUE i32 (i32.const 1281)) + (global $../../webgl/INVALID_OPERATION i32 (i32.const 1282)) + (global $../../webgl/OUT_OF_MEMORY i32 (i32.const 1285)) + (global $../../webgl/CW i32 (i32.const 2304)) + (global $../../webgl/CCW i32 (i32.const 2305)) + (global $../../webgl/LINE_WIDTH i32 (i32.const 2849)) + (global $../../webgl/ALIASED_POINT_SIZE_RANGE i32 (i32.const 33901)) + (global $../../webgl/ALIASED_LINE_WIDTH_RANGE i32 (i32.const 33902)) + (global $../../webgl/CULL_FACE_MODE i32 (i32.const 2885)) + (global $../../webgl/FRONT_FACE i32 (i32.const 2886)) + (global $../../webgl/DEPTH_RANGE i32 (i32.const 2928)) + (global $../../webgl/DEPTH_WRITEMASK i32 (i32.const 2930)) + (global $../../webgl/DEPTH_CLEAR_VALUE i32 (i32.const 2931)) + (global $../../webgl/DEPTH_FUNC i32 (i32.const 2932)) + (global $../../webgl/STENCIL_CLEAR_VALUE i32 (i32.const 2961)) + (global $../../webgl/STENCIL_FUNC i32 (i32.const 2962)) + (global $../../webgl/STENCIL_FAIL i32 (i32.const 2964)) + (global $../../webgl/STENCIL_PASS_DEPTH_FAIL i32 (i32.const 2965)) + (global $../../webgl/STENCIL_PASS_DEPTH_PASS i32 (i32.const 2966)) + (global $../../webgl/STENCIL_REF i32 (i32.const 2967)) + (global $../../webgl/STENCIL_VALUE_MASK i32 (i32.const 2963)) + (global $../../webgl/STENCIL_WRITEMASK i32 (i32.const 2968)) + (global $../../webgl/STENCIL_BACK_FUNC i32 (i32.const 34816)) + (global $../../webgl/STENCIL_BACK_FAIL i32 (i32.const 34817)) + (global $../../webgl/STENCIL_BACK_PASS_DEPTH_FAIL i32 (i32.const 34818)) + (global $../../webgl/STENCIL_BACK_PASS_DEPTH_PASS i32 (i32.const 34819)) + (global $../../webgl/STENCIL_BACK_REF i32 (i32.const 36003)) + (global $../../webgl/STENCIL_BACK_VALUE_MASK i32 (i32.const 36004)) + (global $../../webgl/STENCIL_BACK_WRITEMASK i32 (i32.const 36005)) + (global $../../webgl/VIEWPORT i32 (i32.const 2978)) + (global $../../webgl/SCISSOR_BOX i32 (i32.const 3088)) + (global $../../webgl/COLOR_CLEAR_VALUE i32 (i32.const 3106)) + (global $../../webgl/COLOR_WRITEMASK i32 (i32.const 3107)) + (global $../../webgl/UNPACK_ALIGNMENT i32 (i32.const 3317)) + (global $../../webgl/PACK_ALIGNMENT i32 (i32.const 3333)) + (global $../../webgl/MAX_TEXTURE_SIZE i32 (i32.const 3379)) + (global $../../webgl/MAX_VIEWPORT_DIMS i32 (i32.const 3386)) + (global $../../webgl/SUBPIXEL_BITS i32 (i32.const 3408)) + (global $../../webgl/RED_BITS i32 (i32.const 3410)) + (global $../../webgl/GREEN_BITS i32 (i32.const 3411)) + (global $../../webgl/BLUE_BITS i32 (i32.const 3412)) + (global $../../webgl/ALPHA_BITS i32 (i32.const 3413)) + (global $../../webgl/DEPTH_BITS i32 (i32.const 3414)) + (global $../../webgl/STENCIL_BITS i32 (i32.const 3415)) + (global $../../webgl/POLYGON_OFFSET_UNITS i32 (i32.const 10752)) + (global $../../webgl/POLYGON_OFFSET_FACTOR i32 (i32.const 32824)) + (global $../../webgl/TEXTURE_BINDING_2D i32 (i32.const 32873)) + (global $../../webgl/SAMPLE_BUFFERS i32 (i32.const 32936)) + (global $../../webgl/SAMPLES i32 (i32.const 32937)) + (global $../../webgl/SAMPLE_COVERAGE_VALUE i32 (i32.const 32938)) + (global $../../webgl/SAMPLE_COVERAGE_INVERT i32 (i32.const 32939)) + (global $../../webgl/COMPRESSED_TEXTURE_FORMATS i32 (i32.const 34467)) + (global $../../webgl/DONT_CARE i32 (i32.const 4352)) + (global $../../webgl/FASTEST i32 (i32.const 4353)) + (global $../../webgl/NICEST i32 (i32.const 4354)) + (global $../../webgl/GENERATE_MIPMAP_HINT i32 (i32.const 33170)) + (global $../../webgl/BYTE i32 (i32.const 5120)) + (global $../../webgl/UNSIGNED_BYTE i32 (i32.const 5121)) + (global $../../webgl/SHORT i32 (i32.const 5122)) + (global $../../webgl/UNSIGNED_SHORT i32 (i32.const 5123)) + (global $../../webgl/INT i32 (i32.const 5124)) + (global $../../webgl/UNSIGNED_INT i32 (i32.const 5125)) + (global $../../webgl/FLOAT i32 (i32.const 5126)) + (global $../../webgl/DEPTH_COMPONENT i32 (i32.const 6402)) + (global $../../webgl/ALPHA i32 (i32.const 6406)) + (global $../../webgl/RGB i32 (i32.const 6407)) + (global $../../webgl/RGBA i32 (i32.const 6408)) + (global $../../webgl/LUMINANCE i32 (i32.const 6409)) + (global $../../webgl/LUMINANCE_ALPHA i32 (i32.const 6410)) + (global $../../webgl/UNSIGNED_SHORT_4_4_4_4 i32 (i32.const 32819)) + (global $../../webgl/UNSIGNED_SHORT_5_5_5_1 i32 (i32.const 32820)) + (global $../../webgl/UNSIGNED_SHORT_5_6_5 i32 (i32.const 33635)) + (global $../../webgl/FRAGMENT_SHADER i32 (i32.const 35632)) + (global $../../webgl/VERTEX_SHADER i32 (i32.const 35633)) + (global $../../webgl/MAX_VERTEX_ATTRIBS i32 (i32.const 34921)) + (global $../../webgl/MAX_VERTEX_UNIFORM_VECTORS i32 (i32.const 36347)) + (global $../../webgl/MAX_VARYING_VECTORS i32 (i32.const 36348)) + (global $../../webgl/MAX_COMBINED_TEXTURE_IMAGE_UNITS i32 (i32.const 35661)) + (global $../../webgl/MAX_VERTEX_TEXTURE_IMAGE_UNITS i32 (i32.const 35660)) + (global $../../webgl/MAX_TEXTURE_IMAGE_UNITS i32 (i32.const 34930)) + (global $../../webgl/MAX_FRAGMENT_UNIFORM_VECTORS i32 (i32.const 36349)) + (global $../../webgl/SHADER_TYPE i32 (i32.const 35663)) + (global $../../webgl/DELETE_STATUS i32 (i32.const 35712)) + (global $../../webgl/LINK_STATUS i32 (i32.const 35714)) + (global $../../webgl/VALIDATE_STATUS i32 (i32.const 35715)) + (global $../../webgl/ATTACHED_SHADERS i32 (i32.const 35717)) + (global $../../webgl/ACTIVE_UNIFORMS i32 (i32.const 35718)) + (global $../../webgl/ACTIVE_ATTRIBUTES i32 (i32.const 35721)) + (global $../../webgl/SHADING_LANGUAGE_VERSION i32 (i32.const 35724)) + (global $../../webgl/CURRENT_PROGRAM i32 (i32.const 35725)) + (global $../../webgl/NEVER i32 (i32.const 512)) + (global $../../webgl/LESS i32 (i32.const 513)) + (global $../../webgl/EQUAL i32 (i32.const 514)) + (global $../../webgl/LEQUAL i32 (i32.const 515)) + (global $../../webgl/GREATER i32 (i32.const 516)) + (global $../../webgl/NOTEQUAL i32 (i32.const 517)) + (global $../../webgl/GEQUAL i32 (i32.const 518)) + (global $../../webgl/ALWAYS i32 (i32.const 519)) + (global $../../webgl/KEEP i32 (i32.const 7680)) + (global $../../webgl/REPLACE i32 (i32.const 7681)) + (global $../../webgl/INCR i32 (i32.const 7682)) + (global $../../webgl/DECR i32 (i32.const 7683)) + (global $../../webgl/INVERT i32 (i32.const 5386)) + (global $../../webgl/INCR_WRAP i32 (i32.const 34055)) + (global $../../webgl/DECR_WRAP i32 (i32.const 34056)) + (global $../../webgl/VENDOR i32 (i32.const 7936)) + (global $../../webgl/RENDERER i32 (i32.const 7937)) + (global $../../webgl/VERSION i32 (i32.const 7938)) + (global $../../webgl/NEAREST i32 (i32.const 9728)) + (global $../../webgl/LINEAR i32 (i32.const 9729)) + (global $../../webgl/NEAREST_MIPMAP_NEAREST i32 (i32.const 9984)) + (global $../../webgl/LINEAR_MIPMAP_NEAREST i32 (i32.const 9985)) + (global $../../webgl/NEAREST_MIPMAP_LINEAR i32 (i32.const 9986)) + (global $../../webgl/LINEAR_MIPMAP_LINEAR i32 (i32.const 9987)) + (global $../../webgl/TEXTURE_MAG_FILTER i32 (i32.const 10240)) + (global $../../webgl/TEXTURE_MIN_FILTER i32 (i32.const 10241)) + (global $../../webgl/TEXTURE_WRAP_S i32 (i32.const 10242)) + (global $../../webgl/TEXTURE_WRAP_T i32 (i32.const 10243)) + (global $../../webgl/TEXTURE_2D i32 (i32.const 3553)) + (global $../../webgl/TEXTURE i32 (i32.const 5890)) + (global $../../webgl/TEXTURE_CUBE_MAP i32 (i32.const 34067)) + (global $../../webgl/TEXTURE_BINDING_CUBE_MAP i32 (i32.const 34068)) + (global $../../webgl/TEXTURE_CUBE_MAP_POSITIVE_X i32 (i32.const 34069)) + (global $../../webgl/TEXTURE_CUBE_MAP_NEGATIVE_X i32 (i32.const 34070)) + (global $../../webgl/TEXTURE_CUBE_MAP_POSITIVE_Y i32 (i32.const 34071)) + (global $../../webgl/TEXTURE_CUBE_MAP_NEGATIVE_Y i32 (i32.const 34072)) + (global $../../webgl/TEXTURE_CUBE_MAP_POSITIVE_Z i32 (i32.const 34073)) + (global $../../webgl/TEXTURE_CUBE_MAP_NEGATIVE_Z i32 (i32.const 34074)) + (global $../../webgl/MAX_CUBE_MAP_TEXTURE_SIZE i32 (i32.const 34076)) + (global $../../webgl/TEXTURE0 i32 (i32.const 33984)) + (global $../../webgl/TEXTURE1 i32 (i32.const 33985)) + (global $../../webgl/TEXTURE2 i32 (i32.const 33986)) + (global $../../webgl/TEXTURE3 i32 (i32.const 33987)) + (global $../../webgl/TEXTURE4 i32 (i32.const 33988)) + (global $../../webgl/TEXTURE5 i32 (i32.const 33989)) + (global $../../webgl/TEXTURE6 i32 (i32.const 33990)) + (global $../../webgl/TEXTURE7 i32 (i32.const 33991)) + (global $../../webgl/TEXTURE8 i32 (i32.const 33992)) + (global $../../webgl/TEXTURE9 i32 (i32.const 33993)) + (global $../../webgl/TEXTURE10 i32 (i32.const 33994)) + (global $../../webgl/TEXTURE11 i32 (i32.const 33995)) + (global $../../webgl/TEXTURE12 i32 (i32.const 33996)) + (global $../../webgl/TEXTURE13 i32 (i32.const 33997)) + (global $../../webgl/TEXTURE14 i32 (i32.const 33998)) + (global $../../webgl/TEXTURE15 i32 (i32.const 33999)) + (global $../../webgl/TEXTURE16 i32 (i32.const 34000)) + (global $../../webgl/TEXTURE17 i32 (i32.const 34001)) + (global $../../webgl/TEXTURE18 i32 (i32.const 34002)) + (global $../../webgl/TEXTURE19 i32 (i32.const 34003)) + (global $../../webgl/TEXTURE20 i32 (i32.const 34004)) + (global $../../webgl/TEXTURE21 i32 (i32.const 34005)) + (global $../../webgl/TEXTURE22 i32 (i32.const 34006)) + (global $../../webgl/TEXTURE23 i32 (i32.const 34007)) + (global $../../webgl/TEXTURE24 i32 (i32.const 34008)) + (global $../../webgl/TEXTURE25 i32 (i32.const 34009)) + (global $../../webgl/TEXTURE26 i32 (i32.const 34010)) + (global $../../webgl/TEXTURE27 i32 (i32.const 34011)) + (global $../../webgl/TEXTURE28 i32 (i32.const 34012)) + (global $../../webgl/TEXTURE29 i32 (i32.const 34013)) + (global $../../webgl/TEXTURE30 i32 (i32.const 34014)) + (global $../../webgl/TEXTURE31 i32 (i32.const 34015)) + (global $../../webgl/ACTIVE_TEXTURE i32 (i32.const 34016)) + (global $../../webgl/REPEAT i32 (i32.const 10497)) + (global $../../webgl/CLAMP_TO_EDGE i32 (i32.const 33071)) + (global $../../webgl/MIRRORED_REPEAT i32 (i32.const 33648)) + (global $../../webgl/FLOAT_VEC2 i32 (i32.const 35664)) + (global $../../webgl/FLOAT_VEC3 i32 (i32.const 35665)) + (global $../../webgl/FLOAT_VEC4 i32 (i32.const 35666)) + (global $../../webgl/INT_VEC2 i32 (i32.const 35667)) + (global $../../webgl/INT_VEC3 i32 (i32.const 35668)) + (global $../../webgl/INT_VEC4 i32 (i32.const 35669)) + (global $../../webgl/BOOL i32 (i32.const 35670)) + (global $../../webgl/BOOL_VEC2 i32 (i32.const 35671)) + (global $../../webgl/BOOL_VEC3 i32 (i32.const 35672)) + (global $../../webgl/BOOL_VEC4 i32 (i32.const 35673)) + (global $../../webgl/FLOAT_MAT2 i32 (i32.const 35674)) + (global $../../webgl/FLOAT_MAT3 i32 (i32.const 35675)) + (global $../../webgl/FLOAT_MAT4 i32 (i32.const 35676)) + (global $../../webgl/SAMPLER_2D i32 (i32.const 35678)) + (global $../../webgl/SAMPLER_CUBE i32 (i32.const 35680)) + (global $../../webgl/VERTEX_ATTRIB_ARRAY_ENABLED i32 (i32.const 34338)) + (global $../../webgl/VERTEX_ATTRIB_ARRAY_SIZE i32 (i32.const 34339)) + (global $../../webgl/VERTEX_ATTRIB_ARRAY_STRIDE i32 (i32.const 34340)) + (global $../../webgl/VERTEX_ATTRIB_ARRAY_TYPE i32 (i32.const 34341)) + (global $../../webgl/VERTEX_ATTRIB_ARRAY_NORMALIZED i32 (i32.const 34922)) + (global $../../webgl/VERTEX_ATTRIB_ARRAY_POINTER i32 (i32.const 34373)) + (global $../../webgl/VERTEX_ATTRIB_ARRAY_BUFFER_BINDING i32 (i32.const 34975)) + (global $../../webgl/COMPILE_STATUS i32 (i32.const 35713)) + (global $../../webgl/LOW_FLOAT i32 (i32.const 36336)) + (global $../../webgl/MEDIUM_FLOAT i32 (i32.const 36337)) + (global $../../webgl/HIGH_FLOAT i32 (i32.const 36338)) + (global $../../webgl/LOW_INT i32 (i32.const 36339)) + (global $../../webgl/MEDIUM_INT i32 (i32.const 36340)) + (global $../../webgl/HIGH_INT i32 (i32.const 36341)) + (global $../../webgl/FRAMEBUFFER i32 (i32.const 36160)) + (global $../../webgl/RENDERBUFFER i32 (i32.const 36161)) + (global $../../webgl/RGBA4 i32 (i32.const 32854)) + (global $../../webgl/RGB5_A1 i32 (i32.const 32855)) + (global $../../webgl/RGB565 i32 (i32.const 36194)) + (global $../../webgl/DEPTH_COMPONENT16 i32 (i32.const 33189)) + (global $../../webgl/STENCIL_INDEX i32 (i32.const 6401)) + (global $../../webgl/STENCIL_INDEX8 i32 (i32.const 36168)) + (global $../../webgl/DEPTH_STENCIL i32 (i32.const 34041)) + (global $../../webgl/RENDERBUFFER_WIDTH i32 (i32.const 36162)) + (global $../../webgl/RENDERBUFFER_HEIGHT i32 (i32.const 36163)) + (global $../../webgl/RENDERBUFFER_INTERNAL_FORMAT i32 (i32.const 36164)) + (global $../../webgl/RENDERBUFFER_RED_SIZE i32 (i32.const 36176)) + (global $../../webgl/RENDERBUFFER_GREEN_SIZE i32 (i32.const 36177)) + (global $../../webgl/RENDERBUFFER_BLUE_SIZE i32 (i32.const 36178)) + (global $../../webgl/RENDERBUFFER_ALPHA_SIZE i32 (i32.const 36179)) + (global $../../webgl/RENDERBUFFER_DEPTH_SIZE i32 (i32.const 36180)) + (global $../../webgl/RENDERBUFFER_STENCIL_SIZE i32 (i32.const 36181)) + (global $../../webgl/FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE i32 (i32.const 36048)) + (global $../../webgl/FRAMEBUFFER_ATTACHMENT_OBJECT_NAME i32 (i32.const 36049)) + (global $../../webgl/FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL i32 (i32.const 36050)) + (global $../../webgl/FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE i32 (i32.const 36051)) + (global $../../webgl/COLOR_ATTACHMENT0 i32 (i32.const 36064)) + (global $../../webgl/DEPTH_ATTACHMENT i32 (i32.const 36096)) + (global $../../webgl/STENCIL_ATTACHMENT i32 (i32.const 36128)) + (global $../../webgl/DEPTH_STENCIL_ATTACHMENT i32 (i32.const 33306)) + (global $../../webgl/NONE i32 (i32.const 0)) + (global $../../webgl/FRAMEBUFFER_COMPLETE i32 (i32.const 36053)) + (global $../../webgl/FRAMEBUFFER_INCOMPLETE_ATTACHMENT i32 (i32.const 36054)) + (global $../../webgl/FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT i32 (i32.const 36055)) + (global $../../webgl/FRAMEBUFFER_INCOMPLETE_DIMENSIONS i32 (i32.const 36057)) + (global $../../webgl/FRAMEBUFFER_UNSUPPORTED i32 (i32.const 36061)) + (global $../../webgl/FRAMEBUFFER_BINDING i32 (i32.const 36006)) + (global $../../webgl/RENDERBUFFER_BINDING i32 (i32.const 36007)) + (global $../../webgl/MAX_RENDERBUFFER_SIZE i32 (i32.const 34024)) + (global $../../webgl/INVALID_FRAMEBUFFER_OPERATION i32 (i32.const 1286)) + (global $../../webgl/UNPACK_FLIP_Y_WEBGL i32 (i32.const 37440)) + (global $../../webgl/UNPACK_PREMULTIPLY_ALPHA_WEBGL i32 (i32.const 37441)) + (global $../../webgl/CONTEXT_LOST_WEBGL i32 (i32.const 37442)) + (global $../../webgl/UNPACK_COLORSPACE_CONVERSION_WEBGL i32 (i32.const 37443)) + (global $../../webgl/BROWSER_DEFAULT_WEBGL i32 (i32.const 37444)) + (global $Robot/objArray (mut i32) (i32.const 0)) + (global $Robot/matArray (mut i32) (i32.const 0)) + (global $Robot/groupArray (mut i32) (i32.const 0)) + (global $Robot/TanMaterial_mat (mut i32) (i32.const 192)) + (global $Robot/RedMaterial_mat (mut i32) (i32.const 288)) + (global $Robot/BlueMaterial_mat (mut i32) (i32.const 384)) + (global $Robot/Robot_data (mut i32) (i32.const 480)) + (global $obj_mat/VERTEX_SHADER_CODE i32 (i32.const 12688)) + (global $obj_mat/FRAGMENT_SHADER_CODE i32 (i32.const 13984)) + (global $obj_mat/gl (mut i32) (i32.const 0)) + (global $obj_mat/vertex_shader (mut i32) (i32.const 0)) + (global $obj_mat/fragment_shader (mut i32) (i32.const 0)) + (global $obj_mat/program (mut i32) (i32.const 0)) + (global $obj_mat/buffer (mut i32) (i32.const 0)) + (global $obj_mat/position_al (mut i32) (i32.const 0)) + (global $obj_mat/normal_al (mut i32) (i32.const 0)) + (global $~lib/math/rempio2f_y (mut f64) (f64.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 14656)) + (global $~lib/memory/__heap_base i32 (i32.const 14724)) + (export "memory" (memory $0)) + (export "__new" (func $~lib/rt/stub/__new)) + (export "__renew" (func $~lib/rt/stub/__renew)) + (export "__retain" (func $~lib/rt/stub/__retain)) + (export "__release" (func $~lib/rt/stub/__release)) + (export "__collect" (func $~lib/rt/stub/__collect)) + (export "__reset" (func $~lib/rt/stub/__reset)) + (export "__rtti_base" (global $~lib/rt/__rtti_base)) + (export "displayLoop" (func $obj_mat/displayLoop)) + (start $~start) ;; start $func55 + (func $~lib/rt/stub/computeSize (param $0 i32) (result i32) ;; $func19 + local.get $0 + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + ) + (func $~lib/rt/stub/maybeGrowMemory (param $0 i32) ;; $func20 + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + memory.size + local.set $1 + local.get $1 + i32.const 16 + i32.shl + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $2 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $0 + local.get $2 + i32.sub + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $1 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $4 + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $3 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + end + local.get $0 + global.set $~lib/rt/stub/offset + ) + (func $~lib/rt/stub/__alloc (param $0 i32) (result i32) ;; $func21 + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.const 1073741820 + i32.gt_u + if + unreachable + end + global.get $~lib/rt/stub/offset + local.set $1 + global.get $~lib/rt/stub/offset + i32.const 4 + i32.add + local.set $2 + local.get $0 + call $~lib/rt/stub/computeSize + local.set $3 + local.get $2 + local.get $3 + i32.add + call $~lib/rt/stub/maybeGrowMemory + local.get $1 + local.get $3 + i32.store + local.get $2 + ) + (func $~lib/rt/stub/__new (param $0 i32) (param $1 i32) (result i32) ;; $func22 + (local $2 i32) + (local $3 i32) + local.get $0 + i32.const 1073741804 + i32.gt_u + if + unreachable + end + i32.const 16 + local.get $0 + i32.add + call $~lib/rt/stub/__alloc + local.set $2 + local.get $2 + i32.const 4 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + local.get $1 + i32.store offset=12 + local.get $3 + local.get $0 + i32.store offset=16 + local.get $2 + i32.const 16 + i32.add + ) + (func $~lib/util/memory/memcpy (param $0 i32) (param $1 i32) (param $2 i32) ;; $func23 + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + loop $while-continue|0 + local.get $2 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + i32.const 0 + end + local.set $5 + local.get $5 + if + local.get $0 + local.tee $6 + i32.const 1 + i32.add + local.set $0 + local.get $6 + local.get $1 + local.tee $6 + i32.const 1 + i32.add + local.set $1 + local.get $6 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + local.get $0 + i32.const 3 + i32.and + i32.const 0 + i32.eq + if + loop $while-continue|1 + local.get $2 + i32.const 16 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|1 + end + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + block $case0|2 + local.get $0 + i32.const 3 + i32.and + local.set $5 + local.get $5 + i32.const 1 + i32.eq + br_if $case0|2 + local.get $5 + i32.const 2 + i32.eq + br_if $case1|2 + local.get $5 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + loop $while-continue|3 + local.get $2 + i32.const 17 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $1 + i32.const 1 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 5 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 9 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 13 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|3 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + loop $while-continue|4 + local.get $2 + i32.const 18 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $1 + i32.const 2 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 6 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 10 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 14 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|4 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|5 + local.get $2 + i32.const 19 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $1 + i32.const 3 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 7 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 11 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 15 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|5 + end + end + br $break|2 + end + end + local.get $2 + i32.const 16 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + ) + (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) ;; $func24 + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $4 + local.get $5 + i32.sub + local.get $3 + i32.sub + i32.const 0 + local.get $3 + i32.const 1 + i32.shl + i32.sub + i32.le_u + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|0 + local.get $5 + i32.const 7 + i32.and + local.set $6 + local.get $6 + if + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $7 + i32.const 1 + i32.add + local.set $5 + local.get $7 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.load8_u + i32.store8 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $while-continue|1 + end + end + end + loop $while-continue|2 + local.get $3 + local.set $6 + local.get $6 + if + local.get $5 + local.tee $7 + i32.const 1 + i32.add + local.set $5 + local.get $7 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end + else + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + local.set $6 + local.get $6 + if + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $while-continue|4 + end + end + end + loop $while-continue|5 + local.get $3 + local.set $6 + local.get $6 + if + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|5 + end + end + end + end + ) + (func $~lib/rt/stub/__realloc (param $0 i32) (param $1 i32) (result i32) ;; $func25 + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.const 0 + i32.ne + if (result i32) + local.get $0 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 55 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4 + i32.sub + local.set $2 + local.get $2 + i32.load + local.set $3 + local.get $0 + local.get $3 + i32.add + global.get $~lib/rt/stub/offset + i32.eq + local.set $4 + local.get $1 + call $~lib/rt/stub/computeSize + local.set $5 + local.get $1 + local.get $3 + i32.gt_u + if + local.get $4 + if + local.get $1 + i32.const 1073741820 + i32.gt_u + if + unreachable + end + local.get $0 + local.get $5 + i32.add + call $~lib/rt/stub/maybeGrowMemory + local.get $2 + local.get $5 + i32.store + else + local.get $5 + local.tee $6 + local.get $3 + i32.const 1 + i32.shl + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + call $~lib/rt/stub/__alloc + local.set $6 + local.get $6 + local.get $0 + local.get $3 + call $~lib/memory/memory.copy + local.get $6 + local.tee $0 + i32.const 4 + i32.sub + local.set $2 + end + else + local.get $4 + if + local.get $0 + local.get $5 + i32.add + global.set $~lib/rt/stub/offset + local.get $2 + local.get $5 + i32.store + end + end + local.get $0 + ) + (func $~lib/rt/stub/__renew (param $0 i32) (param $1 i32) (result i32) ;; $func26 + (local $2 i32) + local.get $1 + i32.const 1073741804 + i32.gt_u + if + unreachable + end + local.get $0 + i32.const 16 + i32.sub + i32.const 16 + local.get $1 + i32.add + call $~lib/rt/stub/__realloc + local.set $2 + local.get $2 + i32.const 4 + i32.sub + local.get $1 + i32.store offset=16 + local.get $2 + i32.const 16 + i32.add + ) + (func $~lib/rt/stub/__retain (param $0 i32) (result i32) ;; $func27 + local.get $0 + ) + (func $~lib/rt/stub/__release (param $0 i32) ;; $func28 + nop + ) + (func $~lib/rt/stub/__collect ;; $func29 + nop + ) + (func $~lib/rt/stub/__reset ;; $func30 + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + ) + (func $~lib/memory/memory.fill (param $0 i32) (param $1 i32) (param $2 i32) ;; $func31 + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + block $~lib/util/memory/memset|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + i32.const 1 + i32.gt_s + drop + local.get $3 + i32.eqz + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.set $6 + local.get $5 + local.get $4 + i32.store8 + local.get $6 + local.get $4 + i32.store8 offset=3 + local.get $3 + i32.const 2 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 offset=1 + local.get $5 + local.get $4 + i32.store8 offset=2 + local.get $6 + local.get $4 + i32.store8 offset=2 + local.get $6 + local.get $4 + i32.store8 offset=1 + local.get $3 + i32.const 6 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $4 + i32.store8 offset=3 + local.get $6 + local.get $4 + i32.store8 + local.get $3 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + i32.const 0 + local.get $5 + i32.sub + i32.const 3 + i32.and + local.set $7 + local.get $5 + local.get $7 + i32.add + local.set $5 + local.get $3 + local.get $7 + i32.sub + local.set $3 + local.get $3 + i32.const -4 + i32.and + local.set $3 + i32.const -1 + i32.const 255 + i32.div_u + local.get $4 + i32.const 255 + i32.and + i32.mul + local.set $8 + local.get $5 + local.get $3 + i32.add + i32.const 28 + i32.sub + local.set $6 + local.get $5 + local.get $8 + i32.store + local.get $6 + local.get $8 + i32.store offset=24 + local.get $3 + i32.const 8 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $8 + i32.store offset=4 + local.get $5 + local.get $8 + i32.store offset=8 + local.get $6 + local.get $8 + i32.store offset=16 + local.get $6 + local.get $8 + i32.store offset=20 + local.get $3 + i32.const 24 + i32.le_u + if + br $~lib/util/memory/memset|inlined.0 + end + local.get $5 + local.get $8 + i32.store offset=12 + local.get $5 + local.get $8 + i32.store offset=16 + local.get $5 + local.get $8 + i32.store offset=20 + local.get $5 + local.get $8 + i32.store offset=24 + local.get $6 + local.get $8 + i32.store + local.get $6 + local.get $8 + i32.store offset=4 + local.get $6 + local.get $8 + i32.store offset=8 + local.get $6 + local.get $8 + i32.store offset=12 + i32.const 24 + local.get $5 + i32.const 4 + i32.and + i32.add + local.set $7 + local.get $5 + local.get $7 + i32.add + local.set $5 + local.get $3 + local.get $7 + i32.sub + local.set $3 + local.get $8 + i64.extend_i32_u + local.get $8 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $9 + loop $while-continue|0 + local.get $3 + i32.const 32 + i32.ge_u + local.set $10 + local.get $10 + if + local.get $5 + local.get $9 + i64.store + local.get $5 + local.get $9 + i64.store offset=8 + local.get $5 + local.get $9 + i64.store offset=16 + local.get $5 + local.get $9 + i64.store offset=24 + local.get $3 + i32.const 32 + i32.sub + local.set $3 + local.get $5 + i32.const 32 + i32.add + local.set $5 + br $while-continue|0 + end + end + end + ) + (func $~lib/array/Array<~lib/staticarray/StaticArray>#constructor (param $0 i32) (param $1 i32) (result i32) ;; $func32 + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.eqz + if + i32.const 16 + i32.const 4 + call $~lib/rt/stub/__new + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 96 + i32.const 144 + i32.const 57 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.set $2 + local.get $2 + i32.const 0 + call $~lib/rt/stub/__new + local.set $3 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + i32.load + local.tee $6 + i32.ne + if + local.get $5 + call $~lib/rt/stub/__retain + local.set $5 + local.get $6 + call $~lib/rt/stub/__release + end + local.get $5 + i32.store + local.get $0 + local.get $3 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + local.get $1 + i32.store offset=12 + local.get $0 + ) + (func $~lib/array/Array<~lib/staticarray/StaticArray>#constructor (param $0 i32) (param $1 i32) (result i32) ;; $func33 + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.eqz + if + i32.const 16 + i32.const 6 + call $~lib/rt/stub/__new + call $~lib/rt/stub/__retain + local.set $0 + end + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 96 + i32.const 144 + i32.const 57 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.set $2 + local.get $2 + i32.const 0 + call $~lib/rt/stub/__new + local.set $3 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + i32.load + local.tee $6 + i32.ne + if + local.get $5 + call $~lib/rt/stub/__retain + local.set $5 + local.get $6 + call $~lib/rt/stub/__release + end + local.get $5 + i32.store + local.get $0 + local.get $3 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + local.get $0 + local.get $1 + i32.store offset=12 + local.get $0 + ) + (func $~lib/array/ensureSize (param $0 i32) (param $1 i32) (param $2 i32) ;; $func34 + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.load offset=8 + local.set $3 + local.get $1 + local.get $3 + local.get $2 + i32.shr_u + i32.gt_u + if + local.get $1 + i32.const 1073741820 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 96 + i32.const 144 + i32.const 14 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load + local.set $4 + local.get $1 + local.get $2 + i32.shl + local.set $5 + local.get $4 + local.get $5 + call $~lib/rt/stub/__renew + local.set $6 + local.get $6 + local.get $3 + i32.add + i32.const 0 + local.get $5 + local.get $3 + i32.sub + call $~lib/memory/memory.fill + local.get $6 + local.get $4 + i32.ne + if + local.get $0 + local.get $6 + i32.store + local.get $0 + local.get $6 + i32.store offset=4 + end + local.get $0 + local.get $5 + i32.store offset=8 + end + ) + (func $~lib/array/Array<~lib/staticarray/StaticArray>#push (param $0 i32) (param $1 i32) (result i32) ;; $func35 + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/rt/stub/__retain + local.set $1 + local.get $0 + i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.add + local.set $3 + local.get $0 + local.get $3 + i32.const 2 + call $~lib/array/ensureSize + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + local.get $3 + i32.store offset=12 + local.get $3 + local.set $4 + local.get $1 + call $~lib/rt/stub/__release + local.get $4 + ) + (func $~lib/rt/__newBuffer (param $0 i32) (param $1 i32) (param $2 i32) (result i32) ;; $func36 + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/stub/__new + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) ;; $func37 + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 16 + local.get $2 + call $~lib/rt/stub/__new + local.set $4 + local.get $0 + local.get $1 + i32.shl + local.set $5 + local.get $5 + i32.const 0 + local.get $3 + call $~lib/rt/__newBuffer + local.set $6 + local.get $4 + local.get $6 + call $~lib/rt/stub/__retain + i32.store + local.get $4 + local.get $6 + i32.store offset=4 + local.get $4 + local.get $5 + i32.store offset=8 + local.get $4 + local.get $0 + i32.store offset=12 + local.get $4 + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) ;; $func38 + local.get $0 + i32.load offset=12 + ) + (func $~lib/staticarray/StaticArray.fromArray (param $0 i32) (result i32) ;; $func39 + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + call $~lib/rt/stub/__retain + local.set $0 + local.get $0 + call $~lib/array/Array#get:length + local.set $1 + local.get $1 + i32.const 2 + i32.shl + local.set $2 + local.get $2 + i32.const 5 + call $~lib/rt/stub/__new + local.set $3 + i32.const 0 + drop + local.get $3 + local.get $0 + i32.load offset=4 + local.get $2 + call $~lib/memory/memory.copy + local.get $3 + call $~lib/rt/stub/__retain + local.set $4 + local.get $0 + call $~lib/rt/stub/__release + local.get $4 + ) + (func $~lib/array/Array<~lib/staticarray/StaticArray>#push (param $0 i32) (param $1 i32) (result i32) ;; $func40 + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/rt/stub/__retain + local.set $1 + local.get $0 + i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.add + local.set $3 + local.get $0 + local.get $3 + i32.const 2 + call $~lib/array/ensureSize + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + call $~lib/rt/stub/__retain + i32.store + local.get $0 + local.get $3 + i32.store offset=12 + local.get $3 + local.set $4 + local.get $1 + call $~lib/rt/stub/__release + local.get $4 + ) + (func $start:Robot ;; $func41 + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 0 + i32.const 1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#constructor + global.set $Robot/objArray + i32.const 0 + i32.const 3 + call $~lib/array/Array<~lib/staticarray/StaticArray>#constructor + global.set $Robot/matArray + i32.const 0 + i32.const 0 + call $~lib/array/Array<~lib/staticarray/StaticArray>#constructor + global.set $Robot/groupArray + global.get $Robot/matArray + global.get $Robot/TanMaterial_mat + call $~lib/array/Array<~lib/staticarray/StaticArray>#push + drop + global.get $Robot/matArray + global.get $Robot/RedMaterial_mat + call $~lib/array/Array<~lib/staticarray/StaticArray>#push + drop + global.get $Robot/matArray + global.get $Robot/BlueMaterial_mat + call $~lib/array/Array<~lib/staticarray/StaticArray>#push + drop + global.get $Robot/objArray + global.get $Robot/Robot_data + call $~lib/array/Array<~lib/staticarray/StaticArray>#push + drop + global.get $Robot/groupArray + i32.const 4 + i32.const 2 + i32.const 7 + i32.const 12544 + call $~lib/rt/__newArray + call $~lib/rt/stub/__retain + local.tee $1 + call $~lib/staticarray/StaticArray.fromArray + local.tee $0 + call $~lib/array/Array<~lib/staticarray/StaticArray>#push + drop + global.get $Robot/groupArray + i32.const 4 + i32.const 2 + i32.const 7 + i32.const 12592 + call $~lib/rt/__newArray + call $~lib/rt/stub/__retain + local.tee $3 + call $~lib/staticarray/StaticArray.fromArray + local.tee $2 + call $~lib/array/Array<~lib/staticarray/StaticArray>#push + drop + global.get $Robot/groupArray + i32.const 4 + i32.const 2 + i32.const 7 + i32.const 12640 + call $~lib/rt/__newArray + call $~lib/rt/stub/__retain + local.tee $5 + call $~lib/staticarray/StaticArray.fromArray + local.tee $4 + call $~lib/array/Array<~lib/staticarray/StaticArray>#push + drop + local.get $0 + call $~lib/rt/stub/__release + local.get $1 + call $~lib/rt/stub/__release + local.get $2 + call $~lib/rt/stub/__release + local.get $3 + call $~lib/rt/stub/__release + local.get $4 + call $~lib/rt/stub/__release + local.get $5 + call $~lib/rt/stub/__release + ) + (func $start:obj_mat ;; $func42 + call $start:Robot + i32.const 14240 + i32.const 14272 + call $../../webgl/createContextFromCanvas + global.set $obj_mat/gl + global.get $obj_mat/gl + global.get $../../webgl/VERTEX_SHADER + call $../../webgl/createShader + global.set $obj_mat/vertex_shader + global.get $obj_mat/gl + global.get $obj_mat/vertex_shader + global.get $obj_mat/VERTEX_SHADER_CODE + call $../../webgl/shaderSource + global.get $obj_mat/gl + global.get $obj_mat/vertex_shader + call $../../webgl/compileShader + global.get $obj_mat/gl + global.get $../../webgl/FRAGMENT_SHADER + call $../../webgl/createShader + global.set $obj_mat/fragment_shader + global.get $obj_mat/gl + global.get $obj_mat/fragment_shader + global.get $obj_mat/FRAGMENT_SHADER_CODE + call $../../webgl/shaderSource + global.get $obj_mat/gl + global.get $obj_mat/fragment_shader + call $../../webgl/compileShader + global.get $obj_mat/gl + call $../../webgl/createProgram + global.set $obj_mat/program + global.get $obj_mat/gl + global.get $obj_mat/program + global.get $obj_mat/vertex_shader + call $../../webgl/attachShader + global.get $obj_mat/gl + global.get $obj_mat/program + global.get $obj_mat/fragment_shader + call $../../webgl/attachShader + global.get $obj_mat/gl + global.get $obj_mat/program + call $../../webgl/linkProgram + global.get $obj_mat/gl + global.get $obj_mat/program + call $../../webgl/useProgram + global.get $obj_mat/gl + call $../../webgl/createBuffer + global.set $obj_mat/buffer + global.get $obj_mat/gl + global.get $../../webgl/ARRAY_BUFFER + global.get $obj_mat/buffer + call $../../webgl/bindBuffer + global.get $obj_mat/gl + global.get $obj_mat/program + i32.const 14304 + call $../../webgl/getAttribLocation + global.set $obj_mat/position_al + global.get $obj_mat/gl + global.get $obj_mat/position_al + call $../../webgl/enableVertexAttribArray + global.get $obj_mat/gl + global.get $obj_mat/program + i32.const 14352 + call $../../webgl/getAttribLocation + global.set $obj_mat/normal_al + global.get $obj_mat/gl + global.get $obj_mat/normal_al + call $../../webgl/enableVertexAttribArray + global.get $obj_mat/gl + global.get $../../webgl/DEPTH_TEST + call $../../webgl/enable + ) + (func $~lib/array/Array<~lib/staticarray/StaticArray>#get:length (param $0 i32) (result i32) ;; $func43 + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array<~lib/staticarray/StaticArray>#__uget (param $0 i32) (param $1 i32) (result i32) ;; $func44 + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/rt/stub/__retain + ) + (func $~lib/array/Array<~lib/staticarray/StaticArray>#__get (param $0 i32) (param $1 i32) (result i32) ;; $func45 + (local $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 14384 + i32.const 144 + i32.const 104 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__uget + local.set $2 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $2 + i32.eqz + if + i32.const 14448 + i32.const 144 + i32.const 108 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $2 + ) + (func $~lib/staticarray/StaticArray#get:length (param $0 i32) (result i32) ;; $func46 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + ) + (func $~lib/staticarray/StaticArray#__uget (param $0 i32) (param $1 i32) (result f32) ;; $func47 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + ) + (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result f32) ;; $func48 + (local $2 f32) + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 14384 + i32.const 14576 + i32.const 95 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray#__uget + local.set $2 + i32.const 0 + drop + local.get $2 + ) + (func $~lib/math/NativeMathf.cos (param $0 f32) (result f32) ;; $func49 + (local $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 i32) + (local $9 i32) + (local $10 f32) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i32) + (local $24 i32) + (local $25 f64) + (local $26 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 31 + i32.shr_u + local.set $2 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + i32.const 1061752794 + i32.le_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + f32.const 1 + return + end + local.get $0 + f64.promote_f32 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $4 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $6 + f32.const 1 + f64.promote_f32 + local.get $4 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $4 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $1 + i32.const 1081824209 + i32.le_u + if + local.get $1 + i32.const 1075235811 + i32.gt_u + if + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.sub + end + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $6 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $4 + f32.const 1 + f64.promote_f32 + local.get $6 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $6 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + f32.neg + return + else + local.get $2 + if (result f32) + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $4 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $6 + local.get $4 + local.get $3 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.const -0.16666666641626524 + local.get $4 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $5 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + else + f64.const 1.5707963267948966 + local.get $0 + f64.promote_f32 + f64.sub + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -1.9839334836096632e-04 + local.get $7 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $5 + local.get $7 + local.get $3 + f64.mul + local.set $4 + local.get $3 + local.get $4 + f64.const -0.16666666641626524 + local.get $7 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $4 + local.get $6 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + end + return + end + unreachable + end + local.get $1 + i32.const 1088565717 + i32.le_u + if + local.get $1 + i32.const 1085271519 + i32.gt_u + if + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub + end + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $4 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $6 + f32.const 1 + f64.promote_f32 + local.get $4 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $4 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + else + local.get $2 + if (result f32) + local.get $0 + f32.neg + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $6 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $4 + local.get $6 + local.get $7 + f64.mul + local.set $3 + local.get $7 + local.get $3 + f64.const -0.16666666641626524 + local.get $6 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $3 + local.get $5 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + else + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + f64.const -1.9839334836096632e-04 + local.get $3 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $5 + local.get $3 + local.get $7 + f64.mul + local.set $6 + local.get $7 + local.get $6 + f64.const -0.16666666641626524 + local.get $3 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $6 + local.get $4 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + end + return + end + unreachable + end + local.get $1 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + local.get $0 + f32.sub + return + end + block $~lib/math/rempio2f|inlined.0 (result i32) + local.get $0 + local.set $10 + local.get $1 + local.set $9 + local.get $2 + local.set $8 + local.get $9 + i32.const 1305022427 + i32.lt_u + if + local.get $10 + f64.promote_f32 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $6 + local.get $10 + f64.promote_f32 + local.get $6 + f64.const 1.5707963109016418 + f64.mul + f64.sub + local.get $6 + f64.const 1.5893254773528196e-08 + f64.mul + f64.sub + global.set $~lib/math/rempio2f_y + local.get $6 + i32.trunc_f64_s + br $~lib/math/rempio2f|inlined.0 + end + local.get $10 + local.set $12 + local.get $9 + local.set $11 + local.get $11 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $13 + local.get $13 + i32.const 63 + i32.and + i64.extend_i32_s + local.set $14 + i32.const 14616 + local.get $13 + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $15 + local.get $15 + i64.load + local.set $16 + local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 + i64.const 32 + i64.gt_u + if + local.get $15 + i64.load offset=16 + local.set $19 + local.get $19 + i64.const 96 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + local.get $18 + local.get $17 + local.get $14 + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $18 + else + local.get $17 + i64.const 32 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + end + local.get $17 + i64.const 64 + local.get $14 + i64.sub + i64.shr_u + local.get $16 + local.get $14 + i64.shl + i64.or + local.set $19 + local.get $11 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $20 + local.get $20 + local.get $19 + i64.mul + local.get $20 + local.get $18 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $21 + local.get $21 + i64.const 2 + i64.shl + local.set $22 + local.get $21 + i64.const 62 + i64.shr_u + local.get $22 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $23 + f64.const 8.515303950216386e-20 + local.get $12 + f64.promote_f32 + f64.copysign + local.get $22 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $23 + local.set $23 + i32.const 0 + local.get $23 + i32.sub + local.get $23 + local.get $8 + select + end + local.set $24 + global.get $~lib/math/rempio2f_y + local.set $25 + local.get $24 + i32.const 1 + i32.and + if (result f32) + local.get $25 + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $6 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $4 + local.get $6 + local.get $7 + f64.mul + local.set $3 + local.get $7 + local.get $3 + f64.const -0.16666666641626524 + local.get $6 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $3 + local.get $5 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + else + local.get $25 + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + f64.const -0.001388676377460993 + local.get $3 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $5 + f32.const 1 + f64.promote_f32 + local.get $3 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $4 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $4 + local.get $3 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + end + local.set $26 + local.get $24 + i32.const 1 + i32.add + i32.const 2 + i32.and + if (result f32) + local.get $26 + f32.neg + else + local.get $26 + end + ) + (func $~lib/math/NativeMathf.sin (param $0 f32) (result f32) ;; $func50 + (local $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f64) + (local $5 f64) + (local $6 f64) + (local $7 f64) + (local $8 i32) + (local $9 i32) + (local $10 f32) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i32) + (local $24 i32) + (local $25 f64) + (local $26 f32) + local.get $0 + i32.reinterpret_f32 + local.set $1 + local.get $1 + i32.const 31 + i32.shr_u + local.set $2 + local.get $1 + i32.const 2147483647 + i32.and + local.set $1 + local.get $1 + i32.const 1061752794 + i32.le_u + if + local.get $1 + i32.const 964689920 + i32.lt_u + if + local.get $0 + return + end + local.get $0 + f64.promote_f32 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $4 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $6 + local.get $4 + local.get $3 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.const -0.16666666641626524 + local.get $4 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $5 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $1 + i32.const 1081824209 + i32.le_u + if + local.get $1 + i32.const 1075235811 + i32.le_u + if + local.get $2 + if (result f32) + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.add + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -0.001388676377460993 + local.get $7 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $5 + f32.const 1 + f64.promote_f32 + local.get $7 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $6 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $6 + local.get $7 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + f32.neg + else + local.get $0 + f64.promote_f32 + f64.const 1.5707963267948966 + f64.sub + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + local.get $5 + local.get $5 + f64.mul + local.set $6 + f64.const -0.001388676377460993 + local.get $5 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $7 + f32.const 1 + f64.promote_f32 + local.get $5 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $6 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $6 + local.get $5 + f64.mul + local.get $7 + f64.mul + f64.add + f32.demote_f64 + end + return + end + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 3.141592653589793 + f64.sub + end + f64.neg + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -1.9839334836096632e-04 + local.get $7 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $5 + local.get $7 + local.get $3 + f64.mul + local.set $4 + local.get $3 + local.get $4 + f64.const -0.16666666641626524 + local.get $7 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $4 + local.get $6 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + return + end + local.get $1 + i32.const 1088565717 + i32.le_u + if + local.get $1 + i32.const 1085271519 + i32.le_u + if + local.get $2 + if (result f32) + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.add + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $4 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $6 + f32.const 1 + f64.promote_f32 + local.get $4 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $4 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + else + local.get $0 + f64.promote_f32 + f64.const 4.71238898038469 + f64.sub + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + local.get $6 + local.get $6 + f64.mul + local.set $5 + f64.const -0.001388676377460993 + local.get $6 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $4 + f32.const 1 + f64.promote_f32 + local.get $6 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $5 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $5 + local.get $6 + f64.mul + local.get $4 + f64.mul + f64.add + f32.demote_f64 + f32.neg + end + return + end + local.get $2 + if (result f64) + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.add + else + local.get $0 + f64.promote_f32 + f64.const 6.283185307179586 + f64.sub + end + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + f64.const -1.9839334836096632e-04 + local.get $4 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $6 + local.get $4 + local.get $3 + f64.mul + local.set $7 + local.get $3 + local.get $7 + f64.const -0.16666666641626524 + local.get $4 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $7 + local.get $5 + f64.mul + local.get $6 + f64.mul + f64.add + f32.demote_f64 + return + end + local.get $1 + i32.const 2139095040 + i32.ge_u + if + local.get $0 + local.get $0 + f32.sub + return + end + block $~lib/math/rempio2f|inlined.1 (result i32) + local.get $0 + local.set $10 + local.get $1 + local.set $9 + local.get $2 + local.set $8 + local.get $9 + i32.const 1305022427 + i32.lt_u + if + local.get $10 + f64.promote_f32 + f64.const 0.6366197723675814 + f64.mul + f64.nearest + local.set $7 + local.get $10 + f64.promote_f32 + local.get $7 + f64.const 1.5707963109016418 + f64.mul + f64.sub + local.get $7 + f64.const 1.5893254773528196e-08 + f64.mul + f64.sub + global.set $~lib/math/rempio2f_y + local.get $7 + i32.trunc_f64_s + br $~lib/math/rempio2f|inlined.1 + end + local.get $10 + local.set $12 + local.get $9 + local.set $11 + local.get $11 + i32.const 23 + i32.shr_s + i32.const 152 + i32.sub + local.set $13 + local.get $13 + i32.const 63 + i32.and + i64.extend_i32_s + local.set $14 + i32.const 14616 + local.get $13 + i32.const 6 + i32.shr_s + i32.const 3 + i32.shl + i32.add + local.set $15 + local.get $15 + i64.load + local.set $16 + local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 + i64.const 32 + i64.gt_u + if + local.get $15 + i64.load offset=16 + local.set $19 + local.get $19 + i64.const 96 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + local.get $18 + local.get $17 + local.get $14 + i64.const 32 + i64.sub + i64.shl + i64.or + local.set $18 + else + local.get $17 + i64.const 32 + local.get $14 + i64.sub + i64.shr_u + local.set $18 + end + local.get $17 + i64.const 64 + local.get $14 + i64.sub + i64.shr_u + local.get $16 + local.get $14 + i64.shl + i64.or + local.set $19 + local.get $11 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + i64.extend_i32_s + local.set $20 + local.get $20 + local.get $19 + i64.mul + local.get $20 + local.get $18 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $21 + local.get $21 + i64.const 2 + i64.shl + local.set $22 + local.get $21 + i64.const 62 + i64.shr_u + local.get $22 + i64.const 63 + i64.shr_u + i64.add + i32.wrap_i64 + local.set $23 + f64.const 8.515303950216386e-20 + local.get $12 + f64.promote_f32 + f64.copysign + local.get $22 + f64.convert_i64_s + f64.mul + global.set $~lib/math/rempio2f_y + local.get $23 + local.set $23 + i32.const 0 + local.get $23 + i32.sub + local.get $23 + local.get $8 + select + end + local.set $24 + global.get $~lib/math/rempio2f_y + local.set $25 + local.get $24 + i32.const 1 + i32.and + if (result f32) + local.get $25 + local.set $3 + local.get $3 + local.get $3 + f64.mul + local.set $7 + local.get $7 + local.get $7 + f64.mul + local.set $6 + f64.const -0.001388676377460993 + local.get $7 + f64.const 2.439044879627741e-05 + f64.mul + f64.add + local.set $5 + f32.const 1 + f64.promote_f32 + local.get $7 + f64.const -0.499999997251031 + f64.mul + f64.add + local.get $6 + f64.const 0.04166662332373906 + f64.mul + f64.add + local.get $6 + local.get $7 + f64.mul + local.get $5 + f64.mul + f64.add + f32.demote_f64 + else + local.get $25 + local.set $4 + local.get $4 + local.get $4 + f64.mul + local.set $5 + local.get $5 + local.get $5 + f64.mul + local.set $6 + f64.const -1.9839334836096632e-04 + local.get $5 + f64.const 2.718311493989822e-06 + f64.mul + f64.add + local.set $7 + local.get $5 + local.get $4 + f64.mul + local.set $3 + local.get $4 + local.get $3 + f64.const -0.16666666641626524 + local.get $5 + f64.const 0.008333329385889463 + f64.mul + f64.add + f64.mul + f64.add + local.get $3 + local.get $6 + f64.mul + local.get $7 + f64.mul + f64.add + f32.demote_f64 + end + local.set $26 + local.get $24 + i32.const 2 + i32.and + if (result f32) + local.get $26 + f32.neg + else + local.get $26 + end + ) + (func $~lib/staticarray/StaticArray#__uset (param $0 i32) (param $1 i32) (param $2 f32) ;; $func51 + i32.const 0 + drop + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + f32.store + ) + (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 f32) ;; $func52 + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 14384 + i32.const 14576 + i32.const 110 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray#__uset + ) + (func $obj_mat/rotate (param $0 f32) ;; $func53 + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 f32) + (local $7 i32) + (local $8 f32) + (local $9 i32) + (local $10 f32) + (local $11 i32) + (local $12 f32) + (local $13 f32) + (local $14 f32) + (local $15 f32) + (local $16 f32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + i32.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + global.get $Robot/objArray + call $~lib/array/Array<~lib/staticarray/StaticArray>#get:length + i32.lt_s + local.set $2 + local.get $2 + if + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $4 + call $~lib/staticarray/StaticArray#get:length + i32.lt_s + local.set $5 + local.get $4 + call $~lib/rt/stub/__release + local.get $5 + if + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $4 + local.get $3 + call $~lib/staticarray/StaticArray#__get + local.set $6 + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $7 + local.get $3 + i32.const 2 + i32.add + call $~lib/staticarray/StaticArray#__get + local.set $8 + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $9 + local.get $3 + i32.const 3 + i32.add + call $~lib/staticarray/StaticArray#__get + local.set $10 + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $11 + local.get $3 + i32.const 5 + i32.add + call $~lib/staticarray/StaticArray#__get + local.set $12 + local.get $6 + local.get $0 + call $~lib/math/NativeMathf.cos + f32.mul + local.get $8 + local.get $0 + call $~lib/math/NativeMathf.sin + f32.mul + f32.sub + local.set $13 + local.get $8 + local.get $0 + call $~lib/math/NativeMathf.cos + f32.mul + local.get $6 + local.get $0 + call $~lib/math/NativeMathf.sin + f32.mul + f32.add + local.set $14 + local.get $10 + local.get $0 + call $~lib/math/NativeMathf.cos + f32.mul + local.get $12 + local.get $0 + call $~lib/math/NativeMathf.sin + f32.mul + f32.sub + local.set $15 + local.get $12 + local.get $0 + call $~lib/math/NativeMathf.cos + f32.mul + local.get $10 + local.get $0 + call $~lib/math/NativeMathf.sin + f32.mul + f32.add + local.set $16 + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $17 + local.get $3 + local.get $13 + call $~lib/staticarray/StaticArray#__set + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $18 + local.get $3 + i32.const 2 + i32.add + local.get $14 + call $~lib/staticarray/StaticArray#__set + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $19 + local.get $3 + i32.const 3 + i32.add + local.get $15 + call $~lib/staticarray/StaticArray#__set + global.get $Robot/objArray + local.get $1 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $20 + local.get $3 + i32.const 5 + i32.add + local.get $16 + call $~lib/staticarray/StaticArray#__set + local.get $4 + call $~lib/rt/stub/__release + local.get $7 + call $~lib/rt/stub/__release + local.get $9 + call $~lib/rt/stub/__release + local.get $11 + call $~lib/rt/stub/__release + local.get $17 + call $~lib/rt/stub/__release + local.get $18 + call $~lib/rt/stub/__release + local.get $19 + call $~lib/rt/stub/__release + local.get $20 + call $~lib/rt/stub/__release + local.get $3 + i32.const 6 + i32.add + local.set $3 + br $for-loop|1 + end + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + return + ) + (func $obj_mat/displayLoop (param $0 i32) ;; $func54 + (local $1 f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + f32.convert_i32_s + f32.const 1e4 + f32.div + local.set $1 + local.get $1 + call $obj_mat/rotate + global.get $obj_mat/gl + f32.const 0 + f32.const 0 + f32.const 0 + f32.const 1 + call $../../webgl/clearColor + global.get $obj_mat/gl + global.get $../../webgl/COLOR_BUFFER_BIT + global.get $../../webgl/DEPTH_BUFFER_BIT + i32.or + call $../../webgl/clear + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 + global.get $Robot/objArray + call $~lib/array/Array<~lib/staticarray/StaticArray>#get:length + i32.lt_s + local.set $3 + local.get $3 + if + global.get $obj_mat/gl + global.get $../../webgl/ARRAY_BUFFER + global.get $Robot/objArray + local.get $2 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $4 + global.get $../../webgl/DYNAMIC_DRAW + call $../../webgl/bufferData + global.get $obj_mat/gl + global.get $obj_mat/position_al + i32.const 3 + global.get $../../webgl/FLOAT + i32.const 0 + i32.const 24 + i32.const 0 + call $../../webgl/vertexAttribPointer + global.get $obj_mat/gl + global.get $obj_mat/normal_al + i32.const 3 + global.get $../../webgl/FLOAT + i32.const 0 + i32.const 24 + i32.const 12 + call $../../webgl/vertexAttribPointer + global.get $obj_mat/gl + global.get $../../webgl/TRIANGLES + i32.const 0 + global.get $Robot/objArray + local.get $2 + call $~lib/array/Array<~lib/staticarray/StaticArray>#__get + local.tee $5 + call $~lib/staticarray/StaticArray#get:length + i32.const 6 + i32.div_s + call $../../webgl/drawArrays + local.get $4 + call $~lib/rt/stub/__release + local.get $5 + call $~lib/rt/stub/__release + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + ) + (func $~start ;; $func55 + global.get $~lib/memory/__heap_base + i32.const 4 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + i32.const 4 + i32.sub + global.set $~lib/rt/stub/startOffset + global.get $~lib/rt/stub/startOffset + global.set $~lib/rt/stub/offset + call $start:obj_mat + ) +) diff --git a/examples/Material/robot_temp.asc b/examples/Material/robot_temp.asc new file mode 100644 index 0000000..45213c3 --- /dev/null +++ b/examples/Material/robot_temp.asc @@ -0,0 +1,656 @@ + +export class VertGroup { + mat_index: i32; + obj_index: i32; + start_face: i32; + length: i32; + + constructor(material_index: i32, object_index: i32, starting_face: i32, len: i32 ) { + this.mat_index = material_index; + this.obj_index = object_index; + this.start_face = starting_face; + this.length = len; + } +} + +export var objArray = new Array>(); //1 +export var matArray = new Array>(); //3 +export var groupArray = new Array>(); //0 + +export var TanMaterial_mat:StaticArray = [ + 323.999994, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 0.800000, 0.314507, 0.070683, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matArray.push(TanMaterial_mat); + +export var RedMaterial_mat:StaticArray = [ + 225.000000, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 1.000000, 0.000000, 0.000000, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matArray.push(RedMaterial_mat); + +export var BlueMaterial_mat:StaticArray = [ + 225.000000, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 0.000000, 0.000000, 1.000000, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matArray.push(BlueMaterial_mat); + + +export var Robot_data: StaticArray = [ +//X, Y, Z, U, V, NX, NY, NZ +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0.2651, -0.9642, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, 0.2651, -0.9642, +0.1, 0.1, -0.1, 0.625, 0.5, 0, 0.2651, -0.9642, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0, 1, +-0.1, -0.1, 0.1, 0.375, 1, 0, 0, 1, +0.1, -0.1, 0.1, 0.375, 0.75, 0, 0, 1, +-0.1, 0.1, 0.1, 0.625, 0, -1, 0, 0, +-0.1, -0.1, -0.1, 0.375, 0.25, -1, 0, 0, +-0.1, -0.1, 0.1, 0.375, 0, -1, 0, 0, +0.1, -0.1, -0.1, 0.375, 0.5, 0, -1, 0, +-0.1, -0.1, 0.1, 0.125, 0.75, 0, -1, 0, +-0.1, -0.1, -0.1, 0.125, 0.5, 0, -1, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 1, 0, 0, +0.1, -0.1, 0.1, 0.375, 0.75, 1, 0, 0, +0.1, -0.1, -0.1, 0.375, 0.5, 1, 0, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0, -1, +0.1, -0.1, -0.1, 0.375, 0.5, 0, 0, -1, +-0.1, -0.1, -0.1, 0.375, 0.25, 0, 0, -1, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0.2651, 0.9642, +-0.03964, 0.319577, 0.03964, 0.625, 1, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.625, 1, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.625, 0, -0.9642, 0.2651, 0, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9642, 0.2651, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, -0.9642, 0.2651, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 0.9642, 0.2651, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9642, 0.2651, 0, +0.1, 0.1, 0.1, 0.625, 0.75, 0.9642, 0.2651, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, 0, -1, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, 0, -1, +-0.070778, 0.574785, 0.070778, 0.625, 0, -0.6461, 0.7632, 0, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, -0.6461, 0.7632, 0, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6461, 0.7632, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, 0, 1, +-0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0, 1, +-0.070778, 0.465943, 0.070778, 0.625, 1, 0, 0, 1, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0, 1, +-0.036361, 0.622896, 0.036361, 0.625, 1, 0, 0, 1, +-0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0.7632, 0.6461, +-0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0.7632, 0.6461, +-0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0.7632, 0.6461, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0.7632, -0.6461, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6461, 0.7632, 0, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0.6461, 0.7632, 0, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6461, 0.7632, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, -0.6177, -0.7864, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.6177, -0.7864, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, -0.6177, -0.7864, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0, -1, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 1, 0, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 1, 0, 0, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 1, 0, 0, +-0.036361, 0.603924, 0.036361, 0.625, 0, -1, 0, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, -1, 0, 0, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, -1, 0, 0, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0.7864, -0.6177, 0, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0.7864, -0.6177, 0, +-0.036361, 0.622896, 0.036361, 0.625, 0, -0.7864, -0.6177, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.7864, -0.6177, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, -0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, -0.6177, 0.7864, +-0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.6177, 0.7864, +-0.036361, 0.622896, 0.036361, 0.625, 1, 0, -0.6177, 0.7864, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, 0.5681, -0.8229, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 0.5681, -0.8229, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, 0.5681, -0.8229, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.0692, 0.9976, +-0.058197, 0.722006, 0.058197, 0.625, 1, 0, -0.0692, 0.9976, +-0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.0692, 0.9976, +-0.028575, 0.764915, -0.028575, 0.875, 0.5, 0, 1, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 1, 0, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 1, 0, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.8229, 0.5681, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.8229, 0.5681, 0, +-0.058197, 0.722006, 0.058197, 0.625, 0, -0.8229, 0.5681, 0, +-0.028575, 0.764915, -0.028575, 0.625, 0.25, -0.8229, 0.5681, 0, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, 0.5681, 0.8229, +-0.028575, 0.764915, 0.028575, 0.625, 1, 0, 0.5681, 0.8229, +-0.058197, 0.722006, 0.058197, 0.625, 1, 0, 0.5681, 0.8229, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.6468, -0.7627, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.6468, -0.7627, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.6468, -0.7627, 0, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6468, 0.7627, 0, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.6468, 0.7627, 0, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, +-0.128092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, +-0.098092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 0, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.625, 0, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, +-0.098092, 0.489106, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.625, 0, -0.6468, -0.7627, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.6468, -0.7627, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.6468, -0.7627, 0, +-0.128092, 0.489106, 0.040654, 0.625, 0, -1, 0, 0, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, +-0.128092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, +-0.098092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.625, 0.5, -0.9978, -0.0665, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, -0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0.9978, -0.0665, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, +-0.098092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, +-0.103989, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9921, 0.1251, 0, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0.9921, 0.1251, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9921, 0.1251, 0, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, +0.103989, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, -0.9978, -0.0665, 0, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9978, -0.0665, 0, +-0.128092, 0.489106, 0.040654, 0.625, 0, -0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, +-0.103989, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 0, 0.9978, -0.0665, 0, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0.9978, -0.0665, 0, +0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, +0.098092, 0.335624, 0.040654, 0.625, 0.75, -1, 0, 0, +-0.103989, 0.400565, 0.024672, 0.625, 0, 0.9921, 0.1251, 0, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0.9921, 0.1251, 0, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9921, 0.1251, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, +0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, +0.103989, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9952, 0.0956, 0.0214, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -0.9952, 0.0956, 0.0214, +-0.128092, 0.335624, 0.040654, 0.625, 0, -0.9952, 0.0956, 0.0214, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9952, 0.0956, 0.0214, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -0.9952, 0.0956, 0.0214, +0.098092, 0.335624, 0.040654, 0.625, 0.75, -0.9952, 0.0956, 0.0214, +0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, +0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9509, +0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9509, +0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9509, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.625, 0, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, +0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, +-0.098092, 0.192117, -0.077302, 0.625, 0, 0.9329, -0.3135, -0.1774, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0.9329, -0.3135, -0.1774, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0.9329, -0.3135, -0.1774, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.192117, -0.077302, 0.625, 0, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 1, 0, 0, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.192117, -0.077302, 0.625, 0, 1, 0, 0, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 1, 0, 0, +-0.105592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, +0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, +0.105592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.128092, 0.192117, -0.077302, 0.625, 0, -0.9329, -0.3135, -0.1774, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, -0.9329, -0.3135, -0.1774, +-0.120592, 0.179081, -0.0937, 0.625, 0, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -0.9329, -0.3135, -0.1774, +0.105592, 0.186814, -0.107362, 0.625, 0.5, -0.9329, -0.3135, -0.1774, +0.105592, 0.179081, -0.0937, 0.625, 0.75, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0.9329, -0.3135, -0.1774, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0.9329, -0.3135, -0.1774, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 0.9329, -0.3135, -0.1774, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, +-0.120592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, +-0.105592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0.2651, -0.9642, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, 0.2651, -0.9642, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, 0.2651, -0.9642, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0, 1, +-0.1, 0.1, 0.1, 0.625, 1, 0, 0, 1, +-0.1, -0.1, 0.1, 0.375, 1, 0, 0, 1, +-0.1, 0.1, 0.1, 0.625, 0, -1, 0, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, -1, 0, 0, +-0.1, -0.1, -0.1, 0.375, 0.25, -1, 0, 0, +0.1, -0.1, -0.1, 0.375, 0.5, 0, -1, 0, +0.1, -0.1, 0.1, 0.375, 0.75, 0, -1, 0, +-0.1, -0.1, 0.1, 0.125, 0.75, 0, -1, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 1, 0, 0, +0.1, 0.1, 0.1, 0.625, 0.75, 1, 0, 0, +0.1, -0.1, 0.1, 0.375, 0.75, 1, 0, 0, +-0.1, 0.1, -0.1, 0.625, 0.25, 0, 0, -1, +0.1, 0.1, -0.1, 0.625, 0.5, 0, 0, -1, +0.1, -0.1, -0.1, 0.375, 0.5, 0, 0, -1, +0.1, 0.1, 0.1, 0.625, 0.75, 0, 0.2651, 0.9642, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, 0.2651, 0.9642, +-0.03964, 0.319577, 0.03964, 0.625, 1, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.625, 0, -0.9642, 0.2651, 0, +-0.03964, 0.319577, 0.03964, 0.625, 0, -0.9642, 0.2651, 0, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9642, 0.2651, 0, +0.1, 0.1, -0.1, 0.625, 0.5, 0.9642, 0.2651, 0, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9642, 0.2651, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9642, 0.2651, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, 0, -1, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0, -1, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0, -1, +-0.070778, 0.574785, 0.070778, 0.625, 0, -0.6461, 0.7632, 0, +-0.036361, 0.603924, 0.036361, 0.625, 0, -0.6461, 0.7632, 0, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, -0.6461, 0.7632, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0, 1, +-0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0, 1, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0, 1, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, 0, 1, +-0.036361, 0.622896, 0.036361, 0.625, 1, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0.7632, 0.6461, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0.7632, 0.6461, +-0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0.7632, 0.6461, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0.7632, -0.6461, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0.7632, -0.6461, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6461, 0.7632, 0, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 0.6461, 0.7632, 0, +0.036361, 0.603924, 0.036361, 0.625, 0.75, 0.6461, 0.7632, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, -0.6177, -0.7864, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.6177, -0.7864, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.6177, -0.7864, +-0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0, -1, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, 0, -1, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.625, 0.5, 1, 0, 0, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 1, 0, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 1, 0, 0, +-0.036361, 0.603924, 0.036361, 0.625, 0, -1, 0, 0, +-0.036361, 0.622896, 0.036361, 0.625, 0, -1, 0, 0, +-0.036361, 0.622896, -0.036361, 0.625, 0.25, -1, 0, 0, +0.036361, 0.622896, -0.036361, 0.625, 0.5, 0.7864, -0.6177, 0, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.7864, -0.6177, 0, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.7864, -0.6177, 0, +-0.036361, 0.622896, 0.036361, 0.625, 0, -0.7864, -0.6177, 0, +-0.052774, 0.643794, 0.052774, 0.625, 0, -0.7864, -0.6177, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, -0.6177, 0.7864, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.6177, 0.7864, +-0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.6177, 0.7864, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, 0.5681, -0.8229, +-0.028575, 0.764915, -0.028575, 0.625, 0.25, 0, 0.5681, -0.8229, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 0.5681, -0.8229, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.0692, 0.9976, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, -0.0692, 0.9976, +-0.058197, 0.722006, 0.058197, 0.625, 1, 0, -0.0692, 0.9976, +-0.028575, 0.764915, -0.028575, 0.875, 0.5, 0, 1, 0, +-0.028575, 0.764915, 0.028575, 0.875, 0.75, 0, 1, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 1, 0, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.8229, 0.5681, 0, +0.028575, 0.764915, -0.028575, 0.625, 0.5, 0.8229, 0.5681, 0, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0.8229, 0.5681, 0, +-0.058197, 0.722006, 0.058197, 0.625, 0, -0.8229, 0.5681, 0, +-0.028575, 0.764915, 0.028575, 0.625, 0, -0.8229, 0.5681, 0, +-0.028575, 0.764915, -0.028575, 0.625, 0.25, -0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, 0.5681, 0.8229, +0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 0.5681, 0.8229, +-0.028575, 0.764915, 0.028575, 0.625, 1, 0, 0.5681, 0.8229, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.6468, -0.7627, 0, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.6468, -0.7627, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.6468, -0.7627, 0, +0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, +0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6468, 0.7627, 0, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.6468, 0.7627, 0, +0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, +-0.128092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, +-0.128092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, +-0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6468, 0.7627, 0, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.625, 0, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, +-0.098092, 0.551623, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, +-0.098092, 0.489106, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.625, 0, -0.6468, -0.7627, 0, +-0.098092, 0.489106, 0.040654, 0.625, 0, -0.6468, -0.7627, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.6468, -0.7627, 0, +-0.128092, 0.489106, 0.040654, 0.625, 0, -1, 0, 0, +-0.128092, 0.551623, 0.040654, 0.625, 0, -1, 0, 0, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, +-0.128092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, +-0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.625, 0.5, -0.9978, -0.0665, 0, +0.103989, 0.400565, -0.024672, 0.625, 0.5, -0.9978, -0.0665, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0.9978, -0.0665, 0, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9978, -0.0665, 0, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, +0.128092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, +0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, +0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, +-0.128092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, +-0.098092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9952, 0.0956, 0.0214, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0.9952, 0.0956, 0.0214, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0.9952, 0.0956, 0.0214, +0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, +0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.625, 0.25, -0.9978, -0.0665, 0, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, -0.9978, -0.0665, 0, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, +-0.128092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, +-0.122195, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, +0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, +0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, +0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, +-0.098092, 0.489106, 0.040654, 0.625, 0, 0.9978, -0.0665, 0, +-0.103989, 0.400565, 0.024672, 0.625, 0, 0.9978, -0.0665, 0, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9978, -0.0665, 0, +0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, +0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, +-0.103989, 0.400565, 0.024672, 0.625, 0, 0.9952, 0.0956, 0.0214, +-0.098092, 0.335624, 0.040654, 0.625, 0, 0.9952, 0.0956, 0.0214, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0.9952, 0.0956, 0.0214, +0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, +0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.103989, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, +-0.122195, 0.400565, 0.024672, 0.625, 0, -0.9921, 0.1251, 0, +-0.122195, 0.400565, -0.024672, 0.625, 0.25, -0.9921, 0.1251, 0, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -0.9921, 0.1251, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9921, 0.1251, 0, +0.103989, 0.400565, -0.024672, 0.625, 0.5, -0.9921, 0.1251, 0, +0.098092, 0.353791, -0.040654, 0.625, 0.5, -0.9921, 0.1251, 0, +0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, +0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 1, 0, 0, +0.128092, 0.335624, 0.040654, 0.625, 0.75, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, +-0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.335624, 0.040654, 0.625, 0, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, +0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9508, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9508, +0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9508, +-0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, +0.128092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, +-0.098092, 0.192117, -0.077302, 0.625, 0, 0.9329, -0.3135, -0.1774, +-0.105592, 0.179081, -0.0937, 0.625, 0, 0.9329, -0.3135, -0.1774, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0.9329, -0.3135, -0.1774, +-0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, -1, 0, 0, +-0.128092, 0.192117, -0.077302, 0.625, 0, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.625, 0.5, -1, 0, 0, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, +0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, +-0.128092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, +-0.098092, 0.192117, -0.077302, 0.625, 0, 1, 0, 0, +-0.105592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, +-0.120592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, +0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, +-0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.105592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, +-0.128092, 0.192117, -0.077302, 0.625, 0, -0.9329, -0.3135, -0.1774, +-0.128092, 0.207583, -0.104626, 0.625, 0.25, -0.9329, -0.3135, -0.1774, +-0.120592, 0.186814, -0.107362, 0.625, 0.25, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, -0.9329, -0.3135, -0.1774, +0.098092, 0.207583, -0.104626, 0.625, 0.5, -0.9329, -0.3135, -0.1774, +0.105592, 0.186814, -0.107362, 0.625, 0.5, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, +0.105592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.625, 0.75, 0.9329, -0.3135, -0.1774, +0.120592, 0.179081, -0.0937, 0.625, 0.75, 0.9329, -0.3135, -0.1774, +0.120592, 0.186814, -0.107362, 0.625, 0.5, 0.9329, -0.3135, -0.1774, +-0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, +-0.128092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, +-0.120592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, +-0.052774, 0.643794, 0.052774, 0.625, 0, -0.9976, -0.0692, 0, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.9976, -0.0692, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.9976, -0.0692, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.0692, -0.9976, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.9976, -0.0692, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.9976, -0.0692, 0, +0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.9976, -0.0692, 0, +-0.052774, 0.643794, 0.052774, 0.625, 0, -0.9976, -0.0692, 0, +-0.058197, 0.722006, 0.058197, 0.625, 0, -0.9976, -0.0692, 0, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.9976, -0.0692, 0, +-0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.0692, -0.9976, +-0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, -0.0692, -0.9976, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.9976, -0.0692, 0, +0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.9976, -0.0692, 0, +0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.9976, -0.0692, 0, +-0.03964, 0.319577, 0.03964, 0.625, 0, -0.9781, -0.2081, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.9781, -0.2081, 0, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9781, -0.2081, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, -0.2081, 0.9781, +-0.070778, 0.465943, 0.070778, 0.625, 1, 0, -0.2081, 0.9781, +-0.03964, 0.319577, 0.03964, 0.625, 1, 0, -0.2081, 0.9781, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, -0.2081, -0.9781, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9781, -0.2081, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.9781, -0.2081, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9781, -0.2081, 0, +-0.03964, 0.319577, 0.03964, 0.625, 0, -0.9781, -0.2081, 0, +-0.070778, 0.465943, 0.070778, 0.625, 0, -0.9781, -0.2081, 0, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.9781, -0.2081, 0, +0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, -0.2081, 0.9781, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, -0.2081, 0.9781, +-0.070778, 0.465943, 0.070778, 0.625, 1, 0, -0.2081, 0.9781, +-0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, -0.2081, -0.9781, +-0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, -0.2081, -0.9781, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9781, -0.2081, 0, +0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.9781, -0.2081, 0, +0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.9781, -0.2081, 0, +]; + +objArray.push(Robot_data); + + +groupArray.push( + new VertGroup( + 0, // material number + 0, // object number + 0, // starting face + 522, // length + ) +); + +groupArray.push( + new VertGroup( + 1, // material number + 0, // object number + 522, // starting face + 18, // length + ) +); + +groupArray.push( + new VertGroup( + 2, // material number + 0, // object number + 540, // starting face + 24, // length + ) +); diff --git a/examples/Obj/README.md b/examples/Obj/README.md new file mode 100644 index 0000000..1d4c732 --- /dev/null +++ b/examples/Obj/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc obj.asc --extension asc --runtime stub --importMemory -o obj.wasm +``` \ No newline at end of file diff --git a/examples/Obj/Suzanne.asc b/examples/Obj/Suzanne.asc new file mode 100644 index 0000000..bdddd37 --- /dev/null +++ b/examples/Obj/Suzanne.asc @@ -0,0 +1,2907 @@ +export var Suzanne_data: StaticArray = [ +//X, Y, Z, NX, NY, NZ +0.1875, 0.096875, 0.303125, 0.6617, -0.2026, 0.7219, +0.2, 0.0375, 0.275, 0.6617, -0.2026, 0.7219, +0.225, 0.096875, 0.26875, 0.6617, -0.2026, 0.7219, +-0.2, 0.0375, 0.275, -0.6617, -0.2026, 0.7219, +-0.1875, 0.096875, 0.303125, -0.6617, -0.2026, 0.7219, +-0.225, 0.096875, 0.26875, -0.6617, -0.2026, 0.7219, +0.225, 0.096875, 0.26875, 0.8268, -0.3051, 0.4725, +0.21875, 0.021875, 0.23125, 0.8268, -0.3051, 0.4725, +0.25, 0.096875, 0.225, 0.8268, -0.3051, 0.4725, +-0.21875, 0.021875, 0.23125, -0.8268, -0.3051, 0.4725, +-0.225, 0.096875, 0.26875, -0.8268, -0.3051, 0.4725, +-0.25, 0.096875, 0.225, -0.8268, -0.3051, 0.4725, +0.2, 0.0375, 0.275, 0.4076, -0.7905, 0.457, +0.140625, -0.009375, 0.246875, 0.4076, -0.7905, 0.457, +0.21875, 0.021875, 0.23125, 0.4076, -0.7905, 0.457, +-0.140625, -0.009375, 0.246875, -0.4076, -0.7905, 0.457, +-0.2, 0.0375, 0.275, -0.4076, -0.7905, 0.457, +-0.21875, 0.021875, 0.23125, -0.4076, -0.7905, 0.457, +0.175, 0.065625, 0.30625, 0.3791, -0.5163, 0.7679, +0.140625, 0.0125, 0.2875, 0.3791, -0.5163, 0.7679, +0.2, 0.0375, 0.275, 0.3791, -0.5163, 0.7679, +-0.140625, 0.0125, 0.2875, -0.3791, -0.5163, 0.7679, +-0.175, 0.065625, 0.30625, -0.3791, -0.5163, 0.7679, +-0.2, 0.0375, 0.275, -0.3791, -0.5163, 0.7679, +0.140625, 0.053125, 0.3125, -0.0859, -0.5222, 0.8485, +0.08125, 0.0375, 0.296875, -0.0859, -0.5222, 0.8485, +0.140625, 0.0125, 0.2875, -0.0859, -0.5222, 0.8485, +-0.08125, 0.0375, 0.296875, 0.0859, -0.5222, 0.8485, +-0.140625, 0.053125, 0.3125, 0.0859, -0.5222, 0.8485, +-0.140625, 0.0125, 0.2875, 0.0859, -0.5222, 0.8485, +0.140625, 0.0125, 0.2875, -0.2664, -0.8487, 0.457, +0.0625, 0.021875, 0.259375, -0.2664, -0.8487, 0.457, +0.140625, -0.009375, 0.246875, -0.2664, -0.8487, 0.457, +-0.0625, 0.021875, 0.259375, 0.2664, -0.8487, 0.457, +-0.140625, 0.0125, 0.2875, 0.2664, -0.8487, 0.457, +-0.140625, -0.009375, 0.246875, 0.2664, -0.8487, 0.457, +0.05625, 0.096875, 0.296875, -0.7824, -0.3294, 0.5285, +0.0625, 0.021875, 0.259375, -0.7824, -0.3294, 0.5285, +0.08125, 0.0375, 0.296875, -0.7824, -0.3294, 0.5285, +-0.05625, 0.096875, 0.296875, 0.7606, -0.34, 0.5531, +-0.0625, 0.021875, 0.259375, 0.7606, -0.34, 0.5531, +-0.03125, 0.096875, 0.2625, 0.7606, -0.34, 0.5531, +0.109375, 0.065625, 0.31875, -0.4706, -0.1981, 0.8598, +0.05625, 0.096875, 0.296875, -0.4706, -0.1981, 0.8598, +0.08125, 0.0375, 0.296875, -0.4706, -0.1981, 0.8598, +-0.05625, 0.096875, 0.296875, 0.4706, -0.1981, 0.8598, +-0.109375, 0.065625, 0.31875, 0.4706, -0.1981, 0.8598, +-0.08125, 0.0375, 0.296875, 0.4706, -0.1981, 0.8598, +0.096875, 0.096875, 0.31875, -0.4649, 0.1958, 0.8634, +0.08125, 0.15625, 0.296875, -0.4649, 0.1958, 0.8634, +0.05625, 0.096875, 0.296875, -0.4649, 0.1958, 0.8634, +-0.08125, 0.15625, 0.296875, 0.4649, 0.1958, 0.8634, +-0.096875, 0.096875, 0.31875, 0.4649, 0.1958, 0.8634, +-0.05625, 0.096875, 0.296875, 0.4649, 0.1958, 0.8634, +0.08125, 0.15625, 0.296875, -0.7656, 0.3223, 0.5568, +0.03125, 0.096875, 0.2625, -0.7656, 0.3223, 0.5568, +0.05625, 0.096875, 0.296875, -0.7656, 0.3223, 0.5568, +-0.08125, 0.15625, 0.296875, 0.7683, 0.3293, 0.5488, +-0.03125, 0.096875, 0.2625, 0.7683, 0.3293, 0.5488, +-0.0625, 0.175, 0.259375, 0.7683, 0.3293, 0.5488, +0.140625, 0.18125, 0.2875, -0.256, 0.8073, 0.5317, +0.0625, 0.175, 0.259375, -0.256, 0.8073, 0.5317, +0.08125, 0.15625, 0.296875, -0.256, 0.8073, 0.5317, +-0.140625, 0.18125, 0.2875, 0.2487, 0.8249, 0.5076, +-0.0625, 0.175, 0.259375, 0.2487, 0.8249, 0.5076, +-0.140625, 0.20625, 0.246875, 0.2487, 0.8249, 0.5076, +0.140625, 0.14375, 0.3125, -0.0821, 0.6023, 0.794, +0.08125, 0.15625, 0.296875, -0.0821, 0.6023, 0.794, +0.109375, 0.13125, 0.31875, -0.0821, 0.6023, 0.794, +-0.140625, 0.14375, 0.3125, 0.1017, 0.5518, 0.8277, +-0.08125, 0.15625, 0.296875, 0.1017, 0.5518, 0.8277, +-0.140625, 0.18125, 0.2875, 0.1017, 0.5518, 0.8277, +0.175, 0.13125, 0.30625, 0.3329, 0.5231, 0.7846, +0.140625, 0.18125, 0.2875, 0.3329, 0.5231, 0.7846, +0.140625, 0.14375, 0.3125, 0.3329, 0.5231, 0.7846, +-0.175, 0.13125, 0.30625, -0.3861, 0.5446, 0.7445, +-0.140625, 0.18125, 0.2875, -0.3861, 0.5446, 0.7445, +-0.2, 0.15625, 0.275, -0.3861, 0.5446, 0.7445, +0.2, 0.15625, 0.275, 0.4246, 0.7711, 0.4745, +0.140625, 0.20625, 0.246875, 0.4246, 0.7711, 0.4745, +0.140625, 0.18125, 0.2875, 0.4246, 0.7711, 0.4745, +-0.2, 0.15625, 0.275, -0.4059, 0.7641, 0.5014, +-0.140625, 0.20625, 0.246875, -0.4059, 0.7641, 0.5014, +-0.21875, 0.175, 0.23125, -0.4059, 0.7641, 0.5014, +0.225, 0.096875, 0.26875, 0.8251, 0.2968, 0.4808, +0.21875, 0.175, 0.23125, 0.8251, 0.2968, 0.4808, +0.2, 0.15625, 0.275, 0.8251, 0.2968, 0.4808, +-0.225, 0.096875, 0.26875, -0.8299, 0.294, 0.4742, +-0.21875, 0.175, 0.23125, -0.8299, 0.294, 0.4742, +-0.25, 0.096875, 0.225, -0.8299, 0.294, 0.4742, +0.1875, 0.096875, 0.303125, 0.6888, 0.1868, 0.7005, +0.2, 0.15625, 0.275, 0.6888, 0.1868, 0.7005, +0.175, 0.13125, 0.30625, 0.6888, 0.1868, 0.7005, +-0.1875, 0.096875, 0.303125, -0.6617, 0.2026, 0.7219, +-0.2, 0.15625, 0.275, -0.6617, 0.2026, 0.7219, +-0.225, 0.096875, 0.26875, -0.6617, 0.2026, 0.7219, +0.175, 0.13125, 0.30625, 0.84, 0.3436, -0.42, +0.190625, 0.096875, 0.309375, 0.84, 0.3436, -0.42, +0.1875, 0.096875, 0.303125, 0.84, 0.3436, -0.42, +-0.175, 0.13125, 0.30625, -0.7816, 0.3058, -0.5437, +-0.190625, 0.096875, 0.309375, -0.7816, 0.3058, -0.5437, +-0.178125, 0.134375, 0.3125, -0.7816, 0.3058, -0.5437, +0.140625, 0.14375, 0.3125, 0.2074, 0.8296, -0.5185, +0.178125, 0.134375, 0.3125, 0.2074, 0.8296, -0.5185, +0.175, 0.13125, 0.30625, 0.2074, 0.8296, -0.5185, +-0.140625, 0.14375, 0.3125, -0.2037, 0.8146, -0.5431, +-0.178125, 0.134375, 0.3125, -0.2037, 0.8146, -0.5431, +-0.140625, 0.15, 0.321875, -0.2037, 0.8146, -0.5431, +0.109375, 0.13125, 0.31875, -0.4056, 0.7605, -0.507, +0.140625, 0.15, 0.321875, -0.4056, 0.7605, -0.507, +0.140625, 0.14375, 0.3125, -0.4056, 0.7605, -0.507, +-0.109375, 0.13125, 0.31875, 0.4381, 0.7988, -0.4123, +-0.140625, 0.15, 0.321875, 0.4381, 0.7988, -0.4123, +-0.10625, 0.134375, 0.328125, 0.4381, 0.7988, -0.4123, +0.096875, 0.096875, 0.31875, -0.8642, 0.3143, -0.3928, +0.10625, 0.134375, 0.328125, -0.8642, 0.3143, -0.3928, +0.109375, 0.13125, 0.31875, -0.8642, 0.3143, -0.3928, +-0.096875, 0.096875, 0.31875, 0.7861, 0.3276, -0.5241, +-0.10625, 0.134375, 0.328125, 0.7861, 0.3276, -0.5241, +-0.090625, 0.096875, 0.328125, 0.7861, 0.3276, -0.5241, +0.096875, 0.096875, 0.31875, -0.7783, -0.3537, -0.5188, +0.10625, 0.0625, 0.328125, -0.7783, -0.3537, -0.5188, +0.090625, 0.096875, 0.328125, -0.7783, -0.3537, -0.5188, +-0.10625, 0.0625, 0.328125, 0.7783, -0.3537, -0.5188, +-0.096875, 0.096875, 0.31875, 0.7783, -0.3537, -0.5188, +-0.090625, 0.096875, 0.328125, 0.7783, -0.3537, -0.5188, +0.109375, 0.065625, 0.31875, -0.4381, -0.7988, -0.4123, +0.140625, 0.046875, 0.321875, -0.4381, -0.7988, -0.4123, +0.10625, 0.0625, 0.328125, -0.4381, -0.7988, -0.4123, +-0.140625, 0.046875, 0.321875, 0.4381, -0.7988, -0.4123, +-0.109375, 0.065625, 0.31875, 0.4381, -0.7988, -0.4123, +-0.10625, 0.0625, 0.328125, 0.4381, -0.7988, -0.4123, +0.140625, 0.053125, 0.3125, 0.2037, -0.8146, -0.5431, +0.178125, 0.0625, 0.3125, 0.2037, -0.8146, -0.5431, +0.140625, 0.046875, 0.321875, 0.2037, -0.8146, -0.5431, +-0.178125, 0.0625, 0.3125, -0.2037, -0.8146, -0.5431, +-0.140625, 0.053125, 0.3125, -0.2037, -0.8146, -0.5431, +-0.140625, 0.046875, 0.321875, -0.2037, -0.8146, -0.5431, +0.175, 0.065625, 0.30625, 0.7683, -0.3293, -0.5488, +0.190625, 0.096875, 0.309375, 0.7683, -0.3293, -0.5488, +0.178125, 0.0625, 0.3125, 0.7683, -0.3293, -0.5488, +-0.190625, 0.096875, 0.309375, -0.7683, -0.3293, -0.5488, +-0.175, 0.065625, 0.30625, -0.7683, -0.3293, -0.5488, +-0.178125, 0.0625, 0.3125, -0.7683, -0.3293, -0.5488, +0.140625, 0.096875, 0.33125, 0.4, -0.0623, 0.9144, +0.178125, 0.0625, 0.3125, 0.4, -0.0623, 0.9144, +0.190625, 0.096875, 0.309375, 0.4, -0.0623, 0.9144, +-0.190625, 0.096875, 0.309375, -0.4, -0.0623, 0.9144, +-0.178125, 0.0625, 0.3125, -0.4, -0.0623, 0.9144, +-0.140625, 0.096875, 0.33125, -0.4, -0.0623, 0.9144, +0.140625, 0.046875, 0.321875, 0.3069, -0.1754, 0.9354, +0.178125, 0.0625, 0.3125, 0.3069, -0.1754, 0.9354, +0.140625, 0.096875, 0.33125, 0.3069, -0.1754, 0.9354, +-0.140625, 0.096875, 0.33125, -0.3069, -0.1754, 0.9354, +-0.178125, 0.0625, 0.3125, -0.3069, -0.1754, 0.9354, +-0.140625, 0.046875, 0.321875, -0.3069, -0.1754, 0.9354, +0.140625, 0.096875, 0.33125, 0.0945, -0.1835, 0.9785, +0.10625, 0.0625, 0.328125, 0.0945, -0.1835, 0.9785, +0.140625, 0.046875, 0.321875, 0.0945, -0.1835, 0.9785, +-0.140625, 0.046875, 0.321875, -0.0945, -0.1835, 0.9785, +-0.10625, 0.0625, 0.328125, -0.0945, -0.1835, 0.9785, +-0.140625, 0.096875, 0.33125, -0.0945, -0.1835, 0.9785, +0.140625, 0.096875, 0.33125, -0.0624, -0.0283, 0.9977, +0.090625, 0.096875, 0.328125, -0.0624, -0.0283, 0.9977, +0.10625, 0.0625, 0.328125, -0.0624, -0.0283, 0.9977, +-0.10625, 0.0625, 0.328125, 0.0624, -0.0283, 0.9977, +-0.090625, 0.096875, 0.328125, 0.0624, -0.0283, 0.9977, +-0.140625, 0.096875, 0.33125, 0.0624, -0.0283, 0.9977, +0.140625, 0.096875, 0.33125, -0.0624, 0.026, 0.9977, +0.10625, 0.134375, 0.328125, -0.0624, 0.026, 0.9977, +0.090625, 0.096875, 0.328125, -0.0624, 0.026, 0.9977, +-0.090625, 0.096875, 0.328125, 0.0624, 0.026, 0.9977, +-0.10625, 0.134375, 0.328125, 0.0624, 0.026, 0.9977, +-0.140625, 0.096875, 0.33125, 0.0624, 0.026, 0.9977, +0.140625, 0.096875, 0.33125, 0.0996, 0.1729, 0.9799, +0.140625, 0.15, 0.321875, 0.0996, 0.1729, 0.9799, +0.10625, 0.134375, 0.328125, 0.0996, 0.1729, 0.9799, +-0.10625, 0.134375, 0.328125, -0.0996, 0.1729, 0.9799, +-0.140625, 0.15, 0.321875, -0.0996, 0.1729, 0.9799, +-0.140625, 0.096875, 0.33125, -0.0996, 0.1729, 0.9799, +0.140625, 0.096875, 0.33125, 0.3036, 0.1656, 0.9383, +0.178125, 0.134375, 0.3125, 0.3036, 0.1656, 0.9383, +0.140625, 0.15, 0.321875, 0.3036, 0.1656, 0.9383, +-0.140625, 0.15, 0.321875, -0.3036, 0.1656, 0.9383, +-0.178125, 0.134375, 0.3125, -0.3036, 0.1656, 0.9383, +-0.140625, 0.096875, 0.33125, -0.3036, 0.1656, 0.9383, +0.140625, 0.096875, 0.33125, 0.4002, 0.0572, 0.9147, +0.190625, 0.096875, 0.309375, 0.4002, 0.0572, 0.9147, +0.178125, 0.134375, 0.3125, 0.4002, 0.0572, 0.9147, +-0.178125, 0.134375, 0.3125, -0.4002, 0.0572, 0.9147, +-0.190625, 0.096875, 0.309375, -0.4002, 0.0572, 0.9147, +-0.140625, 0.096875, 0.33125, -0.4002, 0.0572, 0.9147, +0.065625, -0.371875, 0.253125, 0.1367, -0.8748, 0.4648, + 0, -0.39375, 0.23125, 0.1367, -0.8748, 0.4648, +0.071875, -0.3875, 0.221875, 0.1367, -0.8748, 0.4648, +-0.065625, -0.371875, 0.253125, -0.1054, -0.8433, 0.527, + 0, -0.39375, 0.23125, -0.1054, -0.8433, 0.527, + 0, -0.378125, 0.25625, -0.1054, -0.8433, 0.527, +0.09375, -0.365625, 0.253125, 0.2303, -0.8656, 0.4447, +0.071875, -0.3875, 0.221875, 0.2303, -0.8656, 0.4447, +0.13125, -0.378125, 0.209375, 0.2303, -0.8656, 0.4447, +-0.09375, -0.365625, 0.253125, -0.1916, -0.862, 0.4693, +-0.071875, -0.3875, 0.221875, -0.1916, -0.862, 0.4693, +-0.065625, -0.371875, 0.253125, -0.1916, -0.862, 0.4693, +0.146875, -0.35625, 0.2125, 0.5788, -0.5049, 0.6404, +0.09375, -0.365625, 0.253125, 0.5788, -0.5049, 0.6404, +0.13125, -0.378125, 0.209375, 0.5788, -0.5049, 0.6404, +-0.09375, -0.365625, 0.253125, -0.5788, -0.5049, 0.6404, +-0.146875, -0.35625, 0.2125, -0.5788, -0.5049, 0.6404, +-0.13125, -0.378125, 0.209375, -0.5788, -0.5049, 0.6404, +0.140625, -0.278125, 0.228125, 0.7763, -0.0633, 0.6272, +0.10625, -0.328125, 0.265625, 0.7763, -0.0633, 0.6272, +0.146875, -0.35625, 0.2125, 0.7763, -0.0633, 0.6272, +-0.10625, -0.328125, 0.265625, -0.7763, -0.0633, 0.6272, +-0.140625, -0.278125, 0.228125, -0.7763, -0.0633, 0.6272, +-0.146875, -0.35625, 0.2125, -0.7763, -0.0633, 0.6272, +0.125, -0.175, 0.228125, 0.7471, 0.1132, 0.655, +0.1, -0.28125, 0.275, 0.7471, 0.1132, 0.655, +0.140625, -0.278125, 0.228125, 0.7471, 0.1132, 0.655, +-0.1, -0.28125, 0.275, -0.7471, 0.1132, 0.655, +-0.125, -0.175, 0.228125, -0.7471, 0.1132, 0.655, +-0.140625, -0.278125, 0.228125, -0.7471, 0.1132, 0.655, +0.08125, -0.075, 0.225, 0.3747, -0.8345, 0.404, +0.159375, -0.01875, 0.26875, 0.3747, -0.8345, 0.404, +0.05, -0.040625, 0.325, 0.3747, -0.8345, 0.404, +-0.159375, -0.01875, 0.26875, -0.3747, -0.8345, 0.404, +-0.08125, -0.075, 0.225, -0.3747, -0.8345, 0.404, +-0.05, -0.040625, 0.325, -0.3747, -0.8345, 0.404, +0.253125, -0.015625, 0.215625, 0.3557, -0.729, 0.5848, +0.159375, -0.01875, 0.26875, 0.3557, -0.729, 0.5848, +0.175, -0.05625, 0.2125, 0.3557, -0.729, 0.5848, +-0.253125, -0.015625, 0.215625, -0.4177, -0.5751, 0.7034, +-0.159375, -0.01875, 0.26875, -0.4177, -0.5751, 0.7034, +-0.246875, 0.021875, 0.25, -0.4177, -0.5751, 0.7034, +0.253125, -0.015625, 0.215625, 0.6947, -0.4197, 0.5841, +0.290625, 0.08125, 0.240625, 0.6947, -0.4197, 0.5841, +0.246875, 0.021875, 0.25, 0.6947, -0.4197, 0.5841, +-0.290625, 0.08125, 0.240625, -0.6947, -0.4197, 0.5841, +-0.253125, -0.015625, 0.215625, -0.6947, -0.4197, 0.5841, +-0.246875, 0.021875, 0.25, -0.6947, -0.4197, 0.5841, +0.34375, 0.171875, 0.2375, 0.7028, -0.3915, 0.5939, +0.290625, 0.08125, 0.240625, 0.7028, -0.3915, 0.5939, +0.33125, 0.059375, 0.178125, 0.7028, -0.3915, 0.5939, +-0.34375, 0.171875, 0.2375, -0.5537, -0.2978, 0.7777, +-0.290625, 0.08125, 0.240625, -0.5537, -0.2978, 0.7777, +-0.296875, 0.15, 0.2625, -0.5537, -0.2978, 0.7777, +0.284375, 0.19375, 0.25, 0.3127, 0.3425, 0.886, +0.296875, 0.15, 0.2625, 0.3127, 0.3425, 0.886, +0.34375, 0.171875, 0.2375, 0.3127, 0.3425, 0.886, +-0.284375, 0.19375, 0.25, -0.8227, 0.3606, 0.4395, +-0.296875, 0.15, 0.2625, -0.8227, 0.3606, 0.4395, +-0.275, 0.165625, 0.290625, -0.8227, 0.3606, 0.4395, +0.196875, 0.240625, 0.275, 0.5091, 0.6482, 0.5663, +0.275, 0.165625, 0.290625, 0.5091, 0.6482, 0.5663, +0.284375, 0.19375, 0.25, 0.5091, 0.6482, 0.5663, +-0.196875, 0.240625, 0.275, -0.5041, 0.6448, 0.5745, +-0.275, 0.165625, 0.290625, -0.5041, 0.6448, 0.5745, +-0.175, 0.21875, 0.31875, -0.5041, 0.6448, 0.5745, +0.196875, 0.240625, 0.275, 0.5977, 0.5565, 0.5771, +0.125, 0.25625, 0.334375, 0.5977, 0.5565, 0.5771, +0.175, 0.21875, 0.31875, 0.5977, 0.5565, 0.5771, +-0.125, 0.25625, 0.334375, -0.5977, 0.5565, 0.5771, +-0.196875, 0.240625, 0.275, -0.5977, 0.5565, 0.5771, +-0.175, 0.21875, 0.31875, -0.5977, 0.5565, 0.5771, +0.0625, 0.2875, 0.303125, -0.0486, 0.656, 0.7532, +0.125, 0.25625, 0.334375, -0.0486, 0.656, 0.7532, +0.128125, 0.303125, 0.29375, -0.0486, 0.656, 0.7532, +-0.0625, 0.2875, 0.303125, 0.0371, 0.6685, 0.7428, +-0.125, 0.25625, 0.334375, 0.0371, 0.6685, 0.7428, +-0.08125, 0.246875, 0.340625, 0.0371, 0.6685, 0.7428, +0.025, 0.196875, 0.3, -0.7104, 0.2715, 0.6494, +0.08125, 0.246875, 0.340625, -0.7104, 0.2715, 0.6494, +0.0625, 0.2875, 0.303125, -0.7104, 0.2715, 0.6494, +-0.025, 0.196875, 0.3, 0.7386, 0.3768, 0.559, +-0.08125, 0.246875, 0.340625, 0.7386, 0.3768, 0.559, +-0.040625, 0.171875, 0.3375, 0.7386, 0.3768, 0.559, + 0, 0.171875, 0.296875, -0.6013, 0.5262, 0.6013, +0.040625, 0.171875, 0.3375, -0.6013, 0.5262, 0.6013, +0.025, 0.196875, 0.3, -0.6013, 0.5262, 0.6013, + 0, 0.171875, 0.296875, 0.5774, 0.5774, 0.5774, +-0.040625, 0.171875, 0.3375, 0.5774, 0.5774, 0.5774, + 0, 0.140625, 0.328125, 0.5774, 0.5774, 0.5774, +0.1, 0.1875, 0.303125, 0.507, -0.6281, 0.5903, +0.040625, 0.171875, 0.3375, 0.507, -0.6281, 0.5903, +0.065625, 0.165625, 0.309375, 0.507, -0.6281, 0.5903, +-0.1, 0.1875, 0.303125, -0.5364, -0.323, 0.7797, +-0.040625, 0.171875, 0.3375, -0.5364, -0.323, 0.7797, +-0.08125, 0.246875, 0.340625, -0.5364, -0.323, 0.7797, +0.1, 0.1875, 0.303125, 0.2226, -0.4694, 0.8545, +0.125, 0.25625, 0.334375, 0.2226, -0.4694, 0.8545, +0.08125, 0.246875, 0.340625, 0.2226, -0.4694, 0.8545, +-0.125, 0.25625, 0.334375, -0.2226, -0.4694, 0.8545, +-0.1, 0.1875, 0.303125, -0.2226, -0.4694, 0.8545, +-0.08125, 0.246875, 0.340625, -0.2226, -0.4694, 0.8545, +0.175, 0.21875, 0.31875, -0.0348, -0.5792, 0.8144, +0.13125, 0.190625, 0.296875, -0.0348, -0.5792, 0.8144, +0.171875, 0.175, 0.2875, -0.0348, -0.5792, 0.8144, +-0.175, 0.21875, 0.31875, 0.1073, -0.501, 0.8588, +-0.13125, 0.190625, 0.296875, 0.1073, -0.501, 0.8588, +-0.125, 0.25625, 0.334375, 0.1073, -0.501, 0.8588, +0.275, 0.165625, 0.290625, -0.0899, -0.7843, 0.6138, +0.171875, 0.175, 0.2875, -0.0899, -0.7843, 0.6138, +0.240625, 0.15, 0.265625, -0.0899, -0.7843, 0.6138, +-0.275, 0.165625, 0.290625, 0.077, -0.5759, 0.8139, +-0.171875, 0.175, 0.2875, 0.077, -0.5759, 0.8139, +-0.175, 0.21875, 0.31875, 0.077, -0.5759, 0.8139, +0.296875, 0.15, 0.2625, 0.0547, -0.1695, 0.984, +0.240625, 0.15, 0.265625, 0.0547, -0.1695, 0.984, +0.25625, 0.11875, 0.259375, 0.0547, -0.1695, 0.984, +-0.296875, 0.15, 0.2625, -0.0279, -0.8645, 0.5019, +-0.240625, 0.15, 0.265625, -0.0279, -0.8645, 0.5019, +-0.275, 0.165625, 0.290625, -0.0279, -0.8645, 0.5019, +0.290625, 0.08125, 0.240625, 0.426, -0.0609, 0.9027, +0.25625, 0.11875, 0.259375, 0.426, -0.0609, 0.9027, +0.25, 0.075, 0.259375, 0.426, -0.0609, 0.9027, +-0.290625, 0.08125, 0.240625, -0.1687, -0.3128, 0.9347, +-0.25625, 0.11875, 0.259375, -0.1687, -0.3128, 0.9347, +-0.296875, 0.15, 0.2625, -0.1687, -0.3128, 0.9347, +0.246875, 0.021875, 0.25, 0.3352, -0.1828, 0.9243, +0.25, 0.075, 0.259375, 0.3352, -0.1828, 0.9243, +0.196875, 0.025, 0.26875, 0.3352, -0.1828, 0.9243, +-0.246875, 0.021875, 0.25, -0.435, -0.1812, 0.882, +-0.25, 0.075, 0.259375, -0.435, -0.1812, 0.882, +-0.290625, 0.08125, 0.240625, -0.435, -0.1812, 0.882, +0.159375, -0.01875, 0.26875, 0.3579, -0.3068, 0.8819, +0.196875, 0.025, 0.26875, 0.3579, -0.3068, 0.8819, +0.15, 0.00625, 0.28125, 0.3579, -0.3068, 0.8819, +-0.159375, -0.01875, 0.26875, -0.3223, -0.2762, 0.9054, +-0.196875, 0.025, 0.26875, -0.3223, -0.2762, 0.9054, +-0.246875, 0.021875, 0.25, -0.3223, -0.2762, 0.9054, +0.05, -0.040625, 0.325, 0.3069, 0.2113, 0.928, +0.15, 0.00625, 0.28125, 0.3069, 0.2113, 0.928, +0.08125, 0.0375, 0.296875, 0.3069, 0.2113, 0.928, +-0.05, -0.040625, 0.325, -0.4815, -0.2408, 0.8427, +-0.15, 0.00625, 0.28125, -0.4815, -0.2408, 0.8427, +-0.159375, -0.01875, 0.26875, -0.4815, -0.2408, 0.8427, +0.08125, 0.0375, 0.296875, -0.1598, 0.3903, 0.9067, + 0, 0.01875, 0.290625, -0.1598, 0.3903, 0.9067, +0.05, -0.040625, 0.325, -0.1598, 0.3903, 0.9067, + 0, 0.01875, 0.290625, 0.1598, 0.3903, 0.9067, +-0.08125, 0.0375, 0.296875, 0.1598, 0.3903, 0.9067, +-0.05, -0.040625, 0.325, 0.1598, 0.3903, 0.9067, +0.040625, 0.171875, 0.3375, 0.6819, -0.2915, 0.6709, +0.05, 0.121875, 0.30625, 0.6819, -0.2915, 0.6709, +0.065625, 0.165625, 0.309375, 0.6819, -0.2915, 0.6709, +-0.040625, 0.171875, 0.3375, -0.1854, -0.4956, 0.8485, +-0.05, 0.121875, 0.30625, -0.1854, -0.4956, 0.8485, + 0, 0.140625, 0.328125, -0.1854, -0.4956, 0.8485, +0.05, 0.121875, 0.30625, 0.0585, -0.0781, 0.9952, + 0, 0.084375, 0.30625, 0.0585, -0.0781, 0.9952, +0.053125, 0.084375, 0.303125, 0.0585, -0.0781, 0.9952, + 0, 0.084375, 0.30625, -0.0585, -0.0781, 0.9952, +-0.05, 0.121875, 0.30625, -0.0585, -0.0781, 0.9952, +-0.053125, 0.084375, 0.303125, -0.0585, -0.0781, 0.9952, +0.065625, 0.05625, 0.3, -0.0066, -0.2316, 0.9728, + 0, 0.084375, 0.30625, -0.0066, -0.2316, 0.9728, + 0, 0.01875, 0.290625, -0.0066, -0.2316, 0.9728, +-0.065625, 0.05625, 0.3, -0.0585, -0.0845, 0.9947, + 0, 0.084375, 0.30625, -0.0585, -0.0845, 0.9947, +-0.053125, 0.084375, 0.303125, -0.0585, -0.0845, 0.9947, +0.025, -0.353125, 0.278125, 0.1008, -0.7103, 0.6966, + 0, -0.378125, 0.25625, 0.1008, -0.7103, 0.6966, +0.065625, -0.371875, 0.253125, 0.1008, -0.7103, 0.6966, + 0, -0.378125, 0.25625, -0.1008, -0.7103, 0.6966, +-0.025, -0.353125, 0.278125, -0.1008, -0.7103, 0.6966, +-0.065625, -0.371875, 0.253125, -0.1008, -0.7103, 0.6966, +0.046875, -0.334375, 0.284375, 0.1322, -0.5947, 0.793, +0.065625, -0.371875, 0.253125, 0.1322, -0.5947, 0.793, +0.09375, -0.365625, 0.253125, 0.1322, -0.5947, 0.793, +-0.065625, -0.371875, 0.253125, -0.1322, -0.5947, 0.793, +-0.046875, -0.334375, 0.284375, -0.1322, -0.5947, 0.793, +-0.09375, -0.365625, 0.253125, -0.1322, -0.5947, 0.793, +0.046875, -0.334375, 0.284375, 0.3128, -0.1662, 0.9352, +0.10625, -0.328125, 0.265625, 0.3128, -0.1662, 0.9352, +0.04375, -0.2875, 0.29375, 0.3128, -0.1662, 0.9352, +-0.046875, -0.334375, 0.284375, -0.3143, -0.3928, 0.8642, +-0.10625, -0.328125, 0.265625, -0.3143, -0.3928, 0.8642, +-0.09375, -0.365625, 0.253125, -0.3143, -0.3928, 0.8642, +0.084375, -0.178125, 0.284375, 0.3288, -0.036, 0.9437, +0.046875, -0.275, 0.29375, 0.3288, -0.036, 0.9437, +0.1, -0.28125, 0.275, 0.3288, -0.036, 0.9437, +-0.046875, -0.275, 0.29375, -0.3288, -0.036, 0.9437, +-0.084375, -0.178125, 0.284375, -0.3288, -0.036, 0.9437, +-0.1, -0.28125, 0.275, -0.3288, -0.036, 0.9437, +0.04375, -0.2875, 0.29375, 0.3233, -0.0808, 0.9429, +0.1, -0.28125, 0.275, 0.3233, -0.0808, 0.9429, +0.046875, -0.275, 0.29375, 0.3233, -0.0808, 0.9429, +-0.1, -0.28125, 0.275, -0.3233, -0.0808, 0.9429, +-0.04375, -0.2875, 0.29375, -0.3233, -0.0808, 0.9429, +-0.046875, -0.275, 0.29375, -0.3233, -0.0808, 0.9429, + 0, -0.13125, 0.296875, -0.0232, 0.0511, 0.9984, +0.03125, -0.178125, 0.3, -0.0232, 0.0511, 0.9984, +0.034375, -0.115625, 0.296875, -0.0232, 0.0511, 0.9984, + 0, -0.13125, 0.296875, 0, 0.0665, 0.9978, +-0.03125, -0.178125, 0.3, 0, 0.0665, 0.9978, + 0, -0.178125, 0.3, 0, 0.0665, 0.9978, +0.03125, -0.178125, 0.3, -0.0043, -0.0651, 0.9979, + 0, -0.271875, 0.29375, -0.0043, -0.0651, 0.9979, +0.046875, -0.275, 0.29375, -0.0043, -0.0651, 0.9979, +-0.03125, -0.178125, 0.3, 0, -0.0665, 0.9978, + 0, -0.271875, 0.29375, 0, -0.0665, 0.9978, + 0, -0.178125, 0.3, 0, -0.0665, 0.9978, +0.04375, -0.2875, 0.29375, 0, 0, 1, + 0, -0.271875, 0.29375, 0, 0, 1, + 0, -0.30625, 0.29375, 0, 0, 1, +-0.04375, -0.2875, 0.29375, 0, 0, 1, + 0, -0.271875, 0.29375, 0, 0, 1, +-0.046875, -0.275, 0.29375, 0, 0, 1, +0.05, -0.090625, 0.3, 0.8447, -0.5335, 0.0445, +0.0375, -0.109375, 0.3125, 0.8447, -0.5335, 0.0445, +0.034375, -0.115625, 0.296875, 0.8447, -0.5335, 0.0445, +-0.0375, -0.109375, 0.3125, -0.8447, -0.5335, 0.0445, +-0.05, -0.090625, 0.3, -0.8447, -0.5335, 0.0445, +-0.034375, -0.115625, 0.296875, -0.8447, -0.5335, 0.0445, +0.040625, -0.059375, 0.296875, 0.95, 0.2692, -0.1583, +0.053125, -0.090625, 0.31875, 0.95, 0.2692, -0.1583, +0.05, -0.090625, 0.3, 0.95, 0.2692, -0.1583, +-0.053125, -0.090625, 0.31875, -0.95, 0.2692, -0.1583, +-0.040625, -0.059375, 0.296875, -0.95, 0.2692, -0.1583, +-0.05, -0.090625, 0.3, -0.95, 0.2692, -0.1583, +0.015625, -0.05, 0.3125, 0.0693, 0.9004, -0.4294, +0.040625, -0.059375, 0.296875, 0.0693, 0.9004, -0.4294, + 0, -0.05625, 0.296875, 0.0693, 0.9004, -0.4294, +-0.015625, -0.05, 0.3125, -0.1018, 0.9165, -0.387, +-0.040625, -0.059375, 0.296875, -0.1018, 0.9165, -0.387, +-0.04375, -0.053125, 0.3125, -0.1018, 0.9165, -0.387, + 0, -0.075, 0.31875, -1, 0, 0, + 0, -0.05625, 0.296875, -1, 0, 0, + 0, -0.078125, 0.3, -1, 0, 0, + 0, -0.075, 0.31875, 0.6905, 0.5492, 0.4708, + 0, -0.05625, 0.296875, 0.6905, 0.5492, 0.4708, +-0.015625, -0.05, 0.3125, 0.6905, 0.5492, 0.4708, +0.034375, -0.115625, 0.296875, 0.4071, -0.8956, 0.1791, + 0, -0.128125, 0.3125, 0.4071, -0.8956, 0.1791, + 0, -0.13125, 0.296875, 0.4071, -0.8956, 0.1791, +-0.034375, -0.115625, 0.296875, -0.4319, -0.8639, 0.2592, + 0, -0.128125, 0.3125, -0.4319, -0.8639, 0.2592, +-0.0375, -0.109375, 0.3125, -0.4319, -0.8639, 0.2592, +0.0375, -0.109375, 0.3125, 0.2873, -0.5747, 0.7663, + 0, -0.115625, 0.321875, 0.2873, -0.5747, 0.7663, + 0, -0.128125, 0.3125, 0.2873, -0.5747, 0.7663, +-0.0375, -0.109375, 0.3125, -0.2873, -0.5747, 0.7663, + 0, -0.115625, 0.321875, -0.2873, -0.5747, 0.7663, +-0.03125, -0.1, 0.321875, -0.2873, -0.5747, 0.7663, + 0, -0.075, 0.31875, -0.6326, 0.5353, 0.5596, +0.01875, -0.059375, 0.325, -0.6326, 0.5353, 0.5596, +0.015625, -0.05, 0.3125, -0.6326, 0.5353, 0.5596, +-0.01875, -0.059375, 0.325, 0.6326, 0.5353, 0.5596, + 0, -0.075, 0.31875, 0.6326, 0.5353, 0.5596, +-0.015625, -0.05, 0.3125, 0.6326, 0.5353, 0.5596, +0.015625, -0.05, 0.3125, 0.0862, 0.7759, 0.625, +0.0375, -0.0625, 0.325, 0.0862, 0.7759, 0.625, +0.04375, -0.053125, 0.3125, 0.0862, 0.7759, 0.625, +-0.0375, -0.0625, 0.325, -0.0862, 0.7759, 0.625, +-0.015625, -0.05, 0.3125, -0.0862, 0.7759, 0.625, +-0.04375, -0.053125, 0.3125, -0.0862, 0.7759, 0.625, +0.0375, -0.0625, 0.325, 0.7532, 0.287, 0.5918, +0.053125, -0.090625, 0.31875, 0.7532, 0.287, 0.5918, +0.04375, -0.053125, 0.3125, 0.7532, 0.287, 0.5918, +-0.0375, -0.0625, 0.325, -0.7639, 0.2971, 0.5729, +-0.053125, -0.090625, 0.31875, -0.7639, 0.2971, 0.5729, +-0.04375, -0.090625, 0.33125, -0.7639, 0.2971, 0.5729, +0.053125, -0.090625, 0.31875, 0.3416, -0.5409, 0.7686, +0.03125, -0.1, 0.321875, 0.3416, -0.5409, 0.7686, +0.0375, -0.109375, 0.3125, 0.3416, -0.5409, 0.7686, +-0.03125, -0.1, 0.321875, -0.3416, -0.5409, 0.7686, +-0.053125, -0.090625, 0.31875, -0.3416, -0.5409, 0.7686, +-0.0375, -0.109375, 0.3125, -0.3416, -0.5409, 0.7686, +0.04375, -0.090625, 0.33125, 0.0502, 0.2343, 0.9709, +0.01875, -0.059375, 0.325, 0.0502, 0.2343, 0.9709, + 0, -0.08125, 0.33125, 0.0502, 0.2343, 0.9709, +-0.04375, -0.090625, 0.33125, -0.0375, 0.2247, 0.9737, +-0.01875, -0.059375, 0.325, -0.0375, 0.2247, 0.9737, +-0.0375, -0.0625, 0.325, -0.0375, 0.2247, 0.9737, + 0, -0.08125, 0.33125, -0.1304, -0.6087, 0.7826, +0.03125, -0.1, 0.321875, -0.1304, -0.6087, 0.7826, +0.04375, -0.090625, 0.33125, -0.1304, -0.6087, 0.7826, +-0.03125, -0.1, 0.321875, 0.1304, -0.6087, 0.7826, + 0, -0.08125, 0.33125, 0.1304, -0.6087, 0.7826, +-0.04375, -0.090625, 0.33125, 0.1304, -0.6087, 0.7826, + 0, -0.05625, 0.296875, -0.5059, 0.0716, 0.8596, +0.05, -0.040625, 0.325, -0.5059, 0.0716, 0.8596, + 0, 0.01875, 0.290625, -0.5059, 0.0716, 0.8596, +-0.05, -0.040625, 0.325, 0.5059, 0.0716, 0.8596, + 0, -0.05625, 0.296875, 0.5059, 0.0716, 0.8596, + 0, 0.01875, 0.290625, 0.5059, 0.0716, 0.8596, +0.040625, -0.059375, 0.296875, -0.5774, -0.5773, 0.5773, +0.065625, -0.096875, 0.284375, -0.5774, -0.5773, 0.5773, +0.05, -0.040625, 0.325, -0.5774, -0.5773, 0.5773, +-0.065625, -0.096875, 0.284375, 0.5774, -0.5773, 0.5773, +-0.040625, -0.059375, 0.296875, 0.5774, -0.5773, 0.5773, +-0.05, -0.040625, 0.325, 0.5774, -0.5773, 0.5773, +0.034375, -0.115625, 0.296875, 0.546, -0.431, 0.7184, +0.065625, -0.096875, 0.284375, 0.546, -0.431, 0.7184, +0.05, -0.090625, 0.3, 0.546, -0.431, 0.7184, +-0.034375, -0.115625, 0.296875, -0.3319, 0.0738, 0.9404, +-0.065625, -0.096875, 0.284375, -0.3319, 0.0738, 0.9404, +-0.071875, -0.125, 0.284375, -0.3319, 0.0738, 0.9404, +0.03125, -0.178125, 0.3, 0.3231, 0.0311, 0.9459, +0.071875, -0.125, 0.284375, 0.3231, 0.0311, 0.9459, +0.034375, -0.115625, 0.296875, 0.3231, 0.0311, 0.9459, +-0.03125, -0.178125, 0.3, -0.2815, 0.0662, 0.9573, +-0.071875, -0.125, 0.284375, -0.2815, 0.0662, 0.9573, +-0.084375, -0.178125, 0.284375, -0.2815, 0.0662, 0.9573, +0.103125, -0.125, 0.221875, 0.7357, 0.391, 0.5531, +0.084375, -0.178125, 0.284375, 0.7357, 0.391, 0.5531, +0.125, -0.175, 0.228125, 0.7357, 0.391, 0.5531, +-0.103125, -0.125, 0.221875, -0.8753, 0.2059, 0.4376, +-0.084375, -0.178125, 0.284375, -0.8753, 0.2059, 0.4376, +-0.071875, -0.125, 0.284375, -0.8753, 0.2059, 0.4376, +0.09375, -0.1, 0.221875, 0.848, 0.318, 0.424, +0.071875, -0.125, 0.284375, 0.848, 0.318, 0.424, +0.103125, -0.125, 0.221875, 0.848, 0.318, 0.424, +-0.09375, -0.1, 0.221875, -0.8973, 0.1994, 0.3938, +-0.071875, -0.125, 0.284375, -0.8973, 0.1994, 0.3938, +-0.065625, -0.096875, 0.284375, -0.8973, 0.1994, 0.3938, +0.08125, -0.075, 0.225, 0.8505, 0.3798, 0.3638, +0.065625, -0.096875, 0.284375, 0.8505, 0.3798, 0.3638, +0.09375, -0.1, 0.221875, 0.8505, 0.3798, 0.3638, +-0.065625, -0.096875, 0.284375, -0.8505, 0.3798, 0.3638, +-0.08125, -0.075, 0.225, -0.8505, 0.3798, 0.3638, +-0.09375, -0.1, 0.221875, -0.8505, 0.3798, 0.3638, + 0, -0.30625, 0.29375, 0.1783, -0.4161, 0.8917, +0.0375, -0.296875, 0.290625, 0.1783, -0.4161, 0.8917, +0.04375, -0.2875, 0.29375, 0.1783, -0.4161, 0.8917, + 0, -0.30625, 0.29375, -0.2524, -0.8655, 0.4327, +-0.0375, -0.296875, 0.290625, -0.2524, -0.8655, 0.4327, + 0, -0.309375, 0.2875, -0.2524, -0.8655, 0.4327, +0.046875, -0.334375, 0.284375, -0.1296, -0.1945, 0.9723, +0.0375, -0.296875, 0.290625, -0.1296, -0.1945, 0.9723, +0.0375, -0.328125, 0.284375, -0.1296, -0.1945, 0.9723, +-0.0375, -0.296875, 0.290625, 0.1296, -0.1945, 0.9723, +-0.046875, -0.334375, 0.284375, 0.1296, -0.1945, 0.9723, +-0.0375, -0.328125, 0.284375, 0.1296, -0.1945, 0.9723, +0.025, -0.353125, 0.278125, -0.4472, 0, 0.8944, +0.0375, -0.328125, 0.284375, -0.4472, 0, 0.8944, +0.01875, -0.346875, 0.275, -0.4472, 0, 0.8944, +-0.0375, -0.328125, 0.284375, 0.4472, 0, 0.8944, +-0.025, -0.353125, 0.278125, 0.4472, 0, 0.8944, +-0.01875, -0.346875, 0.275, 0.4472, 0, 0.8944, + 0, -0.35625, 0.275, 0, 0, 1, +0.01875, -0.346875, 0.275, 0, 0, 1, + 0, -0.35, 0.275, 0, 0, 1, +-0.01875, -0.346875, 0.275, 0, 0, 1, + 0, -0.35625, 0.275, 0, 0, 1, + 0, -0.35, 0.275, 0, 0, 1, +0.01875, -0.346875, 0.275, -0.1582, 0.9494, 0.2713, + 0, -0.34375, 0.253125, -0.1582, 0.9494, 0.2713, + 0, -0.35, 0.275, -0.1582, 0.9494, 0.2713, +-0.01875, -0.346875, 0.275, 0.1582, 0.9494, 0.2713, + 0, -0.34375, 0.253125, 0.1582, 0.9494, 0.2713, +-0.01875, -0.340625, 0.253125, 0.1582, 0.9494, 0.2713, +0.01875, -0.346875, 0.275, -0.6463, 0.7337, 0.2096, +0.0375, -0.325, 0.25625, -0.6463, 0.7337, 0.2096, +0.01875, -0.340625, 0.253125, -0.6463, 0.7337, 0.2096, +-0.0375, -0.325, 0.25625, 0.6463, 0.7337, 0.2096, +-0.01875, -0.346875, 0.275, 0.6463, 0.7337, 0.2096, +-0.01875, -0.340625, 0.253125, 0.6463, 0.7337, 0.2096, +0.0375, -0.328125, 0.284375, -1, 0, 0, +0.0375, -0.3, 0.265625, -1, 0, 0, +0.0375, -0.325, 0.25625, -1, 0, 0, +-0.0375, -0.3, 0.265625, 1, 0, 0, +-0.0375, -0.328125, 0.284375, 1, 0, 0, +-0.0375, -0.325, 0.25625, 1, 0, 0, + 0, -0.309375, 0.2875, 0.3051, -0.945, 0.1181, +0.0375, -0.3, 0.265625, 0.3051, -0.945, 0.1181, +0.0375, -0.296875, 0.290625, 0.3051, -0.945, 0.1181, + 0, -0.309375, 0.2875, -0.3051, -0.945, 0.1181, +-0.0375, -0.3, 0.265625, -0.3051, -0.945, 0.1181, + 0, -0.3125, 0.2625, -0.3051, -0.945, 0.1181, + 0, -0.3125, 0.2625, 0.0217, -0.3031, 0.9527, +0.01875, -0.340625, 0.253125, 0.0217, -0.3031, 0.9527, +0.0375, -0.3, 0.265625, 0.0217, -0.3031, 0.9527, +-0.01875, -0.340625, 0.253125, -0.0217, -0.3031, 0.9527, + 0, -0.3125, 0.2625, -0.0217, -0.3031, 0.9527, +-0.0375, -0.3, 0.265625, -0.0217, -0.3031, 0.9527, +0.0375, -0.3, 0.265625, 0.1353, -0.3479, 0.9277, +0.01875, -0.340625, 0.253125, 0.1353, -0.3479, 0.9277, +0.0375, -0.325, 0.25625, 0.1353, -0.3479, 0.9277, +-0.0375, -0.325, 0.25625, -0.1353, -0.3479, 0.9277, +-0.01875, -0.340625, 0.253125, -0.1353, -0.3479, 0.9277, +-0.0375, -0.3, 0.265625, -0.1353, -0.3479, 0.9277, +0.053125, 0.084375, 0.303125, -0.4681, -0.2239, 0.8548, +0.075, 0.0625, 0.309375, -0.4681, -0.2239, 0.8548, +0.06875, 0.0875, 0.3125, -0.4681, -0.2239, 0.8548, +-0.075, 0.0625, 0.309375, 0.4681, -0.2239, 0.8548, +-0.053125, 0.084375, 0.303125, 0.4681, -0.2239, 0.8548, +-0.06875, 0.0875, 0.3125, 0.4681, -0.2239, 0.8548, +0.05, 0.121875, 0.30625, -0.271, 0.0271, 0.9622, +0.06875, 0.0875, 0.3125, -0.271, 0.0271, 0.9622, +0.071875, 0.11875, 0.3125, -0.271, 0.0271, 0.9622, +-0.06875, 0.0875, 0.3125, 0.271, 0.0271, 0.9622, +-0.05, 0.121875, 0.30625, 0.271, 0.0271, 0.9622, +-0.071875, 0.11875, 0.3125, 0.271, 0.0271, 0.9622, +0.05, 0.121875, 0.30625, -0.1717, -0.009, 0.9851, +0.084375, 0.15, 0.3125, -0.1717, -0.009, 0.9851, +0.065625, 0.165625, 0.309375, -0.1717, -0.009, 0.9851, +-0.05, 0.121875, 0.30625, 0.2595, 0.1038, 0.9601, +-0.084375, 0.15, 0.3125, 0.2595, 0.1038, 0.9601, +-0.071875, 0.11875, 0.3125, 0.2595, 0.1038, 0.9601, +0.08125, 0.0375, 0.296875, -0.4332, -0.4874, 0.7581, +0.075, 0.0625, 0.309375, -0.4332, -0.4874, 0.7581, +0.065625, 0.05625, 0.3, -0.4332, -0.4874, 0.7581, +-0.08125, 0.0375, 0.296875, 0.6684, -0.4595, 0.5849, +-0.075, 0.0625, 0.309375, 0.6684, -0.4595, 0.5849, +-0.090625, 0.04375, 0.3125, 0.6684, -0.4595, 0.5849, +0.08125, 0.0375, 0.296875, -0.1599, -0.8797, 0.4478, +0.15, 0.025, 0.296875, -0.1599, -0.8797, 0.4478, +0.090625, 0.04375, 0.3125, -0.1599, -0.8797, 0.4478, +-0.15, 0.025, 0.296875, 0.1599, -0.8797, 0.4478, +-0.08125, 0.0375, 0.296875, 0.1599, -0.8797, 0.4478, +-0.090625, 0.04375, 0.3125, 0.1599, -0.8797, 0.4478, +0.15, 0.00625, 0.28125, 0.39, -0.5895, 0.7074, +0.190625, 0.040625, 0.2875, 0.39, -0.5895, 0.7074, +0.15, 0.025, 0.296875, 0.39, -0.5895, 0.7074, +-0.190625, 0.040625, 0.2875, -0.39, -0.5895, 0.7074, +-0.15, 0.00625, 0.28125, -0.39, -0.5895, 0.7074, +-0.15, 0.025, 0.296875, -0.39, -0.5895, 0.7074, +0.196875, 0.025, 0.26875, 0.6547, -0.4589, 0.6007, +0.23125, 0.078125, 0.271875, 0.6547, -0.4589, 0.6007, +0.190625, 0.040625, 0.2875, 0.6547, -0.4589, 0.6007, +-0.23125, 0.078125, 0.271875, -0.6547, -0.4589, 0.6007, +-0.196875, 0.025, 0.26875, -0.6547, -0.4589, 0.6007, +-0.190625, 0.040625, 0.2875, -0.6547, -0.4589, 0.6007, +0.25, 0.075, 0.259375, 0.5378, -0.1144, 0.8353, +0.234375, 0.115625, 0.275, 0.5378, -0.1144, 0.8353, +0.23125, 0.078125, 0.271875, 0.5378, -0.1144, 0.8353, +-0.234375, 0.115625, 0.275, -0.5378, -0.1144, 0.8353, +-0.25, 0.075, 0.259375, -0.5378, -0.1144, 0.8353, +-0.23125, 0.078125, 0.271875, -0.5378, -0.1144, 0.8353, +0.240625, 0.15, 0.265625, 0.5657, 0.1197, 0.8159, +0.234375, 0.115625, 0.275, 0.5657, 0.1197, 0.8159, +0.25625, 0.11875, 0.259375, 0.5657, 0.1197, 0.8159, +-0.240625, 0.15, 0.265625, -0.5774, 0.1155, 0.8083, +-0.234375, 0.115625, 0.275, -0.5774, 0.1155, 0.8083, +-0.225, 0.140625, 0.278125, -0.5774, 0.1155, 0.8083, +0.171875, 0.175, 0.2875, 0.4082, 0.4082, 0.8165, +0.225, 0.140625, 0.278125, 0.4082, 0.4082, 0.8165, +0.240625, 0.15, 0.265625, 0.4082, 0.4082, 0.8165, +-0.171875, 0.175, 0.2875, -0.5214, 0.6574, 0.5441, +-0.225, 0.140625, 0.278125, -0.5214, 0.6574, 0.5441, +-0.16875, 0.159375, 0.309375, -0.5214, 0.6574, 0.5441, +0.171875, 0.175, 0.2875, 0.1796, 0.7882, 0.5886, +0.134375, 0.171875, 0.303125, 0.1796, 0.7882, 0.5886, +0.16875, 0.159375, 0.309375, 0.1796, 0.7882, 0.5886, +-0.134375, 0.171875, 0.303125, -0.1796, 0.7882, 0.5886, +-0.171875, 0.175, 0.2875, -0.1796, 0.7882, 0.5886, +-0.16875, 0.159375, 0.309375, -0.1796, 0.7882, 0.5886, +0.13125, 0.190625, 0.296875, 0.1881, 0.3387, 0.9219, +0.109375, 0.16875, 0.309375, 0.1881, 0.3387, 0.9219, +0.134375, 0.171875, 0.303125, 0.1881, 0.3387, 0.9219, +-0.109375, 0.16875, 0.309375, -0.1881, 0.3387, 0.9219, +-0.13125, 0.190625, 0.296875, -0.1881, 0.3387, 0.9219, +-0.134375, 0.171875, 0.303125, -0.1881, 0.3387, 0.9219, +0.1, 0.1875, 0.303125, -0.087, 0.2756, 0.9573, +0.084375, 0.15, 0.3125, -0.087, 0.2756, 0.9573, +0.109375, 0.16875, 0.309375, -0.087, 0.2756, 0.9573, +-0.084375, 0.15, 0.3125, 0.087, 0.2756, 0.9573, +-0.1, 0.1875, 0.303125, 0.087, 0.2756, 0.9573, +-0.109375, 0.16875, 0.309375, 0.087, 0.2756, 0.9573, +0.084375, 0.15, 0.3125, 0.2804, -0.2181, 0.9348, +0.1125, 0.159375, 0.30625, 0.2804, -0.2181, 0.9348, +0.109375, 0.16875, 0.309375, 0.2804, -0.2181, 0.9348, +-0.084375, 0.15, 0.3125, -0.3553, -0.5739, 0.7379, +-0.1125, 0.159375, 0.30625, -0.3553, -0.5739, 0.7379, +-0.09375, 0.14375, 0.303125, -0.3553, -0.5739, 0.7379, +0.134375, 0.171875, 0.303125, 0.3015, -0.3015, 0.9045, +0.1125, 0.159375, 0.30625, 0.3015, -0.3015, 0.9045, +0.134375, 0.1625, 0.3, 0.3015, -0.3015, 0.9045, +-0.1125, 0.159375, 0.30625, -0.3015, -0.3015, 0.9045, +-0.134375, 0.171875, 0.303125, -0.3015, -0.3015, 0.9045, +-0.134375, 0.1625, 0.3, -0.3015, -0.3015, 0.9045, +0.134375, 0.171875, 0.303125, -0.3766, -0.8339, 0.4035, +0.165625, 0.15625, 0.3, -0.3766, -0.8339, 0.4035, +0.16875, 0.159375, 0.309375, -0.3766, -0.8339, 0.4035, +-0.134375, 0.171875, 0.303125, 0.0631, -0.3156, 0.9468, +-0.165625, 0.15625, 0.3, 0.0631, -0.3156, 0.9468, +-0.134375, 0.1625, 0.3, 0.0631, -0.3156, 0.9468, +0.16875, 0.159375, 0.309375, 0.0823, -0.7822, 0.6175, +0.2125, 0.134375, 0.271875, 0.0823, -0.7822, 0.6175, +0.225, 0.140625, 0.278125, 0.0823, -0.7822, 0.6175, +-0.16875, 0.159375, 0.309375, 0.2016, -0.9071, 0.3696, +-0.2125, 0.134375, 0.271875, 0.2016, -0.9071, 0.3696, +-0.165625, 0.15625, 0.3, 0.2016, -0.9071, 0.3696, +0.234375, 0.115625, 0.275, -0.3707, -0.2851, 0.8839, +0.2125, 0.134375, 0.271875, -0.3707, -0.2851, 0.8839, +0.221875, 0.1125, 0.26875, -0.3707, -0.2851, 0.8839, +-0.2125, 0.134375, 0.271875, 0.3707, -0.2851, 0.8839, +-0.234375, 0.115625, 0.275, 0.3707, -0.2851, 0.8839, +-0.221875, 0.1125, 0.26875, 0.3707, -0.2851, 0.8839, +0.234375, 0.115625, 0.275, -0.2692, -0.0577, 0.9614, +0.21875, 0.084375, 0.26875, -0.2692, -0.0577, 0.9614, +0.23125, 0.078125, 0.271875, -0.2692, -0.0577, 0.9614, +-0.234375, 0.115625, 0.275, 0.4568, 0.0508, 0.8881, +-0.21875, 0.084375, 0.26875, 0.4568, 0.0508, 0.8881, +-0.221875, 0.1125, 0.26875, 0.4568, 0.0508, 0.8881, +0.190625, 0.040625, 0.2875, -0.2797, 0.5245, 0.8042, +0.21875, 0.084375, 0.26875, -0.2797, 0.5245, 0.8042, +0.184375, 0.046875, 0.28125, -0.2797, 0.5245, 0.8042, +-0.21875, 0.084375, 0.26875, 0.2797, 0.5245, 0.8042, +-0.190625, 0.040625, 0.2875, 0.2797, 0.5245, 0.8042, +-0.184375, 0.046875, 0.28125, 0.2797, 0.5245, 0.8042, +0.190625, 0.040625, 0.2875, -0.0213, 0.5546, 0.8319, +0.15, 0.034375, 0.290625, -0.0213, 0.5546, 0.8319, +0.15, 0.025, 0.296875, -0.0213, 0.5546, 0.8319, +-0.190625, 0.040625, 0.2875, 0.0487, 0.6815, 0.7302, +-0.15, 0.034375, 0.290625, 0.0487, 0.6815, 0.7302, +-0.184375, 0.046875, 0.28125, 0.0487, 0.6815, 0.7302, +0.15, 0.025, 0.296875, 0.3778, 0.6342, 0.6746, +0.096875, 0.05, 0.303125, 0.3778, 0.6342, 0.6746, +0.090625, 0.04375, 0.3125, 0.3778, 0.6342, 0.6746, +-0.15, 0.025, 0.296875, -0.3378, 0.5221, 0.7831, +-0.096875, 0.05, 0.303125, -0.3378, 0.5221, 0.7831, +-0.15, 0.034375, 0.290625, -0.3378, 0.5221, 0.7831, +0.075, 0.0625, 0.309375, 0.4988, 0.53, 0.6858, +0.096875, 0.05, 0.303125, 0.4988, 0.53, 0.6858, +0.08125, 0.06875, 0.3, 0.4988, 0.53, 0.6858, +-0.096875, 0.05, 0.303125, -0.4988, 0.53, 0.6858, +-0.075, 0.0625, 0.309375, -0.4988, 0.53, 0.6858, +-0.08125, 0.06875, 0.3, -0.4988, 0.53, 0.6858, +0.084375, 0.15, 0.3125, 0.5425, -0.3391, 0.7686, +0.078125, 0.11875, 0.303125, 0.5425, -0.3391, 0.7686, +0.09375, 0.14375, 0.303125, 0.5425, -0.3391, 0.7686, +-0.078125, 0.11875, 0.303125, -0.5425, -0.3391, 0.7686, +-0.084375, 0.15, 0.3125, -0.5425, -0.3391, 0.7686, +-0.09375, 0.14375, 0.303125, -0.5425, -0.3391, 0.7686, +0.071875, 0.11875, 0.3125, 0.8305, -0.0615, 0.5537, +0.078125, 0.090625, 0.3, 0.8305, -0.0615, 0.5537, +0.078125, 0.11875, 0.303125, 0.8305, -0.0615, 0.5537, +-0.078125, 0.090625, 0.3, -0.8305, -0.0615, 0.5537, +-0.071875, 0.11875, 0.3125, -0.8305, -0.0615, 0.5537, +-0.078125, 0.11875, 0.303125, -0.8305, -0.0615, 0.5537, +0.06875, 0.0875, 0.3125, 0.7814, 0.1116, 0.614, +0.08125, 0.06875, 0.3, 0.7814, 0.1116, 0.614, +0.078125, 0.090625, 0.3, 0.7814, 0.1116, 0.614, +-0.08125, 0.06875, 0.3, -0.7814, 0.1116, 0.614, +-0.06875, 0.0875, 0.3125, -0.7814, 0.1116, 0.614, +-0.078125, 0.090625, 0.3, -0.7814, 0.1116, 0.614, + 0, 0.171875, 0.296875, -0.4338, 0.8888, -0.1481, +0.04375, 0.184375, 0.24375, -0.4338, 0.8888, -0.1481, + 0, 0.1625, 0.240625, -0.4338, 0.8888, -0.1481, +-0.04375, 0.184375, 0.24375, 0.4338, 0.8888, -0.1481, + 0, 0.171875, 0.296875, 0.4338, 0.8888, -0.1481, + 0, 0.1625, 0.240625, 0.4338, 0.8888, -0.1481, +0.025, 0.196875, 0.3, -0.8515, 0.3744, -0.367, +0.078125, 0.265625, 0.246875, -0.8515, 0.3744, -0.367, +0.04375, 0.184375, 0.24375, -0.8515, 0.3744, -0.367, +-0.078125, 0.265625, 0.246875, 0.8515, 0.3744, -0.367, +-0.025, 0.196875, 0.3, 0.8515, 0.3744, -0.367, +-0.04375, 0.184375, 0.24375, 0.8515, 0.3744, -0.367, +0.128125, 0.303125, 0.29375, -0.2664, 0.871, -0.4127, +0.078125, 0.265625, 0.246875, -0.2664, 0.871, -0.4127, +0.0625, 0.2875, 0.303125, -0.2664, 0.871, -0.4127, +-0.128125, 0.303125, 0.29375, 0.2197, 0.8626, -0.4557, +-0.078125, 0.265625, 0.246875, 0.2197, 0.8626, -0.4557, +-0.134375, 0.275, 0.2375, 0.2197, 0.8626, -0.4557, +0.196875, 0.240625, 0.275, 0.5932, 0.7445, -0.3063, +0.134375, 0.275, 0.2375, 0.5932, 0.7445, -0.3063, +0.128125, 0.303125, 0.29375, 0.5932, 0.7445, -0.3063, +-0.196875, 0.240625, 0.275, -0.5914, 0.7489, -0.2991, +-0.134375, 0.275, 0.2375, -0.5914, 0.7489, -0.2991, +-0.19375, 0.221875, 0.221875, -0.5914, 0.7489, -0.2991, +0.284375, 0.19375, 0.25, 0.3714, 0.8685, -0.3284, +0.19375, 0.221875, 0.221875, 0.3714, 0.8685, -0.3284, +0.196875, 0.240625, 0.275, 0.3714, 0.8685, -0.3284, +-0.284375, 0.19375, 0.25, -0.3653, 0.8833, -0.2938, +-0.19375, 0.221875, 0.221875, -0.3653, 0.8833, -0.2938, +-0.271875, 0.18125, 0.196875, -0.3653, 0.8833, -0.2938, +0.284375, 0.19375, 0.25, 0.2901, 0.9141, -0.2833, +0.31875, 0.1625, 0.184375, 0.2901, 0.9141, -0.2833, +0.271875, 0.18125, 0.196875, 0.2901, 0.9141, -0.2833, +-0.31875, 0.1625, 0.184375, -0.2901, 0.9141, -0.2833, +-0.284375, 0.19375, 0.25, -0.2901, 0.9141, -0.2833, +-0.271875, 0.18125, 0.196875, -0.2901, 0.9141, -0.2833, +0.33125, 0.059375, 0.178125, 0.8873, 0.1343, -0.4412, +0.31875, 0.1625, 0.184375, 0.8873, 0.1343, -0.4412, +0.34375, 0.171875, 0.2375, 0.8873, 0.1343, -0.4412, +-0.33125, 0.059375, 0.178125, -0.7964, 0.1323, -0.5901, +-0.31875, 0.1625, 0.184375, -0.7964, 0.1323, -0.5901, +-0.309375, 0.065625, 0.15, -0.7964, 0.1323, -0.5901, +0.33125, 0.059375, 0.178125, 0.5108, -0.6649, -0.545, +0.240625, 0, 0.165625, 0.5108, -0.6649, -0.545, +0.309375, 0.065625, 0.15, 0.5108, -0.6649, -0.545, +-0.240625, 0, 0.165625, -0.5108, -0.6649, -0.545, +-0.33125, 0.059375, 0.178125, -0.5108, -0.6649, -0.545, +-0.309375, 0.065625, 0.15, -0.5108, -0.6649, -0.545, +0.253125, -0.015625, 0.215625, 0.3695, -0.8566, -0.3601, +0.175, -0.0375, 0.1875, 0.3695, -0.8566, -0.3601, +0.240625, 0, 0.165625, 0.3695, -0.8566, -0.3601, +-0.175, -0.0375, 0.1875, -0.3695, -0.8566, -0.3601, +-0.253125, -0.015625, 0.215625, -0.3695, -0.8566, -0.3601, +-0.240625, 0, 0.165625, -0.3695, -0.8566, -0.3601, + 0, -0.19375, 0.1125, 0.3617, -0.3858, -0.8487, +0.05, -0.215625, 0.14375, 0.3617, -0.3858, -0.8487, + 0, -0.228125, 0.128125, 0.3617, -0.3858, -0.8487, + 0, -0.19375, 0.1125, -0.1649, -0.6644, -0.7289, +-0.05, -0.215625, 0.14375, -0.1649, -0.6644, -0.7289, +-0.071875, -0.165625, 0.103125, -0.1649, -0.6644, -0.7289, + 0, -0.228125, 0.128125, 0.1952, -0.0976, -0.9759, +0.05625, -0.303125, 0.146875, 0.1952, -0.0976, -0.9759, + 0, -0.321875, 0.1375, 0.1952, -0.0976, -0.9759, + 0, -0.228125, 0.128125, -0.3011, -0.0125, -0.9535, +-0.05625, -0.303125, 0.146875, -0.3011, -0.0125, -0.9535, +-0.05, -0.215625, 0.14375, -0.3011, -0.0125, -0.9535, + 0, -0.321875, 0.1375, -0.0107, -0.5633, -0.8262, +0.065625, -0.378125, 0.175, -0.0107, -0.5633, -0.8262, + 0, -0.390625, 0.184375, -0.0107, -0.5633, -0.8262, + 0, -0.321875, 0.1375, -0.2562, -0.3112, -0.9152, +-0.065625, -0.378125, 0.175, -0.2562, -0.3112, -0.9152, +-0.05625, -0.303125, 0.146875, -0.2562, -0.3112, -0.9152, +0.071875, -0.3875, 0.221875, 0.1533, -0.9649, -0.2134, + 0, -0.390625, 0.184375, 0.1533, -0.9649, -0.2134, +0.065625, -0.378125, 0.175, 0.1533, -0.9649, -0.2134, + 0, -0.390625, 0.184375, -0.1533, -0.9649, -0.2134, +-0.071875, -0.3875, 0.221875, -0.1533, -0.9649, -0.2134, +-0.065625, -0.378125, 0.175, -0.1533, -0.9649, -0.2134, +0.13125, -0.378125, 0.209375, 0.126, -0.9624, -0.2406, +0.065625, -0.378125, 0.175, 0.126, -0.9624, -0.2406, +0.13125, -0.365625, 0.159375, 0.126, -0.9624, -0.2406, +-0.065625, -0.378125, 0.175, -0.126, -0.9624, -0.2406, +-0.13125, -0.378125, 0.209375, -0.126, -0.9624, -0.2406, +-0.13125, -0.365625, 0.159375, -0.126, -0.9624, -0.2406, +0.146875, -0.35625, 0.2125, 0.9396, 0.1573, -0.3041, +0.13125, -0.365625, 0.159375, 0.9396, 0.1573, -0.3041, +0.115625, -0.284375, 0.153125, 0.9396, 0.1573, -0.3041, +-0.13125, -0.365625, 0.159375, -0.9396, 0.1573, -0.3041, +-0.146875, -0.35625, 0.2125, -0.9396, 0.1573, -0.3041, +-0.115625, -0.284375, 0.153125, -0.9396, 0.1573, -0.3041, +0.140625, -0.278125, 0.228125, 0.9278, 0.1838, -0.3246, +0.115625, -0.284375, 0.153125, 0.9278, 0.1838, -0.3246, +0.1, -0.2, 0.15625, 0.9278, 0.1838, -0.3246, +-0.115625, -0.284375, 0.153125, -0.9278, 0.1838, -0.3246, +-0.140625, -0.278125, 0.228125, -0.9278, 0.1838, -0.3246, +-0.1, -0.2, 0.15625, -0.9278, 0.1838, -0.3246, +0.115625, -0.284375, 0.153125, 0.2192, 0.0766, -0.9727, +0.05, -0.215625, 0.14375, 0.2192, 0.0766, -0.9727, +0.1, -0.2, 0.15625, 0.2192, 0.0766, -0.9727, +-0.05, -0.215625, 0.14375, -0.2192, 0.0766, -0.9727, +-0.115625, -0.284375, 0.153125, -0.2192, 0.0766, -0.9727, +-0.1, -0.2, 0.15625, -0.2192, 0.0766, -0.9727, +0.13125, -0.365625, 0.159375, 0.1211, -0.053, -0.9912, +0.05625, -0.303125, 0.146875, 0.1211, -0.053, -0.9912, +0.115625, -0.284375, 0.153125, 0.1211, -0.053, -0.9912, +-0.13125, -0.365625, 0.159375, 0.1497, -0.3635, -0.9195, +-0.05625, -0.303125, 0.146875, 0.1497, -0.3635, -0.9195, +-0.065625, -0.378125, 0.175, 0.1497, -0.3635, -0.9195, +0.1, -0.2, 0.15625, 0.9094, 0.1371, -0.3927, +0.071875, -0.165625, 0.103125, 0.9094, 0.1371, -0.3927, +0.09375, -0.140625, 0.1625, 0.9094, 0.1371, -0.3927, +-0.1, -0.2, 0.15625, -0.3706, -0.678, -0.6349, +-0.071875, -0.165625, 0.103125, -0.3706, -0.678, -0.6349, +-0.05, -0.215625, 0.14375, -0.3706, -0.678, -0.6349, +0.125, -0.175, 0.228125, 0.9202, 0.1355, -0.3672, +0.1, -0.2, 0.15625, 0.9202, 0.1355, -0.3672, +0.09375, -0.140625, 0.1625, 0.9202, 0.1355, -0.3672, +-0.1, -0.2, 0.15625, -0.9202, 0.1355, -0.3672, +-0.125, -0.175, 0.228125, -0.9202, 0.1355, -0.3672, +-0.09375, -0.140625, 0.1625, -0.9202, 0.1355, -0.3672, +0.0875, -0.1125, 0.171875, 0.9173, 0.344, -0.2007, +0.09375, -0.1, 0.221875, 0.9173, 0.344, -0.2007, +0.103125, -0.125, 0.221875, 0.9173, 0.344, -0.2007, +-0.0875, -0.1125, 0.171875, -0.9457, 0.2673, -0.185, +-0.09375, -0.1, 0.221875, -0.9457, 0.2673, -0.185, +-0.084375, -0.090625, 0.1875, -0.9457, 0.2673, -0.185, +0.09375, -0.140625, 0.1625, 0.9004, 0.3642, -0.238, +0.103125, -0.125, 0.221875, 0.9004, 0.3642, -0.238, +0.125, -0.175, 0.228125, 0.9004, 0.3642, -0.238, +-0.09375, -0.140625, 0.1625, -0.9337, 0.2813, -0.2215, +-0.103125, -0.125, 0.221875, -0.9337, 0.2813, -0.2215, +-0.0875, -0.1125, 0.171875, -0.9337, 0.2813, -0.2215, +0.09375, -0.1, 0.221875, 0.8945, 0.4337, 0.1084, +0.08125, -0.06875, 0.2, 0.8945, 0.4337, 0.1084, +0.08125, -0.075, 0.225, 0.8945, 0.4337, 0.1084, +-0.09375, -0.1, 0.221875, -0.9501, 0.2455, -0.1922, +-0.08125, -0.06875, 0.2, -0.9501, 0.2455, -0.1922, +-0.084375, -0.090625, 0.1875, -0.9501, 0.2455, -0.1922, +0.08125, -0.06875, 0.2, 0.1596, -0.9577, -0.2394, +0.175, -0.05625, 0.2125, 0.1596, -0.9577, -0.2394, +0.08125, -0.075, 0.225, 0.1596, -0.9577, -0.2394, +-0.08125, -0.06875, 0.2, -0.1835, -0.7864, -0.5898, +-0.175, -0.05625, 0.2125, -0.1835, -0.7864, -0.5898, +-0.175, -0.0375, 0.1875, -0.1835, -0.7864, -0.5898, +0.134375, 0.021875, -0.265625, 0.3693, -0.4712, -0.801, + 0, -0.078125, -0.26875, 0.3693, -0.4712, -0.801, + 0, 0.028125, -0.33125, 0.3693, -0.4712, -0.801, +-0.134375, 0.021875, -0.265625, -0.3727, -0.4759, -0.7966, + 0, -0.078125, -0.26875, -0.3727, -0.4759, -0.7966, +-0.1375, -0.059375, -0.215625, -0.3727, -0.4759, -0.7966, +0.1375, -0.059375, -0.215625, 0.2986, -0.8236, -0.4821, + 0, -0.153125, -0.140625, 0.2986, -0.8236, -0.4821, + 0, -0.078125, -0.26875, 0.2986, -0.8236, -0.4821, +-0.1375, -0.059375, -0.215625, -0.3263, -0.8342, -0.4446, + 0, -0.153125, -0.140625, -0.3263, -0.8342, -0.4446, +-0.11875, -0.125, -0.10625, -0.3263, -0.8342, -0.4446, + 0, -0.153125, -0.140625, 0.2995, -0.9442, -0.1368, +0.084375, -0.15625, 0.065625, 0.2995, -0.9442, -0.1368, + 0, -0.184375, 0.075, 0.2995, -0.9442, -0.1368, +-0.084375, -0.15625, 0.065625, -0.2995, -0.9442, -0.1368, + 0, -0.153125, -0.140625, -0.2995, -0.9442, -0.1368, + 0, -0.184375, 0.075, -0.2995, -0.9442, -0.1368, + 0, -0.184375, 0.075, 0.3287, -0.9163, -0.2291, +0.071875, -0.165625, 0.103125, 0.3287, -0.9163, -0.2291, + 0, -0.19375, 0.1125, 0.3287, -0.9163, -0.2291, +-0.071875, -0.165625, 0.103125, -0.3287, -0.9163, -0.2291, + 0, -0.184375, 0.075, -0.3287, -0.9163, -0.2291, + 0, -0.19375, 0.1125, -0.3287, -0.9163, -0.2291, +0.071875, -0.165625, 0.103125, 0.8305, 0.3333, -0.4463, +0.0875, -0.1125, 0.171875, 0.8305, 0.3333, -0.4463, +0.09375, -0.140625, 0.1625, 0.8305, 0.3333, -0.4463, +-0.071875, -0.165625, 0.103125, -0.8642, -0.4737, 0.1696, +-0.0875, -0.1125, 0.171875, -0.8642, -0.4737, 0.1696, +-0.084375, -0.15625, 0.065625, -0.8642, -0.4737, 0.1696, +0.309375, 0.065625, 0.15, 0.9166, -0.374, 0.1414, +0.29375, -0.01875, 0.028125, 0.9166, -0.374, 0.1414, +0.340625, 0.09375, 0.021875, 0.9166, -0.374, 0.1414, +-0.29375, -0.01875, 0.028125, -0.9166, -0.374, 0.1414, +-0.309375, 0.065625, 0.15, -0.9166, -0.374, 0.1414, +-0.340625, 0.09375, 0.021875, -0.9166, -0.374, 0.1414, +0.184375, 0.175, -0.28125, 0.295, -0.0454, -0.9544, + 0, 0.028125, -0.33125, 0.295, -0.0454, -0.9544, + 0, 0.225, -0.340625, 0.295, -0.0454, -0.9544, +-0.184375, 0.175, -0.28125, -0.4189, -0.2265, -0.8793, + 0, 0.028125, -0.33125, -0.4189, -0.2265, -0.8793, +-0.134375, 0.021875, -0.265625, -0.4189, -0.2265, -0.8793, +0.18125, 0.340625, 0.09375, 0.1272, 0.9658, 0.226, + 0, 0.39375, -0.03125, 0.1272, 0.9658, 0.226, + 0, 0.359375, 0.115625, 0.1272, 0.9658, 0.226, +-0.18125, 0.340625, 0.09375, -0.1119, 0.9626, 0.2468, + 0, 0.39375, -0.03125, -0.1119, 0.9626, 0.2468, +-0.18125, 0.371875, -0.028125, -0.1119, 0.9626, 0.2468, + 0, 0.39375, -0.03125, 0.132, 0.975, -0.1788, +0.18125, 0.346875, -0.153125, 0.132, 0.975, -0.1788, + 0, 0.359375, -0.21875, 0.132, 0.975, -0.1788, +-0.18125, 0.346875, -0.153125, -0.132, 0.975, -0.1788, + 0, 0.39375, -0.03125, -0.132, 0.975, -0.1788, + 0, 0.359375, -0.21875, -0.132, 0.975, -0.1788, + 0, 0.359375, -0.21875, 0.3878, 0.6192, -0.6828, +0.184375, 0.175, -0.28125, 0.3878, 0.6192, -0.6828, + 0, 0.225, -0.340625, 0.3878, 0.6192, -0.6828, +-0.184375, 0.175, -0.28125, -0.3878, 0.6192, -0.6828, + 0, 0.359375, -0.21875, -0.3878, 0.6192, -0.6828, + 0, 0.225, -0.340625, -0.3878, 0.6192, -0.6828, +0.271875, 0.18125, 0.196875, 0.4951, 0.8618, -0.11, +0.290625, 0.1625, 0.134375, 0.4951, 0.8618, -0.11, +0.253125, 0.18125, 0.1125, 0.4951, 0.8618, -0.11, +-0.290625, 0.1625, 0.134375, -0.4951, 0.8618, -0.11, +-0.271875, 0.18125, 0.196875, -0.4951, 0.8618, -0.11, +-0.253125, 0.18125, 0.1125, -0.4951, 0.8618, -0.11, +0.253125, 0.18125, 0.1125, 0.2561, 0.6447, 0.7202, +0.31875, 0.225, 0.05, 0.2561, 0.6447, 0.7202, +0.25625, 0.28125, 0.021875, 0.2561, 0.6447, 0.7202, +-0.31875, 0.225, 0.05, -0.2561, 0.6447, 0.7202, +-0.253125, 0.18125, 0.1125, -0.2561, 0.6447, 0.7202, +-0.25625, 0.28125, 0.021875, -0.2561, 0.6447, 0.7202, +0.25625, 0.28125, 0.021875, 0.5966, 0.7888, 0.1479, +0.31875, 0.246875, -0.046875, 0.5966, 0.7888, 0.1479, +0.25625, 0.3, -0.078125, 0.5966, 0.7888, 0.1479, +-0.31875, 0.246875, -0.046875, -0.5966, 0.7888, 0.1479, +-0.25625, 0.28125, 0.021875, -0.5966, 0.7888, 0.1479, +-0.25625, 0.3, -0.078125, -0.5966, 0.7888, 0.1479, +0.25625, 0.3, -0.078125, 0.7125, 0.6755, -0.19, +0.31875, 0.215625, -0.14375, 0.7125, 0.6755, -0.19, +0.25625, 0.271875, -0.178125, 0.7125, 0.6755, -0.19, +-0.31875, 0.215625, -0.14375, -0.7125, 0.6755, -0.19, +-0.25625, 0.3, -0.078125, -0.7125, 0.6755, -0.19, +-0.25625, 0.271875, -0.178125, -0.7125, 0.6755, -0.19, +0.246875, 0.13125, -0.234375, 0.7104, 0.1364, -0.6904, +0.31875, 0.215625, -0.14375, 0.7104, 0.1364, -0.6904, +0.309375, 0.10625, -0.175, 0.7104, 0.1364, -0.6904, +-0.246875, 0.13125, -0.234375, -0.6304, 0.2517, -0.7343, +-0.31875, 0.215625, -0.14375, -0.6304, 0.2517, -0.7343, +-0.25625, 0.271875, -0.178125, -0.6304, 0.2517, -0.7343, +0.184375, 0.175, -0.28125, 0.6823, 0.2318, -0.6933, +0.25625, 0.271875, -0.178125, 0.6823, 0.2318, -0.6933, +0.246875, 0.13125, -0.234375, 0.6823, 0.2318, -0.6933, +-0.25625, 0.271875, -0.178125, -0.6823, 0.2318, -0.6933, +-0.184375, 0.175, -0.28125, -0.6823, 0.2318, -0.6933, +-0.246875, 0.13125, -0.234375, -0.6823, 0.2318, -0.6933, +0.18125, 0.346875, -0.153125, 0.6574, 0.7254, -0.204, +0.25625, 0.3, -0.078125, 0.6574, 0.7254, -0.204, +0.25625, 0.271875, -0.178125, 0.6574, 0.7254, -0.204, +-0.25625, 0.3, -0.078125, -0.6574, 0.7254, -0.204, +-0.18125, 0.346875, -0.153125, -0.6574, 0.7254, -0.204, +-0.25625, 0.271875, -0.178125, -0.6574, 0.7254, -0.204, +0.18125, 0.371875, -0.028125, 0.7289, 0.6729, 0.1262, +0.25625, 0.28125, 0.021875, 0.7289, 0.6729, 0.1262, +0.25625, 0.3, -0.078125, 0.7289, 0.6729, 0.1262, +-0.25625, 0.28125, 0.021875, -0.7289, 0.6729, 0.1262, +-0.18125, 0.371875, -0.028125, -0.7289, 0.6729, 0.1262, +-0.25625, 0.3, -0.078125, -0.7289, 0.6729, 0.1262, +0.18125, 0.340625, 0.09375, 0.7791, 0.4074, 0.4764, +0.253125, 0.18125, 0.1125, 0.7791, 0.4074, 0.4764, +0.25625, 0.28125, 0.021875, 0.7791, 0.4074, 0.4764, +-0.253125, 0.18125, 0.1125, -0.7791, 0.4074, 0.4764, +-0.18125, 0.340625, 0.09375, -0.7791, 0.4074, 0.4764, +-0.25625, 0.28125, 0.021875, -0.7791, 0.4074, 0.4764, +0.271875, 0.18125, 0.196875, 0.3669, 0.884, -0.2898, +0.184375, 0.209375, 0.171875, 0.3669, 0.884, -0.2898, +0.19375, 0.221875, 0.221875, 0.3669, 0.884, -0.2898, +-0.271875, 0.18125, 0.196875, -0.3238, 0.9434, -0.072, +-0.184375, 0.209375, 0.171875, -0.3238, 0.9434, -0.072, +-0.253125, 0.18125, 0.1125, -0.3238, 0.9434, -0.072, +0.184375, 0.209375, 0.171875, 0.2854, 0.6237, 0.7277, + 0, 0.359375, 0.115625, 0.2854, 0.6237, 0.7277, + 0, 0.228125, 0.228125, 0.2854, 0.6237, 0.7277, +-0.184375, 0.209375, 0.171875, -0.1548, 0.508, 0.8473, + 0, 0.359375, 0.115625, -0.1548, 0.508, 0.8473, +-0.18125, 0.340625, 0.09375, -0.1548, 0.508, 0.8473, +0.04375, 0.184375, 0.24375, -0.1681, 0.1005, -0.9806, +0.134375, 0.275, 0.2375, -0.1681, 0.1005, -0.9806, +0.19375, 0.221875, 0.221875, -0.1681, 0.1005, -0.9806, +-0.134375, 0.275, 0.2375, 0.1681, 0.1005, -0.9806, +-0.04375, 0.184375, 0.24375, 0.1681, 0.1005, -0.9806, +-0.19375, 0.221875, 0.221875, 0.1681, 0.1005, -0.9806, +0.04375, 0.184375, 0.24375, 0.2925, 0.5674, 0.7697, +0.184375, 0.209375, 0.171875, 0.2925, 0.5674, 0.7697, + 0, 0.228125, 0.228125, 0.2925, 0.5674, 0.7697, +-0.184375, 0.209375, 0.171875, -0.2925, 0.5674, 0.7697, +-0.04375, 0.184375, 0.24375, -0.2925, 0.5674, 0.7697, + 0, 0.228125, 0.228125, -0.2925, 0.5674, 0.7697, + 0, 0.1625, 0.240625, -0.1616, 0.1847, 0.9694, +0.04375, 0.184375, 0.24375, -0.1616, 0.1847, 0.9694, + 0, 0.228125, 0.228125, -0.1616, 0.1847, 0.9694, + 0, 0.228125, 0.228125, 0.1616, 0.1847, 0.9694, +-0.04375, 0.184375, 0.24375, 0.1616, 0.1847, 0.9694, + 0, 0.1625, 0.240625, 0.1616, 0.1847, 0.9694, +0.309375, 0.065625, 0.15, 0.8681, 0.0893, -0.4883, +0.290625, 0.1625, 0.134375, 0.8681, 0.0893, -0.4883, +0.31875, 0.1625, 0.184375, 0.8681, 0.0893, -0.4883, +-0.309375, 0.065625, 0.15, -0.934, 0.2255, 0.2773, +-0.290625, 0.1625, 0.134375, -0.934, 0.2255, 0.2773, +-0.340625, 0.09375, 0.021875, -0.934, 0.2255, 0.2773, +0.340625, 0.09375, 0.021875, 0.9276, 0.0762, 0.3657, +0.31875, 0.225, 0.05, 0.9276, 0.0762, 0.3657, +0.290625, 0.1625, 0.134375, 0.9276, 0.0762, 0.3657, +-0.31875, 0.225, 0.05, -0.9276, 0.0762, 0.3657, +-0.340625, 0.09375, 0.021875, -0.9276, 0.0762, 0.3657, +-0.290625, 0.1625, 0.134375, -0.9276, 0.0762, 0.3657, +0.34375, 0.128125, -0.01875, 0.975, 0.2169, 0.049, +0.31875, 0.246875, -0.046875, 0.975, 0.2169, 0.049, +0.31875, 0.225, 0.05, 0.975, 0.2169, 0.049, +-0.31875, 0.246875, -0.046875, -0.975, 0.2169, 0.049, +-0.34375, 0.128125, -0.01875, -0.975, 0.2169, 0.049, +-0.31875, 0.225, 0.05, -0.975, 0.2169, 0.049, +0.31875, 0.215625, -0.14375, 0.9817, -0.0304, -0.1882, +0.328125, 0.13125, -0.08125, 0.9817, -0.0304, -0.1882, +0.309375, 0.10625, -0.175, 0.9817, -0.0304, -0.1882, +-0.31875, 0.215625, -0.14375, -0.9956, 0.0893, -0.0288, +-0.328125, 0.13125, -0.08125, -0.9956, 0.0893, -0.0288, +-0.31875, 0.246875, -0.046875, -0.9956, 0.0893, -0.0288, +0.11875, -0.125, -0.10625, 0.7466, -0.6646, 0.0285, +0.1625, -0.06875, 0.059375, 0.7466, -0.6646, 0.0285, +0.084375, -0.15625, 0.065625, 0.7466, -0.6646, 0.0285, +-0.11875, -0.125, -0.10625, -0.6374, -0.7651, 0.0915, +-0.1625, -0.06875, 0.059375, -0.6374, -0.7651, 0.0915, +-0.171875, -0.078125, -0.084375, -0.6374, -0.7651, 0.0915, +0.1625, -0.06875, 0.059375, 0.3723, -0.9243, 0.0847, +0.2375, -0.05, -0.065625, 0.3723, -0.9243, 0.0847, +0.29375, -0.01875, 0.028125, 0.3723, -0.9243, 0.0847, +-0.1625, -0.06875, 0.059375, -0.372, -0.9244, 0.0845, +-0.2375, -0.05, -0.065625, -0.372, -0.9244, 0.0845, +-0.171875, -0.078125, -0.084375, -0.372, -0.9244, 0.0845, +0.240625, 0, 0.165625, 0.3986, -0.8754, 0.2734, +0.1625, -0.06875, 0.059375, 0.3986, -0.8754, 0.2734, +0.29375, -0.01875, 0.028125, 0.3986, -0.8754, 0.2734, +-0.1625, -0.06875, 0.059375, -0.3986, -0.8754, 0.2734, +-0.240625, 0, 0.165625, -0.3986, -0.8754, 0.2734, +-0.29375, -0.01875, 0.028125, -0.3986, -0.8754, 0.2734, +0.175, -0.0375, 0.1875, 0.6328, -0.7642, 0.1247, +0.0875, -0.1125, 0.171875, 0.6328, -0.7642, 0.1247, +0.1625, -0.06875, 0.059375, 0.6328, -0.7642, 0.1247, +-0.0875, -0.1125, 0.171875, -0.6328, -0.7642, 0.1247, +-0.175, -0.0375, 0.1875, -0.6328, -0.7642, 0.1247, +-0.1625, -0.06875, 0.059375, -0.6328, -0.7642, 0.1247, +0.0875, -0.1125, 0.171875, 0.7325, -0.6368, 0.2407, +0.084375, -0.15625, 0.065625, 0.7325, -0.6368, 0.2407, +0.1625, -0.06875, 0.059375, 0.7325, -0.6368, 0.2407, +-0.1625, -0.06875, 0.059375, -0.7325, -0.6368, 0.2407, +-0.084375, -0.15625, 0.065625, -0.7325, -0.6368, 0.2407, +-0.0875, -0.1125, 0.171875, -0.7325, -0.6368, 0.2407, +0.175, -0.0375, 0.1875, 0.2637, -0.4499, 0.8533, +0.08125, -0.06875, 0.2, 0.2637, -0.4499, 0.8533, +0.084375, -0.090625, 0.1875, 0.2637, -0.4499, 0.8533, +-0.084375, -0.090625, 0.1875, -0.2637, -0.4499, 0.8533, +-0.08125, -0.06875, 0.2, -0.2637, -0.4499, 0.8533, +-0.175, -0.0375, 0.1875, -0.2637, -0.4499, 0.8533, +0.25625, -0.003125, -0.171875, 0.5881, -0.307, -0.7483, +0.246875, 0.13125, -0.234375, 0.5881, -0.307, -0.7483, +0.309375, 0.10625, -0.175, 0.5881, -0.307, -0.7483, +-0.25625, -0.003125, -0.171875, -0.5236, -0.329, -0.7859, +-0.246875, 0.13125, -0.234375, -0.5236, -0.329, -0.7859, +-0.19375, 0.009375, -0.21875, -0.5236, -0.329, -0.7859, +0.246875, 0.13125, -0.234375, 0.4694, -0.24, -0.8498, +0.134375, 0.021875, -0.265625, 0.4694, -0.24, -0.8498, +0.184375, 0.175, -0.28125, 0.4694, -0.24, -0.8498, +-0.246875, 0.13125, -0.234375, -0.5396, -0.3343, -0.7727, +-0.134375, 0.021875, -0.265625, -0.5396, -0.3343, -0.7727, +-0.19375, 0.009375, -0.21875, -0.5396, -0.3343, -0.7727, +0.171875, -0.078125, -0.084375, 0.4463, -0.8452, -0.2941, +0.25625, -0.003125, -0.171875, 0.4463, -0.8452, -0.2941, +0.2375, -0.05, -0.065625, 0.4463, -0.8452, -0.2941, +-0.171875, -0.078125, -0.084375, -0.2144, -0.8341, -0.5082, +-0.25625, -0.003125, -0.171875, -0.2144, -0.8341, -0.5082, +-0.19375, 0.009375, -0.21875, -0.2144, -0.8341, -0.5082, +0.1375, -0.059375, -0.215625, 0.6973, -0.661, -0.2771, +0.171875, -0.078125, -0.084375, 0.6973, -0.661, -0.2771, +0.11875, -0.125, -0.10625, 0.6973, -0.661, -0.2771, +-0.1375, -0.059375, -0.215625, -0.7365, -0.6154, -0.2808, +-0.171875, -0.078125, -0.084375, -0.7365, -0.6154, -0.2808, +-0.19375, 0.009375, -0.21875, -0.7365, -0.6154, -0.2808, +0.134375, 0.021875, -0.265625, 0.4972, -0.4408, -0.7473, +0.19375, 0.009375, -0.21875, 0.4972, -0.4408, -0.7473, +0.1375, -0.059375, -0.215625, 0.4972, -0.4408, -0.7473, +-0.1375, -0.059375, -0.215625, -0.4972, -0.4408, -0.7473, +-0.19375, 0.009375, -0.21875, -0.4972, -0.4408, -0.7473, +-0.134375, 0.021875, -0.265625, -0.4972, -0.4408, -0.7473, +0.35625, 0.1625, -0.09375, 0.3691, 0.2855, 0.8844, +0.40625, 0.165625, -0.115625, 0.3691, 0.2855, 0.8844, +0.409375, 0.190625, -0.125, 0.3691, 0.2855, 0.8844, +-0.35625, 0.1625, -0.09375, -0.3244, 0.4867, 0.8111, +-0.40625, 0.165625, -0.115625, -0.3244, 0.4867, 0.8111, +-0.36875, 0.14375, -0.0875, -0.3244, 0.4867, 0.8111, +0.409375, 0.190625, -0.125, 0.4467, 0.0975, 0.8894, +0.475, 0.175, -0.15625, 0.4467, 0.0975, 0.8894, +0.49375, 0.203125, -0.16875, 0.4467, 0.0975, 0.8894, +-0.475, 0.175, -0.15625, -0.4467, 0.0975, 0.8894, +-0.409375, 0.190625, -0.125, -0.4467, 0.0975, 0.8894, +-0.49375, 0.203125, -0.16875, -0.4467, 0.0975, 0.8894, +0.475, 0.175, -0.15625, 0.3188, 0.1993, 0.9266, +0.540625, 0.128125, -0.16875, 0.3188, 0.1993, 0.9266, +0.49375, 0.203125, -0.16875, 0.3188, 0.1993, 0.9266, +-0.475, 0.175, -0.15625, -0.1817, -0.0079, 0.9833, +-0.540625, 0.128125, -0.16875, -0.1817, -0.0079, 0.9833, +-0.50625, 0.115625, -0.1625, -0.1817, -0.0079, 0.9833, +0.50625, 0.115625, -0.1625, 0.2076, -0.0836, 0.9746, +0.5125, 0.021875, -0.171875, 0.2076, -0.0836, 0.9746, +0.540625, 0.128125, -0.16875, 0.2076, -0.0836, 0.9746, +-0.50625, 0.115625, -0.1625, -0.2925, -0.0758, 0.9533, +-0.5125, 0.021875, -0.171875, -0.2925, -0.0758, 0.9533, +-0.484375, 0.03125, -0.1625, -0.2925, -0.0758, 0.9533, +0.484375, 0.03125, -0.1625, 0.3398, 0.0824, 0.9369, +0.415625, -0.040625, -0.13125, 0.3398, 0.0824, 0.9369, +0.5125, 0.021875, -0.171875, 0.3398, 0.0824, 0.9369, +-0.484375, 0.03125, -0.1625, -0.5847, -0.2198, 0.7809, +-0.415625, -0.040625, -0.13125, -0.5847, -0.2198, 0.7809, +-0.4125, -0.015625, -0.121875, -0.5847, -0.2198, 0.7809, +0.415625, -0.040625, -0.13125, 0.5957, -0.385, 0.7049, +0.33125, -0.028125, -0.053125, 0.5957, -0.385, 0.7049, +0.309375, -0.05625, -0.05, 0.5957, -0.385, 0.7049, +-0.33125, -0.028125, -0.053125, -0.5957, -0.385, 0.7049, +-0.415625, -0.040625, -0.13125, -0.5957, -0.385, 0.7049, +-0.309375, -0.05625, -0.05, -0.5957, -0.385, 0.7049, +0.4125, -0.015625, -0.121875, 0.4843, 0.558, 0.6738, +0.353125, -0.009375, -0.084375, 0.4843, 0.558, 0.6738, +0.33125, -0.028125, -0.053125, 0.4843, 0.558, 0.6738, +-0.353125, -0.009375, -0.084375, -0.4843, 0.558, 0.6738, +-0.4125, -0.015625, -0.121875, -0.4843, 0.558, 0.6738, +-0.33125, -0.028125, -0.053125, -0.4843, 0.558, 0.6738, +0.484375, 0.03125, -0.1625, -0.2675, 0.8318, 0.4864, +0.415625, 0, -0.146875, -0.2675, 0.8318, 0.4864, +0.4125, -0.015625, -0.121875, -0.2675, 0.8318, 0.4864, +-0.415625, 0, -0.146875, 0.2675, 0.8318, 0.4864, +-0.484375, 0.03125, -0.1625, 0.2675, 0.8318, 0.4864, +-0.4125, -0.015625, -0.121875, 0.2675, 0.8318, 0.4864, +0.49375, 0.1, -0.178125, -0.8576, 0.2223, 0.4637, +0.484375, 0.03125, -0.1625, -0.8576, 0.2223, 0.4637, +0.50625, 0.115625, -0.1625, -0.8576, 0.2223, 0.4637, +-0.49375, 0.1, -0.178125, 0.7885, 0.2366, 0.5677, +-0.484375, 0.03125, -0.1625, 0.7885, 0.2366, 0.5677, +-0.475, 0.0375, -0.178125, 0.7885, 0.2366, 0.5677, +0.46875, 0.14375, -0.175, -0.5257, -0.3579, 0.7717, +0.50625, 0.115625, -0.1625, -0.5257, -0.3579, 0.7717, +0.475, 0.175, -0.15625, -0.5257, -0.3579, 0.7717, +-0.46875, 0.14375, -0.175, 0.5242, -0.3548, 0.7742, +-0.50625, 0.115625, -0.1625, 0.5242, -0.3548, 0.7742, +-0.49375, 0.1, -0.178125, 0.5242, -0.3548, 0.7742, +0.409375, 0.1375, -0.14375, 0.4663, -0.5991, 0.6509, +0.475, 0.175, -0.15625, 0.4663, -0.5991, 0.6509, +0.40625, 0.165625, -0.115625, 0.4663, -0.5991, 0.6509, +-0.409375, 0.1375, -0.14375, -0.439, -0.5252, 0.729, +-0.475, 0.175, -0.15625, -0.439, -0.5252, 0.729, +-0.46875, 0.14375, -0.175, -0.439, -0.5252, 0.729, +0.40625, 0.165625, -0.115625, 0.7104, -0.4567, 0.5356, +0.378125, 0.121875, -0.115625, 0.7104, -0.4567, 0.5356, +0.409375, 0.1375, -0.14375, 0.7104, -0.4567, 0.5356, +-0.378125, 0.121875, -0.115625, -0.7104, -0.4567, 0.5356, +-0.40625, 0.165625, -0.115625, -0.7104, -0.4567, 0.5356, +-0.409375, 0.1375, -0.14375, -0.7104, -0.4567, 0.5356, +0.2375, -0.05, -0.065625, 0.7507, -0.6131, -0.2461, +0.290625, 0, -0.028125, 0.7507, -0.6131, -0.2461, +0.29375, -0.01875, 0.028125, 0.7507, -0.6131, -0.2461, +-0.2375, -0.05, -0.065625, -0.6302, -0.7658, 0.1282, +-0.290625, 0, -0.028125, -0.6302, -0.7658, 0.1282, +-0.2875, -0.009375, -0.06875, -0.6302, -0.7658, 0.1282, +0.309375, -0.05625, -0.05, -0.1788, 0.2923, 0.9395, +0.2875, -0.009375, -0.06875, -0.1788, 0.2923, 0.9395, +0.2375, -0.05, -0.065625, -0.1788, 0.2923, 0.9395, +-0.309375, -0.05625, -0.05, 0.2175, 0.2733, 0.937, +-0.2875, -0.009375, -0.06875, 0.2175, 0.2733, 0.937, +-0.33125, -0.028125, -0.053125, 0.2175, 0.2733, 0.937, +0.340625, 0.09375, 0.021875, 0.9042, -0.3578, -0.2332, +0.290625, 0, -0.028125, 0.9042, -0.3578, -0.2332, +0.34375, 0.128125, -0.01875, 0.9042, -0.3578, -0.2332, +-0.290625, 0, -0.028125, -0.9042, -0.3578, -0.2332, +-0.340625, 0.09375, 0.021875, -0.9042, -0.3578, -0.2332, +-0.34375, 0.128125, -0.01875, -0.9042, -0.3578, -0.2332, +0.328125, 0.13125, -0.08125, 0.04, 0.3399, 0.9396, +0.36875, 0.14375, -0.0875, 0.04, 0.3399, 0.9396, +0.35625, 0.1625, -0.09375, 0.04, 0.3399, 0.9396, +-0.36875, 0.14375, -0.0875, -0.04, 0.3399, 0.9396, +-0.328125, 0.13125, -0.08125, -0.04, 0.3399, 0.9396, +-0.35625, 0.1625, -0.09375, -0.04, 0.3399, 0.9396, +0.33125, -0.028125, -0.053125, 0.2734, 0.9064, 0.3221, +0.325, -0.00625, -0.109375, 0.2734, 0.9064, 0.3221, +0.2875, -0.009375, -0.06875, 0.2734, 0.9064, 0.3221, +-0.325, -0.00625, -0.109375, -0.2734, 0.9064, 0.3221, +-0.33125, -0.028125, -0.053125, -0.2734, 0.9064, 0.3221, +-0.2875, -0.009375, -0.06875, -0.2734, 0.9064, 0.3221, +0.2875, 0.015625, -0.075, 0.448, -0.448, 0.7737, +0.325, -0.00625, -0.109375, 0.448, -0.448, 0.7737, +0.3375, 0.00625, -0.109375, 0.448, -0.448, 0.7737, +-0.2875, 0.015625, -0.075, -0.7177, 0.1689, 0.6755, +-0.325, -0.00625, -0.109375, -0.7177, 0.1689, 0.6755, +-0.2875, -0.009375, -0.06875, -0.7177, 0.1689, 0.6755, +0.303125, 0.0375, -0.109375, 0, 0, 1, +0.3375, 0.00625, -0.109375, 0, 0, 1, +0.328125, 0.034375, -0.109375, 0, 0, 1, +-0.3375, 0.00625, -0.109375, 0, 0, 1, +-0.303125, 0.0375, -0.109375, 0, 0, 1, +-0.328125, 0.034375, -0.109375, 0, 0, 1, +0.31875, 0.08125, -0.084375, 0.5534, -0.5534, 0.6225, +0.303125, 0.0375, -0.109375, 0.5534, -0.5534, 0.6225, +0.334375, 0.06875, -0.109375, 0.5534, -0.5534, 0.6225, +-0.31875, 0.08125, -0.084375, -0.9008, -0.4075, 0.1501, +-0.303125, 0.0375, -0.109375, -0.9008, -0.4075, 0.1501, +-0.2875, 0.015625, -0.075, -0.9008, -0.4075, 0.1501, +0.31875, 0.08125, -0.084375, 0.5724, -0.3122, 0.7582, +0.35625, 0.096875, -0.10625, 0.5724, -0.3122, 0.7582, +0.3375, 0.115625, -0.084375, 0.5724, -0.3122, 0.7582, +-0.31875, 0.08125, -0.084375, -0.5815, -0.5217, 0.6243, +-0.35625, 0.096875, -0.10625, -0.5815, -0.5217, 0.6243, +-0.334375, 0.06875, -0.109375, -0.5815, -0.5217, 0.6243, +0.3375, 0.115625, -0.084375, 0.5597, -0.5533, 0.6169, +0.378125, 0.121875, -0.115625, 0.5597, -0.5533, 0.6169, +0.36875, 0.14375, -0.0875, 0.5597, -0.5533, 0.6169, +-0.3375, 0.115625, -0.084375, -0.6138, -0.2571, 0.7465, +-0.378125, 0.121875, -0.115625, -0.6138, -0.2571, 0.7465, +-0.35625, 0.096875, -0.10625, -0.6138, -0.2571, 0.7465, +0.34375, 0.128125, -0.01875, 0.8271, 0.5323, -0.1802, +0.3375, 0.115625, -0.084375, 0.8271, 0.5323, -0.1802, +0.328125, 0.13125, -0.08125, 0.8271, 0.5323, -0.1802, +-0.3375, 0.115625, -0.084375, -0.8271, 0.5323, -0.1802, +-0.34375, 0.128125, -0.01875, -0.8271, 0.5323, -0.1802, +-0.328125, 0.13125, -0.08125, -0.8271, 0.5323, -0.1802, +0.290625, 0, -0.028125, 0.9227, -0.3765, -0.0825, +0.31875, 0.08125, -0.084375, 0.9227, -0.3765, -0.0825, +0.34375, 0.128125, -0.01875, 0.9227, -0.3765, -0.0825, +-0.290625, 0, -0.028125, -0.8717, -0.4446, -0.2063, +-0.31875, 0.08125, -0.084375, -0.8717, -0.4446, -0.2063, +-0.2875, 0.015625, -0.075, -0.8717, -0.4446, -0.2063, +0.290625, 0, -0.028125, 0.9972, -0.0181, -0.0725, +0.2875, -0.009375, -0.06875, 0.9972, -0.0181, -0.0725, +0.2875, 0.015625, -0.075, 0.9972, -0.0181, -0.0725, +-0.2875, 0.015625, -0.075, -0.9972, -0.0181, -0.0725, +-0.2875, -0.009375, -0.06875, -0.9972, -0.0181, -0.0725, +-0.290625, 0, -0.028125, -0.9972, -0.0181, -0.0725, +0.378125, 0.121875, -0.115625, 0.6895, -0.6644, 0.2883, +0.35625, 0.09375, -0.128125, 0.6895, -0.6644, 0.2883, +0.38125, 0.115625, -0.1375, 0.6895, -0.6644, 0.2883, +-0.35625, 0.09375, -0.128125, -0.6895, -0.6644, 0.2883, +-0.378125, 0.121875, -0.115625, -0.6895, -0.6644, 0.2883, +-0.38125, 0.115625, -0.1375, -0.6895, -0.6644, 0.2883, +0.334375, 0.06875, -0.109375, 0.7815, -0.6176, 0.0882, +0.35625, 0.09375, -0.128125, 0.7815, -0.6176, 0.0882, +0.35625, 0.096875, -0.10625, 0.7815, -0.6176, 0.0882, +-0.334375, 0.06875, -0.109375, -0.793, -0.5947, 0.1322, +-0.35625, 0.09375, -0.128125, -0.793, -0.5947, 0.1322, +-0.3375, 0.06875, -0.128125, -0.793, -0.5947, 0.1322, +0.334375, 0.06875, -0.109375, 0.7022, -0.7022, 0.117, +0.30625, 0.0375, -0.128125, 0.7022, -0.7022, 0.117, +0.3375, 0.06875, -0.128125, 0.7022, -0.7022, 0.117, +-0.30625, 0.0375, -0.128125, -0.7022, -0.7022, 0.117, +-0.334375, 0.06875, -0.109375, -0.7022, -0.7022, 0.117, +-0.3375, 0.06875, -0.128125, -0.7022, -0.7022, 0.117, +0.328125, 0.034375, -0.109375, 0.124, 0.9921, 0.0207, +0.30625, 0.0375, -0.128125, 0.124, 0.9921, 0.0207, +0.303125, 0.0375, -0.109375, 0.124, 0.9921, 0.0207, +-0.328125, 0.034375, -0.109375, -0.2408, 0.9631, -0.1204, +-0.30625, 0.0375, -0.128125, -0.2408, 0.9631, -0.1204, +-0.33125, 0.03125, -0.128125, -0.2408, 0.9631, -0.1204, +0.3375, 0.00625, -0.109375, 0.9435, 0.3145, 0.1048, +0.33125, 0.03125, -0.128125, 0.9435, 0.3145, 0.1048, +0.328125, 0.034375, -0.109375, 0.9435, 0.3145, 0.1048, +-0.3375, 0.00625, -0.109375, -0.9251, 0.3469, 0.1542, +-0.33125, 0.03125, -0.128125, -0.9251, 0.3469, 0.1542, +-0.340625, 0.00625, -0.128125, -0.9251, 0.3469, 0.1542, +0.3375, 0.00625, -0.109375, 0.6213, -0.7767, 0.1036, +0.325, -0.00625, -0.128125, 0.6213, -0.7767, 0.1036, +0.340625, 0.00625, -0.128125, 0.6213, -0.7767, 0.1036, +-0.325, -0.00625, -0.128125, -0.6213, -0.7767, 0.1036, +-0.3375, 0.00625, -0.109375, -0.6213, -0.7767, 0.1036, +-0.340625, 0.00625, -0.128125, -0.6213, -0.7767, 0.1036, +0.325, -0.00625, -0.109375, 0, 1, 0, +0.353125, -0.00625, -0.10625, 0, 1, 0, +0.325, -0.00625, -0.128125, 0, 1, 0, +-0.353125, -0.00625, -0.10625, 0, 1, 0, +-0.325, -0.00625, -0.109375, 0, 1, 0, +-0.325, -0.00625, -0.128125, 0, 1, 0, +0.409375, 0.1375, -0.14375, 0.6197, -0.6899, 0.3742, +0.38125, 0.115625, -0.1375, 0.6197, -0.6899, 0.3742, +0.415625, 0.13125, -0.165625, 0.6197, -0.6899, 0.3742, +-0.38125, 0.115625, -0.1375, -0.6197, -0.6899, 0.3742, +-0.409375, 0.1375, -0.14375, -0.6197, -0.6899, 0.3742, +-0.415625, 0.13125, -0.165625, -0.6197, -0.6899, 0.3742, +0.46875, 0.14375, -0.175, 0.2752, -0.8808, 0.3853, +0.415625, 0.13125, -0.165625, 0.2752, -0.8808, 0.3853, +0.475, 0.1375, -0.19375, 0.2752, -0.8808, 0.3853, +-0.415625, 0.13125, -0.165625, -0.2752, -0.8808, 0.3853, +-0.46875, 0.14375, -0.175, -0.2752, -0.8808, 0.3853, +-0.475, 0.1375, -0.19375, -0.2752, -0.8808, 0.3853, +0.49375, 0.1, -0.178125, -0.7929, -0.5252, -0.3089, +0.475, 0.1375, -0.19375, -0.7929, -0.5252, -0.3089, +0.503125, 0.096875, -0.196875, -0.7929, -0.5252, -0.3089, +-0.475, 0.1375, -0.19375, 0.7929, -0.5252, -0.3089, +-0.49375, 0.1, -0.178125, 0.7929, -0.5252, -0.3089, +-0.503125, 0.096875, -0.196875, 0.7929, -0.5252, -0.3089, +0.49375, 0.1, -0.178125, -0.8096, 0.2429, -0.5343, +0.484375, 0.034375, -0.19375, -0.8096, 0.2429, -0.5343, +0.475, 0.0375, -0.178125, -0.8096, 0.2429, -0.5343, +-0.49375, 0.1, -0.178125, 0.8538, 0.2328, -0.4657, +-0.484375, 0.034375, -0.19375, 0.8538, 0.2328, -0.4657, +-0.503125, 0.096875, -0.196875, 0.8538, 0.2328, -0.4657, +0.475, 0.0375, -0.178125, -0.5621, 0.8231, -0.0803, +0.41875, 0, -0.16875, -0.5621, 0.8231, -0.0803, +0.415625, 0, -0.146875, -0.5621, 0.8231, -0.0803, +-0.475, 0.0375, -0.178125, 0.5433, 0.6985, -0.4657, +-0.41875, 0, -0.16875, 0.5433, 0.6985, -0.4657, +-0.484375, 0.034375, -0.19375, 0.5433, 0.6985, -0.4657, +0.415625, 0, -0.146875, -0.0071, 0.9899, 0.1414, +0.353125, -0.00625, -0.10625, -0.0071, 0.9899, 0.1414, +0.353125, -0.009375, -0.084375, -0.0071, 0.9899, 0.1414, +-0.415625, 0, -0.146875, 0.1096, 0.9939, -0.0157, +-0.353125, -0.00625, -0.10625, 0.1096, 0.9939, -0.0157, +-0.41875, 0, -0.16875, 0.1096, 0.9939, -0.0157, +0.340625, 0.00625, -0.128125, 0.1046, 0.0392, 0.9937, +0.35625, 0.04375, -0.13125, 0.1046, 0.0392, 0.9937, +0.33125, 0.03125, -0.128125, 0.1046, 0.0392, 0.9937, +-0.340625, 0.00625, -0.128125, -0.1738, 0.0097, 0.9847, +-0.35625, 0.04375, -0.13125, -0.1738, 0.0097, 0.9847, +-0.375, 0.025, -0.134375, -0.1738, 0.0097, 0.9847, +0.375, 0.025, -0.134375, 0.2461, 0.0852, 0.9655, +0.384375, 0.06875, -0.140625, 0.2461, 0.0852, 0.9655, +0.35625, 0.04375, -0.13125, 0.2461, 0.0852, 0.9655, +-0.375, 0.025, -0.134375, -0.4134, 0.0413, 0.9096, +-0.384375, 0.06875, -0.140625, -0.4134, 0.0413, 0.9096, +-0.4, 0.05, -0.146875, -0.4134, 0.0413, 0.9096, +0.384375, 0.06875, -0.140625, 0.3009, 0.0926, 0.9491, +0.421875, 0.075, -0.153125, 0.3009, 0.0926, 0.9491, +0.40625, 0.09375, -0.15, 0.3009, 0.0926, 0.9491, +-0.421875, 0.075, -0.153125, -0.3009, 0.0926, 0.9491, +-0.384375, 0.06875, -0.140625, -0.3009, 0.0926, 0.9491, +-0.40625, 0.09375, -0.15, -0.3009, 0.0926, 0.9491, +0.421875, 0.075, -0.153125, 0.2104, 0.0124, 0.9775, +0.434375, 0.109375, -0.15625, 0.2104, 0.0124, 0.9775, +0.40625, 0.09375, -0.15, 0.2104, 0.0124, 0.9775, +-0.421875, 0.075, -0.153125, -0.122, 0.0458, 0.9915, +-0.434375, 0.109375, -0.15625, -0.122, 0.0458, 0.9915, +-0.44375, 0.084375, -0.15625, -0.122, 0.0458, 0.9915, +0.415625, 0.13125, -0.165625, -0.0099, 0.3867, 0.9221, +0.40625, 0.09375, -0.15, -0.0099, 0.3867, 0.9221, +0.434375, 0.109375, -0.15625, -0.0099, 0.3867, 0.9221, +-0.40625, 0.09375, -0.15, 0.0099, 0.3867, 0.9221, +-0.415625, 0.13125, -0.165625, 0.0099, 0.3867, 0.9221, +-0.434375, 0.109375, -0.15625, 0.0099, 0.3867, 0.9221, +0.384375, 0.06875, -0.140625, 0.3787, -0.0364, 0.9248, +0.38125, 0.115625, -0.1375, 0.3787, -0.0364, 0.9248, +0.35625, 0.09375, -0.128125, 0.3787, -0.0364, 0.9248, +-0.384375, 0.06875, -0.140625, -0.4244, -0.032, 0.9049, +-0.38125, 0.115625, -0.1375, -0.4244, -0.032, 0.9049, +-0.40625, 0.09375, -0.15, -0.4244, -0.032, 0.9049, +0.3375, 0.06875, -0.128125, 0.253, -0.1897, 0.9487, +0.384375, 0.06875, -0.140625, 0.253, -0.1897, 0.9487, +0.35625, 0.09375, -0.128125, 0.253, -0.1897, 0.9487, +-0.3375, 0.06875, -0.128125, -0.257, 0.0723, 0.9637, +-0.384375, 0.06875, -0.140625, -0.257, 0.0723, 0.9637, +-0.35625, 0.04375, -0.13125, -0.257, 0.0723, 0.9637, +0.33125, 0.03125, -0.128125, 0, 0, 1, +0.3375, 0.06875, -0.128125, 0, 0, 1, +0.30625, 0.0375, -0.128125, 0, 0, 1, +-0.3375, 0.06875, -0.128125, 0, 0, 1, +-0.33125, 0.03125, -0.128125, 0, 0, 1, +-0.30625, 0.0375, -0.128125, 0, 0, 1, +0.353125, -0.00625, -0.10625, -0.487, 0.6088, 0.6262, +0.340625, 0.00625, -0.128125, -0.487, 0.6088, 0.6262, +0.325, -0.00625, -0.128125, -0.487, 0.6088, 0.6262, +-0.353125, -0.00625, -0.10625, 0.2981, 0.7454, 0.5963, +-0.340625, 0.00625, -0.128125, 0.2981, 0.7454, 0.5963, +-0.375, 0.025, -0.134375, 0.2981, 0.7454, 0.5963, +0.41875, 0, -0.16875, 0.6693, 0.1802, 0.7208, +0.375, 0.025, -0.134375, 0.6693, 0.1802, 0.7208, +0.353125, -0.00625, -0.10625, 0.6693, 0.1802, 0.7208, +-0.375, 0.025, -0.134375, -0.6693, 0.1802, 0.7208, +-0.41875, 0, -0.16875, -0.6693, 0.1802, 0.7208, +-0.353125, -0.00625, -0.10625, -0.6693, 0.1802, 0.7208, +0.421875, 0.075, -0.153125, 0.4388, -0.2008, 0.8759, +0.41875, 0, -0.16875, 0.4388, -0.2008, 0.8759, +0.484375, 0.034375, -0.19375, 0.4388, -0.2008, 0.8759, +-0.421875, 0.075, -0.153125, -0.4723, -0.1986, 0.8588, +-0.41875, 0, -0.16875, -0.4723, -0.1986, 0.8588, +-0.4, 0.05, -0.146875, -0.4723, -0.1986, 0.8588, +0.44375, 0.084375, -0.15625, 0.5786, -0.1334, 0.8046, +0.484375, 0.034375, -0.19375, 0.5786, -0.1334, 0.8046, +0.503125, 0.096875, -0.196875, 0.5786, -0.1334, 0.8046, +-0.44375, 0.084375, -0.15625, -0.2975, -0.4062, 0.864, +-0.484375, 0.034375, -0.19375, -0.2975, -0.4062, 0.864, +-0.421875, 0.075, -0.153125, -0.2975, -0.4062, 0.864, +0.475, 0.1375, -0.19375, 0.5002, 0.2833, 0.8182, +0.44375, 0.084375, -0.15625, 0.5002, 0.2833, 0.8182, +0.503125, 0.096875, -0.196875, 0.5002, 0.2833, 0.8182, +-0.44375, 0.084375, -0.15625, -0.5002, 0.2833, 0.8182, +-0.475, 0.1375, -0.19375, -0.5002, 0.2833, 0.8182, +-0.503125, 0.096875, -0.196875, -0.5002, 0.2833, 0.8182, +0.415625, 0.13125, -0.165625, 0.298, 0.5802, 0.758, +0.434375, 0.109375, -0.15625, 0.298, 0.5802, 0.758, +0.475, 0.1375, -0.19375, 0.298, 0.5802, 0.758, +-0.475, 0.1375, -0.19375, -0.298, 0.5802, 0.758, +-0.434375, 0.109375, -0.15625, -0.298, 0.5802, 0.758, +-0.415625, 0.13125, -0.165625, -0.298, 0.5802, 0.758, +0.415625, -0.040625, -0.13125, 0.0929, -0.9912, -0.0944, +0.315625, -0.05, -0.13125, 0.0929, -0.9912, -0.0944, +0.415625, -0.034375, -0.196875, 0.0929, -0.9912, -0.0944, +-0.315625, -0.05, -0.13125, -0.0929, -0.9912, -0.0944, +-0.415625, -0.040625, -0.13125, -0.0929, -0.9912, -0.0944, +-0.415625, -0.034375, -0.196875, -0.0929, -0.9912, -0.0944, +0.5125, 0.021875, -0.171875, 0.4688, -0.8715, 0.1442, +0.415625, -0.034375, -0.196875, 0.4688, -0.8715, 0.1442, +0.525, 0.021875, -0.2125, 0.4688, -0.8715, 0.1442, +-0.415625, -0.034375, -0.196875, -0.4688, -0.8715, 0.1442, +-0.5125, 0.021875, -0.171875, -0.4688, -0.8715, 0.1442, +-0.525, 0.021875, -0.2125, -0.4688, -0.8715, 0.1442, +0.5125, 0.021875, -0.171875, 0.9309, -0.2541, 0.2624, +0.546875, 0.11875, -0.2, 0.9309, -0.2541, 0.2624, +0.540625, 0.128125, -0.16875, 0.9309, -0.2541, 0.2624, +-0.5125, 0.021875, -0.171875, -0.9264, -0.246, 0.2851, +-0.546875, 0.11875, -0.2, -0.9264, -0.246, 0.2851, +-0.525, 0.021875, -0.2125, -0.9264, -0.246, 0.2851, +0.540625, 0.128125, -0.16875, 0.8465, 0.5291, -0.0595, +0.5, 0.1875, -0.21875, 0.8465, 0.5291, -0.0595, +0.49375, 0.203125, -0.16875, 0.8465, 0.5291, -0.0595, +-0.540625, 0.128125, -0.16875, -0.8267, 0.5627, -0.0035, +-0.5, 0.1875, -0.21875, -0.8267, 0.5627, -0.0035, +-0.546875, 0.11875, -0.2, -0.8267, 0.5627, -0.0035, +0.49375, 0.203125, -0.16875, -0.2511, 0.9439, -0.2145, +0.409375, 0.175, -0.19375, -0.2511, 0.9439, -0.2145, +0.409375, 0.190625, -0.125, -0.2511, 0.9439, -0.2145, +-0.49375, 0.203125, -0.16875, 0.2146, 0.9243, -0.3157, +-0.409375, 0.175, -0.19375, 0.2146, 0.9243, -0.3157, +-0.5, 0.1875, -0.21875, 0.2146, 0.9243, -0.3157, +0.409375, 0.190625, -0.125, -0.4841, 0.8743, -0.0361, +0.34375, 0.153125, -0.153125, -0.4841, 0.8743, -0.0361, +0.35625, 0.1625, -0.09375, -0.4841, 0.8743, -0.0361, +-0.409375, 0.190625, -0.125, 0.4196, 0.8851, -0.2012, +-0.34375, 0.153125, -0.153125, 0.4196, 0.8851, -0.2012, +-0.409375, 0.175, -0.19375, 0.4196, 0.8851, -0.2012, +0.415625, -0.034375, -0.196875, -0.5256, -0.003, -0.8507, +0.34375, 0.153125, -0.153125, -0.5256, -0.003, -0.8507, +0.409375, 0.175, -0.19375, -0.5256, -0.003, -0.8507, +-0.415625, -0.034375, -0.196875, 0.547, -0.0144, -0.837, +-0.34375, 0.153125, -0.153125, 0.547, -0.0144, -0.837, +-0.315625, -0.05, -0.13125, 0.547, -0.0144, -0.837, +0.409375, 0.175, -0.19375, -0.1466, 0.0104, -0.9891, +0.525, 0.021875, -0.2125, -0.1466, 0.0104, -0.9891, +0.415625, -0.034375, -0.196875, -0.1466, 0.0104, -0.9891, +-0.525, 0.021875, -0.2125, 0.1466, 0.0104, -0.9891, +-0.409375, 0.175, -0.19375, 0.1466, 0.0104, -0.9891, +-0.415625, -0.034375, -0.196875, 0.1466, 0.0104, -0.9891, +0.5, 0.1875, -0.21875, 0.4046, 0.0266, -0.9141, +0.546875, 0.11875, -0.2, 0.4046, 0.0266, -0.9141, +0.525, 0.021875, -0.2125, 0.4046, 0.0266, -0.9141, +-0.525, 0.021875, -0.2125, -0.4046, 0.0266, -0.9141, +-0.546875, 0.11875, -0.2, -0.4046, 0.0266, -0.9141, +-0.5, 0.1875, -0.21875, -0.4046, 0.0266, -0.9141, +0.328125, 0.13125, -0.08125, -0.8073, 0.5901, 0.0041, +0.34375, 0.153125, -0.153125, -0.8073, 0.5901, 0.0041, +0.309375, 0.10625, -0.175, -0.8073, 0.5901, 0.0041, +-0.328125, 0.13125, -0.08125, 0.733, 0.6786, 0.0472, +-0.34375, 0.153125, -0.153125, 0.733, 0.6786, 0.0472, +-0.35625, 0.1625, -0.09375, 0.733, 0.6786, 0.0472, +0.309375, 0.10625, -0.175, 0.42, -0.2291, -0.8781, +0.315625, -0.05, -0.13125, 0.42, -0.2291, -0.8781, +0.25625, -0.003125, -0.171875, 0.42, -0.2291, -0.8781, +-0.315625, -0.05, -0.13125, -0.42, -0.2291, -0.8781, +-0.309375, 0.10625, -0.175, -0.42, -0.2291, -0.8781, +-0.25625, -0.003125, -0.171875, -0.42, -0.2291, -0.8781, +0.2375, -0.05, -0.065625, -0.0687, -0.9943, -0.0818, +0.315625, -0.05, -0.13125, -0.0687, -0.9943, -0.0818, +0.309375, -0.05625, -0.05, -0.0687, -0.9943, -0.0818, +-0.315625, -0.05, -0.13125, 0.0687, -0.9943, -0.0818, +-0.2375, -0.05, -0.065625, 0.0687, -0.9943, -0.0818, +-0.309375, -0.05625, -0.05, 0.0687, -0.9943, -0.0818, +0.1875, 0.096875, 0.303125, 0.6713, -0.1971, 0.7145, +0.175, 0.065625, 0.30625, 0.6713, -0.1971, 0.7145, +0.2, 0.0375, 0.275, 0.6713, -0.1971, 0.7145, +-0.2, 0.0375, 0.275, -0.6713, -0.1971, 0.7145, +-0.175, 0.065625, 0.30625, -0.6713, -0.1971, 0.7145, +-0.1875, 0.096875, 0.303125, -0.6713, -0.1971, 0.7145, +0.225, 0.096875, 0.26875, 0.8326, -0.3017, 0.4646, +0.2, 0.0375, 0.275, 0.8326, -0.3017, 0.4646, +0.21875, 0.021875, 0.23125, 0.8326, -0.3017, 0.4646, +-0.21875, 0.021875, 0.23125, -0.8326, -0.3017, 0.4646, +-0.2, 0.0375, 0.275, -0.8326, -0.3017, 0.4646, +-0.225, 0.096875, 0.26875, -0.8326, -0.3017, 0.4646, +0.2, 0.0375, 0.275, 0.4258, -0.7967, 0.429, +0.140625, 0.0125, 0.2875, 0.4258, -0.7967, 0.429, +0.140625, -0.009375, 0.246875, 0.4258, -0.7967, 0.429, +-0.140625, -0.009375, 0.246875, -0.4258, -0.7967, 0.429, +-0.140625, 0.0125, 0.2875, -0.4258, -0.7967, 0.429, +-0.2, 0.0375, 0.275, -0.4258, -0.7967, 0.429, +0.175, 0.065625, 0.30625, 0.3265, -0.4954, 0.805, +0.140625, 0.053125, 0.3125, 0.3265, -0.4954, 0.805, +0.140625, 0.0125, 0.2875, 0.3265, -0.4954, 0.805, +-0.140625, 0.0125, 0.2875, -0.3265, -0.4954, 0.805, +-0.140625, 0.053125, 0.3125, -0.3265, -0.4954, 0.805, +-0.175, 0.065625, 0.30625, -0.3265, -0.4954, 0.805, +0.140625, 0.053125, 0.3125, -0.0649, -0.5714, 0.8181, +0.109375, 0.065625, 0.31875, -0.0649, -0.5714, 0.8181, +0.08125, 0.0375, 0.296875, -0.0649, -0.5714, 0.8181, +-0.08125, 0.0375, 0.296875, 0.0649, -0.5714, 0.8181, +-0.109375, 0.065625, 0.31875, 0.0649, -0.5714, 0.8181, +-0.140625, 0.053125, 0.3125, 0.0649, -0.5714, 0.8181, +0.140625, 0.0125, 0.2875, -0.2738, -0.8315, 0.4834, +0.08125, 0.0375, 0.296875, -0.2738, -0.8315, 0.4834, +0.0625, 0.021875, 0.259375, -0.2738, -0.8315, 0.4834, +-0.0625, 0.021875, 0.259375, 0.2738, -0.8315, 0.4834, +-0.08125, 0.0375, 0.296875, 0.2738, -0.8315, 0.4834, +-0.140625, 0.0125, 0.2875, 0.2738, -0.8315, 0.4834, +0.05625, 0.096875, 0.296875, -0.7606, -0.34, 0.5531, +0.03125, 0.096875, 0.2625, -0.7606, -0.34, 0.5531, +0.0625, 0.021875, 0.259375, -0.7606, -0.34, 0.5531, +-0.05625, 0.096875, 0.296875, 0.7824, -0.3294, 0.5285, +-0.08125, 0.0375, 0.296875, 0.7824, -0.3294, 0.5285, +-0.0625, 0.021875, 0.259375, 0.7824, -0.3294, 0.5285, +0.109375, 0.065625, 0.31875, -0.4658, -0.1863, 0.8651, +0.096875, 0.096875, 0.31875, -0.4658, -0.1863, 0.8651, +0.05625, 0.096875, 0.296875, -0.4658, -0.1863, 0.8651, +-0.05625, 0.096875, 0.296875, 0.4658, -0.1863, 0.8651, +-0.096875, 0.096875, 0.31875, 0.4658, -0.1863, 0.8651, +-0.109375, 0.065625, 0.31875, 0.4658, -0.1863, 0.8651, +0.096875, 0.096875, 0.31875, -0.4983, 0.1812, 0.8478, +0.109375, 0.13125, 0.31875, -0.4983, 0.1812, 0.8478, +0.08125, 0.15625, 0.296875, -0.4983, 0.1812, 0.8478, +-0.08125, 0.15625, 0.296875, 0.4983, 0.1812, 0.8478, +-0.109375, 0.13125, 0.31875, 0.4983, 0.1812, 0.8478, +-0.096875, 0.096875, 0.31875, 0.4983, 0.1812, 0.8478, +0.08125, 0.15625, 0.296875, -0.7683, 0.3293, 0.5488, +0.0625, 0.175, 0.259375, -0.7683, 0.3293, 0.5488, +0.03125, 0.096875, 0.2625, -0.7683, 0.3293, 0.5488, +-0.08125, 0.15625, 0.296875, 0.7656, 0.3223, 0.5568, +-0.05625, 0.096875, 0.296875, 0.7656, 0.3223, 0.5568, +-0.03125, 0.096875, 0.2625, 0.7656, 0.3223, 0.5568, +0.140625, 0.18125, 0.2875, -0.2487, 0.8249, 0.5076, +0.140625, 0.20625, 0.246875, -0.2487, 0.8249, 0.5076, +0.0625, 0.175, 0.259375, -0.2487, 0.8249, 0.5076, +-0.140625, 0.18125, 0.2875, 0.256, 0.8073, 0.5317, +-0.08125, 0.15625, 0.296875, 0.256, 0.8073, 0.5317, +-0.0625, 0.175, 0.259375, 0.256, 0.8073, 0.5317, +0.140625, 0.14375, 0.3125, -0.1017, 0.5518, 0.8277, +0.140625, 0.18125, 0.2875, -0.1017, 0.5518, 0.8277, +0.08125, 0.15625, 0.296875, -0.1017, 0.5518, 0.8277, +-0.140625, 0.14375, 0.3125, 0.0821, 0.6023, 0.794, +-0.109375, 0.13125, 0.31875, 0.0821, 0.6023, 0.794, +-0.08125, 0.15625, 0.296875, 0.0821, 0.6023, 0.794, +0.175, 0.13125, 0.30625, 0.3861, 0.5446, 0.7445, +0.2, 0.15625, 0.275, 0.3861, 0.5446, 0.7445, +0.140625, 0.18125, 0.2875, 0.3861, 0.5446, 0.7445, +-0.175, 0.13125, 0.30625, -0.3329, 0.5231, 0.7846, +-0.140625, 0.14375, 0.3125, -0.3329, 0.5231, 0.7846, +-0.140625, 0.18125, 0.2875, -0.3329, 0.5231, 0.7846, +0.2, 0.15625, 0.275, 0.4059, 0.7641, 0.5014, +0.21875, 0.175, 0.23125, 0.4059, 0.7641, 0.5014, +0.140625, 0.20625, 0.246875, 0.4059, 0.7641, 0.5014, +-0.2, 0.15625, 0.275, -0.4246, 0.7711, 0.4745, +-0.140625, 0.18125, 0.2875, -0.4246, 0.7711, 0.4745, +-0.140625, 0.20625, 0.246875, -0.4246, 0.7711, 0.4745, +0.225, 0.096875, 0.26875, 0.8299, 0.294, 0.4742, +0.25, 0.096875, 0.225, 0.8299, 0.294, 0.4742, +0.21875, 0.175, 0.23125, 0.8299, 0.294, 0.4742, +-0.225, 0.096875, 0.26875, -0.8251, 0.2968, 0.4808, +-0.2, 0.15625, 0.275, -0.8251, 0.2968, 0.4808, +-0.21875, 0.175, 0.23125, -0.8251, 0.2968, 0.4808, +0.1875, 0.096875, 0.303125, 0.6617, 0.2026, 0.7219, +0.225, 0.096875, 0.26875, 0.6617, 0.2026, 0.7219, +0.2, 0.15625, 0.275, 0.6617, 0.2026, 0.7219, +-0.1875, 0.096875, 0.303125, -0.6888, 0.1868, 0.7005, +-0.175, 0.13125, 0.30625, -0.6888, 0.1868, 0.7005, +-0.2, 0.15625, 0.275, -0.6888, 0.1868, 0.7005, +0.175, 0.13125, 0.30625, 0.7816, 0.3058, -0.5437, +0.178125, 0.134375, 0.3125, 0.7816, 0.3058, -0.5437, +0.190625, 0.096875, 0.309375, 0.7816, 0.3058, -0.5437, +-0.175, 0.13125, 0.30625, -0.84, 0.3436, -0.42, +-0.1875, 0.096875, 0.303125, -0.84, 0.3436, -0.42, +-0.190625, 0.096875, 0.309375, -0.84, 0.3436, -0.42, +0.140625, 0.14375, 0.3125, 0.2037, 0.8146, -0.5431, +0.140625, 0.15, 0.321875, 0.2037, 0.8146, -0.5431, +0.178125, 0.134375, 0.3125, 0.2037, 0.8146, -0.5431, +-0.140625, 0.14375, 0.3125, -0.2074, 0.8296, -0.5185, +-0.175, 0.13125, 0.30625, -0.2074, 0.8296, -0.5185, +-0.178125, 0.134375, 0.3125, -0.2074, 0.8296, -0.5185, +0.109375, 0.13125, 0.31875, -0.4381, 0.7988, -0.4123, +0.10625, 0.134375, 0.328125, -0.4381, 0.7988, -0.4123, +0.140625, 0.15, 0.321875, -0.4381, 0.7988, -0.4123, +-0.109375, 0.13125, 0.31875, 0.4056, 0.7605, -0.507, +-0.140625, 0.14375, 0.3125, 0.4056, 0.7605, -0.507, +-0.140625, 0.15, 0.321875, 0.4056, 0.7605, -0.507, +0.096875, 0.096875, 0.31875, -0.7861, 0.3276, -0.5241, +0.090625, 0.096875, 0.328125, -0.7861, 0.3276, -0.5241, +0.10625, 0.134375, 0.328125, -0.7861, 0.3276, -0.5241, +-0.096875, 0.096875, 0.31875, 0.8642, 0.3143, -0.3928, +-0.109375, 0.13125, 0.31875, 0.8642, 0.3143, -0.3928, +-0.10625, 0.134375, 0.328125, 0.8642, 0.3143, -0.3928, +0.096875, 0.096875, 0.31875, -0.8519, -0.3408, -0.3976, +0.109375, 0.065625, 0.31875, -0.8519, -0.3408, -0.3976, +0.10625, 0.0625, 0.328125, -0.8519, -0.3408, -0.3976, +-0.10625, 0.0625, 0.328125, 0.8519, -0.3408, -0.3976, +-0.109375, 0.065625, 0.31875, 0.8519, -0.3408, -0.3976, +-0.096875, 0.096875, 0.31875, 0.8519, -0.3408, -0.3976, +0.109375, 0.065625, 0.31875, -0.4056, -0.7605, -0.507, +0.140625, 0.053125, 0.3125, -0.4056, -0.7605, -0.507, +0.140625, 0.046875, 0.321875, -0.4056, -0.7605, -0.507, +-0.140625, 0.046875, 0.321875, 0.4056, -0.7605, -0.507, +-0.140625, 0.053125, 0.3125, 0.4056, -0.7605, -0.507, +-0.109375, 0.065625, 0.31875, 0.4056, -0.7605, -0.507, +0.140625, 0.053125, 0.3125, 0.2074, -0.8296, -0.5185, +0.175, 0.065625, 0.30625, 0.2074, -0.8296, -0.5185, +0.178125, 0.0625, 0.3125, 0.2074, -0.8296, -0.5185, +-0.178125, 0.0625, 0.3125, -0.2074, -0.8296, -0.5185, +-0.175, 0.065625, 0.30625, -0.2074, -0.8296, -0.5185, +-0.140625, 0.053125, 0.3125, -0.2074, -0.8296, -0.5185, +0.175, 0.065625, 0.30625, 0.8297, -0.3734, -0.4149, +0.1875, 0.096875, 0.303125, 0.8297, -0.3734, -0.4149, +0.190625, 0.096875, 0.309375, 0.8297, -0.3734, -0.4149, +-0.190625, 0.096875, 0.309375, -0.8297, -0.3734, -0.4149, +-0.1875, 0.096875, 0.303125, -0.8297, -0.3734, -0.4149, +-0.175, 0.065625, 0.30625, -0.8297, -0.3734, -0.4149, +0.065625, -0.371875, 0.253125, 0.1054, -0.8433, 0.527, + 0, -0.378125, 0.25625, 0.1054, -0.8433, 0.527, + 0, -0.39375, 0.23125, 0.1054, -0.8433, 0.527, +-0.065625, -0.371875, 0.253125, -0.1367, -0.8748, 0.4648, +-0.071875, -0.3875, 0.221875, -0.1367, -0.8748, 0.4648, + 0, -0.39375, 0.23125, -0.1367, -0.8748, 0.4648, +0.09375, -0.365625, 0.253125, 0.1916, -0.862, 0.4693, +0.065625, -0.371875, 0.253125, 0.1916, -0.862, 0.4693, +0.071875, -0.3875, 0.221875, 0.1916, -0.862, 0.4693, +-0.09375, -0.365625, 0.253125, -0.2303, -0.8656, 0.4447, +-0.13125, -0.378125, 0.209375, -0.2303, -0.8656, 0.4447, +-0.071875, -0.3875, 0.221875, -0.2303, -0.8656, 0.4447, +0.146875, -0.35625, 0.2125, 0.5959, -0.4256, 0.681, +0.10625, -0.328125, 0.265625, 0.5959, -0.4256, 0.681, +0.09375, -0.365625, 0.253125, 0.5959, -0.4256, 0.681, +-0.09375, -0.365625, 0.253125, -0.5959, -0.4256, 0.681, +-0.10625, -0.328125, 0.265625, -0.5959, -0.4256, 0.681, +-0.146875, -0.35625, 0.2125, -0.5959, -0.4256, 0.681, +0.140625, -0.278125, 0.228125, 0.7563, -0.0299, 0.6535, +0.1, -0.28125, 0.275, 0.7563, -0.0299, 0.6535, +0.10625, -0.328125, 0.265625, 0.7563, -0.0299, 0.6535, +-0.10625, -0.328125, 0.265625, -0.7563, -0.0299, 0.6535, +-0.1, -0.28125, 0.275, -0.7563, -0.0299, 0.6535, +-0.140625, -0.278125, 0.228125, -0.7563, -0.0299, 0.6535, +0.125, -0.175, 0.228125, 0.8069, 0.0689, 0.5866, +0.084375, -0.178125, 0.284375, 0.8069, 0.0689, 0.5866, +0.1, -0.28125, 0.275, 0.8069, 0.0689, 0.5866, +-0.1, -0.28125, 0.275, -0.8069, 0.0689, 0.5866, +-0.084375, -0.178125, 0.284375, -0.8069, 0.0689, 0.5866, +-0.125, -0.175, 0.228125, -0.8069, 0.0689, 0.5866, +0.08125, -0.075, 0.225, 0.2334, -0.7779, 0.5834, +0.175, -0.05625, 0.2125, 0.2334, -0.7779, 0.5834, +0.159375, -0.01875, 0.26875, 0.2334, -0.7779, 0.5834, +-0.159375, -0.01875, 0.26875, -0.2334, -0.7779, 0.5834, +-0.175, -0.05625, 0.2125, -0.2334, -0.7779, 0.5834, +-0.08125, -0.075, 0.225, -0.2334, -0.7779, 0.5834, +0.253125, -0.015625, 0.215625, 0.4177, -0.5751, 0.7034, +0.246875, 0.021875, 0.25, 0.4177, -0.5751, 0.7034, +0.159375, -0.01875, 0.26875, 0.4177, -0.5751, 0.7034, +-0.253125, -0.015625, 0.215625, -0.3557, -0.729, 0.5848, +-0.175, -0.05625, 0.2125, -0.3557, -0.729, 0.5848, +-0.159375, -0.01875, 0.26875, -0.3557, -0.729, 0.5848, +0.253125, -0.015625, 0.215625, 0.6872, -0.4191, 0.5934, +0.33125, 0.059375, 0.178125, 0.6872, -0.4191, 0.5934, +0.290625, 0.08125, 0.240625, 0.6872, -0.4191, 0.5934, +-0.290625, 0.08125, 0.240625, -0.6872, -0.4191, 0.5934, +-0.33125, 0.059375, 0.178125, -0.6872, -0.4191, 0.5934, +-0.253125, -0.015625, 0.215625, -0.6872, -0.4191, 0.5934, +0.34375, 0.171875, 0.2375, 0.5537, -0.2978, 0.7777, +0.296875, 0.15, 0.2625, 0.5537, -0.2978, 0.7777, +0.290625, 0.08125, 0.240625, 0.5537, -0.2978, 0.7777, +-0.34375, 0.171875, 0.2375, -0.7028, -0.3915, 0.5939, +-0.33125, 0.059375, 0.178125, -0.7028, -0.3915, 0.5939, +-0.290625, 0.08125, 0.240625, -0.7028, -0.3915, 0.5939, +0.284375, 0.19375, 0.25, 0.8227, 0.3606, 0.4395, +0.275, 0.165625, 0.290625, 0.8227, 0.3606, 0.4395, +0.296875, 0.15, 0.2625, 0.8227, 0.3606, 0.4395, +-0.284375, 0.19375, 0.25, -0.3127, 0.3425, 0.886, +-0.34375, 0.171875, 0.2375, -0.3127, 0.3425, 0.886, +-0.296875, 0.15, 0.2625, -0.3127, 0.3425, 0.886, +0.196875, 0.240625, 0.275, 0.5041, 0.6448, 0.5745, +0.175, 0.21875, 0.31875, 0.5041, 0.6448, 0.5745, +0.275, 0.165625, 0.290625, 0.5041, 0.6448, 0.5745, +-0.196875, 0.240625, 0.275, -0.5091, 0.6482, 0.5663, +-0.284375, 0.19375, 0.25, -0.5091, 0.6482, 0.5663, +-0.275, 0.165625, 0.290625, -0.5091, 0.6482, 0.5663, +0.196875, 0.240625, 0.275, 0.6155, 0.4924, 0.6155, +0.128125, 0.303125, 0.29375, 0.6155, 0.4924, 0.6155, +0.125, 0.25625, 0.334375, 0.6155, 0.4924, 0.6155, +-0.125, 0.25625, 0.334375, -0.6155, 0.4924, 0.6155, +-0.128125, 0.303125, 0.29375, -0.6155, 0.4924, 0.6155, +-0.196875, 0.240625, 0.275, -0.6155, 0.4924, 0.6155, +0.0625, 0.2875, 0.303125, -0.0371, 0.6685, 0.7428, +0.08125, 0.246875, 0.340625, -0.0371, 0.6685, 0.7428, +0.125, 0.25625, 0.334375, -0.0371, 0.6685, 0.7428, +-0.0625, 0.2875, 0.303125, 0.0486, 0.656, 0.7532, +-0.128125, 0.303125, 0.29375, 0.0486, 0.656, 0.7532, +-0.125, 0.25625, 0.334375, 0.0486, 0.656, 0.7532, +0.025, 0.196875, 0.3, -0.7386, 0.3768, 0.559, +0.040625, 0.171875, 0.3375, -0.7386, 0.3768, 0.559, +0.08125, 0.246875, 0.340625, -0.7386, 0.3768, 0.559, +-0.025, 0.196875, 0.3, 0.7104, 0.2715, 0.6494, +-0.0625, 0.2875, 0.303125, 0.7104, 0.2715, 0.6494, +-0.08125, 0.246875, 0.340625, 0.7104, 0.2715, 0.6494, + 0, 0.171875, 0.296875, -0.5774, 0.5774, 0.5774, + 0, 0.140625, 0.328125, -0.5774, 0.5774, 0.5774, +0.040625, 0.171875, 0.3375, -0.5774, 0.5774, 0.5774, + 0, 0.171875, 0.296875, 0.6013, 0.5262, 0.6013, +-0.025, 0.196875, 0.3, 0.6013, 0.5262, 0.6013, +-0.040625, 0.171875, 0.3375, 0.6013, 0.5262, 0.6013, +0.1, 0.1875, 0.303125, 0.5364, -0.323, 0.7797, +0.08125, 0.246875, 0.340625, 0.5364, -0.323, 0.7797, +0.040625, 0.171875, 0.3375, 0.5364, -0.323, 0.7797, +-0.1, 0.1875, 0.303125, -0.507, -0.6281, 0.5903, +-0.065625, 0.165625, 0.309375, -0.507, -0.6281, 0.5903, +-0.040625, 0.171875, 0.3375, -0.507, -0.6281, 0.5903, +0.1, 0.1875, 0.303125, 0.2181, -0.4685, 0.8561, +0.13125, 0.190625, 0.296875, 0.2181, -0.4685, 0.8561, +0.125, 0.25625, 0.334375, 0.2181, -0.4685, 0.8561, +-0.125, 0.25625, 0.334375, -0.2181, -0.4685, 0.8561, +-0.13125, 0.190625, 0.296875, -0.2181, -0.4685, 0.8561, +-0.1, 0.1875, 0.303125, -0.2181, -0.4685, 0.8561, +0.175, 0.21875, 0.31875, -0.1073, -0.501, 0.8588, +0.125, 0.25625, 0.334375, -0.1073, -0.501, 0.8588, +0.13125, 0.190625, 0.296875, -0.1073, -0.501, 0.8588, +-0.175, 0.21875, 0.31875, 0.0348, -0.5792, 0.8144, +-0.171875, 0.175, 0.2875, 0.0348, -0.5792, 0.8144, +-0.13125, 0.190625, 0.296875, 0.0348, -0.5792, 0.8144, +0.275, 0.165625, 0.290625, -0.077, -0.5759, 0.8139, +0.175, 0.21875, 0.31875, -0.077, -0.5759, 0.8139, +0.171875, 0.175, 0.2875, -0.077, -0.5759, 0.8139, +-0.275, 0.165625, 0.290625, 0.0899, -0.7843, 0.6138, +-0.240625, 0.15, 0.265625, 0.0899, -0.7843, 0.6138, +-0.171875, 0.175, 0.2875, 0.0899, -0.7843, 0.6138, +0.296875, 0.15, 0.2625, 0.0279, -0.8645, 0.5019, +0.275, 0.165625, 0.290625, 0.0279, -0.8645, 0.5019, +0.240625, 0.15, 0.265625, 0.0279, -0.8645, 0.5019, +-0.296875, 0.15, 0.2625, -0.0547, -0.1695, 0.984, +-0.25625, 0.11875, 0.259375, -0.0547, -0.1695, 0.984, +-0.240625, 0.15, 0.265625, -0.0547, -0.1695, 0.984, +0.290625, 0.08125, 0.240625, 0.1687, -0.3128, 0.9347, +0.296875, 0.15, 0.2625, 0.1687, -0.3128, 0.9347, +0.25625, 0.11875, 0.259375, 0.1687, -0.3128, 0.9347, +-0.290625, 0.08125, 0.240625, -0.426, -0.0609, 0.9027, +-0.25, 0.075, 0.259375, -0.426, -0.0609, 0.9027, +-0.25625, 0.11875, 0.259375, -0.426, -0.0609, 0.9027, +0.246875, 0.021875, 0.25, 0.435, -0.1812, 0.882, +0.290625, 0.08125, 0.240625, 0.435, -0.1812, 0.882, +0.25, 0.075, 0.259375, 0.435, -0.1812, 0.882, +-0.246875, 0.021875, 0.25, -0.3352, -0.1828, 0.9243, +-0.196875, 0.025, 0.26875, -0.3352, -0.1828, 0.9243, +-0.25, 0.075, 0.259375, -0.3352, -0.1828, 0.9243, +0.159375, -0.01875, 0.26875, 0.3223, -0.2762, 0.9054, +0.246875, 0.021875, 0.25, 0.3223, -0.2762, 0.9054, +0.196875, 0.025, 0.26875, 0.3223, -0.2762, 0.9054, +-0.159375, -0.01875, 0.26875, -0.3579, -0.3068, 0.8819, +-0.15, 0.00625, 0.28125, -0.3579, -0.3068, 0.8819, +-0.196875, 0.025, 0.26875, -0.3579, -0.3068, 0.8819, +0.05, -0.040625, 0.325, 0.4815, -0.2408, 0.8427, +0.159375, -0.01875, 0.26875, 0.4815, -0.2408, 0.8427, +0.15, 0.00625, 0.28125, 0.4815, -0.2408, 0.8427, +-0.05, -0.040625, 0.325, -0.3069, 0.2113, 0.928, +-0.08125, 0.0375, 0.296875, -0.3069, 0.2113, 0.928, +-0.15, 0.00625, 0.28125, -0.3069, 0.2113, 0.928, +0.08125, 0.0375, 0.296875, -0.0317, -0.1899, 0.9813, +0.065625, 0.05625, 0.3, -0.0317, -0.1899, 0.9813, + 0, 0.01875, 0.290625, -0.0317, -0.1899, 0.9813, + 0, 0.01875, 0.290625, 0.0317, -0.1899, 0.9813, +-0.065625, 0.05625, 0.3, 0.0317, -0.1899, 0.9813, +-0.08125, 0.0375, 0.296875, 0.0317, -0.1899, 0.9813, +0.040625, 0.171875, 0.3375, 0.1854, -0.4956, 0.8485, + 0, 0.140625, 0.328125, 0.1854, -0.4956, 0.8485, +0.05, 0.121875, 0.30625, 0.1854, -0.4956, 0.8485, +-0.040625, 0.171875, 0.3375, -0.6819, -0.2915, 0.6709, +-0.065625, 0.165625, 0.309375, -0.6819, -0.2915, 0.6709, +-0.05, 0.121875, 0.30625, -0.6819, -0.2915, 0.6709, +0.05, 0.121875, 0.30625, 0.2623, -0.3498, 0.8994, + 0, 0.140625, 0.328125, 0.2623, -0.3498, 0.8994, + 0, 0.084375, 0.30625, 0.2623, -0.3498, 0.8994, + 0, 0.084375, 0.30625, -0.2623, -0.3498, 0.8994, + 0, 0.140625, 0.328125, -0.2623, -0.3498, 0.8994, +-0.05, 0.121875, 0.30625, -0.2623, -0.3498, 0.8994, +0.065625, 0.05625, 0.3, 0.0585, -0.0845, 0.9947, +0.053125, 0.084375, 0.303125, 0.0585, -0.0845, 0.9947, + 0, 0.084375, 0.30625, 0.0585, -0.0845, 0.9947, +-0.065625, 0.05625, 0.3, 0.0066, -0.2316, 0.9728, + 0, 0.01875, 0.290625, 0.0066, -0.2316, 0.9728, + 0, 0.084375, 0.30625, 0.0066, -0.2316, 0.9728, +0.025, -0.353125, 0.278125, -0.0136, -0.6507, 0.7592, + 0, -0.35625, 0.275, -0.0136, -0.6507, 0.7592, + 0, -0.378125, 0.25625, -0.0136, -0.6507, 0.7592, + 0, -0.378125, 0.25625, 0.0136, -0.6507, 0.7592, + 0, -0.35625, 0.275, 0.0136, -0.6507, 0.7592, +-0.025, -0.353125, 0.278125, 0.0136, -0.6507, 0.7592, +0.046875, -0.334375, 0.284375, 0.2404, -0.5476, 0.8014, +0.025, -0.353125, 0.278125, 0.2404, -0.5476, 0.8014, +0.065625, -0.371875, 0.253125, 0.2404, -0.5476, 0.8014, +-0.065625, -0.371875, 0.253125, -0.2404, -0.5476, 0.8014, +-0.025, -0.353125, 0.278125, -0.2404, -0.5476, 0.8014, +-0.046875, -0.334375, 0.284375, -0.2404, -0.5476, 0.8014, +0.046875, -0.334375, 0.284375, 0.3143, -0.3928, 0.8642, +0.09375, -0.365625, 0.253125, 0.3143, -0.3928, 0.8642, +0.10625, -0.328125, 0.265625, 0.3143, -0.3928, 0.8642, +-0.046875, -0.334375, 0.284375, -0.3128, -0.1662, 0.9352, +-0.04375, -0.2875, 0.29375, -0.3128, -0.1662, 0.9352, +-0.10625, -0.328125, 0.265625, -0.3128, -0.1662, 0.9352, +0.084375, -0.178125, 0.284375, 0.2821, -0.0164, 0.9592, +0.03125, -0.178125, 0.3, 0.2821, -0.0164, 0.9592, +0.046875, -0.275, 0.29375, 0.2821, -0.0164, 0.9592, +-0.046875, -0.275, 0.29375, -0.2821, -0.0164, 0.9592, +-0.03125, -0.178125, 0.3, -0.2821, -0.0164, 0.9592, +-0.084375, -0.178125, 0.284375, -0.2821, -0.0164, 0.9592, +0.04375, -0.2875, 0.29375, 0.3273, -0.1432, 0.934, +0.10625, -0.328125, 0.265625, 0.3273, -0.1432, 0.934, +0.1, -0.28125, 0.275, 0.3273, -0.1432, 0.934, +-0.1, -0.28125, 0.275, -0.3273, -0.1432, 0.934, +-0.10625, -0.328125, 0.265625, -0.3273, -0.1432, 0.934, +-0.04375, -0.2875, 0.29375, -0.3273, -0.1432, 0.934, + 0, -0.13125, 0.296875, 0, 0.0665, 0.9978, + 0, -0.178125, 0.3, 0, 0.0665, 0.9978, +0.03125, -0.178125, 0.3, 0, 0.0665, 0.9978, + 0, -0.13125, 0.296875, 0.0232, 0.0511, 0.9984, +-0.034375, -0.115625, 0.296875, 0.0232, 0.0511, 0.9984, +-0.03125, -0.178125, 0.3, 0.0232, 0.0511, 0.9984, +0.03125, -0.178125, 0.3, 0, -0.0665, 0.9978, + 0, -0.178125, 0.3, 0, -0.0665, 0.9978, + 0, -0.271875, 0.29375, 0, -0.0665, 0.9978, +-0.03125, -0.178125, 0.3, 0.0043, -0.0651, 0.9979, +-0.046875, -0.275, 0.29375, 0.0043, -0.0651, 0.9979, + 0, -0.271875, 0.29375, 0.0043, -0.0651, 0.9979, +0.04375, -0.2875, 0.29375, 0, 0, 1, +0.046875, -0.275, 0.29375, 0, 0, 1, + 0, -0.271875, 0.29375, 0, 0, 1, +-0.04375, -0.2875, 0.29375, 0, 0, 1, + 0, -0.30625, 0.29375, 0, 0, 1, + 0, -0.271875, 0.29375, 0, 0, 1, +0.05, -0.090625, 0.3, 0.7826, -0.6087, -0.1304, +0.053125, -0.090625, 0.31875, 0.7826, -0.6087, -0.1304, +0.0375, -0.109375, 0.3125, 0.7826, -0.6087, -0.1304, +-0.0375, -0.109375, 0.3125, -0.7826, -0.6087, -0.1304, +-0.053125, -0.090625, 0.31875, -0.7826, -0.6087, -0.1304, +-0.05, -0.090625, 0.3, -0.7826, -0.6087, -0.1304, +0.040625, -0.059375, 0.296875, 0.9448, 0.1919, -0.2657, +0.04375, -0.053125, 0.3125, 0.9448, 0.1919, -0.2657, +0.053125, -0.090625, 0.31875, 0.9448, 0.1919, -0.2657, +-0.053125, -0.090625, 0.31875, -0.9448, 0.1919, -0.2657, +-0.04375, -0.053125, 0.3125, -0.9448, 0.1919, -0.2657, +-0.040625, -0.059375, 0.296875, -0.9448, 0.1919, -0.2657, +0.015625, -0.05, 0.3125, 0.1018, 0.9165, -0.387, +0.04375, -0.053125, 0.3125, 0.1018, 0.9165, -0.387, +0.040625, -0.059375, 0.296875, 0.1018, 0.9165, -0.387, +-0.015625, -0.05, 0.3125, -0.0693, 0.9004, -0.4294, + 0, -0.05625, 0.296875, -0.0693, 0.9004, -0.4294, +-0.040625, -0.059375, 0.296875, -0.0693, 0.9004, -0.4294, + 0, -0.075, 0.31875, -0.6905, 0.5492, 0.4708, +0.015625, -0.05, 0.3125, -0.6905, 0.5492, 0.4708, + 0, -0.05625, 0.296875, -0.6905, 0.5492, 0.4708, + 0, -0.075, 0.31875, 1, 0, 0, + 0, -0.078125, 0.3, 1, 0, 0, + 0, -0.05625, 0.296875, 1, 0, 0, +0.034375, -0.115625, 0.296875, 0.4319, -0.8639, 0.2592, +0.0375, -0.109375, 0.3125, 0.4319, -0.8639, 0.2592, + 0, -0.128125, 0.3125, 0.4319, -0.8639, 0.2592, +-0.034375, -0.115625, 0.296875, -0.4071, -0.8956, 0.1791, + 0, -0.13125, 0.296875, -0.4071, -0.8956, 0.1791, + 0, -0.128125, 0.3125, -0.4071, -0.8956, 0.1791, +0.0375, -0.109375, 0.3125, 0.2873, -0.5747, 0.7663, +0.03125, -0.1, 0.321875, 0.2873, -0.5747, 0.7663, + 0, -0.115625, 0.321875, 0.2873, -0.5747, 0.7663, +-0.0375, -0.109375, 0.3125, -0.2873, -0.5747, 0.7663, + 0, -0.128125, 0.3125, -0.2873, -0.5747, 0.7663, + 0, -0.115625, 0.321875, -0.2873, -0.5747, 0.7663, + 0, -0.075, 0.31875, -0.6667, 0.6667, 0.3333, + 0, -0.08125, 0.33125, -0.6667, 0.6667, 0.3333, +0.01875, -0.059375, 0.325, -0.6667, 0.6667, 0.3333, +-0.01875, -0.059375, 0.325, 0.6667, 0.6667, 0.3333, + 0, -0.08125, 0.33125, 0.6667, 0.6667, 0.3333, + 0, -0.075, 0.31875, 0.6667, 0.6667, 0.3333, +0.015625, -0.05, 0.3125, 0.1348, 0.8086, 0.5727, +0.01875, -0.059375, 0.325, 0.1348, 0.8086, 0.5727, +0.0375, -0.0625, 0.325, 0.1348, 0.8086, 0.5727, +-0.0375, -0.0625, 0.325, -0.1348, 0.8086, 0.5727, +-0.01875, -0.059375, 0.325, -0.1348, 0.8086, 0.5727, +-0.015625, -0.05, 0.3125, -0.1348, 0.8086, 0.5727, +0.0375, -0.0625, 0.325, 0.7639, 0.2971, 0.5729, +0.04375, -0.090625, 0.33125, 0.7639, 0.2971, 0.5729, +0.053125, -0.090625, 0.31875, 0.7639, 0.2971, 0.5729, +-0.0375, -0.0625, 0.325, -0.7532, 0.287, 0.5918, +-0.04375, -0.053125, 0.3125, -0.7532, 0.287, 0.5918, +-0.053125, -0.090625, 0.31875, -0.7532, 0.287, 0.5918, +0.053125, -0.090625, 0.31875, 0.4116, -0.8575, 0.3087, +0.04375, -0.090625, 0.33125, 0.4116, -0.8575, 0.3087, +0.03125, -0.1, 0.321875, 0.4116, -0.8575, 0.3087, +-0.03125, -0.1, 0.321875, -0.4116, -0.8575, 0.3087, +-0.04375, -0.090625, 0.33125, -0.4116, -0.8575, 0.3087, +-0.053125, -0.090625, 0.31875, -0.4116, -0.8575, 0.3087, +0.04375, -0.090625, 0.33125, 0.0375, 0.2247, 0.9737, +0.0375, -0.0625, 0.325, 0.0375, 0.2247, 0.9737, +0.01875, -0.059375, 0.325, 0.0375, 0.2247, 0.9737, +-0.04375, -0.090625, 0.33125, -0.0502, 0.2343, 0.9709, + 0, -0.08125, 0.33125, -0.0502, 0.2343, 0.9709, +-0.01875, -0.059375, 0.325, -0.0502, 0.2343, 0.9709, + 0, -0.08125, 0.33125, 0.1304, -0.2609, 0.9565, + 0, -0.115625, 0.321875, 0.1304, -0.2609, 0.9565, +0.03125, -0.1, 0.321875, 0.1304, -0.2609, 0.9565, +-0.03125, -0.1, 0.321875, -0.1304, -0.2609, 0.9565, + 0, -0.115625, 0.321875, -0.1304, -0.2609, 0.9565, + 0, -0.08125, 0.33125, -0.1304, -0.2609, 0.9565, + 0, -0.05625, 0.296875, -0.0631, -0.8206, 0.5681, +0.040625, -0.059375, 0.296875, -0.0631, -0.8206, 0.5681, +0.05, -0.040625, 0.325, -0.0631, -0.8206, 0.5681, +-0.05, -0.040625, 0.325, 0.0631, -0.8206, 0.5681, +-0.040625, -0.059375, 0.296875, 0.0631, -0.8206, 0.5681, + 0, -0.05625, 0.296875, 0.0631, -0.8206, 0.5681, +0.040625, -0.059375, 0.296875, 0.7325, 0.2817, 0.6198, +0.05, -0.090625, 0.3, 0.7325, 0.2817, 0.6198, +0.065625, -0.096875, 0.284375, 0.7325, 0.2817, 0.6198, +-0.065625, -0.096875, 0.284375, -0.7325, 0.2817, 0.6198, +-0.05, -0.090625, 0.3, -0.7325, 0.2817, 0.6198, +-0.040625, -0.059375, 0.296875, -0.7325, 0.2817, 0.6198, +0.034375, -0.115625, 0.296875, 0.3319, 0.0738, 0.9404, +0.071875, -0.125, 0.284375, 0.3319, 0.0738, 0.9404, +0.065625, -0.096875, 0.284375, 0.3319, 0.0738, 0.9404, +-0.034375, -0.115625, 0.296875, -0.546, -0.431, 0.7184, +-0.05, -0.090625, 0.3, -0.546, -0.431, 0.7184, +-0.065625, -0.096875, 0.284375, -0.546, -0.431, 0.7184, +0.03125, -0.178125, 0.3, 0.2815, 0.0662, 0.9573, +0.084375, -0.178125, 0.284375, 0.2815, 0.0662, 0.9573, +0.071875, -0.125, 0.284375, 0.2815, 0.0662, 0.9573, +-0.03125, -0.178125, 0.3, -0.3231, 0.0311, 0.9459, +-0.034375, -0.115625, 0.296875, -0.3231, 0.0311, 0.9459, +-0.071875, -0.125, 0.284375, -0.3231, 0.0311, 0.9459, +0.103125, -0.125, 0.221875, 0.8753, 0.2059, 0.4376, +0.071875, -0.125, 0.284375, 0.8753, 0.2059, 0.4376, +0.084375, -0.178125, 0.284375, 0.8753, 0.2059, 0.4376, +-0.103125, -0.125, 0.221875, -0.7357, 0.391, 0.5531, +-0.125, -0.175, 0.228125, -0.7357, 0.391, 0.5531, +-0.084375, -0.178125, 0.284375, -0.7357, 0.391, 0.5531, +0.09375, -0.1, 0.221875, 0.8973, 0.1994, 0.3938, +0.065625, -0.096875, 0.284375, 0.8973, 0.1994, 0.3938, +0.071875, -0.125, 0.284375, 0.8973, 0.1994, 0.3938, +-0.09375, -0.1, 0.221875, -0.848, 0.318, 0.424, +-0.103125, -0.125, 0.221875, -0.848, 0.318, 0.424, +-0.071875, -0.125, 0.284375, -0.848, 0.318, 0.424, +0.08125, -0.075, 0.225, 0.9586, 0.0664, 0.2767, +0.05, -0.040625, 0.325, 0.9586, 0.0664, 0.2767, +0.065625, -0.096875, 0.284375, 0.9586, 0.0664, 0.2767, +-0.065625, -0.096875, 0.284375, -0.9586, 0.0664, 0.2767, +-0.05, -0.040625, 0.325, -0.9586, 0.0664, 0.2767, +-0.08125, -0.075, 0.225, -0.9586, 0.0664, 0.2767, + 0, -0.30625, 0.29375, 0.2524, -0.8655, 0.4327, + 0, -0.309375, 0.2875, 0.2524, -0.8655, 0.4327, +0.0375, -0.296875, 0.290625, 0.2524, -0.8655, 0.4327, + 0, -0.30625, 0.29375, -0.1783, -0.4161, 0.8917, +-0.04375, -0.2875, 0.29375, -0.1783, -0.4161, 0.8917, +-0.0375, -0.296875, 0.290625, -0.1783, -0.4161, 0.8917, +0.046875, -0.334375, 0.284375, -0.1751, -0.2043, 0.9631, +0.04375, -0.2875, 0.29375, -0.1751, -0.2043, 0.9631, +0.0375, -0.296875, 0.290625, -0.1751, -0.2043, 0.9631, +-0.0375, -0.296875, 0.290625, 0.1751, -0.2043, 0.9631, +-0.04375, -0.2875, 0.29375, 0.1751, -0.2043, 0.9631, +-0.046875, -0.334375, 0.284375, 0.1751, -0.2043, 0.9631, +0.025, -0.353125, 0.278125, -0.1219, -0.1829, 0.9755, +0.046875, -0.334375, 0.284375, -0.1219, -0.1829, 0.9755, +0.0375, -0.328125, 0.284375, -0.1219, -0.1829, 0.9755, +-0.0375, -0.328125, 0.284375, 0.1219, -0.1829, 0.9755, +-0.046875, -0.334375, 0.284375, 0.1219, -0.1829, 0.9755, +-0.025, -0.353125, 0.278125, 0.1219, -0.1829, 0.9755, + 0, -0.35625, 0.275, -0.1562, 0.3123, 0.937, +0.025, -0.353125, 0.278125, -0.1562, 0.3123, 0.937, +0.01875, -0.346875, 0.275, -0.1562, 0.3123, 0.937, +-0.01875, -0.346875, 0.275, 0.1562, 0.3123, 0.937, +-0.025, -0.353125, 0.278125, 0.1562, 0.3123, 0.937, + 0, -0.35625, 0.275, 0.1562, 0.3123, 0.937, +0.01875, -0.346875, 0.275, -0.1582, 0.9494, 0.2713, +0.01875, -0.340625, 0.253125, -0.1582, 0.9494, 0.2713, + 0, -0.34375, 0.253125, -0.1582, 0.9494, 0.2713, +-0.01875, -0.346875, 0.275, 0.1582, 0.9494, 0.2713, + 0, -0.35, 0.275, 0.1582, 0.9494, 0.2713, + 0, -0.34375, 0.253125, 0.1582, 0.9494, 0.2713, +0.01875, -0.346875, 0.275, -0.7238, 0.6857, 0.0762, +0.0375, -0.328125, 0.284375, -0.7238, 0.6857, 0.0762, +0.0375, -0.325, 0.25625, -0.7238, 0.6857, 0.0762, +-0.0375, -0.325, 0.25625, 0.7238, 0.6857, 0.0762, +-0.0375, -0.328125, 0.284375, 0.7238, 0.6857, 0.0762, +-0.01875, -0.346875, 0.275, 0.7238, 0.6857, 0.0762, +0.0375, -0.328125, 0.284375, -1, 0, 0, +0.0375, -0.296875, 0.290625, -1, 0, 0, +0.0375, -0.3, 0.265625, -1, 0, 0, +-0.0375, -0.3, 0.265625, 1, 0, 0, +-0.0375, -0.296875, 0.290625, 1, 0, 0, +-0.0375, -0.328125, 0.284375, 1, 0, 0, + 0, -0.309375, 0.2875, 0.3051, -0.945, 0.1181, + 0, -0.3125, 0.2625, 0.3051, -0.945, 0.1181, +0.0375, -0.3, 0.265625, 0.3051, -0.945, 0.1181, + 0, -0.309375, 0.2875, -0.3051, -0.945, 0.1181, +-0.0375, -0.296875, 0.290625, -0.3051, -0.945, 0.1181, +-0.0375, -0.3, 0.265625, -0.3051, -0.945, 0.1181, + 0, -0.3125, 0.2625, 0.0478, -0.287, 0.9567, + 0, -0.34375, 0.253125, 0.0478, -0.287, 0.9567, +0.01875, -0.340625, 0.253125, 0.0478, -0.287, 0.9567, +-0.01875, -0.340625, 0.253125, -0.0478, -0.287, 0.9567, + 0, -0.34375, 0.253125, -0.0478, -0.287, 0.9567, + 0, -0.3125, 0.2625, -0.0478, -0.287, 0.9567, +0.053125, 0.084375, 0.303125, -0.5488, -0.3293, 0.7684, +0.065625, 0.05625, 0.3, -0.5488, -0.3293, 0.7684, +0.075, 0.0625, 0.309375, -0.5488, -0.3293, 0.7684, +-0.075, 0.0625, 0.309375, 0.5488, -0.3293, 0.7684, +-0.065625, 0.05625, 0.3, 0.5488, -0.3293, 0.7684, +-0.053125, 0.084375, 0.303125, 0.5488, -0.3293, 0.7684, +0.05, 0.121875, 0.30625, -0.4945, -0.113, 0.8618, +0.053125, 0.084375, 0.303125, -0.4945, -0.113, 0.8618, +0.06875, 0.0875, 0.3125, -0.4945, -0.113, 0.8618, +-0.06875, 0.0875, 0.3125, 0.4945, -0.113, 0.8618, +-0.053125, 0.084375, 0.303125, 0.4945, -0.113, 0.8618, +-0.05, 0.121875, 0.30625, 0.4945, -0.113, 0.8618, +0.05, 0.121875, 0.30625, -0.2595, 0.1038, 0.9601, +0.071875, 0.11875, 0.3125, -0.2595, 0.1038, 0.9601, +0.084375, 0.15, 0.3125, -0.2595, 0.1038, 0.9601, +-0.05, 0.121875, 0.30625, 0.1717, -0.009, 0.9851, +-0.065625, 0.165625, 0.309375, 0.1717, -0.009, 0.9851, +-0.084375, 0.15, 0.3125, 0.1717, -0.009, 0.9851, +0.08125, 0.0375, 0.296875, -0.6684, -0.4595, 0.5849, +0.090625, 0.04375, 0.3125, -0.6684, -0.4595, 0.5849, +0.075, 0.0625, 0.309375, -0.6684, -0.4595, 0.5849, +-0.08125, 0.0375, 0.296875, 0.4332, -0.4874, 0.7581, +-0.065625, 0.05625, 0.3, 0.4332, -0.4874, 0.7581, +-0.075, 0.0625, 0.309375, 0.4332, -0.4874, 0.7581, +0.08125, 0.0375, 0.296875, -0.1156, -0.6359, 0.7631, +0.15, 0.00625, 0.28125, -0.1156, -0.6359, 0.7631, +0.15, 0.025, 0.296875, -0.1156, -0.6359, 0.7631, +-0.15, 0.025, 0.296875, 0.1156, -0.6359, 0.7631, +-0.15, 0.00625, 0.28125, 0.1156, -0.6359, 0.7631, +-0.08125, 0.0375, 0.296875, 0.1156, -0.6359, 0.7631, +0.15, 0.00625, 0.28125, 0.4242, -0.6211, 0.659, +0.196875, 0.025, 0.26875, 0.4242, -0.6211, 0.659, +0.190625, 0.040625, 0.2875, 0.4242, -0.6211, 0.659, +-0.190625, 0.040625, 0.2875, -0.4242, -0.6211, 0.659, +-0.196875, 0.025, 0.26875, -0.4242, -0.6211, 0.659, +-0.15, 0.00625, 0.28125, -0.4242, -0.6211, 0.659, +0.196875, 0.025, 0.26875, 0.4767, -0.3557, 0.8039, +0.25, 0.075, 0.259375, 0.4767, -0.3557, 0.8039, +0.23125, 0.078125, 0.271875, 0.4767, -0.3557, 0.8039, +-0.23125, 0.078125, 0.271875, -0.4767, -0.3557, 0.8039, +-0.25, 0.075, 0.259375, -0.4767, -0.3557, 0.8039, +-0.196875, 0.025, 0.26875, -0.4767, -0.3557, 0.8039, +0.25, 0.075, 0.259375, 0.5871, -0.0839, 0.8052, +0.25625, 0.11875, 0.259375, 0.5871, -0.0839, 0.8052, +0.234375, 0.115625, 0.275, 0.5871, -0.0839, 0.8052, +-0.234375, 0.115625, 0.275, -0.5871, -0.0839, 0.8052, +-0.25625, 0.11875, 0.259375, -0.5871, -0.0839, 0.8052, +-0.25, 0.075, 0.259375, -0.5871, -0.0839, 0.8052, +0.240625, 0.15, 0.265625, 0.5774, 0.1155, 0.8083, +0.225, 0.140625, 0.278125, 0.5774, 0.1155, 0.8083, +0.234375, 0.115625, 0.275, 0.5774, 0.1155, 0.8083, +-0.240625, 0.15, 0.265625, -0.5657, 0.1197, 0.8159, +-0.25625, 0.11875, 0.259375, -0.5657, 0.1197, 0.8159, +-0.234375, 0.115625, 0.275, -0.5657, 0.1197, 0.8159, +0.171875, 0.175, 0.2875, 0.5214, 0.6574, 0.5441, +0.16875, 0.159375, 0.309375, 0.5214, 0.6574, 0.5441, +0.225, 0.140625, 0.278125, 0.5214, 0.6574, 0.5441, +-0.171875, 0.175, 0.2875, -0.4082, 0.4082, 0.8165, +-0.240625, 0.15, 0.265625, -0.4082, 0.4082, 0.8165, +-0.225, 0.140625, 0.278125, -0.4082, 0.4082, 0.8165, +0.171875, 0.175, 0.2875, 0.3358, 0.3478, 0.8754, +0.13125, 0.190625, 0.296875, 0.3358, 0.3478, 0.8754, +0.134375, 0.171875, 0.303125, 0.3358, 0.3478, 0.8754, +-0.134375, 0.171875, 0.303125, -0.3358, 0.3478, 0.8754, +-0.13125, 0.190625, 0.296875, -0.3358, 0.3478, 0.8754, +-0.171875, 0.175, 0.2875, -0.3358, 0.3478, 0.8754, +0.13125, 0.190625, 0.296875, 0.1452, 0.3774, 0.9146, +0.1, 0.1875, 0.303125, 0.1452, 0.3774, 0.9146, +0.109375, 0.16875, 0.309375, 0.1452, 0.3774, 0.9146, +-0.109375, 0.16875, 0.309375, -0.1452, 0.3774, 0.9146, +-0.1, 0.1875, 0.303125, -0.1452, 0.3774, 0.9146, +-0.13125, 0.190625, 0.296875, -0.1452, 0.3774, 0.9146, +0.1, 0.1875, 0.303125, 0.0301, 0.2306, 0.9726, +0.065625, 0.165625, 0.309375, 0.0301, 0.2306, 0.9726, +0.084375, 0.15, 0.3125, 0.0301, 0.2306, 0.9726, +-0.084375, 0.15, 0.3125, -0.0301, 0.2306, 0.9726, +-0.065625, 0.165625, 0.309375, -0.0301, 0.2306, 0.9726, +-0.1, 0.1875, 0.303125, -0.0301, 0.2306, 0.9726, +0.084375, 0.15, 0.3125, 0.3553, -0.5739, 0.7379, +0.09375, 0.14375, 0.303125, 0.3553, -0.5739, 0.7379, +0.1125, 0.159375, 0.30625, 0.3553, -0.5739, 0.7379, +-0.084375, 0.15, 0.3125, -0.2804, -0.2181, 0.9348, +-0.109375, 0.16875, 0.309375, -0.2804, -0.2181, 0.9348, +-0.1125, 0.159375, 0.30625, -0.2804, -0.2181, 0.9348, +0.134375, 0.171875, 0.303125, 0.2627, -0.2252, 0.9382, +0.109375, 0.16875, 0.309375, 0.2627, -0.2252, 0.9382, +0.1125, 0.159375, 0.30625, 0.2627, -0.2252, 0.9382, +-0.1125, 0.159375, 0.30625, -0.2627, -0.2252, 0.9382, +-0.109375, 0.16875, 0.309375, -0.2627, -0.2252, 0.9382, +-0.134375, 0.171875, 0.303125, -0.2627, -0.2252, 0.9382, +0.134375, 0.171875, 0.303125, -0.0631, -0.3156, 0.9468, +0.134375, 0.1625, 0.3, -0.0631, -0.3156, 0.9468, +0.165625, 0.15625, 0.3, -0.0631, -0.3156, 0.9468, +-0.134375, 0.171875, 0.303125, 0.3766, -0.8339, 0.4035, +-0.16875, 0.159375, 0.309375, 0.3766, -0.8339, 0.4035, +-0.165625, 0.15625, 0.3, 0.3766, -0.8339, 0.4035, +0.16875, 0.159375, 0.309375, -0.2016, -0.9071, 0.3696, +0.165625, 0.15625, 0.3, -0.2016, -0.9071, 0.3696, +0.2125, 0.134375, 0.271875, -0.2016, -0.9071, 0.3696, +-0.16875, 0.159375, 0.309375, -0.0823, -0.7822, 0.6175, +-0.225, 0.140625, 0.278125, -0.0823, -0.7822, 0.6175, +-0.2125, 0.134375, 0.271875, -0.0823, -0.7822, 0.6175, +0.234375, 0.115625, 0.275, -0.3356, -0.2397, 0.911, +0.225, 0.140625, 0.278125, -0.3356, -0.2397, 0.911, +0.2125, 0.134375, 0.271875, -0.3356, -0.2397, 0.911, +-0.2125, 0.134375, 0.271875, 0.3356, -0.2397, 0.911, +-0.225, 0.140625, 0.278125, 0.3356, -0.2397, 0.911, +-0.234375, 0.115625, 0.275, 0.3356, -0.2397, 0.911, +0.234375, 0.115625, 0.275, -0.4568, 0.0508, 0.8881, +0.221875, 0.1125, 0.26875, -0.4568, 0.0508, 0.8881, +0.21875, 0.084375, 0.26875, -0.4568, 0.0508, 0.8881, +-0.234375, 0.115625, 0.275, 0.2692, -0.0577, 0.9614, +-0.23125, 0.078125, 0.271875, 0.2692, -0.0577, 0.9614, +-0.21875, 0.084375, 0.26875, 0.2692, -0.0577, 0.9614, +0.190625, 0.040625, 0.2875, -0.0247, 0.4072, 0.913, +0.23125, 0.078125, 0.271875, -0.0247, 0.4072, 0.913, +0.21875, 0.084375, 0.26875, -0.0247, 0.4072, 0.913, +-0.21875, 0.084375, 0.26875, 0.0247, 0.4072, 0.913, +-0.23125, 0.078125, 0.271875, 0.0247, 0.4072, 0.913, +-0.190625, 0.040625, 0.2875, 0.0247, 0.4072, 0.913, +0.190625, 0.040625, 0.2875, -0.0487, 0.6815, 0.7302, +0.184375, 0.046875, 0.28125, -0.0487, 0.6815, 0.7302, +0.15, 0.034375, 0.290625, -0.0487, 0.6815, 0.7302, +-0.190625, 0.040625, 0.2875, 0.0213, 0.5546, 0.8319, +-0.15, 0.025, 0.296875, 0.0213, 0.5546, 0.8319, +-0.15, 0.034375, 0.290625, 0.0213, 0.5546, 0.8319, +0.15, 0.025, 0.296875, 0.3378, 0.5221, 0.7831, +0.15, 0.034375, 0.290625, 0.3378, 0.5221, 0.7831, +0.096875, 0.05, 0.303125, 0.3378, 0.5221, 0.7831, +-0.15, 0.025, 0.296875, -0.3778, 0.6342, 0.6746, +-0.090625, 0.04375, 0.3125, -0.3778, 0.6342, 0.6746, +-0.096875, 0.05, 0.303125, -0.3778, 0.6342, 0.6746, +0.075, 0.0625, 0.309375, 0.4988, 0.53, 0.6858, +0.090625, 0.04375, 0.3125, 0.4988, 0.53, 0.6858, +0.096875, 0.05, 0.303125, 0.4988, 0.53, 0.6858, +-0.096875, 0.05, 0.303125, -0.4988, 0.53, 0.6858, +-0.090625, 0.04375, 0.3125, -0.4988, 0.53, 0.6858, +-0.075, 0.0625, 0.309375, -0.4988, 0.53, 0.6858, +0.084375, 0.15, 0.3125, 0.7895, -0.3158, 0.5263, +0.071875, 0.11875, 0.3125, 0.7895, -0.3158, 0.5263, +0.078125, 0.11875, 0.303125, 0.7895, -0.3158, 0.5263, +-0.078125, 0.11875, 0.303125, -0.7895, -0.3158, 0.5263, +-0.071875, 0.11875, 0.3125, -0.7895, -0.3158, 0.5263, +-0.084375, 0.15, 0.3125, -0.7895, -0.3158, 0.5263, +0.071875, 0.11875, 0.3125, 0.807, -0.0807, 0.5851, +0.06875, 0.0875, 0.3125, 0.807, -0.0807, 0.5851, +0.078125, 0.090625, 0.3, 0.807, -0.0807, 0.5851, +-0.078125, 0.090625, 0.3, -0.807, -0.0807, 0.5851, +-0.06875, 0.0875, 0.3125, -0.807, -0.0807, 0.5851, +-0.071875, 0.11875, 0.3125, -0.807, -0.0807, 0.5851, +0.06875, 0.0875, 0.3125, 0.7868, 0.121, 0.6052, +0.075, 0.0625, 0.309375, 0.7868, 0.121, 0.6052, +0.08125, 0.06875, 0.3, 0.7868, 0.121, 0.6052, +-0.08125, 0.06875, 0.3, -0.7868, 0.121, 0.6052, +-0.075, 0.0625, 0.309375, -0.7868, 0.121, 0.6052, +-0.06875, 0.0875, 0.3125, -0.7868, 0.121, 0.6052, + 0, 0.171875, 0.296875, -0.6357, 0.6811, -0.3633, +0.025, 0.196875, 0.3, -0.6357, 0.6811, -0.3633, +0.04375, 0.184375, 0.24375, -0.6357, 0.6811, -0.3633, +-0.04375, 0.184375, 0.24375, 0.6357, 0.6811, -0.3633, +-0.025, 0.196875, 0.3, 0.6357, 0.6811, -0.3633, + 0, 0.171875, 0.296875, 0.6357, 0.6811, -0.3633, +0.025, 0.196875, 0.3, -0.8507, 0.365, -0.3783, +0.0625, 0.2875, 0.303125, -0.8507, 0.365, -0.3783, +0.078125, 0.265625, 0.246875, -0.8507, 0.365, -0.3783, +-0.078125, 0.265625, 0.246875, 0.8507, 0.365, -0.3783, +-0.0625, 0.2875, 0.303125, 0.8507, 0.365, -0.3783, +-0.025, 0.196875, 0.3, 0.8507, 0.365, -0.3783, +0.128125, 0.303125, 0.29375, -0.2197, 0.8626, -0.4557, +0.134375, 0.275, 0.2375, -0.2197, 0.8626, -0.4557, +0.078125, 0.265625, 0.246875, -0.2197, 0.8626, -0.4557, +-0.128125, 0.303125, 0.29375, 0.2664, 0.871, -0.4127, +-0.0625, 0.2875, 0.303125, 0.2664, 0.871, -0.4127, +-0.078125, 0.265625, 0.246875, 0.2664, 0.871, -0.4127, +0.196875, 0.240625, 0.275, 0.5914, 0.7489, -0.2991, +0.19375, 0.221875, 0.221875, 0.5914, 0.7489, -0.2991, +0.134375, 0.275, 0.2375, 0.5914, 0.7489, -0.2991, +-0.196875, 0.240625, 0.275, -0.5932, 0.7445, -0.3063, +-0.128125, 0.303125, 0.29375, -0.5932, 0.7445, -0.3063, +-0.134375, 0.275, 0.2375, -0.5932, 0.7445, -0.3063, +0.284375, 0.19375, 0.25, 0.3653, 0.8833, -0.2938, +0.271875, 0.18125, 0.196875, 0.3653, 0.8833, -0.2938, +0.19375, 0.221875, 0.221875, 0.3653, 0.8833, -0.2938, +-0.284375, 0.19375, 0.25, -0.3714, 0.8685, -0.3284, +-0.196875, 0.240625, 0.275, -0.3714, 0.8685, -0.3284, +-0.19375, 0.221875, 0.221875, -0.3714, 0.8685, -0.3284, +0.284375, 0.19375, 0.25, 0.276, 0.9159, -0.2915, +0.34375, 0.171875, 0.2375, 0.276, 0.9159, -0.2915, +0.31875, 0.1625, 0.184375, 0.276, 0.9159, -0.2915, +-0.31875, 0.1625, 0.184375, -0.276, 0.9159, -0.2915, +-0.34375, 0.171875, 0.2375, -0.276, 0.9159, -0.2915, +-0.284375, 0.19375, 0.25, -0.276, 0.9159, -0.2915, +0.33125, 0.059375, 0.178125, 0.7964, 0.1323, -0.5901, +0.309375, 0.065625, 0.15, 0.7964, 0.1323, -0.5901, +0.31875, 0.1625, 0.184375, 0.7964, 0.1323, -0.5901, +-0.33125, 0.059375, 0.178125, -0.8873, 0.1343, -0.4412, +-0.34375, 0.171875, 0.2375, -0.8873, 0.1343, -0.4412, +-0.31875, 0.1625, 0.184375, -0.8873, 0.1343, -0.4412, +0.33125, 0.059375, 0.178125, 0.5442, -0.7524, -0.3712, +0.253125, -0.015625, 0.215625, 0.5442, -0.7524, -0.3712, +0.240625, 0, 0.165625, 0.5442, -0.7524, -0.3712, +-0.240625, 0, 0.165625, -0.5442, -0.7524, -0.3712, +-0.253125, -0.015625, 0.215625, -0.5442, -0.7524, -0.3712, +-0.33125, 0.059375, 0.178125, -0.5442, -0.7524, -0.3712, +0.253125, -0.015625, 0.215625, 0.4027, -0.7323, -0.5492, +0.175, -0.05625, 0.2125, 0.4027, -0.7323, -0.5492, +0.175, -0.0375, 0.1875, 0.4027, -0.7323, -0.5492, +-0.175, -0.0375, 0.1875, -0.4027, -0.7323, -0.5492, +-0.175, -0.05625, 0.2125, -0.4027, -0.7323, -0.5492, +-0.253125, -0.015625, 0.215625, -0.4027, -0.7323, -0.5492, + 0, -0.19375, 0.1125, 0.1649, -0.6644, -0.7289, +0.071875, -0.165625, 0.103125, 0.1649, -0.6644, -0.7289, +0.05, -0.215625, 0.14375, 0.1649, -0.6644, -0.7289, + 0, -0.19375, 0.1125, -0.3617, -0.3858, -0.8487, + 0, -0.228125, 0.128125, -0.3617, -0.3858, -0.8487, +-0.05, -0.215625, 0.14375, -0.3617, -0.3858, -0.8487, + 0, -0.228125, 0.128125, 0.3011, -0.0125, -0.9535, +0.05, -0.215625, 0.14375, 0.3011, -0.0125, -0.9535, +0.05625, -0.303125, 0.146875, 0.3011, -0.0125, -0.9535, + 0, -0.228125, 0.128125, -0.1952, -0.0976, -0.9759, + 0, -0.321875, 0.1375, -0.1952, -0.0976, -0.9759, +-0.05625, -0.303125, 0.146875, -0.1952, -0.0976, -0.9759, + 0, -0.321875, 0.1375, 0.2562, -0.3112, -0.9152, +0.05625, -0.303125, 0.146875, 0.2562, -0.3112, -0.9152, +0.065625, -0.378125, 0.175, 0.2562, -0.3112, -0.9152, + 0, -0.321875, 0.1375, 0.0107, -0.5633, -0.8262, + 0, -0.390625, 0.184375, 0.0107, -0.5633, -0.8262, +-0.065625, -0.378125, 0.175, 0.0107, -0.5633, -0.8262, +0.071875, -0.3875, 0.221875, 0.0779, -0.9948, -0.0663, + 0, -0.39375, 0.23125, 0.0779, -0.9948, -0.0663, + 0, -0.390625, 0.184375, 0.0779, -0.9948, -0.0663, + 0, -0.390625, 0.184375, -0.0779, -0.9948, -0.0663, + 0, -0.39375, 0.23125, -0.0779, -0.9948, -0.0663, +-0.071875, -0.3875, 0.221875, -0.0779, -0.9948, -0.0663, +0.13125, -0.378125, 0.209375, 0.1094, -0.9718, -0.2089, +0.071875, -0.3875, 0.221875, 0.1094, -0.9718, -0.2089, +0.065625, -0.378125, 0.175, 0.1094, -0.9718, -0.2089, +-0.065625, -0.378125, 0.175, -0.1094, -0.9718, -0.209, +-0.071875, -0.3875, 0.221875, -0.1094, -0.9718, -0.209, +-0.13125, -0.378125, 0.209375, -0.1094, -0.9718, -0.209, +0.146875, -0.35625, 0.2125, 0.815, -0.5621, -0.1405, +0.13125, -0.378125, 0.209375, 0.815, -0.5621, -0.1405, +0.13125, -0.365625, 0.159375, 0.815, -0.5621, -0.1405, +-0.13125, -0.365625, 0.159375, -0.815, -0.5621, -0.1405, +-0.13125, -0.378125, 0.209375, -0.815, -0.5621, -0.1405, +-0.146875, -0.35625, 0.2125, -0.815, -0.5621, -0.1405, +0.140625, -0.278125, 0.228125, 0.9358, 0.1396, -0.3236, +0.146875, -0.35625, 0.2125, 0.9358, 0.1396, -0.3236, +0.115625, -0.284375, 0.153125, 0.9358, 0.1396, -0.3236, +-0.115625, -0.284375, 0.153125, -0.9358, 0.1396, -0.3236, +-0.146875, -0.35625, 0.2125, -0.9358, 0.1396, -0.3236, +-0.140625, -0.278125, 0.228125, -0.9358, 0.1396, -0.3236, +0.115625, -0.284375, 0.153125, 0.1132, -0.0274, -0.9932, +0.05625, -0.303125, 0.146875, 0.1132, -0.0274, -0.9932, +0.05, -0.215625, 0.14375, 0.1132, -0.0274, -0.9932, +-0.05, -0.215625, 0.14375, -0.1132, -0.0274, -0.9932, +-0.05625, -0.303125, 0.146875, -0.1132, -0.0274, -0.9932, +-0.115625, -0.284375, 0.153125, -0.1132, -0.0274, -0.9932, +0.13125, -0.365625, 0.159375, -0.1497, -0.3635, -0.9195, +0.065625, -0.378125, 0.175, -0.1497, -0.3635, -0.9195, +0.05625, -0.303125, 0.146875, -0.1497, -0.3635, -0.9195, +-0.13125, -0.365625, 0.159375, -0.1211, -0.053, -0.9912, +-0.115625, -0.284375, 0.153125, -0.1211, -0.053, -0.9912, +-0.05625, -0.303125, 0.146875, -0.1211, -0.053, -0.9912, +0.1, -0.2, 0.15625, 0.3706, -0.678, -0.6349, +0.05, -0.215625, 0.14375, 0.3706, -0.678, -0.6349, +0.071875, -0.165625, 0.103125, 0.3706, -0.678, -0.6349, +-0.1, -0.2, 0.15625, -0.9094, 0.1371, -0.3927, +-0.09375, -0.140625, 0.1625, -0.9094, 0.1371, -0.3927, +-0.071875, -0.165625, 0.103125, -0.9094, 0.1371, -0.3927, +0.125, -0.175, 0.228125, 0.9193, 0.1393, -0.3682, +0.140625, -0.278125, 0.228125, 0.9193, 0.1393, -0.3682, +0.1, -0.2, 0.15625, 0.9193, 0.1393, -0.3682, +-0.1, -0.2, 0.15625, -0.9193, 0.1393, -0.3682, +-0.140625, -0.278125, 0.228125, -0.9193, 0.1393, -0.3682, +-0.125, -0.175, 0.228125, -0.9193, 0.1393, -0.3682, +0.0875, -0.1125, 0.171875, 0.9457, 0.2673, -0.185, +0.084375, -0.090625, 0.1875, 0.9457, 0.2673, -0.185, +0.09375, -0.1, 0.221875, 0.9457, 0.2673, -0.185, +-0.0875, -0.1125, 0.171875, -0.9173, 0.344, -0.2007, +-0.103125, -0.125, 0.221875, -0.9173, 0.344, -0.2007, +-0.09375, -0.1, 0.221875, -0.9173, 0.344, -0.2007, +0.09375, -0.140625, 0.1625, 0.9337, 0.2813, -0.2215, +0.0875, -0.1125, 0.171875, 0.9337, 0.2813, -0.2215, +0.103125, -0.125, 0.221875, 0.9337, 0.2813, -0.2215, +-0.09375, -0.140625, 0.1625, -0.9004, 0.3642, -0.238, +-0.125, -0.175, 0.228125, -0.9004, 0.3642, -0.238, +-0.103125, -0.125, 0.221875, -0.9004, 0.3642, -0.238, +0.09375, -0.1, 0.221875, 0.9501, 0.2455, -0.1922, +0.084375, -0.090625, 0.1875, 0.9501, 0.2455, -0.1922, +0.08125, -0.06875, 0.2, 0.9501, 0.2455, -0.1922, +-0.09375, -0.1, 0.221875, -0.8945, 0.4337, 0.1084, +-0.08125, -0.075, 0.225, -0.8945, 0.4337, 0.1084, +-0.08125, -0.06875, 0.2, -0.8945, 0.4337, 0.1084, +0.08125, -0.06875, 0.2, 0.1835, -0.7864, -0.5898, +0.175, -0.0375, 0.1875, 0.1835, -0.7864, -0.5898, +0.175, -0.05625, 0.2125, 0.1835, -0.7864, -0.5898, +-0.08125, -0.06875, 0.2, -0.1596, -0.9577, -0.2394, +-0.08125, -0.075, 0.225, -0.1596, -0.9577, -0.2394, +-0.175, -0.05625, 0.2125, -0.1596, -0.9577, -0.2394, +0.134375, 0.021875, -0.265625, 0.3727, -0.4759, -0.7966, +0.1375, -0.059375, -0.215625, 0.3727, -0.4759, -0.7966, + 0, -0.078125, -0.26875, 0.3727, -0.4759, -0.7966, +-0.134375, 0.021875, -0.265625, -0.3693, -0.4712, -0.801, + 0, 0.028125, -0.33125, -0.3693, -0.4712, -0.801, + 0, -0.078125, -0.26875, -0.3693, -0.4712, -0.801, +0.1375, -0.059375, -0.215625, 0.3263, -0.8342, -0.4446, +0.11875, -0.125, -0.10625, 0.3263, -0.8342, -0.4446, + 0, -0.153125, -0.140625, 0.3263, -0.8342, -0.4446, +-0.1375, -0.059375, -0.215625, -0.2986, -0.8236, -0.4821, + 0, -0.078125, -0.26875, -0.2986, -0.8236, -0.4821, + 0, -0.153125, -0.140625, -0.2986, -0.8236, -0.4821, + 0, -0.153125, -0.140625, 0.262, -0.9574, -0.1217, +0.11875, -0.125, -0.10625, 0.262, -0.9574, -0.1217, +0.084375, -0.15625, 0.065625, 0.262, -0.9574, -0.1217, +-0.084375, -0.15625, 0.065625, -0.262, -0.9574, -0.1217, +-0.11875, -0.125, -0.10625, -0.262, -0.9574, -0.1217, + 0, -0.153125, -0.140625, -0.262, -0.9574, -0.1217, + 0, -0.184375, 0.075, 0.2996, -0.9443, -0.1362, +0.084375, -0.15625, 0.065625, 0.2996, -0.9443, -0.1362, +0.071875, -0.165625, 0.103125, 0.2996, -0.9443, -0.1362, +-0.071875, -0.165625, 0.103125, -0.2996, -0.9443, -0.1362, +-0.084375, -0.15625, 0.065625, -0.2996, -0.9443, -0.1362, + 0, -0.184375, 0.075, -0.2996, -0.9443, -0.1362, +0.071875, -0.165625, 0.103125, 0.8642, -0.4737, 0.1696, +0.084375, -0.15625, 0.065625, 0.8642, -0.4737, 0.1696, +0.0875, -0.1125, 0.171875, 0.8642, -0.4737, 0.1696, +-0.071875, -0.165625, 0.103125, -0.8305, 0.3333, -0.4463, +-0.09375, -0.140625, 0.1625, -0.8305, 0.3333, -0.4463, +-0.0875, -0.1125, 0.171875, -0.8305, 0.3333, -0.4463, +0.309375, 0.065625, 0.15, 0.6869, -0.6358, 0.3521, +0.240625, 0, 0.165625, 0.6869, -0.6358, 0.3521, +0.29375, -0.01875, 0.028125, 0.6869, -0.6358, 0.3521, +-0.29375, -0.01875, 0.028125, -0.6869, -0.6358, 0.3521, +-0.240625, 0, 0.165625, -0.6869, -0.6358, 0.3521, +-0.309375, 0.065625, 0.15, -0.6869, -0.6358, 0.3521, +0.184375, 0.175, -0.28125, 0.4189, -0.2265, -0.8793, +0.134375, 0.021875, -0.265625, 0.4189, -0.2265, -0.8793, + 0, 0.028125, -0.33125, 0.4189, -0.2265, -0.8793, +-0.184375, 0.175, -0.28125, -0.295, -0.0454, -0.9544, + 0, 0.225, -0.340625, -0.295, -0.0454, -0.9544, + 0, 0.028125, -0.33125, -0.295, -0.0454, -0.9544, +0.18125, 0.340625, 0.09375, 0.1119, 0.9626, 0.2468, +0.18125, 0.371875, -0.028125, 0.1119, 0.9626, 0.2468, + 0, 0.39375, -0.03125, 0.1119, 0.9626, 0.2468, +-0.18125, 0.340625, 0.09375, -0.1272, 0.9658, 0.226, + 0, 0.359375, 0.115625, -0.1272, 0.9658, 0.226, + 0, 0.39375, -0.03125, -0.1272, 0.9658, 0.226, + 0, 0.39375, -0.03125, 0.1208, 0.9734, -0.1947, +0.18125, 0.371875, -0.028125, 0.1208, 0.9734, -0.1947, +0.18125, 0.346875, -0.153125, 0.1208, 0.9734, -0.1947, +-0.18125, 0.346875, -0.153125, -0.1208, 0.9734, -0.1947, +-0.18125, 0.371875, -0.028125, -0.1208, 0.9734, -0.1947, + 0, 0.39375, -0.03125, -0.1208, 0.9734, -0.1947, + 0, 0.359375, -0.21875, 0.314, 0.5711, -0.7585, +0.18125, 0.346875, -0.153125, 0.314, 0.5711, -0.7585, +0.184375, 0.175, -0.28125, 0.314, 0.5711, -0.7585, +-0.184375, 0.175, -0.28125, -0.314, 0.5711, -0.7585, +-0.18125, 0.346875, -0.153125, -0.314, 0.5711, -0.7585, + 0, 0.359375, -0.21875, -0.314, 0.5711, -0.7585, +0.271875, 0.18125, 0.196875, 0.3231, 0.9288, -0.1817, +0.31875, 0.1625, 0.184375, 0.3231, 0.9288, -0.1817, +0.290625, 0.1625, 0.134375, 0.3231, 0.9288, -0.1817, +-0.290625, 0.1625, 0.134375, -0.3231, 0.9288, -0.1817, +-0.31875, 0.1625, 0.184375, -0.3231, 0.9288, -0.1817, +-0.271875, 0.18125, 0.196875, -0.3231, 0.9288, -0.1817, +0.253125, 0.18125, 0.1125, 0.0452, 0.7955, 0.6043, +0.290625, 0.1625, 0.134375, 0.0452, 0.7955, 0.6043, +0.31875, 0.225, 0.05, 0.0452, 0.7955, 0.6043, +-0.31875, 0.225, 0.05, -0.0452, 0.7955, 0.6043, +-0.290625, 0.1625, 0.134375, -0.0452, 0.7955, 0.6043, +-0.253125, 0.18125, 0.1125, -0.0452, 0.7955, 0.6043, +0.25625, 0.28125, 0.021875, 0.6144, 0.7696, 0.1738, +0.31875, 0.225, 0.05, 0.6144, 0.7696, 0.1738, +0.31875, 0.246875, -0.046875, 0.6144, 0.7696, 0.1738, +-0.31875, 0.246875, -0.046875, -0.6144, 0.7696, 0.1738, +-0.31875, 0.225, 0.05, -0.6144, 0.7696, 0.1738, +-0.25625, 0.28125, 0.021875, -0.6144, 0.7696, 0.1738, +0.25625, 0.3, -0.078125, 0.6935, 0.6857, -0.2212, +0.31875, 0.246875, -0.046875, 0.6935, 0.6857, -0.2212, +0.31875, 0.215625, -0.14375, 0.6935, 0.6857, -0.2212, +-0.31875, 0.215625, -0.14375, -0.6935, 0.6857, -0.2212, +-0.31875, 0.246875, -0.046875, -0.6935, 0.6857, -0.2212, +-0.25625, 0.3, -0.078125, -0.6935, 0.6857, -0.2212, +0.246875, 0.13125, -0.234375, 0.6304, 0.2517, -0.7343, +0.25625, 0.271875, -0.178125, 0.6304, 0.2517, -0.7343, +0.31875, 0.215625, -0.14375, 0.6304, 0.2517, -0.7343, +-0.246875, 0.13125, -0.234375, -0.7104, 0.1364, -0.6904, +-0.309375, 0.10625, -0.175, -0.7104, 0.1364, -0.6904, +-0.31875, 0.215625, -0.14375, -0.7104, 0.1364, -0.6904, +0.184375, 0.175, -0.28125, 0.3179, 0.5704, -0.7574, +0.18125, 0.346875, -0.153125, 0.3179, 0.5704, -0.7574, +0.25625, 0.271875, -0.178125, 0.3179, 0.5704, -0.7574, +-0.25625, 0.271875, -0.178125, -0.3179, 0.5704, -0.7574, +-0.18125, 0.346875, -0.153125, -0.3179, 0.5704, -0.7574, +-0.184375, 0.175, -0.28125, -0.3179, 0.5704, -0.7574, +0.18125, 0.346875, -0.153125, 0.6289, 0.7624, -0.1525, +0.18125, 0.371875, -0.028125, 0.6289, 0.7624, -0.1525, +0.25625, 0.3, -0.078125, 0.6289, 0.7624, -0.1525, +-0.25625, 0.3, -0.078125, -0.6289, 0.7624, -0.1525, +-0.18125, 0.371875, -0.028125, -0.6289, 0.7624, -0.1525, +-0.18125, 0.346875, -0.153125, -0.6289, 0.7624, -0.1525, +0.18125, 0.371875, -0.028125, 0.7088, 0.6833, 0.1752, +0.18125, 0.340625, 0.09375, 0.7088, 0.6833, 0.1752, +0.25625, 0.28125, 0.021875, 0.7088, 0.6833, 0.1752, +-0.25625, 0.28125, 0.021875, -0.7088, 0.6833, 0.1752, +-0.18125, 0.340625, 0.09375, -0.7088, 0.6833, 0.1752, +-0.18125, 0.371875, -0.028125, -0.7088, 0.6833, 0.1752, +0.18125, 0.340625, 0.09375, 0.6885, 0.383, 0.6158, +0.184375, 0.209375, 0.171875, 0.6885, 0.383, 0.6158, +0.253125, 0.18125, 0.1125, 0.6885, 0.383, 0.6158, +-0.253125, 0.18125, 0.1125, -0.6885, 0.383, 0.6158, +-0.184375, 0.209375, 0.171875, -0.6885, 0.383, 0.6158, +-0.18125, 0.340625, 0.09375, -0.6885, 0.383, 0.6158, +0.271875, 0.18125, 0.196875, 0.3238, 0.9434, -0.072, +0.253125, 0.18125, 0.1125, 0.3238, 0.9434, -0.072, +0.184375, 0.209375, 0.171875, 0.3238, 0.9434, -0.072, +-0.271875, 0.18125, 0.196875, -0.3669, 0.884, -0.2898, +-0.19375, 0.221875, 0.221875, -0.3669, 0.884, -0.2898, +-0.184375, 0.209375, 0.171875, -0.3669, 0.884, -0.2898, +0.184375, 0.209375, 0.171875, 0.1548, 0.508, 0.8473, +0.18125, 0.340625, 0.09375, 0.1548, 0.508, 0.8473, + 0, 0.359375, 0.115625, 0.1548, 0.508, 0.8473, +-0.184375, 0.209375, 0.171875, -0.2854, 0.6237, 0.7277, + 0, 0.228125, 0.228125, -0.2854, 0.6237, 0.7277, + 0, 0.359375, 0.115625, -0.2854, 0.6237, 0.7277, +0.04375, 0.184375, 0.24375, -0.1819, 0.1145, -0.9766, +0.078125, 0.265625, 0.246875, -0.1819, 0.1145, -0.9766, +0.134375, 0.275, 0.2375, -0.1819, 0.1145, -0.9766, +-0.134375, 0.275, 0.2375, 0.1819, 0.1145, -0.9766, +-0.078125, 0.265625, 0.246875, 0.1819, 0.1145, -0.9766, +-0.04375, 0.184375, 0.24375, 0.1819, 0.1145, -0.9766, +0.04375, 0.184375, 0.24375, -0.2638, 0.9462, -0.1871, +0.19375, 0.221875, 0.221875, -0.2638, 0.9462, -0.1871, +0.184375, 0.209375, 0.171875, -0.2638, 0.9462, -0.1871, +-0.184375, 0.209375, 0.171875, 0.2638, 0.9462, -0.1871, +-0.19375, 0.221875, 0.221875, 0.2638, 0.9462, -0.1871, +-0.04375, 0.184375, 0.24375, 0.2638, 0.9462, -0.1871, +0.309375, 0.065625, 0.15, 0.934, 0.2255, 0.2773, +0.340625, 0.09375, 0.021875, 0.934, 0.2255, 0.2773, +0.290625, 0.1625, 0.134375, 0.934, 0.2255, 0.2773, +-0.309375, 0.065625, 0.15, -0.8681, 0.0893, -0.4883, +-0.31875, 0.1625, 0.184375, -0.8681, 0.0893, -0.4883, +-0.290625, 0.1625, 0.134375, -0.8681, 0.0893, -0.4883, +0.340625, 0.09375, 0.021875, 0.9758, 0.1241, 0.18, +0.34375, 0.128125, -0.01875, 0.9758, 0.1241, 0.18, +0.31875, 0.225, 0.05, 0.9758, 0.1241, 0.18, +-0.31875, 0.225, 0.05, -0.9758, 0.1241, 0.18, +-0.34375, 0.128125, -0.01875, -0.9758, 0.1241, 0.18, +-0.340625, 0.09375, 0.021875, -0.9758, 0.1241, 0.18, +0.34375, 0.128125, -0.01875, 0.9613, 0.1472, -0.233, +0.328125, 0.13125, -0.08125, 0.9613, 0.1472, -0.233, +0.31875, 0.246875, -0.046875, 0.9613, 0.1472, -0.233, +-0.31875, 0.246875, -0.046875, -0.9613, 0.1472, -0.233, +-0.328125, 0.13125, -0.08125, -0.9613, 0.1472, -0.233, +-0.34375, 0.128125, -0.01875, -0.9613, 0.1472, -0.233, +0.31875, 0.215625, -0.14375, 0.9956, 0.0893, -0.0288, +0.31875, 0.246875, -0.046875, 0.9956, 0.0893, -0.0288, +0.328125, 0.13125, -0.08125, 0.9956, 0.0893, -0.0288, +-0.31875, 0.215625, -0.14375, -0.9817, -0.0304, -0.1882, +-0.309375, 0.10625, -0.175, -0.9817, -0.0304, -0.1882, +-0.328125, 0.13125, -0.08125, -0.9817, -0.0304, -0.1882, +0.11875, -0.125, -0.10625, 0.6374, -0.7651, 0.0915, +0.171875, -0.078125, -0.084375, 0.6374, -0.7651, 0.0915, +0.1625, -0.06875, 0.059375, 0.6374, -0.7651, 0.0915, +-0.11875, -0.125, -0.10625, -0.7466, -0.6646, 0.0285, +-0.084375, -0.15625, 0.065625, -0.7466, -0.6646, 0.0285, +-0.1625, -0.06875, 0.059375, -0.7466, -0.6646, 0.0285, +0.1625, -0.06875, 0.059375, 0.372, -0.9244, 0.0845, +0.171875, -0.078125, -0.084375, 0.372, -0.9244, 0.0845, +0.2375, -0.05, -0.065625, 0.372, -0.9244, 0.0845, +-0.1625, -0.06875, 0.059375, -0.3723, -0.9243, 0.0847, +-0.29375, -0.01875, 0.028125, -0.3723, -0.9243, 0.0847, +-0.2375, -0.05, -0.065625, -0.3723, -0.9243, 0.0847, +0.240625, 0, 0.165625, 0.5281, -0.8354, 0.1522, +0.175, -0.0375, 0.1875, 0.5281, -0.8354, 0.1522, +0.1625, -0.06875, 0.059375, 0.5281, -0.8354, 0.1522, +-0.1625, -0.06875, 0.059375, -0.5281, -0.8354, 0.1522, +-0.175, -0.0375, 0.1875, -0.5281, -0.8354, 0.1522, +-0.240625, 0, 0.165625, -0.5281, -0.8354, 0.1522, +0.175, -0.0375, 0.1875, 0.307, -0.5237, 0.7946, +0.084375, -0.090625, 0.1875, 0.307, -0.5237, 0.7946, +0.0875, -0.1125, 0.171875, 0.307, -0.5237, 0.7946, +-0.0875, -0.1125, 0.171875, -0.307, -0.5237, 0.7946, +-0.084375, -0.090625, 0.1875, -0.307, -0.5237, 0.7946, +-0.175, -0.0375, 0.1875, -0.307, -0.5237, 0.7946, +0.25625, -0.003125, -0.171875, 0.5236, -0.329, -0.7859, +0.19375, 0.009375, -0.21875, 0.5236, -0.329, -0.7859, +0.246875, 0.13125, -0.234375, 0.5236, -0.329, -0.7859, +-0.25625, -0.003125, -0.171875, -0.5881, -0.307, -0.7483, +-0.309375, 0.10625, -0.175, -0.5881, -0.307, -0.7483, +-0.246875, 0.13125, -0.234375, -0.5881, -0.307, -0.7483, +0.246875, 0.13125, -0.234375, 0.5396, -0.3343, -0.7727, +0.19375, 0.009375, -0.21875, 0.5396, -0.3343, -0.7727, +0.134375, 0.021875, -0.265625, 0.5396, -0.3343, -0.7727, +-0.246875, 0.13125, -0.234375, -0.4694, -0.24, -0.8498, +-0.184375, 0.175, -0.28125, -0.4694, -0.24, -0.8498, +-0.134375, 0.021875, -0.265625, -0.4694, -0.24, -0.8498, +0.171875, -0.078125, -0.084375, 0.2144, -0.8341, -0.5082, +0.19375, 0.009375, -0.21875, 0.2144, -0.8341, -0.5082, +0.25625, -0.003125, -0.171875, 0.2144, -0.8341, -0.5082, +-0.171875, -0.078125, -0.084375, -0.4463, -0.8452, -0.2941, +-0.2375, -0.05, -0.065625, -0.4463, -0.8452, -0.2941, +-0.25625, -0.003125, -0.171875, -0.4463, -0.8452, -0.2941, +0.1375, -0.059375, -0.215625, 0.7365, -0.6154, -0.2808, +0.19375, 0.009375, -0.21875, 0.7365, -0.6154, -0.2808, +0.171875, -0.078125, -0.084375, 0.7365, -0.6154, -0.2808, +-0.1375, -0.059375, -0.215625, -0.6973, -0.661, -0.2771, +-0.11875, -0.125, -0.10625, -0.6973, -0.661, -0.2771, +-0.171875, -0.078125, -0.084375, -0.6973, -0.661, -0.2771, +0.35625, 0.1625, -0.09375, 0.3244, 0.4867, 0.8111, +0.36875, 0.14375, -0.0875, 0.3244, 0.4867, 0.8111, +0.40625, 0.165625, -0.115625, 0.3244, 0.4867, 0.8111, +-0.35625, 0.1625, -0.09375, -0.3691, 0.2855, 0.8844, +-0.409375, 0.190625, -0.125, -0.3691, 0.2855, 0.8844, +-0.40625, 0.165625, -0.115625, -0.3691, 0.2855, 0.8844, +0.409375, 0.190625, -0.125, 0.4649, 0.2593, 0.8465, +0.40625, 0.165625, -0.115625, 0.4649, 0.2593, 0.8465, +0.475, 0.175, -0.15625, 0.4649, 0.2593, 0.8465, +-0.475, 0.175, -0.15625, -0.4649, 0.2593, 0.8465, +-0.40625, 0.165625, -0.115625, -0.4649, 0.2593, 0.8465, +-0.409375, 0.190625, -0.125, -0.4649, 0.2593, 0.8465, +0.475, 0.175, -0.15625, 0.1817, -0.0079, 0.9833, +0.50625, 0.115625, -0.1625, 0.1817, -0.0079, 0.9833, +0.540625, 0.128125, -0.16875, 0.1817, -0.0079, 0.9833, +-0.475, 0.175, -0.15625, -0.3188, 0.1993, 0.9266, +-0.49375, 0.203125, -0.16875, -0.3188, 0.1993, 0.9266, +-0.540625, 0.128125, -0.16875, -0.3188, 0.1993, 0.9266, +0.50625, 0.115625, -0.1625, 0.2925, -0.0758, 0.9533, +0.484375, 0.03125, -0.1625, 0.2925, -0.0758, 0.9533, +0.5125, 0.021875, -0.171875, 0.2925, -0.0758, 0.9533, +-0.50625, 0.115625, -0.1625, -0.2076, -0.0836, 0.9746, +-0.540625, 0.128125, -0.16875, -0.2076, -0.0836, 0.9746, +-0.5125, 0.021875, -0.171875, -0.2076, -0.0836, 0.9746, +0.484375, 0.03125, -0.1625, 0.5847, -0.2198, 0.7809, +0.4125, -0.015625, -0.121875, 0.5847, -0.2198, 0.7809, +0.415625, -0.040625, -0.13125, 0.5847, -0.2198, 0.7809, +-0.484375, 0.03125, -0.1625, -0.3398, 0.0824, 0.9369, +-0.5125, 0.021875, -0.171875, -0.3398, 0.0824, 0.9369, +-0.415625, -0.040625, -0.13125, -0.3398, 0.0824, 0.9369, +0.415625, -0.040625, -0.13125, 0.6509, -0.1939, 0.734, +0.4125, -0.015625, -0.121875, 0.6509, -0.1939, 0.734, +0.33125, -0.028125, -0.053125, 0.6509, -0.1939, 0.734, +-0.33125, -0.028125, -0.053125, -0.6509, -0.1939, 0.734, +-0.4125, -0.015625, -0.121875, -0.6509, -0.1939, 0.734, +-0.415625, -0.040625, -0.13125, -0.6509, -0.1939, 0.734, +0.4125, -0.015625, -0.121875, 0.4075, 0.7506, 0.5201, +0.415625, 0, -0.146875, 0.4075, 0.7506, 0.5201, +0.353125, -0.009375, -0.084375, 0.4075, 0.7506, 0.5201, +-0.353125, -0.009375, -0.084375, -0.4075, 0.7506, 0.5201, +-0.415625, 0, -0.146875, -0.4075, 0.7506, 0.5201, +-0.4125, -0.015625, -0.121875, -0.4075, 0.7506, 0.5201, +0.484375, 0.03125, -0.1625, -0.2655, 0.8296, 0.4911, +0.475, 0.0375, -0.178125, -0.2655, 0.8296, 0.4911, +0.415625, 0, -0.146875, -0.2655, 0.8296, 0.4911, +-0.415625, 0, -0.146875, 0.2655, 0.8296, 0.4911, +-0.475, 0.0375, -0.178125, 0.2655, 0.8296, 0.4911, +-0.484375, 0.03125, -0.1625, 0.2655, 0.8296, 0.4911, +0.49375, 0.1, -0.178125, -0.7885, 0.2366, 0.5677, +0.475, 0.0375, -0.178125, -0.7885, 0.2366, 0.5677, +0.484375, 0.03125, -0.1625, -0.7885, 0.2366, 0.5677, +-0.49375, 0.1, -0.178125, 0.8576, 0.2223, 0.4637, +-0.50625, 0.115625, -0.1625, 0.8576, 0.2223, 0.4637, +-0.484375, 0.03125, -0.1625, 0.8576, 0.2223, 0.4637, +0.46875, 0.14375, -0.175, -0.5242, -0.3548, 0.7742, +0.49375, 0.1, -0.178125, -0.5242, -0.3548, 0.7742, +0.50625, 0.115625, -0.1625, -0.5242, -0.3548, 0.7742, +-0.46875, 0.14375, -0.175, 0.5257, -0.3579, 0.7717, +-0.475, 0.175, -0.15625, 0.5257, -0.3579, 0.7717, +-0.50625, 0.115625, -0.1625, 0.5257, -0.3579, 0.7717, +0.409375, 0.1375, -0.14375, 0.439, -0.5252, 0.729, +0.46875, 0.14375, -0.175, 0.439, -0.5252, 0.729, +0.475, 0.175, -0.15625, 0.439, -0.5252, 0.729, +-0.409375, 0.1375, -0.14375, -0.4663, -0.5991, 0.6509, +-0.40625, 0.165625, -0.115625, -0.4663, -0.5991, 0.6509, +-0.475, 0.175, -0.15625, -0.4663, -0.5991, 0.6509, +0.40625, 0.165625, -0.115625, 0.6888, -0.4428, 0.574, +0.36875, 0.14375, -0.0875, 0.6888, -0.4428, 0.574, +0.378125, 0.121875, -0.115625, 0.6888, -0.4428, 0.574, +-0.378125, 0.121875, -0.115625, -0.6888, -0.4428, 0.574, +-0.36875, 0.14375, -0.0875, -0.6888, -0.4428, 0.574, +-0.40625, 0.165625, -0.115625, -0.6888, -0.4428, 0.574, +0.2375, -0.05, -0.065625, 0.6302, -0.7658, 0.1282, +0.2875, -0.009375, -0.06875, 0.6302, -0.7658, 0.1282, +0.290625, 0, -0.028125, 0.6302, -0.7658, 0.1282, +-0.2375, -0.05, -0.065625, -0.7507, -0.6131, -0.2461, +-0.29375, -0.01875, 0.028125, -0.7507, -0.6131, -0.2461, +-0.290625, 0, -0.028125, -0.7507, -0.6131, -0.2461, +0.309375, -0.05625, -0.05, -0.2175, 0.2733, 0.937, +0.33125, -0.028125, -0.053125, -0.2175, 0.2733, 0.937, +0.2875, -0.009375, -0.06875, -0.2175, 0.2733, 0.937, +-0.309375, -0.05625, -0.05, 0.1788, 0.2923, 0.9395, +-0.2375, -0.05, -0.065625, 0.1788, 0.2923, 0.9395, +-0.2875, -0.009375, -0.06875, 0.1788, 0.2923, 0.9395, +0.340625, 0.09375, 0.021875, 0.9046, -0.3869, -0.1792, +0.29375, -0.01875, 0.028125, 0.9046, -0.3869, -0.1792, +0.290625, 0, -0.028125, 0.9046, -0.3869, -0.1792, +-0.290625, 0, -0.028125, -0.9046, -0.3869, -0.1792, +-0.29375, -0.01875, 0.028125, -0.9046, -0.3869, -0.1792, +-0.340625, 0.09375, 0.021875, -0.9046, -0.3869, -0.1792, +0.328125, 0.13125, -0.08125, 0.1782, -0.0891, 0.98, +0.3375, 0.115625, -0.084375, 0.1782, -0.0891, 0.98, +0.36875, 0.14375, -0.0875, 0.1782, -0.0891, 0.98, +-0.36875, 0.14375, -0.0875, -0.1782, -0.0891, 0.98, +-0.3375, 0.115625, -0.084375, -0.1782, -0.0891, 0.98, +-0.328125, 0.13125, -0.08125, -0.1782, -0.0891, 0.98, +0.33125, -0.028125, -0.053125, -0.2335, 0.8972, 0.3749, +0.353125, -0.009375, -0.084375, -0.2335, 0.8972, 0.3749, +0.325, -0.00625, -0.109375, -0.2335, 0.8972, 0.3749, +-0.325, -0.00625, -0.109375, 0.2335, 0.8972, 0.3749, +-0.353125, -0.009375, -0.084375, 0.2335, 0.8972, 0.3749, +-0.33125, -0.028125, -0.053125, 0.2335, 0.8972, 0.3749, +0.2875, 0.015625, -0.075, 0.7177, 0.1689, 0.6755, +0.2875, -0.009375, -0.06875, 0.7177, 0.1689, 0.6755, +0.325, -0.00625, -0.109375, 0.7177, 0.1689, 0.6755, +-0.2875, 0.015625, -0.075, -0.448, -0.448, 0.7737, +-0.3375, 0.00625, -0.109375, -0.448, -0.448, 0.7737, +-0.325, -0.00625, -0.109375, -0.448, -0.448, 0.7737, +0.303125, 0.0375, -0.109375, 0.5313, 0.5844, 0.6134, +0.2875, 0.015625, -0.075, 0.5313, 0.5844, 0.6134, +0.3375, 0.00625, -0.109375, 0.5313, 0.5844, 0.6134, +-0.3375, 0.00625, -0.109375, -0.5313, 0.5844, 0.6134, +-0.2875, 0.015625, -0.075, -0.5313, 0.5844, 0.6134, +-0.303125, 0.0375, -0.109375, -0.5313, 0.5844, 0.6134, +0.31875, 0.08125, -0.084375, 0.9008, -0.4075, 0.1501, +0.2875, 0.015625, -0.075, 0.9008, -0.4075, 0.1501, +0.303125, 0.0375, -0.109375, 0.9008, -0.4075, 0.1501, +-0.31875, 0.08125, -0.084375, -0.5534, -0.5534, 0.6225, +-0.334375, 0.06875, -0.109375, -0.5534, -0.5534, 0.6225, +-0.303125, 0.0375, -0.109375, -0.5534, -0.5534, 0.6225, +0.31875, 0.08125, -0.084375, 0.5815, -0.5217, 0.6243, +0.334375, 0.06875, -0.109375, 0.5815, -0.5217, 0.6243, +0.35625, 0.096875, -0.10625, 0.5815, -0.5217, 0.6243, +-0.31875, 0.08125, -0.084375, -0.5724, -0.3122, 0.7582, +-0.3375, 0.115625, -0.084375, -0.5724, -0.3122, 0.7582, +-0.35625, 0.096875, -0.10625, -0.5724, -0.3122, 0.7582, +0.3375, 0.115625, -0.084375, 0.6138, -0.2571, 0.7465, +0.35625, 0.096875, -0.10625, 0.6138, -0.2571, 0.7465, +0.378125, 0.121875, -0.115625, 0.6138, -0.2571, 0.7465, +-0.3375, 0.115625, -0.084375, -0.5597, -0.5533, 0.6169, +-0.36875, 0.14375, -0.0875, -0.5597, -0.5533, 0.6169, +-0.378125, 0.121875, -0.115625, -0.5597, -0.5533, 0.6169, +0.34375, 0.128125, -0.01875, 0.8779, -0.4788, 0.0076, +0.31875, 0.08125, -0.084375, 0.8779, -0.4788, 0.0076, +0.3375, 0.115625, -0.084375, 0.8779, -0.4788, 0.0076, +-0.3375, 0.115625, -0.084375, -0.8779, -0.4788, 0.0076, +-0.31875, 0.08125, -0.084375, -0.8779, -0.4788, 0.0076, +-0.34375, 0.128125, -0.01875, -0.8779, -0.4788, 0.0076, +0.290625, 0, -0.028125, 0.8717, -0.4446, -0.2063, +0.2875, 0.015625, -0.075, 0.8717, -0.4446, -0.2063, +0.31875, 0.08125, -0.084375, 0.8717, -0.4446, -0.2063, +-0.290625, 0, -0.028125, -0.9227, -0.3765, -0.0825, +-0.34375, 0.128125, -0.01875, -0.9227, -0.3765, -0.0825, +-0.31875, 0.08125, -0.084375, -0.9227, -0.3765, -0.0825, +0.378125, 0.121875, -0.115625, 0.7661, -0.6363, 0.0909, +0.35625, 0.096875, -0.10625, 0.7661, -0.6363, 0.0909, +0.35625, 0.09375, -0.128125, 0.7661, -0.6363, 0.0909, +-0.35625, 0.09375, -0.128125, -0.7661, -0.6363, 0.0909, +-0.35625, 0.096875, -0.10625, -0.7661, -0.6363, 0.0909, +-0.378125, 0.121875, -0.115625, -0.7661, -0.6363, 0.0909, +0.334375, 0.06875, -0.109375, 0.793, -0.5947, 0.1322, +0.3375, 0.06875, -0.128125, 0.793, -0.5947, 0.1322, +0.35625, 0.09375, -0.128125, 0.793, -0.5947, 0.1322, +-0.334375, 0.06875, -0.109375, -0.7815, -0.6176, 0.0882, +-0.35625, 0.096875, -0.10625, -0.7815, -0.6176, 0.0882, +-0.35625, 0.09375, -0.128125, -0.7815, -0.6176, 0.0882, +0.334375, 0.06875, -0.109375, 0.7022, -0.7022, 0.117, +0.303125, 0.0375, -0.109375, 0.7022, -0.7022, 0.117, +0.30625, 0.0375, -0.128125, 0.7022, -0.7022, 0.117, +-0.30625, 0.0375, -0.128125, -0.7022, -0.7022, 0.117, +-0.303125, 0.0375, -0.109375, -0.7022, -0.7022, 0.117, +-0.334375, 0.06875, -0.109375, -0.7022, -0.7022, 0.117, +0.328125, 0.034375, -0.109375, 0.2408, 0.9631, -0.1204, +0.33125, 0.03125, -0.128125, 0.2408, 0.9631, -0.1204, +0.30625, 0.0375, -0.128125, 0.2408, 0.9631, -0.1204, +-0.328125, 0.034375, -0.109375, -0.124, 0.9921, 0.0207, +-0.303125, 0.0375, -0.109375, -0.124, 0.9921, 0.0207, +-0.30625, 0.0375, -0.128125, -0.124, 0.9921, 0.0207, +0.3375, 0.00625, -0.109375, 0.9251, 0.3469, 0.1542, +0.340625, 0.00625, -0.128125, 0.9251, 0.3469, 0.1542, +0.33125, 0.03125, -0.128125, 0.9251, 0.3469, 0.1542, +-0.3375, 0.00625, -0.109375, -0.9435, 0.3145, 0.1048, +-0.328125, 0.034375, -0.109375, -0.9435, 0.3145, 0.1048, +-0.33125, 0.03125, -0.128125, -0.9435, 0.3145, 0.1048, +0.3375, 0.00625, -0.109375, 0.7071, -0.7071, 0, +0.325, -0.00625, -0.109375, 0.7071, -0.7071, 0, +0.325, -0.00625, -0.128125, 0.7071, -0.7071, 0, +-0.325, -0.00625, -0.128125, -0.7071, -0.7071, 0, +-0.325, -0.00625, -0.109375, -0.7071, -0.7071, 0, +-0.3375, 0.00625, -0.109375, -0.7071, -0.7071, 0, +0.325, -0.00625, -0.109375, -0.0157, 0.9898, 0.1414, +0.353125, -0.009375, -0.084375, -0.0157, 0.9898, 0.1414, +0.353125, -0.00625, -0.10625, -0.0157, 0.9898, 0.1414, +-0.353125, -0.00625, -0.10625, 0.0157, 0.9898, 0.1414, +-0.353125, -0.009375, -0.084375, 0.0157, 0.9898, 0.1414, +-0.325, -0.00625, -0.109375, 0.0157, 0.9898, 0.1414, +0.409375, 0.1375, -0.14375, 0.6266, -0.7211, 0.2956, +0.378125, 0.121875, -0.115625, 0.6266, -0.7211, 0.2956, +0.38125, 0.115625, -0.1375, 0.6266, -0.7211, 0.2956, +-0.38125, 0.115625, -0.1375, -0.6266, -0.7211, 0.2956, +-0.378125, 0.121875, -0.115625, -0.6266, -0.7211, 0.2956, +-0.409375, 0.1375, -0.14375, -0.6266, -0.7211, 0.2956, +0.46875, 0.14375, -0.175, 0.2714, -0.9022, 0.3353, +0.409375, 0.1375, -0.14375, 0.2714, -0.9022, 0.3353, +0.415625, 0.13125, -0.165625, 0.2714, -0.9022, 0.3353, +-0.415625, 0.13125, -0.165625, -0.2714, -0.9022, 0.3353, +-0.409375, 0.1375, -0.14375, -0.2714, -0.9022, 0.3353, +-0.46875, 0.14375, -0.175, -0.2714, -0.9022, 0.3353, +0.49375, 0.1, -0.178125, -0.8651, -0.4853, -0.1266, +0.46875, 0.14375, -0.175, -0.8651, -0.4853, -0.1266, +0.475, 0.1375, -0.19375, -0.8651, -0.4853, -0.1266, +-0.475, 0.1375, -0.19375, 0.8651, -0.4853, -0.1266, +-0.46875, 0.14375, -0.175, 0.8651, -0.4853, -0.1266, +-0.49375, 0.1, -0.178125, 0.8651, -0.4853, -0.1266, +0.49375, 0.1, -0.178125, -0.8538, 0.2328, -0.4657, +0.503125, 0.096875, -0.196875, -0.8538, 0.2328, -0.4657, +0.484375, 0.034375, -0.19375, -0.8538, 0.2328, -0.4657, +-0.49375, 0.1, -0.178125, 0.8096, 0.2429, -0.5343, +-0.475, 0.0375, -0.178125, 0.8096, 0.2429, -0.5343, +-0.484375, 0.034375, -0.19375, 0.8096, 0.2429, -0.5343, +0.475, 0.0375, -0.178125, -0.5433, 0.6985, -0.4657, +0.484375, 0.034375, -0.19375, -0.5433, 0.6985, -0.4657, +0.41875, 0, -0.16875, -0.5433, 0.6985, -0.4657, +-0.475, 0.0375, -0.178125, 0.5621, 0.8231, -0.0803, +-0.415625, 0, -0.146875, 0.5621, 0.8231, -0.0803, +-0.41875, 0, -0.16875, 0.5621, 0.8231, -0.0803, +0.415625, 0, -0.146875, -0.1096, 0.9939, -0.0157, +0.41875, 0, -0.16875, -0.1096, 0.9939, -0.0157, +0.353125, -0.00625, -0.10625, -0.1096, 0.9939, -0.0157, +-0.415625, 0, -0.146875, 0.0071, 0.9899, 0.1414, +-0.353125, -0.009375, -0.084375, 0.0071, 0.9899, 0.1414, +-0.353125, -0.00625, -0.10625, 0.0071, 0.9899, 0.1414, +0.340625, 0.00625, -0.128125, 0.1738, 0.0097, 0.9847, +0.375, 0.025, -0.134375, 0.1738, 0.0097, 0.9847, +0.35625, 0.04375, -0.13125, 0.1738, 0.0097, 0.9847, +-0.340625, 0.00625, -0.128125, -0.1046, 0.0392, 0.9937, +-0.33125, 0.03125, -0.128125, -0.1046, 0.0392, 0.9937, +-0.35625, 0.04375, -0.13125, -0.1046, 0.0392, 0.9937, +0.375, 0.025, -0.134375, 0.4134, 0.0413, 0.9096, +0.4, 0.05, -0.146875, 0.4134, 0.0413, 0.9096, +0.384375, 0.06875, -0.140625, 0.4134, 0.0413, 0.9096, +-0.375, 0.025, -0.134375, -0.2461, 0.0852, 0.9655, +-0.35625, 0.04375, -0.13125, -0.2461, 0.0852, 0.9655, +-0.384375, 0.06875, -0.140625, -0.2461, 0.0852, 0.9655, +0.384375, 0.06875, -0.140625, 0.3228, -0.0461, 0.9453, +0.4, 0.05, -0.146875, 0.3228, -0.0461, 0.9453, +0.421875, 0.075, -0.153125, 0.3228, -0.0461, 0.9453, +-0.421875, 0.075, -0.153125, -0.3228, -0.0461, 0.9453, +-0.4, 0.05, -0.146875, -0.3228, -0.0461, 0.9453, +-0.384375, 0.06875, -0.140625, -0.3228, -0.0461, 0.9453, +0.421875, 0.075, -0.153125, 0.122, 0.0458, 0.9915, +0.44375, 0.084375, -0.15625, 0.122, 0.0458, 0.9915, +0.434375, 0.109375, -0.15625, 0.122, 0.0458, 0.9915, +-0.421875, 0.075, -0.153125, -0.2104, 0.0124, 0.9775, +-0.40625, 0.09375, -0.15, -0.2104, 0.0124, 0.9775, +-0.434375, 0.109375, -0.15625, -0.2104, 0.0124, 0.9775, +0.415625, 0.13125, -0.165625, 0.5679, 0.1916, 0.8005, +0.38125, 0.115625, -0.1375, 0.5679, 0.1916, 0.8005, +0.40625, 0.09375, -0.15, 0.5679, 0.1916, 0.8005, +-0.40625, 0.09375, -0.15, -0.5679, 0.1916, 0.8005, +-0.38125, 0.115625, -0.1375, -0.5679, 0.1916, 0.8005, +-0.415625, 0.13125, -0.165625, -0.5679, 0.1916, 0.8005, +0.384375, 0.06875, -0.140625, 0.4244, -0.032, 0.9049, +0.40625, 0.09375, -0.15, 0.4244, -0.032, 0.9049, +0.38125, 0.115625, -0.1375, 0.4244, -0.032, 0.9049, +-0.384375, 0.06875, -0.140625, -0.3787, -0.0364, 0.9248, +-0.35625, 0.09375, -0.128125, -0.3787, -0.0364, 0.9248, +-0.38125, 0.115625, -0.1375, -0.3787, -0.0364, 0.9248, +0.3375, 0.06875, -0.128125, 0.257, 0.0723, 0.9637, +0.35625, 0.04375, -0.13125, 0.257, 0.0723, 0.9637, +0.384375, 0.06875, -0.140625, 0.257, 0.0723, 0.9637, +-0.3375, 0.06875, -0.128125, -0.253, -0.1897, 0.9487, +-0.35625, 0.09375, -0.128125, -0.253, -0.1897, 0.9487, +-0.384375, 0.06875, -0.140625, -0.253, -0.1897, 0.9487, +0.33125, 0.03125, -0.128125, 0.1351, -0.0225, 0.9906, +0.35625, 0.04375, -0.13125, 0.1351, -0.0225, 0.9906, +0.3375, 0.06875, -0.128125, 0.1351, -0.0225, 0.9906, +-0.3375, 0.06875, -0.128125, -0.1351, -0.0225, 0.9906, +-0.35625, 0.04375, -0.13125, -0.1351, -0.0225, 0.9906, +-0.33125, 0.03125, -0.128125, -0.1351, -0.0225, 0.9906, +0.353125, -0.00625, -0.10625, -0.2981, 0.7454, 0.5963, +0.375, 0.025, -0.134375, -0.2981, 0.7454, 0.5963, +0.340625, 0.00625, -0.128125, -0.2981, 0.7454, 0.5963, +-0.353125, -0.00625, -0.10625, 0.487, 0.6088, 0.6262, +-0.325, -0.00625, -0.128125, 0.487, 0.6088, 0.6262, +-0.340625, 0.00625, -0.128125, 0.487, 0.6088, 0.6262, +0.41875, 0, -0.16875, 0.5571, -0.1486, 0.8171, +0.4, 0.05, -0.146875, 0.5571, -0.1486, 0.8171, +0.375, 0.025, -0.134375, 0.5571, -0.1486, 0.8171, +-0.375, 0.025, -0.134375, -0.5571, -0.1486, 0.8171, +-0.4, 0.05, -0.146875, -0.5571, -0.1486, 0.8171, +-0.41875, 0, -0.16875, -0.5571, -0.1486, 0.8171, +0.421875, 0.075, -0.153125, 0.4723, -0.1986, 0.8588, +0.4, 0.05, -0.146875, 0.4723, -0.1986, 0.8588, +0.41875, 0, -0.16875, 0.4723, -0.1986, 0.8588, +-0.421875, 0.075, -0.153125, -0.4388, -0.2008, 0.8759, +-0.484375, 0.034375, -0.19375, -0.4388, -0.2008, 0.8759, +-0.41875, 0, -0.16875, -0.4388, -0.2008, 0.8759, +0.44375, 0.084375, -0.15625, 0.2975, -0.4062, 0.864, +0.421875, 0.075, -0.153125, 0.2975, -0.4062, 0.864, +0.484375, 0.034375, -0.19375, 0.2975, -0.4062, 0.864, +-0.44375, 0.084375, -0.15625, -0.5786, -0.1334, 0.8046, +-0.503125, 0.096875, -0.196875, -0.5786, -0.1334, 0.8046, +-0.484375, 0.034375, -0.19375, -0.5786, -0.1334, 0.8046, +0.475, 0.1375, -0.19375, 0.5771, 0.2164, 0.7875, +0.434375, 0.109375, -0.15625, 0.5771, 0.2164, 0.7875, +0.44375, 0.084375, -0.15625, 0.5771, 0.2164, 0.7875, +-0.44375, 0.084375, -0.15625, -0.5771, 0.2164, 0.7875, +-0.434375, 0.109375, -0.15625, -0.5771, 0.2164, 0.7875, +-0.475, 0.1375, -0.19375, -0.5771, 0.2164, 0.7875, +0.415625, -0.040625, -0.13125, 0.0931, -0.9932, -0.0692, +0.309375, -0.05625, -0.05, 0.0931, -0.9932, -0.0692, +0.315625, -0.05, -0.13125, 0.0931, -0.9932, -0.0692, +-0.315625, -0.05, -0.13125, -0.0931, -0.9932, -0.0692, +-0.309375, -0.05625, -0.05, -0.0931, -0.9932, -0.0692, +-0.415625, -0.040625, -0.13125, -0.0931, -0.9932, -0.0692, +0.5125, 0.021875, -0.171875, 0.5161, -0.8527, -0.0812, +0.415625, -0.040625, -0.13125, 0.5161, -0.8527, -0.0812, +0.415625, -0.034375, -0.196875, 0.5161, -0.8527, -0.0812, +-0.415625, -0.034375, -0.196875, -0.5161, -0.8527, -0.0812, +-0.415625, -0.040625, -0.13125, -0.5161, -0.8527, -0.0812, +-0.5125, 0.021875, -0.171875, -0.5161, -0.8527, -0.0812, +0.5125, 0.021875, -0.171875, 0.9264, -0.246, 0.2851, +0.525, 0.021875, -0.2125, 0.9264, -0.246, 0.2851, +0.546875, 0.11875, -0.2, 0.9264, -0.246, 0.2851, +-0.5125, 0.021875, -0.171875, -0.9309, -0.2541, 0.2624, +-0.540625, 0.128125, -0.16875, -0.9309, -0.2541, 0.2624, +-0.546875, 0.11875, -0.2, -0.9309, -0.2541, 0.2624, +0.540625, 0.128125, -0.16875, 0.8267, 0.5627, -0.0035, +0.546875, 0.11875, -0.2, 0.8267, 0.5627, -0.0035, +0.5, 0.1875, -0.21875, 0.8267, 0.5627, -0.0035, +-0.540625, 0.128125, -0.16875, -0.8465, 0.5291, -0.0595, +-0.49375, 0.203125, -0.16875, -0.8465, 0.5291, -0.0595, +-0.5, 0.1875, -0.21875, -0.8465, 0.5291, -0.0595, +0.49375, 0.203125, -0.16875, -0.2146, 0.9243, -0.3157, +0.5, 0.1875, -0.21875, -0.2146, 0.9243, -0.3157, +0.409375, 0.175, -0.19375, -0.2146, 0.9243, -0.3157, +-0.49375, 0.203125, -0.16875, 0.2511, 0.9439, -0.2145, +-0.409375, 0.190625, -0.125, 0.2511, 0.9439, -0.2145, +-0.409375, 0.175, -0.19375, 0.2511, 0.9439, -0.2145, +0.409375, 0.190625, -0.125, -0.4196, 0.8851, -0.2012, +0.409375, 0.175, -0.19375, -0.4196, 0.8851, -0.2012, +0.34375, 0.153125, -0.153125, -0.4196, 0.8851, -0.2012, +-0.409375, 0.190625, -0.125, 0.4841, 0.8743, -0.0361, +-0.35625, 0.1625, -0.09375, 0.4841, 0.8743, -0.0361, +-0.34375, 0.153125, -0.153125, 0.4841, 0.8743, -0.0361, +0.415625, -0.034375, -0.196875, -0.547, -0.0144, -0.837, +0.315625, -0.05, -0.13125, -0.547, -0.0144, -0.837, +0.34375, 0.153125, -0.153125, -0.547, -0.0144, -0.837, +-0.415625, -0.034375, -0.196875, 0.5256, -0.003, -0.8507, +-0.409375, 0.175, -0.19375, 0.5256, -0.003, -0.8507, +-0.34375, 0.153125, -0.153125, 0.5256, -0.003, -0.8507, +0.409375, 0.175, -0.19375, -0.2556, -0.0749, -0.9639, +0.5, 0.1875, -0.21875, -0.2556, -0.0749, -0.9639, +0.525, 0.021875, -0.2125, -0.2556, -0.0749, -0.9639, +-0.525, 0.021875, -0.2125, 0.2556, -0.0749, -0.9639, +-0.5, 0.1875, -0.21875, 0.2556, -0.0749, -0.9639, +-0.409375, 0.175, -0.19375, 0.2556, -0.0749, -0.9639, +0.328125, 0.13125, -0.08125, -0.733, 0.6786, 0.0472, +0.35625, 0.1625, -0.09375, -0.733, 0.6786, 0.0472, +0.34375, 0.153125, -0.153125, -0.733, 0.6786, 0.0472, +-0.328125, 0.13125, -0.08125, 0.8073, 0.5901, 0.0041, +-0.309375, 0.10625, -0.175, 0.8073, 0.5901, 0.0041, +-0.34375, 0.153125, -0.153125, 0.8073, 0.5901, 0.0041, +0.309375, 0.10625, -0.175, 0.6844, -0.1711, -0.7088, +0.34375, 0.153125, -0.153125, 0.6844, -0.1711, -0.7088, +0.315625, -0.05, -0.13125, 0.6844, -0.1711, -0.7088, +-0.315625, -0.05, -0.13125, -0.6844, -0.1711, -0.7088, +-0.34375, 0.153125, -0.153125, -0.6844, -0.1711, -0.7088, +-0.309375, 0.10625, -0.175, -0.6844, -0.1711, -0.7088, +0.2375, -0.05, -0.065625, -0.3604, -0.8283, -0.429, +0.25625, -0.003125, -0.171875, -0.3604, -0.8283, -0.429, +0.315625, -0.05, -0.13125, -0.3604, -0.8283, -0.429, +-0.315625, -0.05, -0.13125, 0.3604, -0.8283, -0.429, +-0.25625, -0.003125, -0.171875, 0.3604, -0.8283, -0.429, +-0.2375, -0.05, -0.065625, 0.3604, -0.8283, -0.429, +]; diff --git a/examples/Obj/index.html b/examples/Obj/index.html new file mode 100644 index 0000000..c4e9a1b --- /dev/null +++ b/examples/Obj/index.html @@ -0,0 +1,86 @@ + + + + + + + Wavefront Object converted to AssemblyScript + + + +
fps:
+
+ +
+ + + + \ No newline at end of file diff --git a/examples/Obj/monkey.mtl b/examples/Obj/monkey.mtl new file mode 100644 index 0000000..f231bdf --- /dev/null +++ b/examples/Obj/monkey.mtl @@ -0,0 +1,10 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl None +Ns 500 +Ka 0.8 0.8 0.8 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 diff --git a/examples/Obj/monkey.obj b/examples/Obj/monkey.obj new file mode 100644 index 0000000..31e43ce --- /dev/null +++ b/examples/Obj/monkey.obj @@ -0,0 +1,2979 @@ +# Blender v2.90.1 OBJ File: '' +# www.blender.org +mtllib monkey.mtl +o Suzanne +v 0.175000 0.065625 0.306250 +v -0.175000 0.065625 0.306250 +v 0.200000 0.037500 0.275000 +v -0.200000 0.037500 0.275000 +v 0.218750 0.021875 0.231250 +v -0.218750 0.021875 0.231250 +v 0.140625 -0.009375 0.246875 +v -0.140625 -0.009375 0.246875 +v 0.140625 0.012500 0.287500 +v -0.140625 0.012500 0.287500 +v 0.140625 0.053125 0.312500 +v -0.140625 0.053125 0.312500 +v 0.109375 0.065625 0.318750 +v -0.109375 0.065625 0.318750 +v 0.081250 0.037500 0.296875 +v -0.081250 0.037500 0.296875 +v 0.062500 0.021875 0.259375 +v -0.062500 0.021875 0.259375 +v 0.031250 0.096875 0.262500 +v -0.031250 0.096875 0.262500 +v 0.056250 0.096875 0.296875 +v -0.056250 0.096875 0.296875 +v 0.096875 0.096875 0.318750 +v -0.096875 0.096875 0.318750 +v 0.109375 0.131250 0.318750 +v -0.109375 0.131250 0.318750 +v 0.081250 0.156250 0.296875 +v -0.081250 0.156250 0.296875 +v 0.062500 0.175000 0.259375 +v -0.062500 0.175000 0.259375 +v 0.140625 0.206250 0.246875 +v -0.140625 0.206250 0.246875 +v 0.140625 0.181250 0.287500 +v -0.140625 0.181250 0.287500 +v 0.140625 0.143750 0.312500 +v -0.140625 0.143750 0.312500 +v 0.175000 0.131250 0.306250 +v -0.175000 0.131250 0.306250 +v 0.200000 0.156250 0.275000 +v -0.200000 0.156250 0.275000 +v 0.218750 0.175000 0.231250 +v -0.218750 0.175000 0.231250 +v 0.250000 0.096875 0.225000 +v -0.250000 0.096875 0.225000 +v 0.225000 0.096875 0.268750 +v -0.225000 0.096875 0.268750 +v 0.187500 0.096875 0.303125 +v -0.187500 0.096875 0.303125 +v 0.190625 0.096875 0.309375 +v -0.190625 0.096875 0.309375 +v 0.178125 0.134375 0.312500 +v -0.178125 0.134375 0.312500 +v 0.140625 0.150000 0.321875 +v -0.140625 0.150000 0.321875 +v 0.106250 0.134375 0.328125 +v -0.106250 0.134375 0.328125 +v 0.090625 0.096875 0.328125 +v -0.090625 0.096875 0.328125 +v 0.106250 0.062500 0.328125 +v -0.106250 0.062500 0.328125 +v 0.140625 0.096875 0.331250 +v -0.140625 0.096875 0.331250 +v 0.140625 0.046875 0.321875 +v -0.140625 0.046875 0.321875 +v 0.178125 0.062500 0.312500 +v -0.178125 0.062500 0.312500 +v 0.000000 0.171875 0.296875 +v 0.000000 0.140625 0.328125 +v 0.000000 -0.271875 0.293750 +v 0.000000 -0.128125 0.312500 +v 0.000000 -0.075000 0.318750 +v 0.000000 -0.309375 0.287500 +v 0.000000 0.162500 0.240625 +v 0.000000 0.228125 0.228125 +v 0.000000 0.359375 -0.218750 +v 0.000000 0.225000 -0.340625 +v 0.000000 0.028125 -0.331250 +v 0.000000 -0.153125 -0.140625 +v 0.081250 -0.075000 0.225000 +v -0.081250 -0.075000 0.225000 +v 0.125000 -0.175000 0.228125 +v -0.125000 -0.175000 0.228125 +v 0.140625 -0.278125 0.228125 +v -0.140625 -0.278125 0.228125 +v 0.146875 -0.356250 0.212500 +v -0.146875 -0.356250 0.212500 +v 0.131250 -0.378125 0.209375 +v -0.131250 -0.378125 0.209375 +v 0.071875 -0.387500 0.221875 +v -0.071875 -0.387500 0.221875 +v 0.000000 -0.393750 0.231250 +v 0.175000 -0.056250 0.212500 +v -0.175000 -0.056250 0.212500 +v 0.253125 -0.015625 0.215625 +v -0.253125 -0.015625 0.215625 +v 0.331250 0.059375 0.178125 +v -0.331250 0.059375 0.178125 +v 0.343750 0.171875 0.237500 +v -0.343750 0.171875 0.237500 +v 0.284375 0.193750 0.250000 +v -0.284375 0.193750 0.250000 +v 0.196875 0.240625 0.275000 +v -0.196875 0.240625 0.275000 +v 0.128125 0.303125 0.293750 +v -0.128125 0.303125 0.293750 +v 0.062500 0.287500 0.303125 +v -0.062500 0.287500 0.303125 +v 0.025000 0.196875 0.300000 +v -0.025000 0.196875 0.300000 +v 0.065625 0.165625 0.309375 +v -0.065625 0.165625 0.309375 +v 0.050000 0.121875 0.306250 +v -0.050000 0.121875 0.306250 +v 0.081250 0.037500 0.296875 +v -0.081250 0.037500 0.296875 +v 0.150000 0.006250 0.281250 +v -0.150000 0.006250 0.281250 +v 0.196875 0.025000 0.268750 +v -0.196875 0.025000 0.268750 +v 0.250000 0.075000 0.259375 +v -0.250000 0.075000 0.259375 +v 0.256250 0.118750 0.259375 +v -0.256250 0.118750 0.259375 +v 0.240625 0.150000 0.265625 +v -0.240625 0.150000 0.265625 +v 0.171875 0.175000 0.287500 +v -0.171875 0.175000 0.287500 +v 0.100000 0.187500 0.303125 +v -0.100000 0.187500 0.303125 +v 0.000000 -0.306250 0.293750 +v 0.043750 -0.287500 0.293750 +v -0.043750 -0.287500 0.293750 +v 0.046875 -0.334375 0.284375 +v -0.046875 -0.334375 0.284375 +v 0.025000 -0.353125 0.278125 +v -0.025000 -0.353125 0.278125 +v 0.000000 -0.356250 0.275000 +v 0.000000 -0.078125 0.300000 +v 0.000000 -0.056250 0.296875 +v 0.040625 -0.059375 0.296875 +v -0.040625 -0.059375 0.296875 +v 0.050000 -0.090625 0.300000 +v -0.050000 -0.090625 0.300000 +v 0.034375 -0.115625 0.296875 +v -0.034375 -0.115625 0.296875 +v 0.159375 -0.018750 0.268750 +v -0.159375 -0.018750 0.268750 +v 0.246875 0.021875 0.250000 +v -0.246875 0.021875 0.250000 +v 0.290625 0.081250 0.240625 +v -0.290625 0.081250 0.240625 +v 0.296875 0.150000 0.262500 +v -0.296875 0.150000 0.262500 +v 0.275000 0.165625 0.290625 +v -0.275000 0.165625 0.290625 +v 0.175000 0.218750 0.318750 +v -0.175000 0.218750 0.318750 +v 0.125000 0.256250 0.334375 +v -0.125000 0.256250 0.334375 +v 0.081250 0.246875 0.340625 +v -0.081250 0.246875 0.340625 +v 0.040625 0.171875 0.337500 +v -0.040625 0.171875 0.337500 +v 0.050000 -0.040625 0.325000 +v -0.050000 -0.040625 0.325000 +v 0.084375 -0.178125 0.284375 +v -0.084375 -0.178125 0.284375 +v 0.100000 -0.281250 0.275000 +v -0.100000 -0.281250 0.275000 +v 0.106250 -0.328125 0.265625 +v -0.106250 -0.328125 0.265625 +v 0.093750 -0.365625 0.253125 +v -0.093750 -0.365625 0.253125 +v 0.065625 -0.371875 0.253125 +v -0.065625 -0.371875 0.253125 +v 0.000000 -0.378125 0.256250 +v 0.000000 0.018750 0.290625 +v 0.000000 0.084375 0.306250 +v 0.131250 0.190625 0.296875 +v -0.131250 0.190625 0.296875 +v 0.065625 0.056250 0.300000 +v -0.065625 0.056250 0.300000 +v 0.053125 0.084375 0.303125 +v -0.053125 0.084375 0.303125 +v 0.046875 -0.275000 0.293750 +v -0.046875 -0.275000 0.293750 +v 0.031250 -0.178125 0.300000 +v -0.031250 -0.178125 0.300000 +v 0.000000 -0.178125 0.300000 +v 0.000000 -0.131250 0.296875 +v 0.037500 -0.109375 0.312500 +v -0.037500 -0.109375 0.312500 +v 0.053125 -0.090625 0.318750 +v -0.053125 -0.090625 0.318750 +v 0.043750 -0.053125 0.312500 +v -0.043750 -0.053125 0.312500 +v 0.015625 -0.050000 0.312500 +v -0.015625 -0.050000 0.312500 +v 0.000000 -0.081250 0.331250 +v 0.018750 -0.059375 0.325000 +v -0.018750 -0.059375 0.325000 +v 0.037500 -0.062500 0.325000 +v -0.037500 -0.062500 0.325000 +v 0.043750 -0.090625 0.331250 +v -0.043750 -0.090625 0.331250 +v 0.031250 -0.100000 0.321875 +v -0.031250 -0.100000 0.321875 +v 0.000000 -0.115625 0.321875 +v 0.103125 -0.125000 0.221875 +v -0.103125 -0.125000 0.221875 +v 0.065625 -0.096875 0.284375 +v -0.065625 -0.096875 0.284375 +v 0.071875 -0.125000 0.284375 +v -0.071875 -0.125000 0.284375 +v 0.093750 -0.100000 0.221875 +v -0.093750 -0.100000 0.221875 +v 0.000000 -0.350000 0.275000 +v 0.018750 -0.346875 0.275000 +v -0.018750 -0.346875 0.275000 +v 0.037500 -0.328125 0.284375 +v -0.037500 -0.328125 0.284375 +v 0.037500 -0.296875 0.290625 +v -0.037500 -0.296875 0.290625 +v 0.000000 -0.312500 0.262500 +v 0.037500 -0.300000 0.265625 +v -0.037500 -0.300000 0.265625 +v 0.037500 -0.325000 0.256250 +v -0.037500 -0.325000 0.256250 +v 0.018750 -0.340625 0.253125 +v -0.018750 -0.340625 0.253125 +v 0.000000 -0.343750 0.253125 +v 0.068750 0.087500 0.312500 +v -0.068750 0.087500 0.312500 +v 0.075000 0.062500 0.309375 +v -0.075000 0.062500 0.309375 +v 0.134375 0.171875 0.303125 +v -0.134375 0.171875 0.303125 +v 0.109375 0.168750 0.309375 +v -0.109375 0.168750 0.309375 +v 0.168750 0.159375 0.309375 +v -0.168750 0.159375 0.309375 +v 0.225000 0.140625 0.278125 +v -0.225000 0.140625 0.278125 +v 0.234375 0.115625 0.275000 +v -0.234375 0.115625 0.275000 +v 0.231250 0.078125 0.271875 +v -0.231250 0.078125 0.271875 +v 0.190625 0.040625 0.287500 +v -0.190625 0.040625 0.287500 +v 0.150000 0.025000 0.296875 +v -0.150000 0.025000 0.296875 +v 0.090625 0.043750 0.312500 +v -0.090625 0.043750 0.312500 +v 0.071875 0.118750 0.312500 +v -0.071875 0.118750 0.312500 +v 0.084375 0.150000 0.312500 +v -0.084375 0.150000 0.312500 +v 0.093750 0.143750 0.303125 +v -0.093750 0.143750 0.303125 +v 0.078125 0.118750 0.303125 +v -0.078125 0.118750 0.303125 +v 0.096875 0.050000 0.303125 +v -0.096875 0.050000 0.303125 +v 0.150000 0.034375 0.290625 +v -0.150000 0.034375 0.290625 +v 0.184375 0.046875 0.281250 +v -0.184375 0.046875 0.281250 +v 0.218750 0.084375 0.268750 +v -0.218750 0.084375 0.268750 +v 0.221875 0.112500 0.268750 +v -0.221875 0.112500 0.268750 +v 0.212500 0.134375 0.271875 +v -0.212500 0.134375 0.271875 +v 0.165625 0.156250 0.300000 +v -0.165625 0.156250 0.300000 +v 0.112500 0.159375 0.306250 +v -0.112500 0.159375 0.306250 +v 0.134375 0.162500 0.300000 +v -0.134375 0.162500 0.300000 +v 0.081250 0.068750 0.300000 +v -0.081250 0.068750 0.300000 +v 0.078125 0.090625 0.300000 +v -0.078125 0.090625 0.300000 +v 0.043750 0.184375 0.243750 +v -0.043750 0.184375 0.243750 +v 0.078125 0.265625 0.246875 +v -0.078125 0.265625 0.246875 +v 0.134375 0.275000 0.237500 +v -0.134375 0.275000 0.237500 +v 0.193750 0.221875 0.221875 +v -0.193750 0.221875 0.221875 +v 0.271875 0.181250 0.196875 +v -0.271875 0.181250 0.196875 +v 0.318750 0.162500 0.184375 +v -0.318750 0.162500 0.184375 +v 0.309375 0.065625 0.150000 +v -0.309375 0.065625 0.150000 +v 0.240625 0.000000 0.165625 +v -0.240625 0.000000 0.165625 +v 0.175000 -0.037500 0.187500 +v -0.175000 -0.037500 0.187500 +v 0.000000 0.359375 0.115625 +v 0.000000 0.393750 -0.031250 +v 0.000000 -0.078125 -0.268750 +v 0.000000 -0.184375 0.075000 +v 0.000000 -0.390625 0.184375 +v 0.000000 -0.321875 0.137500 +v 0.000000 -0.228125 0.128125 +v 0.000000 -0.193750 0.112500 +v 0.340625 0.093750 0.021875 +v -0.340625 0.093750 0.021875 +v 0.343750 0.128125 -0.018750 +v -0.343750 0.128125 -0.018750 +v 0.309375 0.106250 -0.175000 +v -0.309375 0.106250 -0.175000 +v 0.184375 0.175000 -0.281250 +v -0.184375 0.175000 -0.281250 +v 0.293750 -0.018750 0.028125 +v -0.293750 -0.018750 0.028125 +v 0.237500 -0.050000 -0.065625 +v -0.237500 -0.050000 -0.065625 +v 0.256250 -0.003125 -0.171875 +v -0.256250 -0.003125 -0.171875 +v 0.134375 0.021875 -0.265625 +v -0.134375 0.021875 -0.265625 +v 0.093750 -0.140625 0.162500 +v -0.093750 -0.140625 0.162500 +v 0.071875 -0.165625 0.103125 +v -0.071875 -0.165625 0.103125 +v 0.115625 -0.284375 0.153125 +v -0.115625 -0.284375 0.153125 +v 0.100000 -0.200000 0.156250 +v -0.100000 -0.200000 0.156250 +v 0.131250 -0.365625 0.159375 +v -0.131250 -0.365625 0.159375 +v 0.056250 -0.303125 0.146875 +v -0.056250 -0.303125 0.146875 +v 0.050000 -0.215625 0.143750 +v -0.050000 -0.215625 0.143750 +v 0.065625 -0.378125 0.175000 +v -0.065625 -0.378125 0.175000 +v 0.087500 -0.112500 0.171875 +v -0.087500 -0.112500 0.171875 +v 0.084375 -0.090625 0.187500 +v -0.084375 -0.090625 0.187500 +v 0.081250 -0.068750 0.200000 +v -0.081250 -0.068750 0.200000 +v 0.084375 -0.156250 0.065625 +v -0.084375 -0.156250 0.065625 +v 0.118750 -0.125000 -0.106250 +v -0.118750 -0.125000 -0.106250 +v 0.137500 -0.059375 -0.215625 +v -0.137500 -0.059375 -0.215625 +v 0.181250 0.346875 -0.153125 +v -0.181250 0.346875 -0.153125 +v 0.181250 0.371875 -0.028125 +v -0.181250 0.371875 -0.028125 +v 0.181250 0.340625 0.093750 +v -0.181250 0.340625 0.093750 +v 0.184375 0.209375 0.171875 +v -0.184375 0.209375 0.171875 +v 0.290625 0.162500 0.134375 +v -0.290625 0.162500 0.134375 +v 0.253125 0.181250 0.112500 +v -0.253125 0.181250 0.112500 +v 0.256250 0.281250 0.021875 +v -0.256250 0.281250 0.021875 +v 0.318750 0.225000 0.050000 +v -0.318750 0.225000 0.050000 +v 0.318750 0.246875 -0.046875 +v -0.318750 0.246875 -0.046875 +v 0.256250 0.300000 -0.078125 +v -0.256250 0.300000 -0.078125 +v 0.256250 0.271875 -0.178125 +v -0.256250 0.271875 -0.178125 +v 0.318750 0.215625 -0.143750 +v -0.318750 0.215625 -0.143750 +v 0.246875 0.131250 -0.234375 +v -0.246875 0.131250 -0.234375 +v 0.193750 0.009375 -0.218750 +v -0.193750 0.009375 -0.218750 +v 0.328125 0.131250 -0.081250 +v -0.328125 0.131250 -0.081250 +v 0.162500 -0.068750 0.059375 +v -0.162500 -0.068750 0.059375 +v 0.171875 -0.078125 -0.084375 +v -0.171875 -0.078125 -0.084375 +v 0.356250 0.162500 -0.093750 +v -0.356250 0.162500 -0.093750 +v 0.309375 -0.056250 -0.050000 +v -0.309375 -0.056250 -0.050000 +v 0.415625 -0.040625 -0.131250 +v -0.415625 -0.040625 -0.131250 +v 0.512500 0.021875 -0.171875 +v -0.512500 0.021875 -0.171875 +v 0.540625 0.128125 -0.168750 +v -0.540625 0.128125 -0.168750 +v 0.493750 0.203125 -0.168750 +v -0.493750 0.203125 -0.168750 +v 0.409375 0.190625 -0.125000 +v -0.409375 0.190625 -0.125000 +v 0.406250 0.165625 -0.115625 +v -0.406250 0.165625 -0.115625 +v 0.475000 0.175000 -0.156250 +v -0.475000 0.175000 -0.156250 +v 0.506250 0.115625 -0.162500 +v -0.506250 0.115625 -0.162500 +v 0.484375 0.031250 -0.162500 +v -0.484375 0.031250 -0.162500 +v 0.412500 -0.015625 -0.121875 +v -0.412500 -0.015625 -0.121875 +v 0.331250 -0.028125 -0.053125 +v -0.331250 -0.028125 -0.053125 +v 0.368750 0.143750 -0.087500 +v -0.368750 0.143750 -0.087500 +v 0.378125 0.121875 -0.115625 +v -0.378125 0.121875 -0.115625 +v 0.353125 -0.009375 -0.084375 +v -0.353125 -0.009375 -0.084375 +v 0.415625 0.000000 -0.146875 +v -0.415625 0.000000 -0.146875 +v 0.475000 0.037500 -0.178125 +v -0.475000 0.037500 -0.178125 +v 0.493750 0.100000 -0.178125 +v -0.493750 0.100000 -0.178125 +v 0.468750 0.143750 -0.175000 +v -0.468750 0.143750 -0.175000 +v 0.409375 0.137500 -0.143750 +v -0.409375 0.137500 -0.143750 +v 0.337500 0.115625 -0.084375 +v -0.337500 0.115625 -0.084375 +v 0.334375 0.068750 -0.109375 +v -0.334375 0.068750 -0.109375 +v 0.303125 0.037500 -0.109375 +v -0.303125 0.037500 -0.109375 +v 0.328125 0.034375 -0.109375 +v -0.328125 0.034375 -0.109375 +v 0.337500 0.006250 -0.109375 +v -0.337500 0.006250 -0.109375 +v 0.325000 -0.006250 -0.109375 +v -0.325000 -0.006250 -0.109375 +v 0.290625 0.000000 -0.028125 +v -0.290625 0.000000 -0.028125 +v 0.287500 -0.009375 -0.068750 +v -0.287500 -0.009375 -0.068750 +v 0.287500 0.015625 -0.075000 +v -0.287500 0.015625 -0.075000 +v 0.318750 0.081250 -0.084375 +v -0.318750 0.081250 -0.084375 +v 0.356250 0.096875 -0.106250 +v -0.356250 0.096875 -0.106250 +v 0.356250 0.093750 -0.128125 +v -0.356250 0.093750 -0.128125 +v 0.325000 -0.006250 -0.128125 +v -0.325000 -0.006250 -0.128125 +v 0.340625 0.006250 -0.128125 +v -0.340625 0.006250 -0.128125 +v 0.331250 0.031250 -0.128125 +v -0.331250 0.031250 -0.128125 +v 0.306250 0.037500 -0.128125 +v -0.306250 0.037500 -0.128125 +v 0.337500 0.068750 -0.128125 +v -0.337500 0.068750 -0.128125 +v 0.415625 0.131250 -0.165625 +v -0.415625 0.131250 -0.165625 +v 0.475000 0.137500 -0.193750 +v -0.475000 0.137500 -0.193750 +v 0.503125 0.096875 -0.196875 +v -0.503125 0.096875 -0.196875 +v 0.484375 0.034375 -0.193750 +v -0.484375 0.034375 -0.193750 +v 0.418750 0.000000 -0.168750 +v -0.418750 0.000000 -0.168750 +v 0.353125 -0.006250 -0.106250 +v -0.353125 -0.006250 -0.106250 +v 0.381250 0.115625 -0.137500 +v -0.381250 0.115625 -0.137500 +v 0.356250 0.043750 -0.131250 +v -0.356250 0.043750 -0.131250 +v 0.375000 0.025000 -0.134375 +v -0.375000 0.025000 -0.134375 +v 0.400000 0.050000 -0.146875 +v -0.400000 0.050000 -0.146875 +v 0.384375 0.068750 -0.140625 +v -0.384375 0.068750 -0.140625 +v 0.406250 0.093750 -0.150000 +v -0.406250 0.093750 -0.150000 +v 0.421875 0.075000 -0.153125 +v -0.421875 0.075000 -0.153125 +v 0.443750 0.084375 -0.156250 +v -0.443750 0.084375 -0.156250 +v 0.434375 0.109375 -0.156250 +v -0.434375 0.109375 -0.156250 +v 0.409375 0.175000 -0.193750 +v -0.409375 0.175000 -0.193750 +v 0.500000 0.187500 -0.218750 +v -0.500000 0.187500 -0.218750 +v 0.546875 0.118750 -0.200000 +v -0.546875 0.118750 -0.200000 +v 0.525000 0.021875 -0.212500 +v -0.525000 0.021875 -0.212500 +v 0.415625 -0.034375 -0.196875 +v -0.415625 -0.034375 -0.196875 +v 0.315625 -0.050000 -0.131250 +v -0.315625 -0.050000 -0.131250 +v 0.343750 0.153125 -0.153125 +v -0.343750 0.153125 -0.153125 +vt 0.890955 0.590063 +vt 0.860081 0.560115 +vt 0.904571 0.559404 +vt 0.856226 0.850547 +vt 0.888398 0.821999 +vt 0.900640 0.853232 +vt 0.853018 0.521562 +vt 0.920166 0.524546 +vt 0.847458 0.888748 +vt 0.914672 0.888748 +vt 0.798481 0.569535 +vt 0.795104 0.838402 +vt 0.870622 0.589649 +vt 0.828900 0.590771 +vt 0.826436 0.818537 +vt 0.868067 0.821510 +vt 0.854402 0.604754 +vt 0.828171 0.633354 +vt 0.827598 0.775964 +vt 0.852534 0.805700 +vt 0.791018 0.645443 +vt 0.791018 0.762238 +vt 0.855181 0.668527 +vt 0.856142 0.742025 +vt 0.844839 0.707525 +vt 0.854107 0.625459 +vt 0.853157 0.785002 +vt 0.867508 0.642291 +vt 0.900375 0.666964 +vt 0.901223 0.745592 +vt 0.867293 0.768782 +vt 0.842358 0.702491 +vt 0.921180 0.713713 +vt 0.931889 0.636832 +vt 0.918898 0.699697 +vt 0.931368 0.777093 +vt 0.968213 0.770220 +vt 0.905882 0.627902 +vt 0.890474 0.641909 +vt 0.904990 0.784860 +vt 0.906232 0.605742 +vt 0.904357 0.807013 +vt 0.931250 0.820926 +vt 0.933717 0.593037 +vt 0.968392 0.645333 +vt 0.965038 0.841671 +vt 0.968392 0.573812 +vt 0.889591 0.593275 +vt 0.887178 0.818729 +vt 0.900583 0.804677 +vt 0.902359 0.607909 +vt 0.898822 0.786233 +vt 0.899781 0.626257 +vt 0.890219 0.770183 +vt 0.887351 0.775442 +vt 0.887842 0.636527 +vt 0.870376 0.775972 +vt 0.859881 0.623942 +vt 0.870908 0.635245 +vt 0.858859 0.786774 +vt 0.859664 0.608186 +vt 0.857942 0.802505 +vt 0.871664 0.593961 +vt 0.869299 0.817249 +vt 0.879400 0.616512 +vt 0.878029 0.795063 +vt 0.536419 0.062072 +vt 0.518916 0.050294 +vt 0.540260 0.053805 +vt 0.501452 0.062043 +vt 0.518925 0.059681 +vt 0.542788 0.064089 +vt 0.551930 0.058338 +vt 0.495083 0.064047 +vt 0.497626 0.053770 +vt 0.555073 0.061900 +vt 0.482805 0.061829 +vt 0.485955 0.058273 +vt 0.563812 0.076586 +vt 0.546290 0.072669 +vt 0.491565 0.072625 +vt 0.474014 0.076511 +vt 0.583135 0.108495 +vt 0.548333 0.084893 +vt 0.489507 0.084858 +vt 0.454527 0.108481 +vt 0.605512 0.165134 +vt 0.621513 0.227818 +vt 0.553118 0.209599 +vt 0.416514 0.229490 +vt 0.432024 0.165644 +vt 0.485339 0.210053 +vt 0.676379 0.233241 +vt 0.647395 0.200502 +vt 0.360308 0.235899 +vt 0.372747 0.256357 +vt 0.683908 0.279995 +vt 0.664761 0.253225 +vt 0.353696 0.284606 +vt 0.707254 0.310054 +vt 0.715342 0.265392 +vt 0.330721 0.316853 +vt 0.351187 0.317440 +vt 0.697446 0.332673 +vt 0.687515 0.311539 +vt 0.341964 0.339667 +vt 0.362723 0.329722 +vt 0.662817 0.372521 +vt 0.676824 0.323937 +vt 0.379297 0.378686 +vt 0.402772 0.362131 +vt 0.618316 0.375151 +vt 0.639050 0.357330 +vt 0.424583 0.379267 +vt 0.604826 0.397804 +vt 0.626842 0.395792 +vt 0.439252 0.401540 +vt 0.442396 0.381222 +vt 0.553095 0.390512 +vt 0.600808 0.377857 +vt 0.490934 0.391862 +vt 0.482938 0.358497 +vt 0.521923 0.386009 +vt 0.559674 0.357011 +vt 0.521086 0.343868 +vt 0.599845 0.344815 +vt 0.577279 0.340156 +vt 0.441977 0.347815 +vt 0.615546 0.342005 +vt 0.634472 0.332311 +vt 0.425972 0.345582 +vt 0.662406 0.312804 +vt 0.406362 0.336480 +vt 0.668440 0.297958 +vt 0.377061 0.317685 +vt 0.664101 0.277872 +vt 0.370304 0.302644 +vt 0.639236 0.253047 +vt 0.374100 0.281778 +vt 0.613992 0.242662 +vt 0.398938 0.255633 +vt 0.572941 0.258564 +vt 0.424464 0.244473 +vt 0.519760 0.248864 +vt 0.466409 0.259709 +vt 0.558527 0.316594 +vt 0.482619 0.317843 +vt 0.520277 0.294764 +vt 0.556923 0.291214 +vt 0.483433 0.292249 +vt 0.563905 0.272007 +vt 0.475886 0.273078 +vt 0.525483 0.068967 +vt 0.512375 0.068956 +vt 0.531231 0.073829 +vt 0.506626 0.073811 +vt 0.531019 0.087431 +vt 0.555621 0.121749 +vt 0.532669 0.090920 +vt 0.505177 0.090908 +vt 0.482177 0.121781 +vt 0.506827 0.087416 +vt 0.518981 0.151749 +vt 0.532042 0.127713 +vt 0.538112 0.158382 +vt 0.505828 0.127728 +vt 0.518941 0.128358 +vt 0.518925 0.093952 +vt 0.518927 0.085180 +vt 0.548362 0.173560 +vt 0.535214 0.166808 +vt 0.502799 0.166857 +vt 0.489683 0.173693 +vt 0.499851 0.158434 +vt 0.544281 0.193366 +vt 0.537959 0.175966 +vt 0.500100 0.176033 +vt 0.493996 0.193428 +vt 0.528757 0.191785 +vt 0.519841 0.200843 +vt 0.509219 0.191626 +vt 0.500890 0.187571 +vt 0.519132 0.185382 +vt 0.517577 0.190607 +vt 0.518998 0.159028 +vt 0.519016 0.165599 +vt 0.506910 0.171667 +vt 0.528222 0.186316 +vt 0.509787 0.186260 +vt 0.533528 0.184215 +vt 0.537248 0.187577 +vt 0.504547 0.184206 +vt 0.504604 0.176791 +vt 0.531131 0.171631 +vt 0.533449 0.176739 +vt 0.519099 0.179457 +vt 0.561572 0.167779 +vt 0.476363 0.167996 +vt 0.478371 0.149447 +vt 0.559475 0.149319 +vt 0.596138 0.133426 +vt 0.441395 0.133592 +vt 0.601169 0.147885 +vt 0.436337 0.148194 +vt 0.528933 0.084957 +vt 0.508915 0.084945 +vt 0.518925 0.083865 +vt 0.529036 0.075429 +vt 0.508820 0.075415 +vt 0.523751 0.070508 +vt 0.514106 0.070501 +vt 0.518928 0.067899 +vt 0.518929 0.069468 +vt 0.518928 0.074259 +vt 0.516297 0.074966 +vt 0.524236 0.076691 +vt 0.521560 0.074970 +vt 0.513619 0.076684 +vt 0.524601 0.079886 +vt 0.513252 0.079879 +vt 0.518926 0.079331 +vt 0.571787 0.277295 +vt 0.568351 0.292904 +vt 0.468070 0.278617 +vt 0.471978 0.294282 +vt 0.573085 0.311386 +vt 0.467790 0.313081 +vt 0.584855 0.327708 +vt 0.456477 0.329961 +vt 0.458737 0.268049 +vt 0.611720 0.255725 +vt 0.580734 0.266620 +vt 0.427062 0.257728 +vt 0.632494 0.262853 +vt 0.406068 0.265508 +vt 0.653658 0.279971 +vt 0.384904 0.283634 +vt 0.656064 0.297636 +vt 0.383015 0.301864 +vt 0.386858 0.314615 +vt 0.652752 0.310186 +vt 0.411556 0.327673 +vt 0.614408 0.331972 +vt 0.629040 0.323864 +vt 0.426727 0.335361 +vt 0.601033 0.333624 +vt 0.440344 0.336537 +vt 0.601799 0.328453 +vt 0.439372 0.331331 +vt 0.450408 0.323919 +vt 0.613335 0.327083 +vt 0.427623 0.330358 +vt 0.626851 0.320513 +vt 0.413648 0.324175 +vt 0.646248 0.306421 +vt 0.393381 0.310510 +vt 0.649541 0.296225 +vt 0.389662 0.300183 +vt 0.647785 0.283486 +vt 0.391040 0.287071 +vt 0.629829 0.267263 +vt 0.408893 0.269959 +vt 0.612641 0.261560 +vt 0.426254 0.263693 +vt 0.585166 0.270991 +vt 0.454369 0.272583 +vt 0.578124 0.281900 +vt 0.461798 0.283441 +vt 0.579548 0.309340 +vt 0.590644 0.321516 +vt 0.461204 0.311233 +vt 0.577524 0.293776 +vt 0.462754 0.295432 +vt 0.553209 0.433063 +vt 0.523031 0.433628 +vt 0.492809 0.434538 +vt 0.609819 0.431516 +vt 0.435860 0.435740 +vt 0.416915 0.400552 +vt 0.396518 0.425416 +vt 0.648174 0.419316 +vt 0.350292 0.396229 +vt 0.692106 0.388274 +vt 0.312756 0.350588 +vt 0.735879 0.312112 +vt 0.726332 0.341754 +vt 0.301067 0.320593 +vt 0.320452 0.270303 +vt 0.304876 0.261087 +vt 0.698172 0.216906 +vt 0.729900 0.256393 +vt 0.337414 0.219179 +vt 0.663103 0.190671 +vt 0.373474 0.191872 +vt 0.649444 0.022378 +vt 0.621440 0.048089 +vt 0.626908 0.015608 +vt 0.388827 0.021586 +vt 0.416419 0.047631 +vt 0.376796 0.075296 +vt 0.577206 0.032801 +vt 0.567460 0.000144 +vt 0.411318 0.015131 +vt 0.460782 0.032656 +vt 0.547413 0.041724 +vt 0.518922 0.024886 +vt 0.470636 0.000144 +vt 0.490511 0.041669 +vt 0.558059 0.053871 +vt 0.479842 0.053785 +vt 0.576951 0.057998 +vt 0.460920 0.057845 +vt 0.611687 0.078268 +vt 0.425932 0.077985 +vt 0.660451 0.076084 +vt 0.626663 0.111357 +vt 0.410618 0.111244 +vt 0.629482 0.130456 +vt 0.407648 0.130594 +vt 0.413741 0.147158 +vt 0.619303 0.159841 +vt 0.418035 0.160361 +vt 0.389677 0.201890 +vt 0.886245 0.121777 +vt 0.891780 0.036916 +vt 0.945900 0.079569 +vt 0.141314 0.112482 +vt 0.142277 0.021467 +vt 0.183115 0.092127 +vt 0.849114 0.099732 +vt 0.805584 0.010786 +vt 0.232648 0.003484 +vt 0.246353 0.076510 +vt 0.687018 0.077204 +vt 0.672384 0.022201 +vt 0.349875 0.075955 +vt 0.365979 0.020991 +vt 0.760215 0.193244 +vt 0.789046 0.233323 +vt 0.271553 0.193871 +vt 0.241255 0.236977 +vt 0.909112 0.183261 +vt 0.994525 0.167705 +vt 0.107928 0.179083 +vt 0.078961 0.060719 +vt 0.862868 0.338556 +vt 0.962901 0.344752 +vt 0.911671 0.402429 +vt 0.160557 0.356821 +vt 0.043968 0.367038 +vt 0.123776 0.315519 +vt 0.915360 0.259804 +vt 0.999856 0.254640 +vt 0.098965 0.266968 +vt 0.000144 0.259113 +vt 0.011829 0.155367 +vt 0.749542 0.334683 +vt 0.766337 0.300809 +vt 0.789162 0.313727 +vt 0.267408 0.310142 +vt 0.288183 0.346496 +vt 0.242992 0.325552 +vt 0.815314 0.276388 +vt 0.846174 0.293397 +vt 0.213065 0.285164 +vt 0.178537 0.304983 +vt 0.845007 0.256352 +vt 0.873517 0.265922 +vt 0.179662 0.263312 +vt 0.147089 0.274284 +vt 0.859075 0.228168 +vt 0.886999 0.233769 +vt 0.162803 0.231720 +vt 0.131514 0.237587 +vt 0.875030 0.184705 +vt 0.842355 0.195160 +vt 0.145224 0.182749 +vt 0.894128 0.301884 +vt 0.794286 0.364062 +vt 0.770185 0.379538 +vt 0.239776 0.382592 +vt 0.845499 0.449967 +vt 0.106400 0.432652 +vt 0.815858 0.445381 +vt 0.755700 0.418603 +vt 0.287033 0.442912 +vt 0.219260 0.477186 +vt 0.268122 0.398737 +vt 0.185281 0.484099 +vt 0.819845 0.468071 +vt 0.215894 0.503605 +vt 0.809631 0.233887 +vt 0.219168 0.237388 +vt 0.829287 0.219562 +vt 0.199067 0.222464 +vt 0.788458 0.080826 +vt 0.715482 0.139727 +vt 0.319538 0.139409 +vt 0.246666 0.114850 +vt 0.785486 0.152330 +vt 0.245969 0.151002 +vt 0.623495 0.146796 +vt 0.837382 0.156361 +vt 0.196622 0.155241 +vt 0.171653 0.132294 +vt 0.786480 0.117591 +vt 0.858171 0.137775 +vt 0.432388 0.894943 +vt 0.491058 0.881714 +vt 0.506166 0.904851 +vt 0.321637 0.893225 +vt 0.263032 0.878321 +vt 0.315867 0.868209 +vt 0.572792 0.860484 +vt 0.604825 0.879946 +vt 0.181486 0.854693 +vt 0.247207 0.901159 +vt 0.148729 0.873349 +vt 0.619962 0.791615 +vt 0.136063 0.784093 +vt 0.169745 0.787474 +vt 0.586396 0.793977 +vt 0.563786 0.739211 +vt 0.194086 0.733241 +vt 0.208656 0.740879 +vt 0.549027 0.746412 +vt 0.508270 0.697693 +vt 0.250811 0.693249 +vt 0.258399 0.707497 +vt 0.438641 0.680683 +vt 0.434803 0.658882 +vt 0.320962 0.677959 +vt 0.325318 0.656224 +vt 0.500314 0.711729 +vt 0.452955 0.700023 +vt 0.306136 0.696976 +vt 0.505666 0.730944 +vt 0.252524 0.726592 +vt 0.568148 0.787367 +vt 0.188269 0.781375 +vt 0.214575 0.750414 +vt 0.555495 0.826352 +vt 0.199850 0.820889 +vt 0.501231 0.844356 +vt 0.253846 0.840502 +vt 0.457832 0.840040 +vt 0.297562 0.837358 +vt 0.783193 0.187449 +vt 0.246955 0.187075 +vt 0.233625 0.175620 +vt 0.394766 0.686125 +vt 0.391039 0.611891 +vt 0.364838 0.684445 +vt 0.391747 0.862097 +vt 0.438797 0.870229 +vt 0.363377 0.861308 +vt 0.435018 0.718280 +vt 0.323658 0.715731 +vt 0.384658 0.710299 +vt 0.433669 0.729661 +vt 0.374400 0.708969 +vt 0.410995 0.747662 +vt 0.427812 0.742828 +vt 0.324726 0.727177 +vt 0.347028 0.745816 +vt 0.330270 0.740536 +vt 0.384657 0.795423 +vt 0.418086 0.784946 +vt 0.372270 0.794472 +vt 0.431333 0.817535 +vt 0.401605 0.841460 +vt 0.324790 0.815460 +vt 0.338952 0.783073 +vt 0.354026 0.840297 +vt 0.825107 0.209762 +vt 0.199767 0.214827 +vt 0.816266 0.203086 +vt 0.209828 0.206161 +vt 0.226485 0.183086 +vt 0.796021 0.176969 +vt 0.802192 0.184609 +vt 0.448505 0.804621 +vt 0.473386 0.824700 +vt 0.307886 0.802031 +vt 0.282357 0.821525 +vt 0.321237 0.777208 +vt 0.423718 0.754191 +vt 0.435868 0.779569 +vt 0.334089 0.752045 +vt 0.319919 0.747250 +vt 0.437950 0.749777 +vt 0.312907 0.729222 +vt 0.440995 0.724383 +vt 0.445392 0.731997 +vt 0.317510 0.721697 +vt 0.455277 0.713731 +vt 0.303460 0.710657 +vt 0.512485 0.828811 +vt 0.242975 0.824574 +vt 0.550942 0.811814 +vt 0.204839 0.806417 +vt 0.552139 0.787682 +vt 0.204331 0.782156 +vt 0.539407 0.764539 +vt 0.542850 0.755753 +vt 0.217774 0.759319 +vt 0.508439 0.743135 +vt 0.249419 0.738732 +vt 0.454776 0.761665 +vt 0.302729 0.758742 +vt 0.286960 0.745020 +vt 0.470841 0.748408 +vt 0.475403 0.783904 +vt 0.281439 0.780511 +vt 0.268291 0.766661 +vt 0.503673 0.787562 +vt 0.494476 0.802470 +vt 0.252972 0.783410 +vt 0.261790 0.798626 +vt 0.516802 0.807339 +vt 0.239243 0.802891 +vt 0.237920 0.787045 +vt 0.518562 0.791602 +vt 0.484068 0.628776 +vt 0.543385 0.683538 +vt 0.276936 0.625067 +vt 0.216123 0.678120 +vt 0.581052 0.726933 +vt 0.177176 0.720426 +vt 0.616701 0.759965 +vt 0.140379 0.752377 +vt 0.660647 0.741167 +vt 0.707492 0.759884 +vt 0.097038 0.732052 +vt 0.677256 0.670436 +vt 0.745511 0.652100 +vt 0.049526 0.748824 +vt 0.083564 0.662038 +vt 0.671403 0.592656 +vt 0.740843 0.572428 +vt 0.019409 0.639749 +vt 0.092820 0.589862 +vt 0.834705 0.206959 +vt 0.051216 0.522659 +vt 0.033664 0.564403 +vt 0.620420 0.565675 +vt 0.498072 0.552315 +vt 0.145041 0.562595 +vt 0.264218 0.550140 +vt 0.369913 0.610196 +vt 0.464579 0.342230 +vt 0.176788 0.196179 +vt 0.770572 0.444261 +vt 0.271364 0.473316 +vt 0.488870 0.770464 +vt 0.834578 0.206879 +vn 0.6617 -0.2026 0.7219 +vn -0.6617 -0.2026 0.7219 +vn 0.8268 -0.3051 0.4725 +vn -0.8268 -0.3051 0.4725 +vn 0.4076 -0.7905 0.4570 +vn -0.4076 -0.7905 0.4570 +vn 0.3791 -0.5163 0.7679 +vn -0.3791 -0.5163 0.7679 +vn -0.0859 -0.5222 0.8485 +vn 0.0859 -0.5222 0.8485 +vn -0.2664 -0.8487 0.4570 +vn 0.2664 -0.8487 0.4570 +vn -0.7824 -0.3294 0.5285 +vn 0.7606 -0.3400 0.5531 +vn -0.4706 -0.1981 0.8598 +vn 0.4706 -0.1981 0.8598 +vn -0.4649 0.1958 0.8634 +vn 0.4649 0.1958 0.8634 +vn -0.7656 0.3223 0.5568 +vn 0.7683 0.3293 0.5488 +vn -0.2560 0.8073 0.5317 +vn 0.2487 0.8249 0.5076 +vn -0.0821 0.6023 0.7940 +vn 0.1017 0.5518 0.8277 +vn 0.3329 0.5231 0.7846 +vn -0.3861 0.5446 0.7445 +vn 0.4246 0.7711 0.4745 +vn -0.4059 0.7641 0.5014 +vn 0.8251 0.2968 0.4808 +vn -0.8299 0.2940 0.4742 +vn 0.6888 0.1868 0.7005 +vn -0.6617 0.2026 0.7219 +vn 0.8400 0.3436 -0.4200 +vn -0.7816 0.3058 -0.5437 +vn 0.2074 0.8296 -0.5185 +vn -0.2037 0.8146 -0.5431 +vn -0.4056 0.7605 -0.5070 +vn 0.4381 0.7988 -0.4123 +vn -0.8642 0.3143 -0.3928 +vn 0.7861 0.3276 -0.5241 +vn -0.7783 -0.3537 -0.5188 +vn 0.7783 -0.3537 -0.5188 +vn -0.4381 -0.7988 -0.4123 +vn 0.4381 -0.7988 -0.4123 +vn 0.2037 -0.8146 -0.5431 +vn -0.2037 -0.8146 -0.5431 +vn 0.7683 -0.3293 -0.5488 +vn -0.7683 -0.3293 -0.5488 +vn 0.4000 -0.0623 0.9144 +vn -0.4000 -0.0623 0.9144 +vn 0.3069 -0.1754 0.9354 +vn -0.3069 -0.1754 0.9354 +vn 0.0945 -0.1835 0.9785 +vn -0.0945 -0.1835 0.9785 +vn -0.0624 -0.0283 0.9977 +vn 0.0624 -0.0283 0.9977 +vn -0.0624 0.0260 0.9977 +vn 0.0624 0.0260 0.9977 +vn 0.0996 0.1729 0.9799 +vn -0.0996 0.1729 0.9799 +vn 0.3036 0.1656 0.9383 +vn -0.3036 0.1656 0.9383 +vn 0.4002 0.0572 0.9147 +vn -0.4002 0.0572 0.9147 +vn 0.1367 -0.8748 0.4648 +vn -0.1054 -0.8433 0.5270 +vn 0.2303 -0.8656 0.4447 +vn -0.1916 -0.8620 0.4693 +vn 0.5788 -0.5049 0.6404 +vn -0.5788 -0.5049 0.6404 +vn 0.7763 -0.0633 0.6272 +vn -0.7763 -0.0633 0.6272 +vn 0.7471 0.1132 0.6550 +vn -0.7471 0.1132 0.6550 +vn 0.3747 -0.8345 0.4040 +vn -0.3747 -0.8345 0.4040 +vn 0.3557 -0.7290 0.5848 +vn -0.4177 -0.5751 0.7034 +vn 0.6947 -0.4197 0.5841 +vn -0.6947 -0.4197 0.5841 +vn 0.7028 -0.3915 0.5939 +vn -0.5537 -0.2978 0.7777 +vn 0.3127 0.3425 0.8860 +vn -0.8227 0.3606 0.4395 +vn 0.5091 0.6482 0.5663 +vn -0.5041 0.6448 0.5745 +vn 0.5977 0.5565 0.5771 +vn -0.5977 0.5565 0.5771 +vn -0.0486 0.6560 0.7532 +vn 0.0371 0.6685 0.7428 +vn -0.7104 0.2715 0.6494 +vn 0.7386 0.3768 0.5590 +vn -0.6013 0.5262 0.6013 +vn 0.5774 0.5774 0.5774 +vn 0.5070 -0.6281 0.5903 +vn -0.5364 -0.3230 0.7797 +vn 0.2226 -0.4694 0.8545 +vn -0.2226 -0.4694 0.8545 +vn -0.0348 -0.5792 0.8144 +vn 0.1073 -0.5010 0.8588 +vn -0.0899 -0.7843 0.6138 +vn 0.0770 -0.5759 0.8139 +vn 0.0547 -0.1695 0.9840 +vn -0.0279 -0.8645 0.5019 +vn 0.4260 -0.0609 0.9027 +vn -0.1687 -0.3128 0.9347 +vn 0.3352 -0.1828 0.9243 +vn -0.4350 -0.1812 0.8820 +vn 0.3579 -0.3068 0.8819 +vn -0.3223 -0.2762 0.9054 +vn 0.3069 0.2113 0.9280 +vn -0.4815 -0.2408 0.8427 +vn -0.1598 0.3903 0.9067 +vn 0.1598 0.3903 0.9067 +vn 0.6819 -0.2915 0.6709 +vn -0.1854 -0.4956 0.8485 +vn 0.0585 -0.0781 0.9952 +vn -0.0585 -0.0781 0.9952 +vn -0.0066 -0.2316 0.9728 +vn -0.0585 -0.0845 0.9947 +vn 0.1008 -0.7103 0.6966 +vn -0.1008 -0.7103 0.6966 +vn 0.1322 -0.5947 0.7930 +vn -0.1322 -0.5947 0.7930 +vn 0.3128 -0.1662 0.9352 +vn -0.3143 -0.3928 0.8642 +vn 0.3288 -0.0360 0.9437 +vn -0.3288 -0.0360 0.9437 +vn 0.3233 -0.0808 0.9429 +vn -0.3233 -0.0808 0.9429 +vn -0.0232 0.0511 0.9984 +vn 0.0000 0.0665 0.9978 +vn -0.0043 -0.0651 0.9979 +vn 0.0000 -0.0665 0.9978 +vn 0.0000 0.0000 1.0000 +vn 0.8447 -0.5335 0.0445 +vn -0.8447 -0.5335 0.0445 +vn 0.9500 0.2692 -0.1583 +vn -0.9500 0.2692 -0.1583 +vn 0.0693 0.9004 -0.4294 +vn -0.1018 0.9165 -0.3870 +vn -1.0000 0.0000 0.0000 +vn 0.6905 0.5492 0.4708 +vn 0.4071 -0.8956 0.1791 +vn -0.4319 -0.8639 0.2592 +vn 0.2873 -0.5747 0.7663 +vn -0.2873 -0.5747 0.7663 +vn -0.6326 0.5353 0.5596 +vn 0.6326 0.5353 0.5596 +vn 0.0862 0.7759 0.6250 +vn -0.0862 0.7759 0.6250 +vn 0.7532 0.2870 0.5918 +vn -0.7639 0.2971 0.5729 +vn 0.3416 -0.5409 0.7686 +vn -0.3416 -0.5409 0.7686 +vn 0.0502 0.2343 0.9709 +vn -0.0375 0.2247 0.9737 +vn -0.1304 -0.6087 0.7826 +vn 0.1304 -0.6087 0.7826 +vn -0.5059 0.0716 0.8596 +vn 0.5059 0.0716 0.8596 +vn -0.5774 -0.5773 0.5773 +vn 0.5774 -0.5773 0.5773 +vn 0.5460 -0.4310 0.7184 +vn -0.3319 0.0738 0.9404 +vn 0.3231 0.0311 0.9459 +vn -0.2815 0.0662 0.9573 +vn 0.7357 0.3910 0.5531 +vn -0.8753 0.2059 0.4376 +vn 0.8480 0.3180 0.4240 +vn -0.8973 0.1994 0.3938 +vn 0.8505 0.3798 0.3638 +vn -0.8505 0.3798 0.3638 +vn 0.1783 -0.4161 0.8917 +vn -0.2524 -0.8655 0.4327 +vn -0.1296 -0.1945 0.9723 +vn 0.1296 -0.1945 0.9723 +vn -0.4472 0.0000 0.8944 +vn 0.4472 0.0000 0.8944 +vn -0.1582 0.9494 0.2713 +vn 0.1582 0.9494 0.2713 +vn -0.6463 0.7337 0.2096 +vn 0.6463 0.7337 0.2096 +vn 1.0000 0.0000 0.0000 +vn 0.3051 -0.9450 0.1181 +vn -0.3051 -0.9450 0.1181 +vn 0.0217 -0.3031 0.9527 +vn -0.0217 -0.3031 0.9527 +vn 0.1353 -0.3479 0.9277 +vn -0.1353 -0.3479 0.9277 +vn -0.4681 -0.2239 0.8548 +vn 0.4681 -0.2239 0.8548 +vn -0.2710 0.0271 0.9622 +vn 0.2710 0.0271 0.9622 +vn -0.1717 -0.0090 0.9851 +vn 0.2595 0.1038 0.9601 +vn -0.4332 -0.4874 0.7581 +vn 0.6684 -0.4595 0.5849 +vn -0.1599 -0.8797 0.4478 +vn 0.1599 -0.8797 0.4478 +vn 0.3900 -0.5895 0.7074 +vn -0.3900 -0.5895 0.7074 +vn 0.6547 -0.4589 0.6007 +vn -0.6547 -0.4589 0.6007 +vn 0.5378 -0.1144 0.8353 +vn -0.5378 -0.1144 0.8353 +vn 0.5657 0.1197 0.8159 +vn -0.5774 0.1155 0.8083 +vn 0.4082 0.4082 0.8165 +vn -0.5214 0.6574 0.5441 +vn 0.1796 0.7882 0.5886 +vn -0.1796 0.7882 0.5886 +vn 0.1881 0.3387 0.9219 +vn -0.1881 0.3387 0.9219 +vn -0.0870 0.2756 0.9573 +vn 0.0870 0.2756 0.9573 +vn 0.2804 -0.2181 0.9348 +vn -0.3553 -0.5739 0.7379 +vn 0.3015 -0.3015 0.9045 +vn -0.3015 -0.3015 0.9045 +vn -0.3766 -0.8339 0.4035 +vn 0.0631 -0.3156 0.9468 +vn 0.0823 -0.7822 0.6175 +vn 0.2016 -0.9071 0.3696 +vn -0.3707 -0.2851 0.8839 +vn 0.3707 -0.2851 0.8839 +vn -0.2692 -0.0577 0.9614 +vn 0.4568 0.0508 0.8881 +vn -0.2797 0.5245 0.8042 +vn 0.2797 0.5245 0.8042 +vn -0.0213 0.5546 0.8319 +vn 0.0487 0.6815 0.7302 +vn 0.3778 0.6342 0.6746 +vn -0.3378 0.5221 0.7831 +vn 0.4988 0.5300 0.6858 +vn -0.4988 0.5300 0.6858 +vn 0.5425 -0.3391 0.7686 +vn -0.5425 -0.3391 0.7686 +vn 0.8305 -0.0615 0.5537 +vn -0.8305 -0.0615 0.5537 +vn 0.7814 0.1116 0.6140 +vn -0.7814 0.1116 0.6140 +vn -0.4338 0.8888 -0.1481 +vn 0.4338 0.8888 -0.1481 +vn -0.8515 0.3744 -0.3670 +vn 0.8515 0.3744 -0.3670 +vn -0.2664 0.8710 -0.4127 +vn 0.2197 0.8626 -0.4557 +vn 0.5932 0.7445 -0.3063 +vn -0.5914 0.7489 -0.2991 +vn 0.3714 0.8685 -0.3284 +vn -0.3653 0.8833 -0.2938 +vn 0.2901 0.9141 -0.2833 +vn -0.2901 0.9141 -0.2833 +vn 0.8873 0.1343 -0.4412 +vn -0.7964 0.1323 -0.5901 +vn 0.5108 -0.6649 -0.5450 +vn -0.5108 -0.6649 -0.5450 +vn 0.3695 -0.8566 -0.3601 +vn -0.3695 -0.8566 -0.3601 +vn 0.3617 -0.3858 -0.8487 +vn -0.1649 -0.6644 -0.7289 +vn 0.1952 -0.0976 -0.9759 +vn -0.3011 -0.0125 -0.9535 +vn -0.0107 -0.5633 -0.8262 +vn -0.2562 -0.3112 -0.9152 +vn 0.1533 -0.9649 -0.2134 +vn -0.1533 -0.9649 -0.2134 +vn 0.1260 -0.9624 -0.2406 +vn -0.1260 -0.9624 -0.2406 +vn 0.9396 0.1573 -0.3041 +vn -0.9396 0.1573 -0.3041 +vn 0.9278 0.1838 -0.3246 +vn -0.9278 0.1838 -0.3246 +vn 0.2192 0.0766 -0.9727 +vn -0.2192 0.0766 -0.9727 +vn 0.1211 -0.0530 -0.9912 +vn 0.1497 -0.3635 -0.9195 +vn 0.9094 0.1371 -0.3927 +vn -0.3706 -0.6780 -0.6349 +vn 0.9202 0.1355 -0.3672 +vn -0.9202 0.1355 -0.3672 +vn 0.9173 0.3440 -0.2007 +vn -0.9457 0.2673 -0.1850 +vn 0.9004 0.3642 -0.2380 +vn -0.9337 0.2813 -0.2215 +vn 0.8945 0.4337 0.1084 +vn -0.9501 0.2455 -0.1922 +vn 0.1596 -0.9577 -0.2394 +vn -0.1835 -0.7864 -0.5898 +vn 0.3693 -0.4712 -0.8010 +vn -0.3727 -0.4759 -0.7966 +vn 0.2986 -0.8236 -0.4821 +vn -0.3263 -0.8342 -0.4446 +vn 0.2995 -0.9442 -0.1368 +vn -0.2995 -0.9442 -0.1368 +vn 0.3287 -0.9163 -0.2291 +vn -0.3287 -0.9163 -0.2291 +vn 0.8305 0.3333 -0.4463 +vn -0.8642 -0.4737 0.1696 +vn 0.9166 -0.3740 0.1414 +vn -0.9166 -0.3740 0.1414 +vn 0.2950 -0.0454 -0.9544 +vn -0.4189 -0.2265 -0.8793 +vn 0.1272 0.9658 0.2260 +vn -0.1119 0.9626 0.2468 +vn 0.1320 0.9750 -0.1788 +vn -0.1320 0.9750 -0.1788 +vn 0.3878 0.6192 -0.6828 +vn -0.3878 0.6192 -0.6828 +vn 0.4951 0.8618 -0.1100 +vn -0.4951 0.8618 -0.1100 +vn 0.2561 0.6447 0.7202 +vn -0.2561 0.6447 0.7202 +vn 0.5966 0.7888 0.1479 +vn -0.5966 0.7888 0.1479 +vn 0.7125 0.6755 -0.1900 +vn -0.7125 0.6755 -0.1900 +vn 0.7104 0.1364 -0.6904 +vn -0.6304 0.2517 -0.7343 +vn 0.6823 0.2318 -0.6933 +vn -0.6823 0.2318 -0.6933 +vn 0.6574 0.7254 -0.2040 +vn -0.6574 0.7254 -0.2040 +vn 0.7289 0.6729 0.1262 +vn -0.7289 0.6729 0.1262 +vn 0.7791 0.4074 0.4764 +vn -0.7791 0.4074 0.4764 +vn 0.3669 0.8840 -0.2898 +vn -0.3238 0.9434 -0.0720 +vn 0.2854 0.6237 0.7277 +vn -0.1548 0.5080 0.8473 +vn -0.1681 0.1005 -0.9806 +vn 0.1681 0.1005 -0.9806 +vn 0.2925 0.5674 0.7697 +vn -0.2925 0.5674 0.7697 +vn -0.1616 0.1847 0.9694 +vn 0.1616 0.1847 0.9694 +vn 0.8681 0.0893 -0.4883 +vn -0.9340 0.2255 0.2773 +vn 0.9276 0.0762 0.3657 +vn -0.9276 0.0762 0.3657 +vn 0.9750 0.2169 0.0490 +vn -0.9750 0.2169 0.0490 +vn 0.9817 -0.0304 -0.1882 +vn -0.9956 0.0893 -0.0288 +vn 0.7466 -0.6646 0.0285 +vn -0.6374 -0.7651 0.0915 +vn 0.3723 -0.9243 0.0847 +vn -0.3720 -0.9244 0.0845 +vn 0.3986 -0.8754 0.2734 +vn -0.3986 -0.8754 0.2734 +vn 0.6328 -0.7642 0.1247 +vn -0.6328 -0.7642 0.1247 +vn 0.7325 -0.6368 0.2407 +vn -0.7325 -0.6368 0.2407 +vn 0.2637 -0.4499 0.8533 +vn -0.2637 -0.4499 0.8533 +vn 0.5881 -0.3070 -0.7483 +vn -0.5236 -0.3290 -0.7859 +vn 0.4694 -0.2400 -0.8498 +vn -0.5396 -0.3343 -0.7727 +vn 0.4463 -0.8452 -0.2941 +vn -0.2144 -0.8341 -0.5082 +vn 0.6973 -0.6610 -0.2771 +vn -0.7365 -0.6154 -0.2808 +vn 0.4972 -0.4408 -0.7473 +vn -0.4972 -0.4408 -0.7473 +vn 0.3691 0.2855 0.8844 +vn -0.3244 0.4867 0.8111 +vn 0.4467 0.0975 0.8894 +vn -0.4467 0.0975 0.8894 +vn 0.3188 0.1993 0.9266 +vn -0.1817 -0.0079 0.9833 +vn 0.2076 -0.0836 0.9746 +vn -0.2925 -0.0758 0.9533 +vn 0.3398 0.0824 0.9369 +vn -0.5847 -0.2198 0.7809 +vn 0.5957 -0.3850 0.7049 +vn -0.5957 -0.3850 0.7049 +vn 0.4843 0.5580 0.6738 +vn -0.4843 0.5580 0.6738 +vn -0.2675 0.8318 0.4864 +vn 0.2675 0.8318 0.4864 +vn -0.8576 0.2223 0.4637 +vn 0.7885 0.2366 0.5677 +vn -0.5257 -0.3579 0.7717 +vn 0.5242 -0.3548 0.7742 +vn 0.4663 -0.5991 0.6509 +vn -0.4390 -0.5252 0.7290 +vn 0.7104 -0.4567 0.5356 +vn -0.7104 -0.4567 0.5356 +vn 0.7507 -0.6131 -0.2461 +vn -0.6302 -0.7658 0.1282 +vn -0.1788 0.2923 0.9395 +vn 0.2175 0.2733 0.9370 +vn 0.9042 -0.3578 -0.2332 +vn -0.9042 -0.3578 -0.2332 +vn 0.0400 0.3399 0.9396 +vn -0.0400 0.3399 0.9396 +vn 0.2734 0.9064 0.3221 +vn -0.2734 0.9064 0.3221 +vn 0.4480 -0.4480 0.7737 +vn -0.7177 0.1689 0.6755 +vn 0.5534 -0.5534 0.6225 +vn -0.9008 -0.4075 0.1501 +vn 0.5724 -0.3122 0.7582 +vn -0.5815 -0.5217 0.6243 +vn 0.5597 -0.5533 0.6169 +vn -0.6138 -0.2571 0.7465 +vn 0.8271 0.5323 -0.1802 +vn -0.8271 0.5323 -0.1802 +vn 0.9227 -0.3765 -0.0825 +vn -0.8717 -0.4446 -0.2063 +vn 0.9972 -0.0181 -0.0725 +vn -0.9972 -0.0181 -0.0725 +vn 0.6895 -0.6644 0.2883 +vn -0.6895 -0.6644 0.2883 +vn 0.7815 -0.6176 0.0882 +vn -0.7930 -0.5947 0.1322 +vn 0.7022 -0.7022 0.1170 +vn -0.7022 -0.7022 0.1170 +vn 0.1240 0.9921 0.0207 +vn -0.2408 0.9631 -0.1204 +vn 0.9435 0.3145 0.1048 +vn -0.9251 0.3469 0.1542 +vn 0.6213 -0.7767 0.1036 +vn -0.6213 -0.7767 0.1036 +vn 0.0000 1.0000 0.0000 +vn 0.6197 -0.6899 0.3742 +vn -0.6197 -0.6899 0.3742 +vn 0.2752 -0.8808 0.3853 +vn -0.2752 -0.8808 0.3853 +vn -0.7929 -0.5252 -0.3089 +vn 0.7929 -0.5252 -0.3089 +vn -0.8096 0.2429 -0.5343 +vn 0.8538 0.2328 -0.4657 +vn -0.5621 0.8231 -0.0803 +vn 0.5433 0.6985 -0.4657 +vn -0.0071 0.9899 0.1414 +vn 0.1096 0.9939 -0.0157 +vn 0.1046 0.0392 0.9937 +vn -0.1738 0.0097 0.9847 +vn 0.2461 0.0852 0.9655 +vn -0.4134 0.0413 0.9096 +vn 0.3009 0.0926 0.9491 +vn -0.3009 0.0926 0.9491 +vn 0.2104 0.0124 0.9775 +vn -0.1220 0.0458 0.9915 +vn -0.0099 0.3867 0.9221 +vn 0.0099 0.3867 0.9221 +vn 0.3787 -0.0364 0.9248 +vn -0.4244 -0.0320 0.9049 +vn 0.2530 -0.1897 0.9487 +vn -0.2570 0.0723 0.9637 +vn -0.4870 0.6088 0.6262 +vn 0.2981 0.7454 0.5963 +vn 0.6693 0.1802 0.7208 +vn -0.6693 0.1802 0.7208 +vn 0.4388 -0.2008 0.8759 +vn -0.4723 -0.1986 0.8588 +vn 0.5786 -0.1334 0.8046 +vn -0.2975 -0.4062 0.8640 +vn 0.5002 0.2833 0.8182 +vn -0.5002 0.2833 0.8182 +vn 0.2980 0.5802 0.7580 +vn -0.2980 0.5802 0.7580 +vn 0.0929 -0.9912 -0.0944 +vn -0.0929 -0.9912 -0.0944 +vn 0.4688 -0.8715 0.1442 +vn -0.4688 -0.8715 0.1442 +vn 0.9309 -0.2541 0.2624 +vn -0.9264 -0.2460 0.2851 +vn 0.8465 0.5291 -0.0595 +vn -0.8267 0.5627 -0.0035 +vn -0.2511 0.9439 -0.2145 +vn 0.2146 0.9243 -0.3157 +vn -0.4841 0.8743 -0.0361 +vn 0.4196 0.8851 -0.2012 +vn -0.5256 -0.0030 -0.8507 +vn 0.5470 -0.0144 -0.8370 +vn -0.1466 0.0104 -0.9891 +vn 0.1466 0.0104 -0.9891 +vn 0.4046 0.0266 -0.9141 +vn -0.4046 0.0266 -0.9141 +vn -0.8073 0.5901 0.0041 +vn 0.7330 0.6786 0.0472 +vn 0.4200 -0.2291 -0.8781 +vn -0.4200 -0.2291 -0.8781 +vn -0.0687 -0.9943 -0.0818 +vn 0.0687 -0.9943 -0.0818 +vn 0.6713 -0.1971 0.7145 +vn -0.6713 -0.1971 0.7145 +vn 0.8326 -0.3017 0.4646 +vn -0.8326 -0.3017 0.4646 +vn 0.4258 -0.7967 0.4290 +vn -0.4258 -0.7967 0.4290 +vn 0.3265 -0.4954 0.8050 +vn -0.3265 -0.4954 0.8050 +vn -0.0649 -0.5714 0.8181 +vn 0.0649 -0.5714 0.8181 +vn -0.2738 -0.8315 0.4834 +vn 0.2738 -0.8315 0.4834 +vn -0.7606 -0.3400 0.5531 +vn 0.7824 -0.3294 0.5285 +vn -0.4658 -0.1863 0.8651 +vn 0.4658 -0.1863 0.8651 +vn -0.4983 0.1812 0.8478 +vn 0.4983 0.1812 0.8478 +vn -0.7683 0.3293 0.5488 +vn 0.7656 0.3223 0.5568 +vn -0.2487 0.8249 0.5076 +vn 0.2560 0.8073 0.5317 +vn -0.1017 0.5518 0.8277 +vn 0.0821 0.6023 0.7940 +vn 0.3861 0.5446 0.7445 +vn -0.3329 0.5231 0.7846 +vn 0.4059 0.7641 0.5014 +vn -0.4246 0.7711 0.4745 +vn 0.8299 0.2940 0.4742 +vn -0.8251 0.2968 0.4808 +vn 0.6617 0.2026 0.7219 +vn -0.6888 0.1868 0.7005 +vn 0.7816 0.3058 -0.5437 +vn -0.8400 0.3436 -0.4200 +vn 0.2037 0.8146 -0.5431 +vn -0.2074 0.8296 -0.5185 +vn -0.4381 0.7988 -0.4123 +vn 0.4056 0.7605 -0.5070 +vn -0.7861 0.3276 -0.5241 +vn 0.8642 0.3143 -0.3928 +vn -0.8519 -0.3408 -0.3976 +vn 0.8519 -0.3408 -0.3976 +vn -0.4056 -0.7605 -0.5070 +vn 0.4056 -0.7605 -0.5070 +vn 0.2074 -0.8296 -0.5185 +vn -0.2074 -0.8296 -0.5185 +vn 0.8297 -0.3734 -0.4149 +vn -0.8297 -0.3734 -0.4149 +vn 0.1054 -0.8433 0.5270 +vn -0.1367 -0.8748 0.4648 +vn 0.1916 -0.8620 0.4693 +vn -0.2303 -0.8656 0.4447 +vn 0.5959 -0.4256 0.6810 +vn -0.5959 -0.4256 0.6810 +vn 0.7563 -0.0299 0.6535 +vn -0.7563 -0.0299 0.6535 +vn 0.8069 0.0689 0.5866 +vn -0.8069 0.0689 0.5866 +vn 0.2334 -0.7779 0.5834 +vn -0.2334 -0.7779 0.5834 +vn 0.4177 -0.5751 0.7034 +vn -0.3557 -0.7290 0.5848 +vn 0.6872 -0.4191 0.5934 +vn -0.6872 -0.4191 0.5934 +vn 0.5537 -0.2978 0.7777 +vn -0.7028 -0.3915 0.5939 +vn 0.8227 0.3606 0.4395 +vn -0.3127 0.3425 0.8860 +vn 0.5041 0.6448 0.5745 +vn -0.5091 0.6482 0.5663 +vn 0.6155 0.4924 0.6155 +vn -0.6155 0.4924 0.6155 +vn -0.0371 0.6685 0.7428 +vn 0.0486 0.6560 0.7532 +vn -0.7386 0.3768 0.5590 +vn 0.7104 0.2715 0.6494 +vn -0.5774 0.5774 0.5774 +vn 0.6013 0.5262 0.6013 +vn 0.5364 -0.3230 0.7797 +vn -0.5070 -0.6281 0.5903 +vn 0.2181 -0.4685 0.8561 +vn -0.2181 -0.4685 0.8561 +vn -0.1073 -0.5010 0.8588 +vn 0.0348 -0.5792 0.8144 +vn -0.0770 -0.5759 0.8139 +vn 0.0899 -0.7843 0.6138 +vn 0.0279 -0.8645 0.5019 +vn -0.0547 -0.1695 0.9840 +vn 0.1687 -0.3128 0.9347 +vn -0.4260 -0.0609 0.9027 +vn 0.4350 -0.1812 0.8820 +vn -0.3352 -0.1828 0.9243 +vn 0.3223 -0.2762 0.9054 +vn -0.3579 -0.3068 0.8819 +vn 0.4815 -0.2408 0.8427 +vn -0.3069 0.2113 0.9280 +vn -0.0317 -0.1899 0.9813 +vn 0.0317 -0.1899 0.9813 +vn 0.1854 -0.4956 0.8485 +vn -0.6819 -0.2915 0.6709 +vn 0.2623 -0.3498 0.8994 +vn -0.2623 -0.3498 0.8994 +vn 0.0585 -0.0845 0.9947 +vn 0.0066 -0.2316 0.9728 +vn -0.0136 -0.6507 0.7592 +vn 0.0136 -0.6507 0.7592 +vn 0.2404 -0.5476 0.8014 +vn -0.2404 -0.5476 0.8014 +vn 0.3143 -0.3928 0.8642 +vn -0.3128 -0.1662 0.9352 +vn 0.2821 -0.0164 0.9592 +vn -0.2821 -0.0164 0.9592 +vn 0.3273 -0.1432 0.9340 +vn -0.3273 -0.1432 0.9340 +vn 0.0232 0.0511 0.9984 +vn 0.0043 -0.0651 0.9979 +vn 0.7826 -0.6087 -0.1304 +vn -0.7826 -0.6087 -0.1304 +vn 0.9448 0.1919 -0.2657 +vn -0.9448 0.1919 -0.2657 +vn 0.1018 0.9165 -0.3870 +vn -0.0693 0.9004 -0.4294 +vn -0.6905 0.5492 0.4708 +vn 0.4319 -0.8639 0.2592 +vn -0.4071 -0.8956 0.1791 +vn -0.6667 0.6667 0.3333 +vn 0.6667 0.6667 0.3333 +vn 0.1348 0.8086 0.5727 +vn -0.1348 0.8086 0.5727 +vn 0.7639 0.2971 0.5729 +vn -0.7532 0.2870 0.5918 +vn 0.4116 -0.8575 0.3087 +vn -0.4116 -0.8575 0.3087 +vn 0.0375 0.2247 0.9737 +vn -0.0502 0.2343 0.9709 +vn 0.1304 -0.2609 0.9565 +vn -0.1304 -0.2609 0.9565 +vn -0.0631 -0.8206 0.5681 +vn 0.0631 -0.8206 0.5681 +vn 0.7325 0.2817 0.6198 +vn -0.7325 0.2817 0.6198 +vn 0.3319 0.0738 0.9404 +vn -0.5460 -0.4310 0.7184 +vn 0.2815 0.0662 0.9573 +vn -0.3231 0.0311 0.9459 +vn 0.8753 0.2059 0.4376 +vn -0.7357 0.3910 0.5531 +vn 0.8973 0.1994 0.3938 +vn -0.8480 0.3180 0.4240 +vn 0.9586 0.0664 0.2767 +vn -0.9586 0.0664 0.2767 +vn 0.2524 -0.8655 0.4327 +vn -0.1783 -0.4161 0.8917 +vn -0.1751 -0.2043 0.9631 +vn 0.1751 -0.2043 0.9631 +vn -0.1219 -0.1829 0.9755 +vn 0.1219 -0.1829 0.9755 +vn -0.1562 0.3123 0.9370 +vn 0.1562 0.3123 0.9370 +vn -0.7238 0.6857 0.0762 +vn 0.7238 0.6857 0.0762 +vn 0.0478 -0.2870 0.9567 +vn -0.0478 -0.2870 0.9567 +vn -0.5488 -0.3293 0.7684 +vn 0.5488 -0.3293 0.7684 +vn -0.4945 -0.1130 0.8618 +vn 0.4945 -0.1130 0.8618 +vn -0.2595 0.1038 0.9601 +vn 0.1717 -0.0090 0.9851 +vn -0.6684 -0.4595 0.5849 +vn 0.4332 -0.4874 0.7581 +vn -0.1156 -0.6359 0.7631 +vn 0.1156 -0.6359 0.7631 +vn 0.4242 -0.6211 0.6590 +vn -0.4242 -0.6211 0.6590 +vn 0.4767 -0.3557 0.8039 +vn -0.4767 -0.3557 0.8039 +vn 0.5871 -0.0839 0.8052 +vn -0.5871 -0.0839 0.8052 +vn 0.5774 0.1155 0.8083 +vn -0.5657 0.1197 0.8159 +vn 0.5214 0.6574 0.5441 +vn -0.4082 0.4082 0.8165 +vn 0.3358 0.3478 0.8754 +vn -0.3358 0.3478 0.8754 +vn 0.1452 0.3774 0.9146 +vn -0.1452 0.3774 0.9146 +vn 0.0301 0.2306 0.9726 +vn -0.0301 0.2306 0.9726 +vn 0.3553 -0.5739 0.7379 +vn -0.2804 -0.2181 0.9348 +vn 0.2627 -0.2252 0.9382 +vn -0.2627 -0.2252 0.9382 +vn -0.0631 -0.3156 0.9468 +vn 0.3766 -0.8339 0.4035 +vn -0.2016 -0.9071 0.3696 +vn -0.0823 -0.7822 0.6175 +vn -0.3356 -0.2397 0.9110 +vn 0.3356 -0.2397 0.9110 +vn -0.4568 0.0508 0.8881 +vn 0.2692 -0.0577 0.9614 +vn -0.0247 0.4072 0.9130 +vn 0.0247 0.4072 0.9130 +vn -0.0487 0.6815 0.7302 +vn 0.0213 0.5546 0.8319 +vn 0.3378 0.5221 0.7831 +vn -0.3778 0.6342 0.6746 +vn 0.7895 -0.3158 0.5263 +vn -0.7895 -0.3158 0.5263 +vn 0.8070 -0.0807 0.5851 +vn -0.8070 -0.0807 0.5851 +vn 0.7868 0.1210 0.6052 +vn -0.7868 0.1210 0.6052 +vn -0.6357 0.6811 -0.3633 +vn 0.6357 0.6811 -0.3633 +vn -0.8507 0.3650 -0.3783 +vn 0.8507 0.3650 -0.3783 +vn -0.2197 0.8626 -0.4557 +vn 0.2664 0.8710 -0.4127 +vn 0.5914 0.7489 -0.2991 +vn -0.5932 0.7445 -0.3063 +vn 0.3653 0.8833 -0.2938 +vn -0.3714 0.8685 -0.3284 +vn 0.2760 0.9159 -0.2915 +vn -0.2760 0.9159 -0.2915 +vn 0.7964 0.1323 -0.5901 +vn -0.8873 0.1343 -0.4412 +vn 0.5442 -0.7524 -0.3712 +vn -0.5442 -0.7524 -0.3712 +vn 0.4027 -0.7323 -0.5492 +vn -0.4027 -0.7323 -0.5492 +vn 0.1649 -0.6644 -0.7289 +vn -0.3617 -0.3858 -0.8487 +vn 0.3011 -0.0125 -0.9535 +vn -0.1952 -0.0976 -0.9759 +vn 0.2562 -0.3112 -0.9152 +vn 0.0107 -0.5633 -0.8262 +vn 0.0779 -0.9948 -0.0663 +vn -0.0779 -0.9948 -0.0663 +vn 0.1094 -0.9718 -0.2089 +vn -0.1094 -0.9718 -0.2090 +vn 0.8150 -0.5621 -0.1405 +vn -0.8150 -0.5621 -0.1405 +vn 0.9358 0.1396 -0.3236 +vn -0.9358 0.1396 -0.3236 +vn 0.1132 -0.0274 -0.9932 +vn -0.1132 -0.0274 -0.9932 +vn -0.1497 -0.3635 -0.9195 +vn -0.1211 -0.0530 -0.9912 +vn 0.3706 -0.6780 -0.6349 +vn -0.9094 0.1371 -0.3927 +vn 0.9193 0.1393 -0.3682 +vn -0.9193 0.1393 -0.3682 +vn 0.9457 0.2673 -0.1850 +vn -0.9173 0.3440 -0.2007 +vn 0.9337 0.2813 -0.2215 +vn -0.9004 0.3642 -0.2380 +vn 0.9501 0.2455 -0.1922 +vn -0.8945 0.4337 0.1084 +vn 0.1835 -0.7864 -0.5898 +vn -0.1596 -0.9577 -0.2394 +vn 0.3727 -0.4759 -0.7966 +vn -0.3693 -0.4712 -0.8010 +vn 0.3263 -0.8342 -0.4446 +vn -0.2986 -0.8236 -0.4821 +vn 0.2620 -0.9574 -0.1217 +vn -0.2620 -0.9574 -0.1217 +vn 0.2996 -0.9443 -0.1362 +vn -0.2996 -0.9443 -0.1362 +vn 0.8642 -0.4737 0.1696 +vn -0.8305 0.3333 -0.4463 +vn 0.6869 -0.6358 0.3521 +vn -0.6869 -0.6358 0.3521 +vn 0.4189 -0.2265 -0.8793 +vn -0.2950 -0.0454 -0.9544 +vn 0.1119 0.9626 0.2468 +vn -0.1272 0.9658 0.2260 +vn 0.1208 0.9734 -0.1947 +vn -0.1208 0.9734 -0.1947 +vn 0.3140 0.5711 -0.7585 +vn -0.3140 0.5711 -0.7585 +vn 0.3231 0.9288 -0.1817 +vn -0.3231 0.9288 -0.1817 +vn 0.0452 0.7955 0.6043 +vn -0.0452 0.7955 0.6043 +vn 0.6144 0.7696 0.1738 +vn -0.6144 0.7696 0.1738 +vn 0.6935 0.6857 -0.2212 +vn -0.6935 0.6857 -0.2212 +vn 0.6304 0.2517 -0.7343 +vn -0.7104 0.1364 -0.6904 +vn 0.3179 0.5704 -0.7574 +vn -0.3179 0.5704 -0.7574 +vn 0.6289 0.7624 -0.1525 +vn -0.6289 0.7624 -0.1525 +vn 0.7088 0.6833 0.1752 +vn -0.7088 0.6833 0.1752 +vn 0.6885 0.3830 0.6158 +vn -0.6885 0.3830 0.6158 +vn 0.3238 0.9434 -0.0720 +vn -0.3669 0.8840 -0.2898 +vn 0.1548 0.5080 0.8473 +vn -0.2854 0.6237 0.7277 +vn -0.1819 0.1145 -0.9766 +vn 0.1819 0.1145 -0.9766 +vn -0.2638 0.9462 -0.1871 +vn 0.2638 0.9462 -0.1871 +vn 0.9340 0.2255 0.2773 +vn -0.8681 0.0893 -0.4883 +vn 0.9758 0.1241 0.1800 +vn -0.9758 0.1241 0.1800 +vn 0.9613 0.1472 -0.2330 +vn -0.9613 0.1472 -0.2330 +vn 0.9956 0.0893 -0.0288 +vn -0.9817 -0.0304 -0.1882 +vn 0.6374 -0.7651 0.0915 +vn -0.7466 -0.6646 0.0285 +vn 0.3720 -0.9244 0.0845 +vn -0.3723 -0.9243 0.0847 +vn 0.5281 -0.8354 0.1522 +vn -0.5281 -0.8354 0.1522 +vn 0.3070 -0.5237 0.7946 +vn -0.3070 -0.5237 0.7946 +vn 0.5236 -0.3290 -0.7859 +vn -0.5881 -0.3070 -0.7483 +vn 0.5396 -0.3343 -0.7727 +vn -0.4694 -0.2400 -0.8498 +vn 0.2144 -0.8341 -0.5082 +vn -0.4463 -0.8452 -0.2941 +vn 0.7365 -0.6154 -0.2808 +vn -0.6973 -0.6610 -0.2771 +vn 0.3244 0.4867 0.8111 +vn -0.3691 0.2855 0.8844 +vn 0.4649 0.2593 0.8465 +vn -0.4649 0.2593 0.8465 +vn 0.1817 -0.0079 0.9833 +vn -0.3188 0.1993 0.9266 +vn 0.2925 -0.0758 0.9533 +vn -0.2076 -0.0836 0.9746 +vn 0.5847 -0.2198 0.7809 +vn -0.3398 0.0824 0.9369 +vn 0.6509 -0.1939 0.7340 +vn -0.6509 -0.1939 0.7340 +vn 0.4075 0.7506 0.5201 +vn -0.4075 0.7506 0.5201 +vn -0.2655 0.8296 0.4911 +vn 0.2655 0.8296 0.4911 +vn -0.7885 0.2366 0.5677 +vn 0.8576 0.2223 0.4637 +vn -0.5242 -0.3548 0.7742 +vn 0.5257 -0.3579 0.7717 +vn 0.4390 -0.5252 0.7290 +vn -0.4663 -0.5991 0.6509 +vn 0.6888 -0.4428 0.5740 +vn -0.6888 -0.4428 0.5740 +vn 0.6302 -0.7658 0.1282 +vn -0.7507 -0.6131 -0.2461 +vn -0.2175 0.2733 0.9370 +vn 0.1788 0.2923 0.9395 +vn 0.9046 -0.3869 -0.1792 +vn -0.9046 -0.3869 -0.1792 +vn 0.1782 -0.0891 0.9800 +vn -0.1782 -0.0891 0.9800 +vn -0.2335 0.8972 0.3749 +vn 0.2335 0.8972 0.3749 +vn 0.7177 0.1689 0.6755 +vn -0.4480 -0.4480 0.7737 +vn 0.5313 0.5844 0.6134 +vn -0.5313 0.5844 0.6134 +vn 0.9008 -0.4075 0.1501 +vn -0.5534 -0.5534 0.6225 +vn 0.5815 -0.5217 0.6243 +vn -0.5724 -0.3122 0.7582 +vn 0.6138 -0.2571 0.7465 +vn -0.5597 -0.5533 0.6169 +vn 0.8779 -0.4788 0.0076 +vn -0.8779 -0.4788 0.0076 +vn 0.8717 -0.4446 -0.2063 +vn -0.9227 -0.3765 -0.0825 +vn 0.7661 -0.6363 0.0909 +vn -0.7661 -0.6363 0.0909 +vn 0.7930 -0.5947 0.1322 +vn -0.7815 -0.6176 0.0882 +vn 0.2408 0.9631 -0.1204 +vn -0.1240 0.9921 0.0207 +vn 0.9251 0.3469 0.1542 +vn -0.9435 0.3145 0.1048 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.0157 0.9898 0.1414 +vn 0.0157 0.9898 0.1414 +vn 0.6266 -0.7211 0.2956 +vn -0.6266 -0.7211 0.2956 +vn 0.2714 -0.9022 0.3353 +vn -0.2714 -0.9022 0.3353 +vn -0.8651 -0.4853 -0.1266 +vn 0.8651 -0.4853 -0.1266 +vn -0.8538 0.2328 -0.4657 +vn 0.8096 0.2429 -0.5343 +vn -0.5433 0.6985 -0.4657 +vn 0.5621 0.8231 -0.0803 +vn -0.1096 0.9939 -0.0157 +vn 0.0071 0.9899 0.1414 +vn 0.1738 0.0097 0.9847 +vn -0.1046 0.0392 0.9937 +vn 0.4134 0.0413 0.9096 +vn -0.2461 0.0852 0.9655 +vn 0.3228 -0.0461 0.9453 +vn -0.3228 -0.0461 0.9453 +vn 0.1220 0.0458 0.9915 +vn -0.2104 0.0124 0.9775 +vn 0.5679 0.1916 0.8005 +vn -0.5679 0.1916 0.8005 +vn 0.4244 -0.0320 0.9049 +vn -0.3787 -0.0364 0.9248 +vn 0.2570 0.0723 0.9637 +vn -0.2530 -0.1897 0.9487 +vn 0.1351 -0.0225 0.9906 +vn -0.1351 -0.0225 0.9906 +vn -0.2981 0.7454 0.5963 +vn 0.4870 0.6088 0.6262 +vn 0.5571 -0.1486 0.8171 +vn -0.5571 -0.1486 0.8171 +vn 0.4723 -0.1986 0.8588 +vn -0.4388 -0.2008 0.8759 +vn 0.2975 -0.4062 0.8640 +vn -0.5786 -0.1334 0.8046 +vn 0.5771 0.2164 0.7875 +vn -0.5771 0.2164 0.7875 +vn 0.0931 -0.9932 -0.0692 +vn -0.0931 -0.9932 -0.0692 +vn 0.5161 -0.8527 -0.0812 +vn -0.5161 -0.8527 -0.0812 +vn 0.9264 -0.2460 0.2851 +vn -0.9309 -0.2541 0.2624 +vn 0.8267 0.5627 -0.0035 +vn -0.8465 0.5291 -0.0595 +vn -0.2146 0.9243 -0.3157 +vn 0.2511 0.9439 -0.2145 +vn -0.4196 0.8851 -0.2012 +vn 0.4841 0.8743 -0.0361 +vn -0.5470 -0.0144 -0.8370 +vn 0.5256 -0.0030 -0.8507 +vn -0.2556 -0.0749 -0.9639 +vn 0.2556 -0.0749 -0.9639 +vn -0.7330 0.6786 0.0472 +vn 0.8073 0.5901 0.0041 +vn 0.6844 -0.1711 -0.7088 +vn -0.6844 -0.1711 -0.7088 +vn -0.3604 -0.8283 -0.4290 +vn 0.3604 -0.8283 -0.4290 +usemtl None +s off +f 47/1/1 3/2/1 45/3/1 +f 4/4/2 48/5/2 46/6/2 +f 45/3/3 5/7/3 43/8/3 +f 6/9/4 46/6/4 44/10/4 +f 3/2/5 7/11/5 5/7/5 +f 8/12/6 4/4/6 6/9/6 +f 1/13/7 9/14/7 3/2/7 +f 10/15/8 2/16/8 4/4/8 +f 11/17/9 15/18/9 9/14/9 +f 16/19/10 12/20/10 10/15/10 +f 9/14/11 17/21/11 7/11/11 +f 18/22/12 10/15/12 8/12/12 +f 21/23/13 17/21/13 15/18/13 +f 22/24/14 18/22/14 20/25/14 +f 13/26/15 21/23/15 15/18/15 +f 22/24/16 14/27/16 16/19/16 +f 23/28/17 27/29/17 21/23/17 +f 28/30/18 24/31/18 22/24/18 +f 27/29/19 19/32/19 21/23/19 +f 28/30/20 20/25/20 30/33/20 +f 33/34/21 29/35/21 27/29/21 +f 34/36/22 30/33/22 32/37/22 +f 35/38/23 27/29/23 25/39/23 +f 36/40/24 28/30/24 34/36/24 +f 37/41/25 33/34/25 35/38/25 +f 38/42/26 34/36/26 40/43/26 +f 39/44/27 31/45/27 33/34/27 +f 40/43/28 32/37/28 42/46/28 +f 45/3/29 41/47/29 39/44/29 +f 46/6/30 42/46/30 44/10/30 +f 47/1/31 39/44/31 37/41/31 +f 48/5/32 40/43/32 46/6/32 +f 37/41/33 49/48/33 47/1/33 +f 38/42/34 50/49/34 52/50/34 +f 35/38/35 51/51/35 37/41/35 +f 36/40/36 52/50/36 54/52/36 +f 25/39/37 53/53/37 35/38/37 +f 26/54/38 54/52/38 56/55/38 +f 23/28/39 55/56/39 25/39/39 +f 24/31/40 56/55/40 58/57/40 +f 23/28/41 59/58/41 57/59/41 +f 60/60/42 24/31/42 58/57/42 +f 13/26/43 63/61/43 59/58/43 +f 64/62/44 14/27/44 60/60/44 +f 11/17/45 65/63/45 63/61/45 +f 66/64/46 12/20/46 64/62/46 +f 1/13/47 49/48/47 65/63/47 +f 50/49/48 2/16/48 66/64/48 +f 61/65/49 65/63/49 49/48/49 +f 50/49/50 66/64/50 62/66/50 +f 63/61/51 65/63/51 61/65/51 +f 62/66/52 66/64/52 64/62/52 +f 61/65/53 59/58/53 63/61/53 +f 64/62/54 60/60/54 62/66/54 +f 61/65/55 57/59/55 59/58/55 +f 60/60/56 58/57/56 62/66/56 +f 61/65/57 55/56/57 57/59/57 +f 58/57/58 56/55/58 62/66/58 +f 61/65/59 53/53/59 55/56/59 +f 56/55/60 54/52/60 62/66/60 +f 61/65/61 51/51/61 53/53/61 +f 54/52/62 52/50/62 62/66/62 +f 61/65/63 49/48/63 51/51/63 +f 52/50/64 50/49/64 62/66/64 +f 174/67/65 91/68/65 89/69/65 +f 175/70/66 91/68/66 176/71/66 +f 172/72/67 89/69/67 87/73/67 +f 173/74/68 90/75/68 175/70/68 +f 85/76/69 172/72/69 87/73/69 +f 173/74/70 86/77/70 88/78/70 +f 83/79/71 170/80/71 85/76/71 +f 171/81/72 84/82/72 86/77/72 +f 81/83/73 168/84/73 83/79/73 +f 169/85/74 82/86/74 84/82/74 +f 79/87/75 146/88/75 164/89/75 +f 147/90/76 80/91/76 165/92/76 +f 94/93/77 146/88/77 92/94/77 +f 95/95/78 147/90/78 149/96/78 +f 94/93/79 150/97/79 148/98/79 +f 151/99/80 95/95/80 149/96/80 +f 98/100/81 150/97/81 96/101/81 +f 99/102/82 151/99/82 153/103/82 +f 100/104/83 152/105/83 98/100/83 +f 101/106/84 153/103/84 155/107/84 +f 102/108/85 154/109/85 100/104/85 +f 103/110/86 155/107/86 157/111/86 +f 102/108/87 158/112/87 156/113/87 +f 159/114/88 103/110/88 157/111/88 +f 106/115/89 158/112/89 104/116/89 +f 107/117/90 159/114/90 161/118/90 +f 108/119/91 160/120/91 106/115/91 +f 109/121/92 161/118/92 163/122/92 +f 67/123/93 162/124/93 108/119/93 +f 67/123/94 163/122/94 68/125/94 +f 128/126/95 162/124/95 110/127/95 +f 129/128/96 163/122/96 161/118/96 +f 128/126/97 158/112/97 160/120/97 +f 159/114/98 129/128/98 161/118/98 +f 156/113/99 179/129/99 126/130/99 +f 157/111/100 180/131/100 159/114/100 +f 154/109/101 126/130/101 124/132/101 +f 155/107/102 127/133/102 157/111/102 +f 152/105/103 124/132/103 122/134/103 +f 153/103/104 125/135/104 155/107/104 +f 150/97/105 122/134/105 120/136/105 +f 151/99/106 123/137/106 153/103/106 +f 148/98/107 120/136/107 118/138/107 +f 149/96/108 121/139/108 151/99/108 +f 146/88/109 118/138/109 116/140/109 +f 147/90/110 119/141/110 149/96/110 +f 164/89/111 116/140/111 114/142/111 +f 165/92/112 117/143/112 147/90/112 +f 114/142/113 177/144/113 164/89/113 +f 177/144/114 115/145/114 165/92/114 +f 162/124/115 112/146/115 110/127/115 +f 163/122/116 113/147/116 68/125/116 +f 112/146/117 178/148/117 183/149/117 +f 178/148/118 113/147/118 184/150/118 +f 181/151/119 178/148/119 177/144/119 +f 182/152/120 178/148/120 184/150/120 +f 135/153/121 176/71/121 174/67/121 +f 176/71/122 136/154/122 175/70/122 +f 133/155/123 174/67/123 172/72/123 +f 175/70/124 134/156/124 173/74/124 +f 133/155/125 170/80/125 131/157/125 +f 134/156/126 171/81/126 173/74/126 +f 166/158/127 185/159/127 168/84/127 +f 186/160/128 167/161/128 169/85/128 +f 131/157/129 168/84/129 185/159/129 +f 169/85/130 132/162/130 186/160/130 +f 190/163/131 187/164/131 144/165/131 +f 190/163/132 188/166/132 189/167/132 +f 187/164/133 69/168/133 185/159/133 +f 188/166/134 69/168/134 189/167/134 +f 131/157/135 69/168/135 130/169/135 +f 132/162/135 69/168/135 186/160/135 +f 142/170/136 191/171/136 144/165/136 +f 192/172/137 143/173/137 145/174/137 +f 140/175/138 193/176/138 142/170/138 +f 194/177/139 141/178/139 143/173/139 +f 197/179/140 140/175/140 139/180/140 +f 198/181/141 141/178/141 196/182/141 +f 71/183/142 139/180/142 138/184/142 +f 71/183/143 139/180/143 198/181/143 +f 144/165/144 70/185/144 190/163/144 +f 145/174/145 70/185/145 192/172/145 +f 191/171/146 208/186/146 70/185/146 +f 192/172/147 208/186/147 207/187/147 +f 71/183/148 200/188/148 197/179/148 +f 201/189/149 71/183/149 198/181/149 +f 197/179/150 202/190/150 195/191/150 +f 203/192/151 198/181/151 196/182/151 +f 202/190/152 193/176/152 195/191/152 +f 203/192/153 194/177/153 205/193/153 +f 193/176/154 206/194/154 191/171/154 +f 207/187/155 194/177/155 192/172/155 +f 204/195/156 200/188/156 199/196/156 +f 205/193/157 201/189/157 203/192/157 +f 199/196/158 206/194/158 204/195/158 +f 207/187/159 199/196/159 205/193/159 +f 139/180/160 164/89/160 177/144/160 +f 165/92/161 139/180/161 177/144/161 +f 140/175/162 211/197/162 164/89/162 +f 212/198/163 141/178/163 165/92/163 +f 144/165/164 211/197/164 142/170/164 +f 145/174/165 212/198/165 214/199/165 +f 187/164/166 213/200/166 144/165/166 +f 188/166/167 214/199/167 167/161/167 +f 209/201/168 166/158/168 81/83/168 +f 210/202/169 167/161/169 214/199/169 +f 215/203/170 213/200/170 209/201/170 +f 216/204/171 214/199/171 212/198/171 +f 79/87/172 211/197/172 215/203/172 +f 212/198/173 80/91/173 216/204/173 +f 130/169/174 222/205/174 131/157/174 +f 130/169/175 223/206/175 72/207/175 +f 133/155/176 222/205/176 220/208/176 +f 223/206/177 134/156/177 221/209/177 +f 135/153/178 220/208/178 218/210/178 +f 221/209/179 136/154/179 219/211/179 +f 137/212/135 218/210/135 217/213/135 +f 219/211/135 137/212/135 217/213/135 +f 218/210/180 231/214/180 217/213/180 +f 219/211/181 231/214/181 230/215/181 +f 218/210/182 227/216/182 229/217/182 +f 228/218/183 219/211/183 230/215/183 +f 220/208/142 225/219/142 227/216/142 +f 226/220/184 221/209/184 228/218/184 +f 72/207/185 225/219/185 222/205/185 +f 72/207/186 226/220/186 224/221/186 +f 224/221/187 229/217/187 225/219/187 +f 230/215/188 224/221/188 226/220/188 +f 225/219/189 229/217/189 227/216/189 +f 228/218/190 230/215/190 226/220/190 +f 183/149/191 234/222/191 232/223/191 +f 235/224/192 184/150/192 233/225/192 +f 112/146/193 232/223/193 254/226/193 +f 233/225/194 113/147/194 255/227/194 +f 112/146/195 256/228/195 110/127/195 +f 113/147/196 257/229/196 255/227/196 +f 114/142/197 234/222/197 181/151/197 +f 115/145/198 235/224/198 253/230/198 +f 114/142/199 250/231/199 252/232/199 +f 251/233/200 115/145/200 253/230/200 +f 116/140/201 248/234/201 250/231/201 +f 249/235/202 117/143/202 251/233/202 +f 118/138/203 246/236/203 248/234/203 +f 247/237/204 119/141/204 249/235/204 +f 120/136/205 244/238/205 246/236/205 +f 245/239/206 121/139/206 247/237/206 +f 124/132/207 244/238/207 122/134/207 +f 125/135/208 245/239/208 243/240/208 +f 126/130/209 242/241/209 124/132/209 +f 127/133/210 243/240/210 241/242/210 +f 126/130/211 236/243/211 240/244/211 +f 237/245/212 127/133/212 241/242/212 +f 179/129/213 238/246/213 236/243/213 +f 239/247/214 180/131/214 237/245/214 +f 128/126/215 256/228/215 238/246/215 +f 257/229/216 129/128/216 239/247/216 +f 256/228/217 276/248/217 238/246/217 +f 257/229/218 277/249/218 259/250/218 +f 236/243/219 276/248/219 278/251/219 +f 277/249/220 237/245/220 279/252/220 +f 236/243/221 274/253/221 240/244/221 +f 237/245/222 275/254/222 279/252/222 +f 240/244/223 272/255/223 242/241/223 +f 241/242/224 273/256/224 275/254/224 +f 244/238/225 272/255/225 270/257/225 +f 273/256/226 245/239/226 271/258/226 +f 244/238/227 268/259/227 246/236/227 +f 245/239/228 269/260/228 271/258/228 +f 248/234/229 268/259/229 266/261/229 +f 269/260/230 249/235/230 267/262/230 +f 248/234/231 264/263/231 250/231/231 +f 249/235/232 265/264/232 267/262/232 +f 250/231/233 262/265/233 252/232/233 +f 251/233/234 263/266/234 265/264/234 +f 234/222/235 262/265/235 280/267/235 +f 263/266/236 235/224/236 281/268/236 +f 256/228/237 260/269/237 258/270/237 +f 261/271/238 257/229/238 259/250/238 +f 254/226/239 282/272/239 260/269/239 +f 283/273/240 255/227/240 261/271/240 +f 232/223/241 280/267/241 282/272/241 +f 281/268/242 233/225/242 283/273/242 +f 67/123/243 284/274/243 73/275/243 +f 285/276/244 67/123/244 73/275/244 +f 108/119/245 286/277/245 284/274/245 +f 287/278/246 109/121/246 285/276/246 +f 104/116/247 286/277/247 106/115/247 +f 105/279/248 287/278/248 289/280/248 +f 102/108/249 288/281/249 104/116/249 +f 103/110/250 289/280/250 291/282/250 +f 100/104/251 290/283/251 102/108/251 +f 101/106/252 291/282/252 293/284/252 +f 100/104/253 294/285/253 292/286/253 +f 295/287/254 101/106/254 293/284/254 +f 96/101/255 294/285/255 98/100/255 +f 97/288/256 295/287/256 297/289/256 +f 96/101/257 298/290/257 296/291/257 +f 299/292/258 97/288/258 297/289/258 +f 94/93/259 300/293/259 298/290/259 +f 301/294/260 95/95/260 299/292/260 +f 309/295/261 338/296/261 308/297/261 +f 309/298/262 339/299/262 329/300/262 +f 308/297/263 336/301/263 307/302/263 +f 308/303/264 337/304/264 339/299/264 +f 307/302/265 340/305/265 306/306/265 +f 307/307/266 341/308/266 337/304/266 +f 89/69/267 306/306/267 340/305/267 +f 306/306/268 90/75/268 341/308/268 +f 87/73/269 340/305/269 334/309/269 +f 341/308/270 88/78/270 335/310/270 +f 85/76/271 334/309/271 330/311/271 +f 335/310/272 86/77/272 331/312/272 +f 83/79/273 330/311/273 332/313/273 +f 331/312/274 84/82/274 333/314/274 +f 330/311/275 338/296/275 332/313/275 +f 339/299/276 331/312/276 333/314/276 +f 334/309/277 336/301/277 330/311/277 +f 335/310/278 337/304/278 341/308/278 +f 332/313/279 328/315/279 326/316/279 +f 333/314/280 329/300/280 339/299/280 +f 81/83/281 332/313/281 326/316/281 +f 333/314/282 82/86/282 327/317/282 +f 342/318/283 215/203/283 209/201/283 +f 343/319/284 216/204/284 345/320/284 +f 326/316/285 209/201/285 81/83/285 +f 327/317/286 210/202/286 343/319/286 +f 215/203/287 346/321/287 79/87/287 +f 216/204/288 347/322/288 345/320/288 +f 346/321/289 92/94/289 79/87/289 +f 347/322/290 93/323/290 301/294/290 +f 324/324/291 304/325/291 77/326/291 +f 325/327/292 304/328/292 353/329/292 +f 352/330/293 78/331/293 304/325/293 +f 353/329/294 78/332/294 351/333/294 +f 78/331/295 348/334/295 305/335/295 +f 349/336/296 78/332/296 305/337/296 +f 305/335/297 328/315/297 309/295/297 +f 329/300/298 305/337/298 309/298/298 +f 328/315/299 342/318/299 326/316/299 +f 329/300/300 343/319/300 349/336/300 +f 296/291/301 318/338/301 310/339/301 +f 319/340/302 297/289/302 311/341/302 +f 316/342/303 77/326/303 76/343/303 +f 317/344/304 77/345/304 325/327/304 +f 358/346/305 303/347/305 302/348/305 +f 359/349/306 303/350/306 357/351/306 +f 303/347/307 354/352/307 75/353/307 +f 355/354/308 303/350/308 75/355/308 +f 75/353/309 316/342/309 76/343/309 +f 317/344/310 75/355/310 76/356/310 +f 292/357/311 362/358/311 364/359/311 +f 363/360/312 293/361/312 365/362/312 +f 364/359/313 368/363/313 366/364/313 +f 369/365/314 365/362/314 367/366/314 +f 366/364/315 370/367/315 372/368/315 +f 371/369/316 367/366/316 373/370/316 +f 372/368/317 376/371/317 374/372/317 +f 377/373/318 373/370/318 375/374/318 +f 378/375/319 376/371/319 314/376/319 +f 379/377/320 377/373/320 375/374/320 +f 316/342/321 374/372/321 378/375/321 +f 375/374/322 317/344/322 379/377/322 +f 354/352/323 372/368/323 374/372/323 +f 373/370/324 355/354/324 375/374/324 +f 356/378/325 366/364/325 372/368/325 +f 367/366/326 357/351/326 373/370/326 +f 358/346/327 364/359/327 366/364/327 +f 365/362/328 359/349/328 367/366/328 +f 292/357/329 360/379/329 290/380/329 +f 293/361/330 361/381/330 365/362/330 +f 360/379/331 302/348/331 74/382/331 +f 361/381/332 302/383/332 359/349/332 +f 284/384/333 288/385/333 290/380/333 +f 289/386/334 285/387/334 291/388/334 +f 284/384/335 360/379/335 74/382/335 +f 361/381/336 285/387/336 74/389/336 +f 73/390/337 284/384/337 74/382/337 +f 74/389/338 285/387/338 73/391/338 +f 296/291/339 362/358/339 294/285/339 +f 297/289/340 363/360/340 311/341/340 +f 310/339/341 368/363/341 362/358/341 +f 369/365/342 311/341/342 363/360/342 +f 312/392/343 370/367/343 368/363/343 +f 371/369/344 313/393/344 369/365/344 +f 376/371/345 382/394/345 314/376/345 +f 377/373/346 383/395/346 371/369/346 +f 350/396/347 384/397/347 348/334/347 +f 351/333/348 385/398/348 387/399/348 +f 384/397/349 320/400/349 318/338/349 +f 385/398/350 321/401/350 387/399/350 +f 298/290/351 384/397/351 318/338/351 +f 385/398/352 299/292/352 319/340/352 +f 300/293/353 342/318/353 384/397/353 +f 343/319/354 301/294/354 385/398/354 +f 342/318/355 348/334/355 384/397/355 +f 385/398/356 349/336/356 343/319/356 +f 300/293/357 346/321/357 344/402/357 +f 345/320/358 347/322/358 301/294/358 +f 322/403/359 378/375/359 314/376/359 +f 323/404/360 379/377/360 381/405/360 +f 378/375/361 324/324/361 316/342/361 +f 379/377/362 325/327/362 381/405/362 +f 386/406/363 322/403/363 320/400/363 +f 387/399/364 323/404/364 381/405/364 +f 352/330/365 386/406/365 350/396/365 +f 353/329/366 387/399/366 381/405/366 +f 324/324/367 380/407/367 352/330/367 +f 353/329/368 381/405/368 325/327/368 +f 388/408/369 402/409/369 400/410/369 +f 389/411/370 403/412/370 415/413/370 +f 400/410/371 404/414/371 398/415/371 +f 405/416/372 401/417/372 399/418/372 +f 404/414/373 396/419/373 398/415/373 +f 405/416/374 397/420/374 407/421/374 +f 406/422/375 394/423/375 396/419/375 +f 407/421/376 395/424/376 409/425/376 +f 408/426/377 392/427/377 394/423/377 +f 409/425/378 393/428/378 411/429/378 +f 392/427/379 412/430/379 390/431/379 +f 413/432/380 393/428/380 391/433/380 +f 410/434/381 418/435/381 412/430/381 +f 419/436/382 411/429/382 413/432/382 +f 408/426/383 420/437/383 410/434/383 +f 421/438/384 409/425/384 411/429/384 +f 424/439/385 408/426/385 406/422/385 +f 425/440/386 409/425/386 423/441/386 +f 426/442/387 406/422/387 404/414/387 +f 427/443/388 407/421/388 425/440/388 +f 428/444/389 404/414/389 402/409/389 +f 429/445/390 405/416/390 427/443/390 +f 402/409/391 416/446/391 428/444/391 +f 417/447/392 403/412/392 429/445/392 +f 320/400/393 442/448/393 318/338/393 +f 321/401/394 443/449/394 445/450/394 +f 390/431/395 444/451/395 320/452/395 +f 391/433/396 445/453/396 413/432/396 +f 310/339/397 442/448/397 312/392/397 +f 443/449/398 311/341/398 313/393/398 +f 382/454/399 414/455/399 388/408/399 +f 415/413/400 383/456/400 389/411/400 +f 412/430/401 440/457/401 444/451/401 +f 441/458/402 413/432/402 445/453/402 +f 446/459/403 440/457/403 438/460/403 +f 447/461/404 441/458/404 445/453/404 +f 434/462/135 438/460/135 436/463/135 +f 439/464/135 435/465/135 437/466/135 +f 448/467/405 434/462/405 432/468/405 +f 449/469/406 435/465/406 447/461/406 +f 448/467/407 450/470/407 430/471/407 +f 449/469/408 451/472/408 433/473/408 +f 430/471/409 416/446/409 414/455/409 +f 431/474/410 417/447/410 451/472/410 +f 312/392/411 430/475/411 382/394/411 +f 431/476/412 313/393/412 383/395/412 +f 442/448/413 448/477/413 312/392/413 +f 443/449/414 449/478/414 447/479/414 +f 442/448/415 444/480/415 446/481/415 +f 447/479/416 445/450/416 443/449/416 +f 416/446/417 452/482/417 476/483/417 +f 453/484/418 417/447/418 477/485/418 +f 432/468/419 452/482/419 450/470/419 +f 433/473/420 453/484/420 463/486/420 +f 432/468/421 460/487/421 462/488/421 +f 461/489/422 433/473/422 463/486/422 +f 436/463/423 460/487/423 434/462/423 +f 437/466/424 461/489/424 459/490/424 +f 438/460/425 458/491/425 436/463/425 +f 439/464/426 459/490/426 457/492/426 +f 438/460/427 454/493/427 456/494/427 +f 455/495/428 439/464/428 457/492/428 +f 440/457/429 474/496/429 454/493/429 +f 475/497/429 441/458/429 455/495/429 +f 428/444/430 476/483/430 464/498/430 +f 477/485/431 429/445/431 465/499/431 +f 426/442/432 464/498/432 466/500/432 +f 465/499/433 427/443/433 467/501/433 +f 424/439/434 466/500/434 468/502/434 +f 467/501/435 425/440/435 469/503/435 +f 424/439/436 470/504/436 422/505/436 +f 425/440/437 471/506/437 469/503/437 +f 422/505/438 472/507/438 420/437/438 +f 423/441/439 473/508/439 471/506/439 +f 420/437/440 474/496/440 418/435/440 +f 421/438/441 475/497/441 473/508/441 +f 456/494/442 478/509/442 458/491/442 +f 457/492/443 479/510/443 481/511/443 +f 480/512/444 484/513/444 478/509/444 +f 481/511/445 485/514/445 483/515/445 +f 484/513/446 488/516/446 486/517/446 +f 489/518/447 485/514/447 487/519/447 +f 488/516/448 492/520/448 486/517/448 +f 489/518/449 493/521/449 491/522/449 +f 464/498/450 486/517/450 492/520/450 +f 487/519/451 465/499/451 493/521/451 +f 484/513/452 476/483/452 452/482/452 +f 485/514/453 477/485/453 487/519/453 +f 462/488/454 484/513/454 452/482/454 +f 463/486/455 485/514/455 479/510/455 +f 458/491/135 462/488/135 460/487/135 +f 463/486/135 459/490/135 461/489/135 +f 474/496/456 456/494/456 454/493/456 +f 475/497/457 457/492/457 481/511/457 +f 472/507/458 480/512/458 474/496/458 +f 481/511/459 473/508/459 475/497/459 +f 488/516/460 472/507/460 470/504/460 +f 489/518/461 473/508/461 483/515/461 +f 490/523/462 470/504/462 468/502/462 +f 491/522/463 471/506/463 489/518/463 +f 466/500/464 490/523/464 468/502/464 +f 491/522/465 467/501/465 469/503/465 +f 464/498/466 492/520/466 466/500/466 +f 467/501/467 493/521/467 465/499/467 +f 392/427/468 504/524/468 502/525/468 +f 505/526/469 393/428/469 503/527/469 +f 394/423/470 502/525/470 500/528/470 +f 503/527/471 395/424/471 501/529/471 +f 394/423/472 498/530/472 396/419/472 +f 395/424/473 499/531/473 501/529/473 +f 396/419/474 496/532/474 398/533/474 +f 397/420/475 497/534/475 499/531/475 +f 398/533/476 494/535/476 400/536/476 +f 399/537/477 495/538/477 497/534/477 +f 400/536/478 506/539/478 388/540/478 +f 401/541/479 507/542/479 495/538/479 +f 502/525/480 506/539/480 494/535/480 +f 503/527/481 507/542/481 505/526/481 +f 494/535/482 500/528/482 502/525/482 +f 501/529/483 495/538/483 503/527/483 +f 496/532/484 498/530/484 500/528/484 +f 501/529/485 499/531/485 497/534/485 +f 382/394/486 506/543/486 314/376/486 +f 383/544/487 507/542/487 389/545/487 +f 314/546/488 504/524/488 322/547/488 +f 505/526/489 315/548/489 323/549/489 +f 320/452/490 504/524/490 390/431/490 +f 505/526/491 321/550/491 391/433/491 +f 47/1/492 1/13/492 3/2/492 +f 4/4/493 2/16/493 48/5/493 +f 45/3/494 3/2/494 5/7/494 +f 6/9/495 4/4/495 46/6/495 +f 3/2/496 9/14/496 7/11/496 +f 8/12/497 10/15/497 4/4/497 +f 1/13/498 11/17/498 9/14/498 +f 10/15/499 12/20/499 2/16/499 +f 11/17/500 13/26/500 15/18/500 +f 16/19/501 14/27/501 12/20/501 +f 9/14/502 15/18/502 17/21/502 +f 18/22/503 16/19/503 10/15/503 +f 21/23/504 19/32/504 17/21/504 +f 22/24/505 16/19/505 18/22/505 +f 13/26/506 23/28/506 21/23/506 +f 22/24/507 24/31/507 14/27/507 +f 23/28/508 25/39/508 27/29/508 +f 28/30/509 26/54/509 24/31/509 +f 27/29/510 29/35/510 19/32/510 +f 28/30/511 22/24/511 20/25/511 +f 33/34/512 31/45/512 29/35/512 +f 34/36/513 28/30/513 30/33/513 +f 35/38/514 33/34/514 27/29/514 +f 36/40/515 26/54/515 28/30/515 +f 37/41/516 39/44/516 33/34/516 +f 38/42/517 36/40/517 34/36/517 +f 39/44/518 41/47/518 31/45/518 +f 40/43/519 34/36/519 32/37/519 +f 45/3/520 43/8/520 41/47/520 +f 46/6/521 40/43/521 42/46/521 +f 47/1/522 45/3/522 39/44/522 +f 48/5/523 38/42/523 40/43/523 +f 37/41/524 51/51/524 49/48/524 +f 38/42/525 48/5/525 50/49/525 +f 35/38/526 53/53/526 51/51/526 +f 36/40/527 38/42/527 52/50/527 +f 25/39/528 55/56/528 53/53/528 +f 26/54/529 36/40/529 54/52/529 +f 23/28/530 57/59/530 55/56/530 +f 24/31/531 26/54/531 56/55/531 +f 23/28/532 13/26/532 59/58/532 +f 60/60/533 14/27/533 24/31/533 +f 13/26/534 11/17/534 63/61/534 +f 64/62/535 12/20/535 14/27/535 +f 11/17/536 1/13/536 65/63/536 +f 66/64/537 2/16/537 12/20/537 +f 1/13/538 47/1/538 49/48/538 +f 50/49/539 48/5/539 2/16/539 +f 174/67/540 176/71/540 91/68/540 +f 175/70/541 90/75/541 91/68/541 +f 172/72/542 174/67/542 89/69/542 +f 173/74/543 88/78/543 90/75/543 +f 85/76/544 170/80/544 172/72/544 +f 173/74/545 171/81/545 86/77/545 +f 83/79/546 168/84/546 170/80/546 +f 171/81/547 169/85/547 84/82/547 +f 81/83/548 166/158/548 168/84/548 +f 169/85/549 167/161/549 82/86/549 +f 79/87/550 92/94/550 146/88/550 +f 147/90/551 93/323/551 80/91/551 +f 94/93/552 148/98/552 146/88/552 +f 95/95/553 93/323/553 147/90/553 +f 94/93/554 96/101/554 150/97/554 +f 151/99/555 97/288/555 95/95/555 +f 98/100/556 152/105/556 150/97/556 +f 99/102/557 97/288/557 151/99/557 +f 100/104/558 154/109/558 152/105/558 +f 101/106/559 99/102/559 153/103/559 +f 102/108/560 156/113/560 154/109/560 +f 103/110/561 101/106/561 155/107/561 +f 102/108/562 104/116/562 158/112/562 +f 159/114/563 105/279/563 103/110/563 +f 106/115/564 160/120/564 158/112/564 +f 107/117/565 105/279/565 159/114/565 +f 108/119/566 162/124/566 160/120/566 +f 109/121/567 107/117/567 161/118/567 +f 67/123/568 68/125/568 162/124/568 +f 67/123/569 109/121/569 163/122/569 +f 128/126/570 160/120/570 162/124/570 +f 129/128/571 111/551/571 163/122/571 +f 128/126/572 179/129/572 158/112/572 +f 159/114/573 180/131/573 129/128/573 +f 156/113/574 158/112/574 179/129/574 +f 157/111/575 127/133/575 180/131/575 +f 154/109/576 156/113/576 126/130/576 +f 155/107/577 125/135/577 127/133/577 +f 152/105/578 154/109/578 124/132/578 +f 153/103/579 123/137/579 125/135/579 +f 150/97/580 152/105/580 122/134/580 +f 151/99/581 121/139/581 123/137/581 +f 148/98/582 150/97/582 120/136/582 +f 149/96/583 119/141/583 121/139/583 +f 146/88/584 148/98/584 118/138/584 +f 147/90/585 117/143/585 119/141/585 +f 164/89/586 146/88/586 116/140/586 +f 165/92/587 115/145/587 117/143/587 +f 114/142/588 181/151/588 177/144/588 +f 177/144/589 182/152/589 115/145/589 +f 162/124/590 68/125/590 112/146/590 +f 163/122/591 111/551/591 113/147/591 +f 112/146/592 68/125/592 178/148/592 +f 178/148/593 68/125/593 113/147/593 +f 181/151/594 183/149/594 178/148/594 +f 182/152/595 177/144/595 178/148/595 +f 135/153/596 137/212/596 176/71/596 +f 176/71/597 137/212/597 136/154/597 +f 133/155/598 135/153/598 174/67/598 +f 175/70/599 136/154/599 134/156/599 +f 133/155/600 172/72/600 170/80/600 +f 134/156/601 132/162/601 171/81/601 +f 166/158/602 187/164/602 185/159/602 +f 186/160/603 188/166/603 167/161/603 +f 131/157/604 170/80/604 168/84/604 +f 169/85/605 171/81/605 132/162/605 +f 190/163/132 189/167/132 187/164/132 +f 190/163/606 145/174/606 188/166/606 +f 187/164/134 189/167/134 69/168/134 +f 188/166/607 186/160/607 69/168/607 +f 131/157/135 185/159/135 69/168/135 +f 132/162/135 130/169/135 69/168/135 +f 142/170/608 193/176/608 191/171/608 +f 192/172/609 194/177/609 143/173/609 +f 140/175/610 195/191/610 193/176/610 +f 194/177/611 196/182/611 141/178/611 +f 197/179/612 195/191/612 140/175/612 +f 198/181/613 139/180/613 141/178/613 +f 71/183/614 197/179/614 139/180/614 +f 71/183/184 138/184/184 139/180/184 +f 144/165/615 191/171/615 70/185/615 +f 145/174/616 190/163/616 70/185/616 +f 191/171/146 206/194/146 208/186/146 +f 192/172/147 70/185/147 208/186/147 +f 71/183/617 199/196/617 200/188/617 +f 201/189/618 199/196/618 71/183/618 +f 197/179/619 200/188/619 202/190/619 +f 203/192/620 201/189/620 198/181/620 +f 202/190/621 204/195/621 193/176/621 +f 203/192/622 196/182/622 194/177/622 +f 193/176/623 204/195/623 206/194/623 +f 207/187/624 205/193/624 194/177/624 +f 204/195/625 202/190/625 200/188/625 +f 205/193/626 199/196/626 201/189/626 +f 199/196/627 208/186/627 206/194/627 +f 207/187/628 208/186/628 199/196/628 +f 139/180/629 140/175/629 164/89/629 +f 165/92/630 141/178/630 139/180/630 +f 140/175/631 142/170/631 211/197/631 +f 212/198/632 143/173/632 141/178/632 +f 144/165/633 213/200/633 211/197/633 +f 145/174/634 143/173/634 212/198/634 +f 187/164/635 166/158/635 213/200/635 +f 188/166/636 145/174/636 214/199/636 +f 209/201/637 213/200/637 166/158/637 +f 210/202/638 82/86/638 167/161/638 +f 215/203/639 211/197/639 213/200/639 +f 216/204/640 210/202/640 214/199/640 +f 79/87/641 164/89/641 211/197/641 +f 212/198/642 165/92/642 80/91/642 +f 130/169/643 72/207/643 222/205/643 +f 130/169/644 132/162/644 223/206/644 +f 133/155/645 131/157/645 222/205/645 +f 223/206/646 132/162/646 134/156/646 +f 135/153/647 133/155/647 220/208/647 +f 221/209/648 134/156/648 136/154/648 +f 137/212/649 135/153/649 218/210/649 +f 219/211/650 136/154/650 137/212/650 +f 218/210/180 229/217/180 231/214/180 +f 219/211/181 217/213/181 231/214/181 +f 218/210/651 220/208/651 227/216/651 +f 228/218/652 221/209/652 219/211/652 +f 220/208/142 222/205/142 225/219/142 +f 226/220/184 223/206/184 221/209/184 +f 72/207/185 224/221/185 225/219/185 +f 72/207/186 223/206/186 226/220/186 +f 224/221/653 231/214/653 229/217/653 +f 230/215/654 231/214/654 224/221/654 +f 183/149/655 181/151/655 234/222/655 +f 235/224/656 182/152/656 184/150/656 +f 112/146/657 183/149/657 232/223/657 +f 233/225/658 184/150/658 113/147/658 +f 112/146/659 254/226/659 256/228/659 +f 113/147/660 111/551/660 257/229/660 +f 114/142/661 252/232/661 234/222/661 +f 115/145/662 182/152/662 235/224/662 +f 114/142/663 116/140/663 250/231/663 +f 251/233/664 117/143/664 115/145/664 +f 116/140/665 118/138/665 248/234/665 +f 249/235/666 119/141/666 117/143/666 +f 118/138/667 120/136/667 246/236/667 +f 247/237/668 121/139/668 119/141/668 +f 120/136/669 122/134/669 244/238/669 +f 245/239/670 123/137/670 121/139/670 +f 124/132/671 242/241/671 244/238/671 +f 125/135/672 123/137/672 245/239/672 +f 126/130/673 240/244/673 242/241/673 +f 127/133/674 125/135/674 243/240/674 +f 126/130/675 179/129/675 236/243/675 +f 237/245/676 180/131/676 127/133/676 +f 179/129/677 128/126/677 238/246/677 +f 239/247/678 129/128/678 180/131/678 +f 128/126/679 110/127/679 256/228/679 +f 257/229/680 111/551/680 129/128/680 +f 256/228/681 258/270/681 276/248/681 +f 257/229/682 239/247/682 277/249/682 +f 236/243/683 238/246/683 276/248/683 +f 277/249/684 239/247/684 237/245/684 +f 236/243/685 278/251/685 274/253/685 +f 237/245/686 241/242/686 275/254/686 +f 240/244/687 274/253/687 272/255/687 +f 241/242/688 243/240/688 273/256/688 +f 244/238/689 242/241/689 272/255/689 +f 273/256/690 243/240/690 245/239/690 +f 244/238/691 270/257/691 268/259/691 +f 245/239/692 247/237/692 269/260/692 +f 248/234/693 246/236/693 268/259/693 +f 269/260/694 247/237/694 249/235/694 +f 248/234/695 266/261/695 264/263/695 +f 249/235/696 251/233/696 265/264/696 +f 250/231/697 264/263/697 262/265/697 +f 251/233/698 253/230/698 263/266/698 +f 234/222/235 252/232/235 262/265/235 +f 263/266/236 253/230/236 235/224/236 +f 256/228/699 254/226/699 260/269/699 +f 261/271/700 255/227/700 257/229/700 +f 254/226/701 232/223/701 282/272/701 +f 283/273/702 233/225/702 255/227/702 +f 232/223/703 234/222/703 280/267/703 +f 281/268/704 235/224/704 233/225/704 +f 67/123/705 108/119/705 284/274/705 +f 285/276/706 109/121/706 67/123/706 +f 108/119/707 106/115/707 286/277/707 +f 287/278/708 107/117/708 109/121/708 +f 104/116/709 288/281/709 286/277/709 +f 105/279/710 107/117/710 287/278/710 +f 102/108/711 290/283/711 288/281/711 +f 103/110/712 105/279/712 289/280/712 +f 100/104/713 292/286/713 290/283/713 +f 101/106/714 103/110/714 291/282/714 +f 100/104/715 98/100/715 294/285/715 +f 295/287/716 99/102/716 101/106/716 +f 96/101/717 296/291/717 294/285/717 +f 97/288/718 99/102/718 295/287/718 +f 96/101/719 94/93/719 298/290/719 +f 299/292/720 95/95/720 97/288/720 +f 94/93/721 92/94/721 300/293/721 +f 301/294/722 93/323/722 95/95/722 +f 309/295/723 328/315/723 338/296/723 +f 309/298/724 308/303/724 339/299/724 +f 308/297/725 338/296/725 336/301/725 +f 308/303/726 307/307/726 337/304/726 +f 307/302/727 336/301/727 340/305/727 +f 307/307/728 306/306/728 341/308/728 +f 89/69/729 91/68/729 306/306/729 +f 306/306/730 91/68/730 90/75/730 +f 87/73/731 89/69/731 340/305/731 +f 341/308/732 90/75/732 88/78/732 +f 85/76/733 87/73/733 334/309/733 +f 335/310/734 88/78/734 86/77/734 +f 83/79/735 85/76/735 330/311/735 +f 331/312/736 86/77/736 84/82/736 +f 330/311/737 336/301/737 338/296/737 +f 339/299/738 337/304/738 331/312/738 +f 334/309/739 340/305/739 336/301/739 +f 335/310/740 331/312/740 337/304/740 +f 332/313/741 338/296/741 328/315/741 +f 333/314/742 327/317/742 329/300/742 +f 81/83/743 83/79/743 332/313/743 +f 333/314/744 84/82/744 82/86/744 +f 342/318/745 344/402/745 215/203/745 +f 343/319/746 210/202/746 216/204/746 +f 326/316/747 342/318/747 209/201/747 +f 327/317/748 82/86/748 210/202/748 +f 215/203/749 344/402/749 346/321/749 +f 216/204/750 80/91/750 347/322/750 +f 346/321/751 300/293/751 92/94/751 +f 347/322/752 80/91/752 93/323/752 +f 324/324/753 352/330/753 304/325/753 +f 325/327/754 77/345/754 304/328/754 +f 352/330/755 350/396/755 78/331/755 +f 353/329/756 304/328/756 78/332/756 +f 78/331/757 350/396/757 348/334/757 +f 349/336/758 351/333/758 78/332/758 +f 305/335/759 348/334/759 328/315/759 +f 329/300/760 349/336/760 305/337/760 +f 328/315/761 348/334/761 342/318/761 +f 329/300/762 327/317/762 343/319/762 +f 296/291/763 298/290/763 318/338/763 +f 319/340/764 299/292/764 297/289/764 +f 316/342/765 324/324/765 77/326/765 +f 317/344/766 76/356/766 77/345/766 +f 358/346/767 356/378/767 303/347/767 +f 359/349/768 302/383/768 303/350/768 +f 303/347/769 356/378/769 354/352/769 +f 355/354/770 357/351/770 303/350/770 +f 75/353/771 354/352/771 316/342/771 +f 317/344/772 355/354/772 75/355/772 +f 292/357/773 294/285/773 362/358/773 +f 363/360/774 295/287/774 293/361/774 +f 364/359/775 362/358/775 368/363/775 +f 369/365/776 363/360/776 365/362/776 +f 366/364/777 368/363/777 370/367/777 +f 371/369/778 369/365/778 367/366/778 +f 372/368/779 370/367/779 376/371/779 +f 377/373/780 371/369/780 373/370/780 +f 378/375/781 374/372/781 376/371/781 +f 379/377/782 315/552/782 377/373/782 +f 316/342/783 354/352/783 374/372/783 +f 375/374/784 355/354/784 317/344/784 +f 354/352/785 356/378/785 372/368/785 +f 373/370/786 357/351/786 355/354/786 +f 356/378/787 358/346/787 366/364/787 +f 367/366/788 359/349/788 357/351/788 +f 358/346/789 360/379/789 364/359/789 +f 365/362/790 361/381/790 359/349/790 +f 292/357/791 364/359/791 360/379/791 +f 293/361/792 291/388/792 361/381/792 +f 360/379/793 358/346/793 302/348/793 +f 361/381/794 74/389/794 302/383/794 +f 284/384/795 286/553/795 288/385/795 +f 289/386/796 287/554/796 285/387/796 +f 284/384/797 290/380/797 360/379/797 +f 361/381/798 291/388/798 285/387/798 +f 296/291/799 310/339/799 362/358/799 +f 297/289/800 295/287/800 363/360/800 +f 310/339/801 312/392/801 368/363/801 +f 369/365/802 313/393/802 311/341/802 +f 312/392/803 382/394/803 370/367/803 +f 371/369/804 383/395/804 313/393/804 +f 376/371/805 370/367/805 382/394/805 +f 377/373/806 315/552/806 383/395/806 +f 350/396/807 386/406/807 384/397/807 +f 351/333/808 349/336/808 385/398/808 +f 384/397/809 386/406/809 320/400/809 +f 385/398/810 319/340/810 321/401/810 +f 298/290/811 300/293/811 384/397/811 +f 385/398/812 301/294/812 299/292/812 +f 300/293/813 344/402/813 342/318/813 +f 343/319/814 345/320/814 301/294/814 +f 322/403/815 380/407/815 378/375/815 +f 323/404/816 315/552/816 379/377/816 +f 378/375/817 380/407/817 324/324/817 +f 379/377/818 317/344/818 325/327/818 +f 386/406/819 380/407/819 322/403/819 +f 387/399/820 321/401/820 323/404/820 +f 352/330/821 380/407/821 386/406/821 +f 353/329/822 351/333/822 387/399/822 +f 388/408/823 414/455/823 402/409/823 +f 389/411/824 401/417/824 403/412/824 +f 400/410/825 402/409/825 404/414/825 +f 405/416/826 403/412/826 401/417/826 +f 404/414/827 406/422/827 396/419/827 +f 405/416/828 399/418/828 397/420/828 +f 406/422/829 408/426/829 394/423/829 +f 407/421/830 397/420/830 395/424/830 +f 408/426/831 410/434/831 392/427/831 +f 409/425/832 395/424/832 393/428/832 +f 392/427/833 410/434/833 412/430/833 +f 413/432/834 411/429/834 393/428/834 +f 410/434/835 420/437/835 418/435/835 +f 419/436/836 421/438/836 411/429/836 +f 408/426/837 422/505/837 420/437/837 +f 421/438/838 423/441/838 409/425/838 +f 424/439/839 422/505/839 408/426/839 +f 425/440/840 407/421/840 409/425/840 +f 426/442/841 424/439/841 406/422/841 +f 427/443/842 405/416/842 407/421/842 +f 428/444/843 426/442/843 404/414/843 +f 429/445/844 403/412/844 405/416/844 +f 402/409/845 414/455/845 416/446/845 +f 417/447/846 415/413/846 403/412/846 +f 320/400/847 444/480/847 442/448/847 +f 321/401/848 319/340/848 443/449/848 +f 390/431/849 412/430/849 444/451/849 +f 391/433/850 321/550/850 445/453/850 +f 310/339/851 318/338/851 442/448/851 +f 443/449/852 319/340/852 311/341/852 +f 382/454/853 430/471/853 414/455/853 +f 415/413/854 431/474/854 383/456/854 +f 412/430/855 418/435/855 440/457/855 +f 441/458/856 419/436/856 413/432/856 +f 446/459/857 444/451/857 440/457/857 +f 447/461/858 439/464/858 441/458/858 +f 434/462/859 446/459/859 438/460/859 +f 439/464/860 447/461/860 435/465/860 +f 448/467/861 446/459/861 434/462/861 +f 449/469/862 433/473/862 435/465/862 +f 448/467/863 432/468/863 450/470/863 +f 449/469/864 431/474/864 451/472/864 +f 430/471/865 450/470/865 416/446/865 +f 431/474/866 415/413/866 417/447/866 +f 312/392/867 448/477/867 430/475/867 +f 431/476/868 449/478/868 313/393/868 +f 442/448/869 446/481/869 448/477/869 +f 443/449/870 313/393/870 449/478/870 +f 416/446/871 450/470/871 452/482/871 +f 453/484/872 451/472/872 417/447/872 +f 432/468/873 462/488/873 452/482/873 +f 433/473/874 451/472/874 453/484/874 +f 432/468/421 434/462/421 460/487/421 +f 461/489/422 435/465/422 433/473/422 +f 436/463/875 458/491/875 460/487/875 +f 437/466/876 435/465/876 461/489/876 +f 438/460/877 456/494/877 458/491/877 +f 439/464/878 437/466/878 459/490/878 +f 438/460/879 440/457/879 454/493/879 +f 455/495/880 441/458/880 439/464/880 +f 440/457/881 418/435/881 474/496/881 +f 475/497/882 419/436/882 441/458/882 +f 428/444/883 416/446/883 476/483/883 +f 477/485/884 417/447/884 429/445/884 +f 426/442/885 428/444/885 464/498/885 +f 465/499/886 429/445/886 427/443/886 +f 424/439/887 426/442/887 466/500/887 +f 467/501/888 427/443/888 425/440/888 +f 424/439/889 468/502/889 470/504/889 +f 425/440/890 423/441/890 471/506/890 +f 422/505/891 470/504/891 472/507/891 +f 423/441/892 421/438/892 473/508/892 +f 420/437/893 472/507/893 474/496/893 +f 421/438/894 419/436/894 475/497/894 +f 456/494/895 480/512/895 478/509/895 +f 457/492/896 459/490/896 479/510/896 +f 480/512/897 482/555/897 484/513/897 +f 481/511/898 479/510/898 485/514/898 +f 484/513/899 482/555/899 488/516/899 +f 489/518/900 483/515/900 485/514/900 +f 488/516/901 490/523/901 492/520/901 +f 489/518/902 487/519/902 493/521/902 +f 464/498/903 476/483/903 486/517/903 +f 487/519/904 477/485/904 465/499/904 +f 484/513/905 486/517/905 476/483/905 +f 485/514/906 453/484/906 477/485/906 +f 462/488/907 478/509/907 484/513/907 +f 463/486/908 453/484/908 485/514/908 +f 458/491/909 478/509/909 462/488/909 +f 463/486/910 479/510/910 459/490/910 +f 474/496/911 480/512/911 456/494/911 +f 475/497/912 455/495/912 457/492/912 +f 472/507/913 482/555/913 480/512/913 +f 481/511/914 483/515/914 473/508/914 +f 488/516/915 482/555/915 472/507/915 +f 489/518/916 471/506/916 473/508/916 +f 490/523/917 488/516/917 470/504/917 +f 491/522/918 469/503/918 471/506/918 +f 466/500/919 492/520/919 490/523/919 +f 491/522/920 493/521/920 467/501/920 +f 392/427/921 390/431/921 504/524/921 +f 505/526/922 391/433/922 393/428/922 +f 394/423/923 392/427/923 502/525/923 +f 503/527/924 393/428/924 395/424/924 +f 394/423/925 500/528/925 498/530/925 +f 395/424/926 397/420/926 499/531/926 +f 396/419/927 498/530/927 496/532/927 +f 397/420/928 399/537/928 497/534/928 +f 398/533/929 496/532/929 494/535/929 +f 399/537/930 401/541/930 495/538/930 +f 400/536/931 494/535/931 506/539/931 +f 401/541/932 389/545/932 507/542/932 +f 502/525/933 504/524/933 506/539/933 +f 503/527/934 495/538/934 507/542/934 +f 494/535/935 496/532/935 500/528/935 +f 501/529/936 497/534/936 495/538/936 +f 382/394/937 388/556/937 506/543/937 +f 383/544/938 315/548/938 507/542/938 +f 314/546/939 506/539/939 504/524/939 +f 505/526/940 507/542/940 315/548/940 +f 320/452/941 322/547/941 504/524/941 +f 505/526/942 323/549/942 321/550/942 diff --git a/examples/Obj/monkey.zip b/examples/Obj/monkey.zip new file mode 100644 index 0000000000000000000000000000000000000000..c63e4a6757727700fe758c9989e96240c48a31e3 GIT binary patch literal 25742 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 literal 0 HcmV?d00001 diff --git a/examples/Obj/obj.asc b/examples/Obj/obj.asc new file mode 100644 index 0000000..b365720 --- /dev/null +++ b/examples/Obj/obj.asc @@ -0,0 +1,128 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER +} from '../../webgl' + +import { + Suzanne_data +} from './Suzanne' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision mediump float; + + in vec3 position; + in vec3 normal; + out vec4 c; + + void main() { + const vec3 light = vec3(0.25, 2.0, -0.5); + float d = clamp( dot( normal, light ), 0.0, 1.0); + vec4 pos = vec4( position, 1.0 ); + + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = pos * mRotateTranslate; + c = vec4(max(d, 0.2), max(d, 0.2), max(d, 0.25), 1.0); + } +`; + +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + + enable(gl, DEPTH_TEST); + + // I'M DUPLICATING A LOT OF VERTICES HERE. + // INDEXES WOULD BE BETTER + +function rotate(theta: f32) : void { //u32 { + for( var coord_i: i32 = 0; coord_i < Suzanne_data.length; coord_i += 6 ) { + let x:f32 = Suzanne_data[coord_i]; + let z:f32 = Suzanne_data[coord_i+2]; + + let nx:f32 = Suzanne_data[coord_i+3]; + let nz:f32 = Suzanne_data[coord_i+5]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + + Suzanne_data[coord_i] = x1; + Suzanne_data[coord_i+2] = z1; + + Suzanne_data[coord_i+3] = nx1; + Suzanne_data[coord_i+5] = nz1; + } + + return; +} + + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + + bufferData(gl, ARRAY_BUFFER, Suzanne_data, DYNAMIC_DRAW); + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); + drawArrays(gl, TRIANGLES, 0, Suzanne_data.length / 6); + + } \ No newline at end of file diff --git a/examples/Obj/obj.wasm b/examples/Obj/obj.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9c5cfc06b9dd29d3072bb0d7d557cd4602392155 GIT binary patch literal 77983 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 literal 0 HcmV?d00001 diff --git a/examples/Obj/obj_small.wasm b/examples/Obj/obj_small.wasm new file mode 100644 index 0000000000000000000000000000000000000000..faeba8507836066ada2706e78ca82b817cf23619 GIT binary patch literal 8334 zcmd^EdvH|M89(>#Bb&XOf$4nKdVB;fIpopNn5mCTLr`Q=8e9e@i((ioVz556$GF1O+ zVt&7KzH`p^I_G@%USz(OCW$d7P06p7V=-3CSgjP3VgRhx5)%?DAP|g#7({K z%ueGj8lN)VS09L^ge};e5}qCL2bh&+=J~@-GlQXkF_oE8)IT{Ao)+;nG1<`Si$;C^ z>Bdw;ff5Qf&oCz%%bl}Z0s};bN7b_%8o(n%p|dX7TyKaBb%oOcQ9T-s1ncez`+d=1 zxS8dVb$6iIR~HIA7>Gd3G)0d@d~=y$)K24!Spvhy;KzR1LIC>&u5 ziEJn`*A~>FUp2m{@AiiA<0{OBLs~PeO%4Yk-4W(Al-5UlbI^kpW)n8;O@XFxWUkC4 zOHrZ4E?Xo?k{yoR+?*VjMY39@nM|^;QD2i|lFk$Yrb|kUiS8w>^gvt|!*K^1&E!9U5E=2yGcT37iH0_OVHk868@fOcRLE-BHBar zHc>lGNf31qEg~1_+iY>cFNmlM1Q2bJwx;?(Q`!W9!3A+BQR}< z3B;uxG%yke5EFH*xBW@vwwi12Pg(hBj0_jDf&nRyf zohhv-qFINr;4!~|jo;sV4@#4f~z zi1FJoA&3dY4#dTyg?!;+^rD+6UV(EF6NvG>xIgVg@pq_4lpyLLitnc}q6AR~(MQ9C z-oy<8myxOEL@S7%AX-WEB+)9O)kJ?F>R*Ho|CQ(sqBn_l5bY$|Mf5kK-9&E@?IC)b zXfM$|qIZbiCE8DPfaoC6A)>=XM~IFR9V2>==s3~)L??(oAo`H#B+)6N(?snDF`Iu% zV6^Ax;O(cAbAad|(IKM4L`R5@5*;IYkLWnj`$Q**J|H?tbebqhHEmd} z(GH^hL#?S;V98DqT@s#5^W^f zM0AFH?!t24zn&0Hoqnuerq!D#rZZ)pR0Hpc_#*^M3IuK~P;wr2 zq+TR)rcU*RLSa7}>XuO@3vM6 znxS93XlWFn$699TYO7}9(g-WJjIePlxBYUMX64o@2xSt?w-^nkC<@wQ5et*8ubF9a)d=!g+6Y*dzfb9GPgCVL%6J~Gc-H5bK5O4cv;Hrx^#?K*vr4jwK zOLdlSL-{sYRSao752V{sy4{dgs4gWBVuJ8T$}U}Q#U5;n9BmveGi8h zuk(_c;N-KXtCyXxNcL(TT+;`__J>{HUA%be^<*!1*Hr()_R*9FHdKlZEa#qN?@LO7 zqQjm}DwT!J1DihYu#)*tR-TAk;h2D3*$N)_)p*9#+Osg2U}}R6JD6$O=_N+lnHO92{#Pm zCKQ9-lnHOPi4w>KSiua#QIPZ_pL8!Ya(n8;>z#w;)|-`EZ&fCapw=fmBCo^z}N#q4G%Zt;2d$I#B7P%F>h{xm-6Xpp{=e9W0gj?(z zq#jIo(k6L=E$KWl}{#EbfB zI(EO+G@$fs#M@f_A<#xfVM9x>Da(^}dSa+VVb`d!BVkLS2zIgj=B` z+I079{YeSypjam-R8D(LbBFLe+xU-r+2v(t|YWY0B`ZVLt zwr(wt=W!ft>sp}Y*|@8klU#vjKhEI_cfw#kSQG_&mI%=rd0s2v1w4N~K;Han-aSuK zxmqoEX@x))-Mp~6vU}bp&0!wv+xU>ajlA&Xq=?0#Xbzom#|-Y^mSKvPTh=FQr94-c zX2D%6{fQ1iN^ffCQ)jq1vp%?u`cRx%A4)Qdmbloo?b=Y`b)zl|$A|XV_)tZ8?<(sn zXaB9ZrY^z%P+%@!Uqz{fI)}C0+_H3~GcRSj%6kV(m^U+Fp3H=a+e!(86lK)XwW$XP zJP6#P(51G-ooT^qY>E3a7T~gbsmlHElVbHxRbU4xuSRM`*k%p7^bwK@`)VJbHrhJV z!li{YW#Q_dg>ZxhruGUR6hG48{U3^}R}@!oW^wfnD6ZcBqvC2*zaQ^T+n{2buLb5c zPHnn7^O*{7JMh4Sy9Wg{{Y-UdKU0gv`wHGsQrjZh zHfqC1$Z+`nuz!KVXMNXD`t zUa97bZwjR>H=-7Z))=r>HcnMVdz-9V$~xdnRGq;ZwN$q^sYOZ& zD|=N=eWR7*hn4D8l+6VSe48lW=bp7PCV?N~PqfQeD+{m)YhghaX3dPV@oX&oa*(#L zJm!QJXER|&fcargdR`Mq>OnG_HNiM%4J-s2d@Rat!*%A`AZis>{GeOt3Zs^&VUcDF zD+6aX!^{Y1_krg0tT0%N!fetw0b2fyQPXNGtPO&H9M=oYBiShE{Vo-gu;_}Ga7NXJ2YEVjm={ASRf_EKn1XN03CLYE)3`!Hi8 zp;r&~qu?0_FVe9J?U_D|LMy^H*}Dl_1Ffa=K^f*O?fV3@F);JO4(Z}4-_869|3&7b zOk}u;{RTZ1{Q$ckcEyKz6R`*h*)r#k%*wIQWZDrH({a!U;o#ED**CHqVYS$?5S}@4 zR&N@_Qd*Ok+X9i({)~eduZOlc!QwPzN_na$JRHo@xXW6~);Sg}k*@>oi)hmx4rXcm zWi6%GUP<=M-5orp30aoR^OSi4ra`W!vdNgoAndeRBgDxvPuXZ_|Iqo!z88L2k$pDB z$$13!q&{`hX}9PMUipZ)gXvRkMkF%ThOxrG)H#)ZNoR}#C;^N1)fd6(MyVLA01C62 zC2e4-8my3s!z~H{CCuE4D=%iWn$nwD7E|H76pte#deQd7b!dfa!Sokg%5Yc4sA$iD z>s<%sFa!k;{!g4s;cCVV(H>Y<;NJ}g(UV!=U>ow3-%c|0Sb#;Fv8sxOhFy1zAOBRv z^?^~9wXOHQHuIfZEBEcar(*Rg?;ZR0_GHN$8X9o^>Q#%f?aR*Lp~h&>27xDg)|qTmG~XFgab%HUim#y%MF z!|F5n3LjNm^Xul0^U3}XCwz0@q3gcYmrT5U)rz_kzMXw1pYz}MJ^o{HIXrp6GW`tX IaxcmM11w+=VgLXD literal 0 HcmV?d00001 diff --git a/examples/Obj/teapot.obj.txt b/examples/Obj/teapot.obj.txt new file mode 100644 index 0000000..c839837 --- /dev/null +++ b/examples/Obj/teapot.obj.txt @@ -0,0 +1,9965 @@ +v -3.000000 1.800000 0.000000 +v -2.991600 1.800000 -0.081000 +v -2.991600 1.800000 0.081000 +v -2.989450 1.666162 0.000000 +v -2.985000 1.921950 0.000000 +v -2.985000 1.921950 0.000000 +v -2.981175 1.667844 -0.081000 +v -2.981175 1.667844 0.081000 +v -2.976687 1.920243 -0.081000 +v -2.976687 1.920243 0.081000 +v -2.968800 1.800000 -0.144000 +v -2.968800 1.800000 0.144000 +v -2.958713 1.672406 -0.144000 +v -2.958713 1.672406 0.144000 +v -2.957600 1.534800 0.000000 +v -2.957600 1.534800 0.000000 +v -2.954122 1.915609 -0.144000 +v -2.954122 1.915609 0.144000 +v -2.949693 1.537790 -0.081000 +v -2.949693 1.537790 0.081000 +v -2.940000 2.019600 0.000000 +v -2.935200 1.800000 -0.189000 +v -2.935200 1.800000 0.189000 +v -2.931958 2.016526 0.081000 +v -2.931958 2.016526 -0.081000 +v -2.928230 1.545907 -0.144000 +v -2.928230 1.545907 0.144000 +v -2.925611 1.679131 -0.189000 +v -2.925611 1.679131 0.189000 +v -2.920870 1.908779 -0.189000 +v -2.920870 1.908779 0.189000 +v -2.910131 2.008181 -0.144000 +v -2.910131 2.008181 0.144000 +v -2.904150 1.406137 0.000000 +v -2.904150 1.406137 0.000000 +v -2.896846 1.410135 0.081000 +v -2.896846 1.410135 -0.081000 +v -2.896602 1.557869 -0.189000 +v -2.896602 1.557869 0.189000 +v -2.894400 1.800000 -0.216000 +v -2.894400 1.800000 0.216000 +v -2.885416 1.687296 -0.216000 +v -2.885416 1.687296 0.216000 +v -2.880491 1.900487 -0.216000 +v -2.880491 1.900487 0.216000 +v -2.877965 1.995883 -0.189000 +v -2.877965 1.995883 0.189000 +v -2.877022 1.420985 -0.144000 +v -2.877022 1.420985 0.144000 +v -2.865000 2.095650 0.000000 +v -2.858195 1.572394 0.216000 +v -2.858195 1.572394 -0.216000 +v -2.857432 2.091511 -0.081000 +v -2.857432 2.091511 0.081000 +v -2.850000 1.800000 -0.225000 +v -2.850000 1.800000 0.225000 +v -2.847806 1.436974 0.189000 +v -2.847806 1.436974 -0.189000 +v -2.841675 1.696181 0.225000 +v -2.841675 1.696181 -0.225000 +v -2.838906 1.980950 -0.216000 +v -2.838906 1.980950 0.216000 +v -2.836889 2.080276 -0.144000 +v -2.836889 2.080276 0.144000 +v -2.836550 1.891463 -0.225000 +v -2.836550 1.891463 0.225000 +v -2.828800 1.280400 0.000000 +v -2.822326 1.285171 -0.081000 +v -2.822326 1.285171 0.081000 +v -2.816400 1.588200 -0.225000 +v -2.816400 1.588200 0.225000 +v -2.812331 1.456390 0.216000 +v -2.812331 1.456390 -0.216000 +v -2.806615 2.063720 -0.189000 +v -2.806615 2.063720 0.189000 +v -2.805600 1.800000 -0.216000 +v -2.805600 1.800000 0.216000 +v -2.804755 1.298122 -0.144000 +v -2.804755 1.298122 0.144000 +v -2.797934 1.705067 -0.216000 +v -2.797934 1.705067 0.216000 +v -2.796400 1.964700 0.225000 +v -2.796400 1.964700 -0.225000 +v -2.792609 1.882438 -0.216000 +v -2.792609 1.882438 0.216000 +v -2.778861 1.317206 -0.189000 +v -2.778861 1.317206 0.189000 +v -2.774605 1.604006 0.216000 +v -2.774605 1.604006 -0.216000 +v -2.773725 1.477519 0.225000 +v -2.773725 1.477519 -0.225000 +v -2.769854 2.043616 -0.216000 +v -2.769854 2.043616 0.216000 +v -2.764800 1.800000 -0.189000 +v -2.764800 1.800000 0.189000 +v -2.760000 2.152800 0.000000 +v -2.760000 2.152800 0.000000 +v -2.757739 1.713232 -0.189000 +v -2.757739 1.713232 0.189000 +v -2.753894 1.948450 -0.216000 +v -2.753894 1.948450 0.216000 +v -2.753123 2.147861 -0.081000 +v -2.753123 2.147861 0.081000 +v -2.752230 1.874146 -0.189000 +v -2.752230 1.874146 0.189000 +v -2.747418 1.340381 -0.216000 +v -2.747418 1.340381 0.216000 +v -2.736198 1.618531 -0.189000 +v -2.736198 1.618531 0.189000 +v -2.735119 1.498648 0.216000 +v -2.735119 1.498648 -0.216000 +v -2.734458 2.134454 -0.144000 +v -2.734458 2.134454 0.144000 +v -2.731250 1.157813 0.000000 +v -2.731250 1.157813 0.000000 +v -2.731200 1.800000 -0.144000 +v -2.731200 1.800000 0.144000 +v -2.729850 2.021737 -0.225000 +v -2.729850 2.021737 0.225000 +v -2.725825 1.163194 0.081000 +v -2.725825 1.163194 -0.081000 +v -2.724637 1.719956 -0.144000 +v -2.724637 1.719956 0.144000 +v -2.718978 1.867316 -0.144000 +v -2.718978 1.867316 0.144000 +v -2.714835 1.933517 -0.189000 +v -2.714835 1.933517 0.189000 +v -2.713200 1.365600 -0.225000 +v -2.713200 1.365600 0.225000 +v -2.711100 1.177800 -0.144000 +v -2.711100 1.177800 0.144000 +v -2.708400 1.800000 -0.081000 +v -2.708400 1.800000 0.081000 +v -2.706950 2.114698 -0.189000 +v -2.706950 2.114698 0.189000 +v -2.704570 1.630493 -0.144000 +v -2.704570 1.630493 0.144000 +v -2.702175 1.724519 -0.081000 +v -2.702175 1.724519 0.081000 +v -2.700000 1.800000 0.000000 +v -2.699644 1.518063 0.189000 +v -2.699644 1.518063 -0.189000 +v -2.696413 1.862682 -0.081000 +v -2.696413 1.862682 0.081000 +v -2.693900 1.726200 0.000000 +v -2.689846 1.999859 -0.216000 +v -2.689846 1.999859 0.216000 +v -2.689400 1.199325 -0.189000 +v -2.689400 1.199325 0.189000 +v -2.688100 1.860975 0.000000 +v -2.688100 1.860975 0.000000 +v -2.683107 1.638610 -0.081000 +v -2.683107 1.638610 0.081000 +v -2.682669 1.921219 -0.144000 +v -2.682669 1.921219 0.144000 +v -2.678982 1.390819 -0.216000 +v -2.678982 1.390819 0.216000 +v -2.675200 1.641600 0.000000 +v -2.675200 1.641600 0.000000 +v -2.673549 2.090707 -0.216000 +v -2.673549 2.090707 0.216000 +v -2.670428 1.534053 -0.144000 +v -2.670428 1.534053 0.144000 +v -2.663050 1.225463 -0.216000 +v -2.663050 1.225463 0.216000 +v -2.660842 1.912874 0.081000 +v -2.660842 1.912874 -0.081000 +v -2.653085 1.979755 -0.189000 +v -2.653085 1.979755 0.189000 +v -2.652800 1.909800 0.000000 +v -2.652800 1.909800 0.000000 +v -2.650604 1.544903 0.081000 +v -2.650604 1.544903 -0.081000 +v -2.647539 1.413994 -0.189000 +v -2.647539 1.413994 0.189000 +v -2.643300 1.548900 0.000000 +v -2.637200 2.064600 -0.225000 +v -2.637200 2.064600 0.225000 +v -2.634375 1.253906 0.225000 +v -2.634375 1.253906 -0.225000 +v -2.625000 2.193750 0.000000 +v -2.622811 1.963199 -0.144000 +v -2.622811 1.963199 0.144000 +v -2.621645 1.433078 -0.144000 +v -2.621645 1.433078 0.144000 +v -2.619050 2.188238 -0.081000 +v -2.619050 2.188238 0.081000 +v -2.611200 1.038600 0.000000 +v -2.611200 1.038600 0.000000 +v -2.607034 1.044497 0.081000 +v -2.607034 1.044497 -0.081000 +v -2.605700 1.282350 -0.216000 +v -2.605700 1.282350 0.216000 +v -2.604074 1.446029 -0.081000 +v -2.604074 1.446029 0.081000 +v -2.602900 2.173275 -0.144000 +v -2.602900 2.173275 0.144000 +v -2.602268 1.951964 -0.081000 +v -2.602268 1.951964 0.081000 +v -2.600851 2.038493 -0.216000 +v -2.600851 2.038493 0.216000 +v -2.597600 1.450800 0.000000 +v -2.595725 1.060502 -0.144000 +v -2.595725 1.060502 0.144000 +v -2.594700 1.947825 0.000000 +v -2.579350 1.308488 -0.189000 +v -2.579350 1.308488 0.189000 +v -2.579100 2.151225 -0.189000 +v -2.579100 2.151225 0.189000 +v -2.579059 1.084090 -0.189000 +v -2.579059 1.084090 0.189000 +v -2.567450 2.014502 -0.189000 +v -2.567450 2.014502 0.189000 +v -2.558822 1.112731 0.216000 +v -2.558822 1.112731 -0.216000 +v -2.557650 1.330013 -0.144000 +v -2.557650 1.330013 0.144000 +v -2.550200 2.124450 -0.216000 +v -2.550200 2.124450 0.216000 +v -2.542925 1.344619 0.081000 +v -2.542925 1.344619 -0.081000 +v -2.539942 1.994746 -0.144000 +v -2.539942 1.994746 0.144000 +v -2.537500 1.350000 0.000000 +v -2.537500 1.350000 0.000000 +v -2.536800 1.143900 0.225000 +v -2.536800 1.143900 -0.225000 +v -2.521277 1.981339 -0.081000 +v -2.521277 1.981339 0.081000 +v -2.518750 2.095312 -0.225000 +v -2.518750 2.095312 0.225000 +v -2.514778 1.175069 0.216000 +v -2.514778 1.175069 -0.216000 +v -2.514400 1.976400 0.000000 +v -2.514400 1.976400 0.000000 +v -2.494541 1.203710 -0.189000 +v -2.494541 1.203710 0.189000 +v -2.487300 2.066175 -0.216000 +v -2.487300 2.066175 0.216000 +v -2.477875 1.227298 -0.144000 +v -2.477875 1.227298 0.144000 +v -2.468350 0.922987 0.000000 +v -2.466566 1.243303 0.081000 +v -2.466566 1.243303 -0.081000 +v -2.465644 0.929375 -0.081000 +v -2.465644 0.929375 0.081000 +v -2.462400 1.249200 0.000000 +v -2.462400 1.249200 0.000000 +v -2.460000 2.221200 0.000000 +v -2.460000 2.221200 0.000000 +v -2.458400 2.039400 -0.189000 +v -2.458400 2.039400 0.189000 +v -2.458298 0.946711 -0.144000 +v -2.458298 0.946711 0.144000 +v -2.455229 2.215303 -0.081000 +v -2.455229 2.215303 0.081000 +v -2.447474 0.972260 0.189000 +v -2.447474 0.972260 -0.189000 +v -2.442278 2.199298 -0.144000 +v -2.442278 2.199298 0.144000 +v -2.434600 2.017350 -0.144000 +v -2.434600 2.017350 0.144000 +v -2.434329 1.003283 -0.216000 +v -2.434329 1.003283 0.216000 +v -2.423194 2.175710 -0.189000 +v -2.423194 2.175710 0.189000 +v -2.420025 1.037044 -0.225000 +v -2.420025 1.037044 0.225000 +v -2.418450 2.002387 -0.081000 +v -2.418450 2.002388 0.081000 +v -2.412500 1.996875 0.000000 +v -2.412500 1.996875 0.000000 +v -2.405721 1.070804 -0.216000 +v -2.405721 1.070804 0.216000 +v -2.400019 2.147069 -0.216000 +v -2.400019 2.147069 0.216000 +v -2.392576 1.101828 -0.189000 +v -2.392576 1.101828 0.189000 +v -2.381752 1.127376 -0.144000 +v -2.381752 1.127376 0.144000 +v -2.374800 2.115900 -0.225000 +v -2.374800 2.115900 0.225000 +v -2.374406 1.144713 0.081000 +v -2.374406 1.144713 -0.081000 +v -2.371700 1.151100 0.000000 +v -2.349581 2.084731 -0.216000 +v -2.349581 2.084731 0.216000 +v -2.326406 2.056090 -0.189000 +v -2.326406 2.056090 0.189000 +v -2.307322 2.032502 -0.144000 +v -2.307322 2.032502 0.144000 +v -2.302400 0.811200 0.000000 +v -2.302400 0.811200 0.000000 +v -2.301347 0.818122 0.081000 +v -2.301347 0.818122 -0.081000 +v -2.298490 0.836909 0.144000 +v -2.298490 0.836909 -0.144000 +v -2.294371 2.016497 -0.081000 +v -2.294371 2.016497 0.081000 +v -2.294278 0.864595 0.189000 +v -2.294278 0.864595 -0.189000 +v -2.289600 2.010600 0.000000 +v -2.289600 2.010600 0.000000 +v -2.289165 0.898214 0.216000 +v -2.289165 0.898214 -0.216000 +v -2.283600 0.934800 0.225000 +v -2.283600 0.934800 -0.225000 +v -2.278035 0.971386 0.216000 +v -2.278035 0.971386 -0.216000 +v -2.272922 1.005005 0.189000 +v -2.272922 1.005005 -0.189000 +v -2.268710 1.032691 -0.144000 +v -2.268710 1.032691 0.144000 +v -2.265853 1.051478 0.081000 +v -2.265853 1.051478 -0.081000 +v -2.265000 2.237850 0.000000 +v -2.264800 1.058400 0.000000 +v -2.264800 1.058400 0.000000 +v -2.261676 2.231720 -0.081000 +v -2.261676 2.231720 0.081000 +v -2.252655 2.215082 -0.144000 +v -2.252655 2.215082 0.144000 +v -2.239361 2.190562 -0.189000 +v -2.239361 2.190562 0.189000 +v -2.223218 2.160788 -0.216000 +v -2.223218 2.160788 0.216000 +v -2.205650 2.128387 0.225000 +v -2.205650 2.128388 -0.225000 +v -2.188082 2.095987 -0.216000 +v -2.188082 2.095987 0.216000 +v -2.171939 2.066213 -0.189000 +v -2.171939 2.066213 0.189000 +v -2.158645 2.041693 -0.144000 +v -2.158645 2.041693 0.144000 +v -2.149624 2.025055 -0.081000 +v -2.149624 2.025055 0.081000 +v -2.146300 2.018925 0.000000 +v -2.141100 0.973800 0.000000 +v -2.141100 0.973800 0.000000 +v -2.140315 0.966231 0.081000 +v -2.140315 0.966231 -0.081000 +v -2.138183 0.945685 0.144000 +v -2.138183 0.945685 -0.144000 +v -2.135041 0.915407 0.189000 +v -2.135041 0.915407 -0.189000 +v -2.131226 0.878641 0.216000 +v -2.131226 0.878641 -0.216000 +v -2.127075 0.838631 0.225000 +v -2.127075 0.838631 -0.225000 +v -2.122924 0.798621 0.216000 +v -2.122924 0.798621 -0.216000 +v -2.119109 0.761855 0.189000 +v -2.119109 0.761855 -0.189000 +v -2.115967 0.731578 0.144000 +v -2.115967 0.731578 -0.144000 +v -2.113835 0.711032 0.081000 +v -2.113835 0.711032 -0.081000 +v -2.113050 0.703463 0.000000 +v -2.113050 0.703463 0.000000 +v -2.040000 2.246400 0.000000 +v -2.040000 2.246400 0.000000 +v -2.038410 2.240150 -0.081000 +v -2.038410 2.240150 0.081000 +v -2.034093 2.223187 -0.144000 +v -2.034093 2.223187 0.144000 +v -2.027731 2.198189 -0.189000 +v -2.027731 2.198189 0.189000 +v -2.020006 2.167834 0.216000 +v -2.020006 2.167834 -0.216000 +v -2.011600 2.134800 0.225000 +v -2.011600 2.134800 -0.225000 +v -2.003194 2.101766 0.216000 +v -2.003194 2.101766 -0.216000 +v -2.000000 0.900000 0.000000 +v -2.000000 0.900000 0.000000 +v -2.000000 0.900000 0.000000 +v -1.997200 0.891600 0.081000 +v -1.997200 0.891600 -0.081000 +v -1.995469 2.071411 -0.189000 +v -1.995469 2.071411 0.189000 +v -1.992750 1.037175 -0.000000 +v -1.992750 1.037175 0.000000 +v -1.989600 0.868800 0.144000 +v -1.989600 0.868800 -0.144000 +v -1.989107 2.046413 0.144000 +v -1.989107 2.046413 -0.144000 +v -1.986000 0.771675 0.000000 +v -1.986000 0.771675 0.000000 +v -1.984790 2.029450 -0.081000 +v -1.984790 2.029450 0.081000 +v -1.983200 2.023200 0.000000 +v -1.983200 2.023200 0.000000 +v -1.978400 0.835200 0.189000 +v -1.978400 0.835200 -0.189000 +v -1.974240 0.900000 -0.328160 +v -1.974240 0.900000 -0.328160 +v -1.974240 0.900000 0.328160 +v -1.972000 1.178400 -0.000000 +v -1.972000 1.178400 0.000000 +v -1.967083 1.037175 -0.326970 +v -1.967083 1.037175 0.326970 +v -1.964800 0.794400 0.216000 +v -1.964800 0.794400 -0.216000 +v -1.960420 0.771675 -0.325863 +v -1.960420 0.771675 0.325863 +v -1.950000 0.750000 -0.225000 +v -1.950000 0.750000 0.225000 +v -1.948000 0.656400 0.000000 +v -1.948000 0.656400 0.000000 +v -1.946601 1.178400 -0.323566 +v -1.946601 1.178400 0.323566 +v -1.939250 1.323225 0.000000 +v -1.939250 1.323225 0.000000 +v -1.935200 0.705600 0.216000 +v -1.935200 0.705600 -0.216000 +v -1.922910 0.656400 -0.319628 +v -1.922910 0.656400 0.319628 +v -1.921600 0.664800 0.189000 +v -1.921600 0.664800 -0.189000 +v -1.914272 1.323225 -0.318192 +v -1.914272 1.323225 0.318192 +v -1.910400 0.631200 0.144000 +v -1.910400 0.631200 -0.144000 +v -1.902800 0.608400 0.081000 +v -1.902800 0.608400 -0.081000 +v -1.900000 0.600000 0.000000 +v -1.900000 0.600000 0.000000 +v -1.899520 0.900000 -0.638080 +v -1.899520 0.900000 -0.638080 +v -1.899520 0.900000 0.638080 +v -1.899520 0.900000 0.638080 +v -1.896000 1.471200 0.000000 +v -1.896000 1.471200 0.000000 +v -1.892634 1.037175 -0.635767 +v -1.892634 1.037175 0.635767 +v -1.892000 0.553725 0.000000 +v -1.892000 0.553725 0.000000 +v -1.886223 0.771675 -0.633613 +v -1.886223 0.771675 0.633613 +v -1.872927 1.178400 -0.629147 +v -1.872927 1.178400 0.629147 +v -1.871580 1.471200 -0.311096 +v -1.871580 1.471200 0.311096 +v -1.867631 0.553725 -0.310439 +v -1.867631 0.553725 0.310439 +v -1.850132 0.656400 -0.621490 +v -1.850132 0.656400 0.621490 +v -1.843750 1.621875 0.000000 +v -1.843750 1.621875 0.000000 +v -1.841822 1.323225 -0.618698 +v -1.841822 1.323225 0.618698 +v -1.824000 0.463200 -0.000000 +v -1.824000 0.463200 0.000000 +v -1.820003 1.621875 -0.302522 +v -1.820003 1.621875 0.302523 +v -1.800900 2.024775 0.000000 +v -1.800745 1.471200 -0.604900 +v -1.800745 1.471200 0.604900 +v -1.800507 0.463200 -0.299282 +v -1.800507 0.463200 0.299282 +v -1.800455 2.031069 -0.081000 +v -1.800455 2.031069 0.081000 +v -1.799246 2.048152 -0.144000 +v -1.799246 2.048152 0.144000 +v -1.797466 2.073326 -0.189000 +v -1.797466 2.073326 0.189000 +v -1.796946 0.553725 -0.603624 +v -1.796946 0.553725 0.603624 +v -1.795303 2.103896 -0.216000 +v -1.795303 2.103896 0.216000 +v -1.792950 2.137163 -0.225000 +v -1.792950 2.137163 0.225000 +v -1.790597 2.170429 -0.216000 +v -1.790597 2.170429 0.216000 +v -1.788434 2.200999 -0.189000 +v -1.788434 2.200999 0.189000 +v -1.786654 2.226173 -0.144000 +v -1.786654 2.226173 0.144000 +v -1.785445 2.243256 -0.081000 +v -1.785445 2.243256 0.081000 +v -1.785000 2.249550 0.000000 +v -1.784000 1.774800 -0.000000 +v -1.784000 1.774800 0.000000 +v -1.779680 0.900000 -0.925920 +v -1.779680 0.900000 -0.925920 +v -1.779680 0.900000 0.925920 +v -1.779680 0.900000 0.925920 +v -1.773229 1.037175 -0.922564 +v -1.773229 1.037175 0.922564 +v -1.767222 0.771675 -0.919439 +v -1.767222 0.771675 0.919439 +v -1.761022 1.774800 -0.292719 +v -1.761022 1.774800 0.292719 +v -1.754764 1.178400 -0.912957 +v -1.754764 1.178400 0.912957 +v -1.751120 1.621875 -0.588230 +v -1.751120 1.621875 0.588230 +v -1.750000 0.384375 -0.000000 +v -1.750000 0.384375 0.000000 +v -1.733408 0.656400 -0.901846 +v -1.733408 0.656400 0.901846 +v -1.732362 0.463200 -0.581929 +v -1.732362 0.463200 0.581929 +v -1.727460 0.384375 -0.287140 +v -1.727460 0.384375 0.287140 +v -1.725622 1.323225 -0.897795 +v -1.725622 1.323225 0.897795 +v -1.718250 1.929525 -0.000000 +v -1.718250 1.929525 0.000000 +v -1.696119 1.929525 -0.281930 +v -1.696119 1.929525 0.281930 +v -1.694372 1.774800 -0.569167 +v -1.694372 1.774800 0.569167 +v -1.687137 1.471200 -0.877772 +v -1.687137 1.471200 0.877772 +v -1.683577 0.553725 -0.875920 +v -1.683577 0.553725 0.875920 +v -1.676000 0.316800 0.000000 +v -1.676000 0.316800 0.000000 +v -1.662080 0.384375 -0.558320 +v -1.662080 0.384375 0.558320 +v -1.654413 0.316800 -0.274998 +v -1.654413 0.316800 0.274998 +v -1.648000 2.085600 0.000000 +v -1.648000 2.085600 0.000000 +v -1.640643 1.621875 -0.853583 +v -1.640643 1.621875 0.853583 +v -1.631925 1.929525 -0.548190 +v -1.631925 1.929525 0.548190 +v -1.626774 2.085600 -0.270404 +v -1.626774 2.085600 0.270404 +v -1.623068 0.463200 -0.844439 +v -1.623068 0.463200 0.844439 +v -1.618560 0.900000 -1.187840 +v -1.618560 0.900000 -1.187840 +v -1.618560 0.900000 1.187840 +v -1.618560 0.900000 1.187840 +v -1.612693 1.037175 -1.183534 +v -1.612693 1.037175 1.183534 +v -1.608000 0.260025 -0.000000 +v -1.608000 0.260025 0.000000 +v -1.607230 0.771675 -1.179525 +v -1.607230 0.771675 1.179525 +v -1.600000 2.025000 0.000000 +v -1.597200 2.031300 -0.081000 +v -1.597200 2.031300 0.081000 +v -1.595900 1.178400 -1.171210 +v -1.595900 1.178400 1.171210 +v -1.591798 0.316800 -0.534711 +v -1.591798 0.316800 0.534711 +v -1.589600 2.048400 -0.144000 +v -1.589600 2.048400 0.144000 +v -1.587475 1.774800 -0.825921 +v -1.587475 1.774800 0.825921 +v -1.587289 0.260025 0.263841 +v -1.587289 0.260025 -0.263841 +v -1.578400 2.073600 -0.189000 +v -1.578400 2.073600 0.189000 +v -1.576477 0.656400 -1.156956 +v -1.576477 0.656400 1.156956 +v -1.574750 2.242575 0.000000 +v -1.574750 2.242575 0.000000 +v -1.569396 1.323225 -1.151759 +v -1.569396 1.323225 1.151759 +v -1.565204 2.085600 -0.525778 +v -1.565204 2.085600 0.525778 +v -1.564800 2.104200 -0.216000 +v -1.564800 2.104200 0.216000 +v -1.557220 0.384375 -0.810180 +v -1.557220 0.384375 0.810180 +v -1.554467 2.242575 -0.258385 +v -1.554467 2.242575 0.258385 +v -1.552000 0.213600 0.000000 +v -1.552000 0.213600 0.000000 +v -1.550000 2.137500 -0.225000 +v -1.550000 2.137500 0.225000 +v -1.535200 2.170800 -0.216000 +v -1.535200 2.170800 0.216000 +v -1.534395 1.471200 -1.126072 +v -1.534395 1.471200 1.126072 +v -1.532010 0.213600 0.254652 +v -1.532010 0.213600 -0.254652 +v -1.531158 0.553725 -1.123697 +v -1.531158 0.553725 1.123697 +v -1.528968 1.929525 -0.795481 +v -1.528968 1.929525 0.795481 +v -1.527214 0.260025 -0.513016 +v -1.527214 0.260025 0.513016 +v -1.521600 2.201400 -0.189000 +v -1.521600 2.201400 0.189000 +v -1.514000 0.177075 0.000000 +v -1.514000 0.177075 0.000000 +v -1.510400 2.226600 -0.144000 +v -1.510400 2.226600 0.144000 +v -1.502800 2.243700 -0.081000 +v -1.502800 2.243700 0.081000 +v -1.500000 2.400000 0.000000 +v -1.500000 0.150000 0.000000 +v -1.500000 2.250000 0.000000 +v -1.500000 2.400000 0.000000 +v -1.500000 0.150000 0.000000 +v -1.496475 0.127575 -0.000000 +v -1.496475 0.127575 0.000000 +v -1.495635 2.242575 -0.502408 +v -1.495635 2.242575 0.502408 +v -1.494500 0.177075 0.248417 +v -1.494500 0.177075 -0.248417 +v -1.492110 1.621875 -1.095040 +v -1.492110 1.621875 1.095040 +v -1.491372 0.316800 -0.775921 +v -1.491372 0.316800 0.775921 +v -1.480800 0.105600 0.000000 +v -1.480800 0.105600 -0.000000 +v -1.480680 2.400000 -0.246120 +v -1.480680 0.150000 0.246120 +v -1.480680 2.400000 0.246120 +v -1.480680 0.150000 -0.246120 +v -1.480680 0.150000 -0.246120 +v -1.480680 0.150000 0.246120 +v -1.480325 2.435437 0.000000 +v -1.480325 2.435437 0.000000 +v -1.477200 0.127575 0.245542 +v -1.477200 0.127575 -0.245542 +v -1.476127 0.463200 -1.083310 +v -1.476127 0.463200 1.083310 +v -1.474028 0.213600 0.495150 +v -1.474028 0.213600 -0.495150 +v -1.466456 2.085600 -0.762958 +v -1.466456 2.085600 0.762958 +v -1.461727 0.105600 -0.242970 +v -1.461727 0.105600 0.242970 +v -1.461258 2.435437 -0.242892 +v -1.461258 2.435437 0.242892 +v -1.459600 2.463000 0.000000 +v -1.459600 2.463000 0.000000 +v -1.445325 0.084525 0.000000 +v -1.445325 0.084525 0.000000 +v -1.443756 1.774800 -1.059553 +v -1.443756 1.774800 1.059553 +v -1.440800 2.463000 -0.239491 +v -1.440800 2.463000 0.239491 +v -1.439025 2.482687 0.000000 +v -1.437937 0.177075 0.483027 +v -1.437937 0.177075 -0.483027 +v -1.430863 0.260025 0.744440 +v -1.430863 0.260025 -0.744440 +v -1.426709 0.084525 -0.237149 +v -1.426709 0.084525 0.237149 +v -1.424640 2.400000 -0.478560 +v -1.424640 0.150000 -0.478560 +v -1.424640 0.150000 -0.478560 +v -1.424640 0.150000 0.478560 +v -1.424640 0.150000 0.478560 +v -1.424640 2.400000 0.478560 +v -1.421292 0.127575 0.477435 +v -1.421292 0.127575 -0.477435 +v -1.420490 2.482687 -0.236115 +v -1.420490 2.482687 0.236115 +v -1.420000 0.900000 -1.420000 +v -1.420000 0.900000 -1.420000 +v -1.420000 0.900000 1.420000 +v -1.420000 0.900000 1.420000 +v -1.419800 2.494500 0.000000 +v -1.419800 2.494500 0.000000 +v -1.416240 0.384375 -1.039360 +v -1.416240 0.384375 1.039360 +v -1.414853 1.037175 -1.414853 +v -1.414853 1.037175 1.414853 +v -1.410060 0.771675 -1.410060 +v -1.410060 0.771675 1.410060 +v -1.406405 0.105600 -0.472434 +v -1.406405 0.105600 0.472434 +v -1.405953 2.435437 -0.472283 +v -1.405953 2.435437 0.472283 +v -1.403125 2.498438 0.000000 +v -1.403125 2.498438 0.000000 +v -1.401513 2.494500 -0.232961 +v -1.401513 2.494500 0.232961 +v -1.401276 2.242575 -0.729046 +v -1.401276 2.242575 0.729046 +v -1.400120 1.178400 -1.400120 +v -1.400120 1.178400 1.400120 +v -1.400000 2.400000 0.000000 +v -1.400000 2.400000 0.000000 +v -1.390545 1.929525 -1.020503 +v -1.390545 1.929525 1.020503 +v -1.390200 2.494500 0.000000 +v -1.390200 2.494500 0.000000 +v -1.386270 2.463000 -0.465671 +v -1.386270 2.463000 0.465671 +v -1.385925 2.435437 0.000000 +v -1.385925 2.435437 0.000000 +v -1.385053 2.498438 -0.230225 +v -1.385053 2.498438 0.230225 +v -1.383080 0.656400 -1.383080 +v -1.383080 0.656400 1.383080 +v -1.382400 0.064800 -0.000000 +v -1.382400 0.064800 0.000000 +v -1.382225 2.482687 -0.000000 +v -1.382225 2.482687 0.000000 +v -1.381968 2.400000 -0.229712 +v -1.381968 2.400000 0.229712 +v -1.381032 0.213600 0.718514 +v -1.381032 0.213600 -0.718514 +v -1.380400 2.463000 0.000000 +v -1.380400 2.463000 0.000000 +v -1.376868 1.323225 -1.376867 +v -1.376867 1.323225 1.376868 +v -1.372712 0.084525 -0.461116 +v -1.372712 0.084525 0.461116 +v -1.372294 2.494500 -0.228104 +v -1.372294 2.494500 0.228104 +v -1.368074 2.435437 -0.227403 +v -1.368074 2.435437 0.227403 +v -1.366728 2.482687 -0.459107 +v -1.366728 2.482687 0.459107 +v -1.364595 0.064800 -0.226824 +v -1.364595 0.064800 0.226824 +v -1.364422 2.482687 -0.226795 +v -1.364422 2.482687 0.226795 +v -1.362620 2.463000 -0.226496 +v -1.362620 2.463000 0.226496 +v -1.356353 0.316800 -0.995410 +v -1.356353 0.316800 0.995410 +v -1.348469 2.494500 -0.452973 +v -1.348469 2.494500 0.452973 +v -1.347218 0.177075 0.700921 +v -1.347218 0.177075 -0.700921 +v -1.346160 1.471200 -1.346160 +v -1.346160 1.471200 1.346160 +v -1.343320 0.553725 -1.343320 +v -1.343320 0.553725 1.343320 +v -1.334760 2.400000 -0.694440 +v -1.334760 0.150000 -0.694440 +v -1.334760 0.150000 0.694440 +v -1.334760 0.150000 0.694440 +v -1.334760 2.400000 0.694440 +v -1.334760 0.150000 -0.694440 +v -1.333693 2.085600 -0.978780 +v -1.333693 2.085600 0.978780 +v -1.332632 2.498438 -0.447653 +v -1.332632 2.498438 0.447653 +v -1.331623 0.127575 0.692808 +v -1.331623 0.127575 -0.692808 +v -1.329664 2.400000 -0.446656 +v -1.329664 2.400000 0.446656 +v -1.320356 2.494500 -0.443529 +v -1.320356 2.494500 0.443529 +v -1.317675 0.105600 -0.685551 +v -1.317675 0.105600 0.685551 +v -1.317252 2.435437 -0.685331 +v -1.317252 2.435437 0.685331 +v -1.316296 2.435437 -0.442166 +v -1.316296 2.435437 0.442166 +v -1.312948 0.064800 0.441041 +v -1.312948 0.064800 -0.441041 +v -1.312782 2.482687 -0.440985 +v -1.312782 2.482687 0.440985 +v -1.311049 2.463000 -0.440403 +v -1.311049 2.463000 0.440403 +v -1.309063 1.621875 -1.309063 +v -1.309063 1.621875 1.309063 +v -1.301322 0.260025 0.955023 +v -1.301322 0.260025 -0.955023 +v -1.300000 2.400000 0.000000 +v -1.300000 2.400000 0.000000 +v -1.298810 2.463000 -0.675736 +v -1.298810 2.463000 0.675736 +v -1.295040 0.463200 -1.295040 +v -1.295040 0.463200 1.295040 +v -1.286108 0.084525 -0.669128 +v -1.286108 0.084525 0.669128 +v -1.284375 0.046875 0.000000 +v -1.284375 0.046875 0.000000 +v -1.283256 2.400000 -0.213304 +v -1.283256 2.400000 0.213304 +v -1.280502 2.482687 -0.666211 +v -1.280502 2.482687 0.666211 +v -1.274600 2.440800 0.000000 +v -1.274600 2.440800 0.000000 +v -1.274414 2.242575 -0.935276 +v -1.274414 2.242575 0.935276 +v -1.267832 0.046875 -0.210740 +v -1.267832 0.046875 0.210740 +v -1.266640 1.774800 -1.266640 +v -1.266640 1.774800 1.266640 +v -1.263395 2.494500 -0.657311 +v -1.263395 2.494500 0.657311 +v -1.258183 2.440800 0.209136 +v -1.258183 2.440800 -0.209136 +v -1.256003 0.213600 0.921764 +v -1.256003 0.213600 -0.921764 +v -1.248557 2.498438 -0.649591 +v -1.248557 2.498438 0.649591 +v -1.245776 2.400000 -0.648144 +v -1.245776 2.400000 0.648144 +v -1.242500 0.384375 -1.242500 +v -1.242500 0.384375 1.242500 +v -1.237056 2.494500 -0.643607 +v -1.237056 2.494500 0.643607 +v -1.234688 2.400000 -0.414752 +v -1.234688 2.400000 0.414752 +v -1.233252 2.435437 -0.641628 +v -1.233252 2.435437 0.641628 +v -1.230115 0.064800 -0.639996 +v -1.230115 0.064800 0.639996 +v -1.229959 2.482687 -0.639915 +v -1.229959 2.482687 0.639915 +v -1.228335 2.463000 -0.639070 +v -1.228335 2.463000 0.639070 +v -1.225250 0.177075 0.899195 +v -1.225250 0.177075 -0.899195 +v -1.219958 1.929525 1.219958 +v -1.219958 1.929525 -1.219958 +v -1.219848 0.046875 -0.409767 +v -1.219848 0.046875 0.409767 +v -1.213920 2.400000 -0.890880 +v -1.213920 0.150000 -0.890880 +v -1.213920 0.150000 -0.890880 +v -1.213920 0.150000 0.890880 +v -1.213920 0.150000 0.890880 +v -1.213920 2.400000 0.890880 +v -1.211067 0.127575 0.888786 +v -1.211067 0.127575 -0.888786 +v -1.210564 2.440800 0.406648 +v -1.210564 2.440800 -0.406648 +v -1.204800 2.474400 0.000000 +v -1.204800 2.474400 0.000000 +v -1.198382 0.105600 -0.879477 +v -1.198382 0.105600 0.879477 +v -1.197997 2.435437 -0.879195 +v -1.197997 2.435437 0.879195 +v -1.189960 0.316800 -1.189960 +v -1.189960 0.316800 1.189960 +v -1.189282 2.474400 -0.197684 +v -1.189282 2.474400 0.197684 +v -1.187840 0.900000 -1.618560 +v -1.187840 0.900000 -1.618560 +v -1.187840 0.900000 1.618560 +v -1.187840 0.900000 1.618560 +v -1.183534 1.037175 -1.612693 +v -1.183534 1.037175 1.612693 +v -1.181225 2.463000 -0.866886 +v -1.181225 2.463000 0.866886 +v -1.179525 0.771675 -1.607230 +v -1.179525 0.771675 1.607230 +v -1.171210 1.178400 -1.595900 +v -1.171210 1.178400 1.595900 +v -1.170080 2.085600 -1.170080 +v -1.170080 2.085600 1.170080 +v -1.169673 0.084525 -0.858407 +v -1.169673 0.084525 0.858407 +v -1.164574 2.482687 -0.854666 +v -1.164574 2.482687 0.854666 +v -1.156956 0.656400 -1.576477 +v -1.156956 0.656400 1.576477 +v -1.156792 2.400000 -0.601848 +v -1.156792 2.400000 0.601848 +v -1.151759 1.323225 -1.569396 +v -1.151759 1.323225 1.569396 +v -1.149016 2.494500 -0.843248 +v -1.149016 2.494500 0.843248 +v -1.144271 2.474400 -0.384379 +v -1.144271 2.474400 0.384379 +v -1.143600 0.031200 0.000000 +v -1.143600 0.031200 0.000000 +v -1.142888 0.046875 -0.594614 +v -1.142888 0.046875 0.594614 +v -1.141680 0.260025 1.141680 +v -1.141680 0.260025 -1.141680 +v -1.135521 2.498438 -0.833344 +v -1.135521 2.498438 0.833344 +v -1.134190 2.440800 0.590089 +v -1.134190 2.440800 -0.590089 +v -1.132992 2.400000 -0.831488 +v -1.132992 2.400000 0.831488 +v -1.128870 0.031200 -0.187642 +v -1.128870 0.031200 0.187642 +v -1.126072 1.471200 -1.534395 +v -1.126072 1.471200 1.534395 +v -1.125061 2.494500 -0.825668 +v -1.125061 2.494500 0.825668 +v -1.123697 0.553725 -1.531158 +v -1.123697 0.553725 1.531158 +v -1.121601 2.435437 -0.823129 +v -1.121601 2.435437 0.823129 +v -1.118749 0.064800 -0.821035 +v -1.118749 0.064800 0.821035 +v -1.118607 2.482687 -0.820931 +v -1.118607 2.482687 0.820931 +v -1.118073 2.242575 -1.118073 +v -1.118073 2.242575 1.118073 +v -1.117130 2.463000 -0.819847 +v -1.117130 2.463000 0.819847 +v -1.101920 0.213600 1.101920 +v -1.101920 0.213600 -1.101920 +v -1.100200 2.502600 0.000000 +v -1.100200 2.502600 0.000000 +v -1.095040 1.621875 -1.492110 +v -1.095040 1.621875 1.492110 +v -1.086146 0.031200 0.364854 +v -1.086146 0.031200 -0.364854 +v -1.086029 2.502600 0.180521 +v -1.086029 2.502600 -0.180521 +v -1.083310 0.463200 -1.476127 +v -1.083310 0.463200 1.476127 +v -1.074940 0.177075 -1.074940 +v -1.074940 0.177075 1.074940 +v -1.072079 2.474400 -0.557774 +v -1.072079 2.474400 0.557774 +v -1.065000 2.400000 -1.065000 +v -1.065000 0.150000 -1.065000 +v -1.065000 0.150000 1.065000 +v -1.065000 2.400000 1.065000 +v -1.062497 0.127575 1.062497 +v -1.062497 0.127575 -1.062497 +v -1.059553 1.774800 -1.443756 +v -1.059553 1.774800 1.443756 +v -1.052064 2.400000 -0.772096 +v -1.052064 2.400000 0.772096 +v -1.051368 0.105600 -1.051368 +v -1.051368 0.105600 1.051368 +v -1.051031 2.435437 -1.051031 +v -1.051031 2.435437 1.051031 +v -1.044926 2.502600 -0.351008 +v -1.044926 2.502600 0.351008 +v -1.039419 0.046875 -0.762816 +v -1.039419 0.046875 0.762816 +v -1.039360 0.384375 -1.416240 +v -1.039360 0.384375 1.416240 +v -1.036316 2.463000 -1.036316 +v -1.036316 2.463000 1.036316 +v -1.031508 2.440800 0.757010 +v -1.031508 2.440800 -0.757010 +v -1.026181 0.084525 -1.026181 +v -1.026181 0.084525 1.026181 +v -1.021708 2.482687 -1.021708 +v -1.021708 2.482687 1.021708 +v -1.020503 1.929525 -1.390545 +v -1.020503 1.929525 1.390545 +v -1.017621 0.031200 0.529441 +v -1.017621 0.031200 -0.529441 +v -1.008058 2.494500 -1.008058 +v -1.008058 2.494500 1.008058 +v -0.996219 2.498438 -0.996219 +v -0.996219 2.498438 0.996219 +v -0.995410 0.316800 -1.356353 +v -0.995410 0.316800 1.356353 +v -0.994000 2.400000 -0.994000 +v -0.994000 2.400000 0.994000 +v -0.987042 2.494500 -0.987042 +v -0.987042 2.494500 0.987042 +v -0.984007 2.435437 -0.984007 +v -0.984007 2.435437 0.984007 +v -0.981504 0.064800 0.981504 +v -0.981504 0.064800 -0.981504 +v -0.981380 2.482687 -0.981380 +v -0.981380 2.482687 0.981380 +v -0.980084 2.463000 -0.980084 +v -0.980084 2.463000 0.980084 +v -0.979002 2.502600 0.509349 +v -0.979002 2.502600 -0.509349 +v -0.978780 2.085600 -1.333693 +v -0.978780 2.085600 1.333693 +v -0.975021 2.474400 -0.715555 +v -0.975021 2.474400 0.715555 +v -0.970400 2.527200 0.000000 +v -0.970400 2.527200 0.000000 +v -0.957901 2.527200 -0.159223 +v -0.957901 2.527200 0.159223 +v -0.955023 0.260025 1.301322 +v -0.955023 0.260025 -1.301322 +v -0.952425 0.018225 -0.000000 +v -0.952425 0.018225 0.000000 +v -0.940158 0.018225 0.156274 +v -0.940158 0.018225 -0.156274 +v -0.935276 2.242575 -1.274414 +v -0.935276 2.242575 1.274414 +v -0.925920 0.900000 -1.779680 +v -0.925920 0.900000 1.779680 +v -0.925920 0.900000 1.779680 +v -0.925920 0.900000 -1.779680 +v -0.925493 0.031200 0.679207 +v -0.925493 0.031200 -0.679207 +v -0.923000 2.400000 -0.923000 +v -0.923000 2.400000 0.923000 +v -0.922564 1.037175 1.773229 +v -0.922564 1.037175 -1.773229 +v -0.921764 0.213600 1.256003 +v -0.921764 0.213600 -1.256003 +v -0.921647 2.527200 -0.309596 +v -0.921647 2.527200 0.309596 +v -0.919439 0.771675 -1.767222 +v -0.919439 0.771675 1.767222 +v -0.912957 1.178400 -1.754764 +v -0.912957 1.178400 1.754764 +v -0.911906 0.046875 -0.911906 +v -0.911906 0.046875 0.911906 +v -0.904966 2.440800 0.904966 +v -0.904966 2.440800 -0.904966 +v -0.904575 0.018225 0.303862 +v -0.904575 0.018225 -0.303862 +v -0.901846 0.656400 -1.733408 +v -0.901846 0.656400 1.733408 +v -0.899195 0.177075 1.225250 +v -0.899195 0.177075 -1.225250 +v -0.897795 1.323225 -1.725622 +v -0.897795 1.323225 1.725622 +v -0.890880 0.150000 -1.213920 +v -0.890880 0.150000 1.213920 +v -0.890880 2.400000 -1.213920 +v -0.890880 0.150000 -1.213920 +v -0.890880 0.150000 1.213920 +v -0.890880 2.400000 1.213920 +v -0.890370 2.502600 -0.653431 +v -0.890370 2.502600 0.653431 +v -0.888786 0.127575 1.211067 +v -0.888786 0.127575 -1.211067 +v -0.879477 0.105600 -1.198382 +v -0.879477 0.105600 1.198382 +v -0.879195 2.435437 -1.197997 +v -0.879195 2.435437 1.197997 +v -0.877772 1.471200 -1.687137 +v -0.877772 1.471200 1.687137 +v -0.875920 0.553725 -1.683577 +v -0.875920 0.553725 1.683577 +v -0.866886 2.463000 -1.181225 +v -0.866886 2.463000 1.181225 +v -0.863501 2.527200 -0.449256 +v -0.863501 2.527200 0.449256 +v -0.858407 0.084525 -1.169673 +v -0.858407 0.084525 1.169673 +v -0.855408 2.474400 -0.855408 +v -0.855408 2.474400 0.855408 +v -0.854666 2.482687 -1.164574 +v -0.854666 2.482687 1.164574 +v -0.853583 1.621875 -1.640643 +v -0.853583 1.621875 1.640643 +v -0.847506 0.018225 -0.440935 +v -0.847506 0.018225 0.440935 +v -0.844439 0.463200 1.623068 +v -0.844439 0.463200 -1.623068 +v -0.843248 2.494500 -1.149016 +v -0.843248 2.494500 1.149016 +v -0.833344 2.498438 -1.135521 +v -0.833344 2.498438 1.135521 +v -0.831488 2.400000 -1.132992 +v -0.831488 2.400000 1.132992 +v -0.825921 1.774800 1.587475 +v -0.825921 1.774800 -1.587475 +v -0.825668 2.494500 -1.125061 +v -0.825668 2.494500 1.125061 +v -0.825000 2.550000 0.000000 +v -0.825000 2.550000 0.000000 +v -0.823129 2.435437 -1.121601 +v -0.823129 2.435437 1.121601 +v -0.821035 0.064800 1.118749 +v -0.821035 0.064800 -1.118749 +v -0.820931 2.482687 1.118607 +v -0.820931 2.482687 -1.118607 +v -0.819847 2.463000 -1.117130 +v -0.819847 2.463000 1.117130 +v -0.814374 2.550000 -0.135366 +v -0.814374 2.550000 0.135366 +v -0.811956 0.031200 0.811956 +v -0.811956 0.031200 -0.811956 +v -0.810180 0.384375 1.557220 +v -0.810180 0.384375 -1.557220 +v -0.795481 1.929525 1.528968 +v -0.795481 1.929525 -1.528968 +v -0.785325 2.527200 -0.576340 +v -0.785325 2.527200 0.576340 +v -0.783552 2.550000 -0.263208 +v -0.783552 2.550000 0.263208 +v -0.781142 2.502600 -0.781142 +v -0.781142 2.502600 0.781142 +v -0.775921 0.316800 -1.491372 +v -0.775921 0.316800 1.491372 +v -0.772096 2.400000 -1.052064 +v -0.772096 2.400000 1.052064 +v -0.770779 0.018225 0.565664 +v -0.770779 0.018225 -0.565664 +v -0.762958 2.085600 -1.466456 +v -0.762958 2.085600 1.466456 +v -0.762816 0.046875 -1.039419 +v -0.762816 0.046875 1.039419 +v -0.757010 2.440800 1.031508 +v -0.757010 2.440800 -1.031508 +v -0.744440 0.260025 1.430863 +v -0.744440 0.260025 -1.430863 +v -0.734118 2.550000 -0.381942 +v -0.734118 2.550000 0.381942 +v -0.729046 2.242575 -1.401276 +v -0.729046 2.242575 1.401276 +v -0.718514 0.213600 1.381032 +v -0.718514 0.213600 -1.381032 +v -0.715555 2.474400 -0.975021 +v -0.715555 2.474400 0.975021 +v -0.703200 0.008400 0.000000 +v -0.700921 0.177075 1.347218 +v -0.700921 0.177075 -1.347218 +v -0.694440 0.150000 -1.334760 +v -0.694440 0.150000 1.334760 +v -0.694440 2.400000 1.334760 +v -0.694440 0.150000 1.334760 +v -0.694440 2.400000 -1.334760 +v -0.694440 0.150000 -1.334760 +v -0.694143 0.008400 -0.115381 +v -0.694143 0.008400 0.115381 +v -0.692808 0.127575 1.331623 +v -0.692808 0.127575 -1.331623 +v -0.688984 2.527200 -0.688984 +v -0.688984 2.527200 0.688984 +v -0.685551 0.105600 -1.317675 +v -0.685551 0.105600 1.317675 +v -0.685331 2.435437 -1.317252 +v -0.685331 2.435437 1.317252 +v -0.679207 0.031200 -0.925493 +v -0.679207 0.031200 0.925493 +v -0.676222 0.018225 0.676222 +v -0.676222 0.018225 -0.676222 +v -0.675736 2.463000 -1.298810 +v -0.675736 2.463000 1.298810 +v -0.673600 2.572800 0.000000 +v -0.673600 2.572800 0.000000 +v -0.669128 0.084525 -1.286108 +v -0.669128 0.084525 1.286108 +v -0.667871 0.008400 -0.224349 +v -0.667871 0.008400 0.224349 +v -0.667656 2.550000 -0.489984 +v -0.667656 2.550000 0.489984 +v -0.666211 2.482687 1.280502 +v -0.666211 2.482687 -1.280502 +v -0.664924 2.572800 -0.110524 +v -0.664924 2.572800 0.110524 +v -0.657311 2.494500 -1.263395 +v -0.657311 2.494500 1.263395 +v -0.653431 2.502600 -0.890370 +v -0.653431 2.502600 0.890370 +v -0.649591 2.498438 -1.248557 +v -0.649591 2.498438 1.248557 +v -0.648144 2.400000 -1.245776 +v -0.648144 2.400000 1.245776 +v -0.643607 2.494500 -1.237056 +v -0.643607 2.494500 1.237056 +v -0.641628 2.435437 -1.233252 +v -0.641628 2.435437 1.233252 +v -0.639996 0.064800 -1.230115 +v -0.639996 0.064800 1.230115 +v -0.639915 2.482687 1.229959 +v -0.639915 2.482687 -1.229959 +v -0.639758 2.572800 -0.214905 +v -0.639758 2.572800 0.214905 +v -0.639070 2.463000 -1.228335 +v -0.639070 2.463000 1.228335 +v -0.638080 0.900000 -1.899520 +v -0.638080 0.900000 -1.899520 +v -0.638080 0.900000 1.899520 +v -0.638080 0.900000 1.899520 +v -0.635767 1.037175 -1.892634 +v -0.635767 1.037175 1.892634 +v -0.633613 0.771675 -1.886223 +v -0.633613 0.771675 1.886223 +v -0.629147 1.178400 -1.872927 +v -0.629147 1.178400 1.872927 +v -0.625735 0.008400 0.325553 +v -0.625735 0.008400 -0.325553 +v -0.621490 0.656400 -1.850132 +v -0.621490 0.656400 1.850132 +v -0.618698 1.323225 -1.841822 +v -0.618698 1.323225 1.841822 +v -0.604900 1.471200 -1.800745 +v -0.604900 1.471200 1.800745 +v -0.603624 0.553725 -1.796946 +v -0.603624 0.553725 1.796946 +v -0.601848 2.400000 -1.156792 +v -0.601848 2.400000 1.156792 +v -0.599396 2.572800 -0.311850 +v -0.599396 2.572800 0.311850 +v -0.594614 0.046875 -1.142888 +v -0.594614 0.046875 1.142888 +v -0.590089 2.440800 1.134190 +v -0.590089 2.440800 -1.134190 +v -0.588230 1.621875 -1.751120 +v -0.588230 1.621875 1.751120 +v -0.585750 2.550000 -0.585750 +v -0.585750 2.550000 0.585750 +v -0.581929 0.463200 -1.732362 +v -0.581929 0.463200 1.732362 +v -0.576340 2.527200 -0.785325 +v -0.576340 2.527200 0.785325 +v -0.569167 1.774800 -1.694372 +v -0.569167 1.774800 1.694372 +v -0.569086 0.008400 -0.417645 +v -0.569086 0.008400 0.417645 +v -0.565664 0.018225 0.770779 +v -0.565664 0.018225 -0.770779 +v -0.558320 0.384375 -1.662080 +v -0.558320 0.384375 1.662080 +v -0.557774 2.474400 -1.072079 +v -0.557774 2.474400 1.072079 +v -0.548190 1.929525 -1.631925 +v -0.548190 1.929525 1.631925 +v -0.545131 2.572800 -0.400065 +v -0.545131 2.572800 0.400065 +v -0.534711 0.316800 -1.591798 +v -0.534711 0.316800 1.591798 +v -0.529441 0.031200 -1.017621 +v -0.529441 0.031200 1.017621 +v -0.525800 2.597400 0.000000 +v -0.525800 2.597400 0.000000 +v -0.525778 2.085600 -1.565204 +v -0.525778 2.085600 1.565204 +v -0.519028 2.597400 0.086273 +v -0.519028 2.597400 -0.086273 +v -0.513016 0.260025 -1.527214 +v -0.513016 0.260025 1.527214 +v -0.509349 2.502600 0.979002 +v -0.509349 2.502600 -0.979002 +v -0.502408 2.242575 -1.495635 +v -0.502408 2.242575 1.495635 +v -0.499384 2.597400 -0.167751 +v -0.499384 2.597400 0.167751 +v -0.499272 0.008400 -0.499272 +v -0.499272 0.008400 0.499272 +v -0.495150 0.213600 -1.474028 +v -0.495150 0.213600 1.474028 +v -0.489984 2.550000 -0.667656 +v -0.489984 2.550000 0.667656 +v -0.483027 0.177075 -1.437937 +v -0.483027 0.177075 1.437937 +v -0.478560 0.150000 1.424640 +v -0.478560 2.400000 -1.424640 +v -0.478560 0.150000 -1.424640 +v -0.478560 0.150000 -1.424640 +v -0.478560 0.150000 1.424640 +v -0.478560 2.400000 1.424640 +v -0.478256 2.572800 -0.478256 +v -0.478256 2.572800 0.478256 +v -0.477435 0.127575 1.421292 +v -0.477435 0.127575 -1.421292 +v -0.472434 0.105600 1.406405 +v -0.472434 0.105600 -1.406405 +v -0.472283 2.435437 -1.405953 +v -0.472283 2.435437 1.405953 +v -0.467878 2.597400 -0.243424 +v -0.467878 2.597400 0.243424 +v -0.465671 2.463000 -1.386270 +v -0.465671 2.463000 1.386270 +v -0.461116 0.084525 1.372712 +v -0.461116 0.084525 -1.372712 +v -0.459107 2.482687 -1.366728 +v -0.459107 2.482687 1.366728 +v -0.452973 2.494500 -1.348469 +v -0.452973 2.494500 1.348469 +v -0.449256 2.527200 -0.863501 +v -0.449256 2.527200 0.863501 +v -0.447653 2.498438 -1.332632 +v -0.447653 2.498438 1.332632 +v -0.446656 2.400000 -1.329664 +v -0.446656 2.400000 1.329664 +v -0.443529 2.494500 -1.320356 +v -0.443529 2.494500 1.320356 +v -0.442166 2.435437 -1.316296 +v -0.442166 2.435437 1.316296 +v -0.441041 0.064800 1.312948 +v -0.441041 0.064800 -1.312948 +v -0.440985 2.482687 -1.312782 +v -0.440985 2.482687 1.312782 +v -0.440935 0.018225 0.847506 +v -0.440935 0.018225 -0.847506 +v -0.440403 2.463000 -1.311049 +v -0.440403 2.463000 1.311049 +v -0.425519 2.597400 0.312283 +v -0.425519 2.597400 -0.312283 +v -0.417645 0.008400 -0.569086 +v -0.417645 0.008400 0.569086 +v -0.414752 2.400000 -1.234688 +v -0.414752 2.400000 1.234688 +v -0.409767 0.046875 1.219848 +v -0.409767 0.046875 -1.219848 +v -0.406648 2.440800 -1.210564 +v -0.406648 2.440800 1.210564 +v -0.400065 2.572800 -0.545131 +v -0.400065 2.572800 0.545131 +v -0.391200 2.625600 0.000000 +v -0.391200 2.625600 0.000000 +v -0.388275 0.002175 -0.000000 +v -0.388275 0.002175 0.000000 +v -0.386161 2.625600 -0.064188 +v -0.386161 2.625600 0.064188 +v -0.384379 2.474400 -1.144271 +v -0.384379 2.474400 1.144271 +v -0.383274 0.002175 -0.063708 +v -0.383274 0.002175 0.063708 +v -0.381942 2.550000 -0.734118 +v -0.381942 2.550000 0.734118 +v -0.373318 2.597400 -0.373318 +v -0.373318 2.597400 0.373318 +v -0.371546 2.625600 -0.124808 +v -0.371546 2.625600 0.124808 +v -0.368768 0.002175 -0.123875 +v -0.368768 0.002175 0.123875 +v -0.364854 0.031200 1.086146 +v -0.364854 0.031200 -1.086146 +v -0.358400 3.034800 0.000000 +v -0.358400 3.034800 0.000000 +v -0.358200 3.081150 0.000000 +v -0.358200 3.081150 0.000000 +v -0.353807 3.034800 -0.059016 +v -0.353807 3.034800 0.059016 +v -0.353610 3.081150 -0.058988 +v -0.353610 3.081150 0.058988 +v -0.351008 2.502600 -1.044926 +v -0.351008 2.502600 1.044926 +v -0.348105 2.625600 -0.181110 +v -0.348105 2.625600 0.181110 +v -0.345503 0.002175 -0.179756 +v -0.345503 0.002175 0.179756 +v -0.340477 3.034800 -0.114676 +v -0.340477 3.034800 0.114676 +v -0.340289 3.081150 -0.114619 +v -0.340289 3.081150 0.114619 +v -0.328160 0.900000 -1.974240 +v -0.328160 0.900000 1.974240 +v -0.328160 0.900000 1.974240 +v -0.326970 1.037175 -1.967083 +v -0.326970 1.037175 1.967083 +v -0.325863 0.771675 -1.960420 +v -0.325863 0.771675 1.960420 +v -0.325553 0.008400 -0.625735 +v -0.325553 0.008400 0.625735 +v -0.325000 2.981250 0.000000 +v -0.325000 2.981250 0.000000 +v -0.323566 1.178400 -1.946601 +v -0.323566 1.178400 1.946601 +v -0.320834 2.981250 -0.053508 +v -0.320834 2.981250 0.053508 +v -0.319628 0.656400 -1.922910 +v -0.319628 0.656400 1.922910 +v -0.319082 3.034800 -0.166306 +v -0.319082 3.034800 0.166306 +v -0.318907 3.081150 -0.166221 +v -0.318907 3.081150 0.166221 +v -0.318192 1.323225 -1.914272 +v -0.318192 1.323225 1.914272 +v -0.316590 2.625600 -0.232342 +v -0.316590 2.625600 0.232342 +v -0.314223 0.002175 -0.230604 +v -0.314223 0.002175 0.230604 +v -0.312283 2.597400 -0.425519 +v -0.312283 2.597400 0.425519 +v -0.311850 2.572800 -0.599396 +v -0.311850 2.572800 0.599396 +v -0.311096 1.471200 -1.871580 +v -0.311096 1.471200 1.871580 +v -0.310439 0.553725 -1.867631 +v -0.310439 0.553725 1.867631 +v -0.309596 2.527200 -0.921647 +v -0.309596 2.527200 0.921647 +v -0.308800 3.117600 0.000000 +v -0.308800 3.117600 0.000000 +v -0.308744 2.981250 -0.103976 +v -0.308744 2.981250 0.103976 +v -0.304843 3.117600 -0.050855 +v -0.304843 3.117600 0.050855 +v -0.303862 0.018225 0.904575 +v -0.303862 0.018225 -0.904575 +v -0.302523 1.621875 -1.820003 +v -0.302522 1.621875 1.820003 +v -0.299282 0.463200 -1.800507 +v -0.299282 0.463200 1.800507 +v -0.293360 3.117600 -0.098814 +v -0.293360 3.117600 0.098814 +v -0.292719 1.774800 -1.761022 +v -0.292719 1.774800 1.761022 +v -0.290295 3.034800 -0.213234 +v -0.290295 3.034800 0.213234 +v -0.290138 3.081150 -0.213123 +v -0.290138 3.081150 0.213123 +v -0.289340 2.981250 -0.150793 +v -0.289340 2.981250 0.150793 +v -0.287140 0.384375 -1.727460 +v -0.287140 0.384375 1.727460 +v -0.281930 1.929525 1.696119 +v -0.281930 1.929525 -1.696119 +v -0.279400 2.659200 0.000000 +v -0.277752 2.625600 -0.277752 +v -0.277752 2.625600 0.277752 +v -0.275801 2.659200 -0.045844 +v -0.275801 2.659200 0.045844 +v -0.275675 0.002175 -0.275675 +v -0.275675 0.002175 0.275675 +v -0.274998 0.316800 -1.654413 +v -0.274998 0.316800 1.654413 +v -0.274928 3.117600 -0.143301 +v -0.274928 3.117600 0.143301 +v -0.273600 2.923200 0.000000 +v -0.273600 2.923200 0.000000 +v -0.270404 2.085600 -1.626774 +v -0.270404 2.085600 1.626774 +v -0.270092 2.923200 -0.045032 +v -0.270092 2.923200 0.045032 +v -0.265363 2.659200 -0.089140 +v -0.265363 2.659200 0.089140 +v -0.263841 0.260025 1.587289 +v -0.263841 0.260025 -1.587289 +v -0.263232 2.981250 -0.193348 +v -0.263232 2.981250 0.193348 +v -0.263208 2.550000 -0.783552 +v -0.263208 2.550000 0.783552 +v -0.259910 2.923200 -0.087511 +v -0.259910 2.923200 0.087511 +v -0.258385 2.242575 -1.554467 +v -0.258385 2.242575 1.554467 +v -0.254788 3.034800 -0.254788 +v -0.254788 3.034800 0.254788 +v -0.254653 3.081150 -0.254653 +v -0.254653 3.081150 0.254653 +v -0.254652 0.213600 -1.532010 +v -0.254652 0.213600 1.532010 +v -0.250127 3.117600 -0.183734 +v -0.250127 3.117600 0.183734 +v -0.248621 2.659200 0.129351 +v -0.248621 2.659200 -0.129351 +v -0.248417 0.177075 -1.494500 +v -0.248417 0.177075 1.494500 +v -0.246120 0.150000 1.480680 +v -0.246120 2.400000 -1.480680 +v -0.246120 0.150000 -1.480680 +v -0.246120 0.150000 -1.480680 +v -0.246120 0.150000 1.480680 +v -0.246120 2.400000 1.480680 +v -0.245542 0.127575 1.477200 +v -0.245542 0.127575 -1.477200 +v -0.243569 2.923200 -0.126920 +v -0.243569 2.923200 0.126920 +v -0.243424 2.597400 0.467878 +v -0.243424 2.597400 -0.467878 +v -0.242970 0.105600 1.461727 +v -0.242970 0.105600 -1.461727 +v -0.242892 2.435437 -1.461258 +v -0.242892 2.435437 1.461258 +v -0.239491 2.463000 -1.440800 +v -0.239491 2.463000 1.440800 +v -0.237149 0.084525 1.426709 +v -0.237149 0.084525 -1.426709 +v -0.236115 2.482687 -1.420490 +v -0.236115 2.482687 1.420490 +v -0.232961 2.494500 -1.401513 +v -0.232961 2.494500 1.401513 +v -0.232342 2.625600 -0.316590 +v -0.232342 2.625600 0.316590 +v -0.231031 2.981250 -0.231031 +v -0.231031 2.981250 0.231031 +v -0.230604 0.002175 -0.314223 +v -0.230604 0.002175 0.314223 +v -0.230225 2.498438 -1.385053 +v -0.230225 2.498438 1.385053 +v -0.229712 2.400000 -1.381968 +v -0.229712 2.400000 1.381968 +v -0.228104 2.494500 -1.372294 +v -0.228104 2.494500 1.372294 +v -0.227403 2.435437 -1.368074 +v -0.227403 2.435437 1.368074 +v -0.226824 0.064800 1.364595 +v -0.226824 0.064800 -1.364595 +v -0.226795 2.482687 1.364422 +v -0.226795 2.482687 -1.364422 +v -0.226496 2.463000 -1.362620 +v -0.226496 2.463000 1.362620 +v -0.226113 2.659200 -0.165941 +v -0.226113 2.659200 0.165941 +v -0.224349 0.008400 0.667871 +v -0.224349 0.008400 -0.667871 +v -0.221585 2.923200 -0.162745 +v -0.221585 2.923200 0.162745 +v -0.219800 2.863350 0.000000 +v -0.219800 2.863350 0.000000 +v -0.219536 3.117600 -0.219536 +v -0.219536 3.117600 0.219536 +v -0.216979 2.863350 0.036157 +v -0.216979 2.863350 -0.036157 +v -0.214905 2.572800 -0.639758 +v -0.214905 2.572800 0.639758 +v -0.213304 2.400000 -1.283256 +v -0.213304 2.400000 1.283256 +v -0.213234 3.034800 -0.290295 +v -0.213234 3.034800 0.290295 +v -0.213123 3.081150 -0.290138 +v -0.213123 3.081150 0.290138 +v -0.210740 0.046875 -1.267832 +v -0.210740 0.046875 1.267832 +v -0.209136 2.440800 -1.258183 +v -0.209136 2.440800 1.258183 +v -0.208794 2.863350 0.070270 +v -0.208794 2.863350 -0.070270 +v -0.200000 2.700000 0.000000 +v -0.200000 2.700000 0.000000 +v -0.200000 2.700000 0.000000 +v -0.200000 2.700000 0.000000 +v -0.198374 2.659200 -0.198374 +v -0.198374 2.659200 0.198374 +v -0.197684 2.474400 -1.189282 +v -0.197684 2.474400 1.189282 +v -0.197424 2.700000 -0.032816 +v -0.197424 2.700000 0.032816 +v -0.197424 2.700000 0.032816 +v -0.197424 2.700000 -0.032816 +v -0.195658 2.863350 -0.101925 +v -0.195658 2.863350 0.101925 +v -0.194600 3.141450 0.000000 +v -0.194600 3.141450 0.000000 +v -0.194472 2.923200 -0.194472 +v -0.194472 2.923200 0.194472 +v -0.193348 2.981250 -0.263232 +v -0.193348 2.981250 0.263232 +v -0.192107 3.141450 -0.032048 +v -0.192107 3.141450 0.032048 +v -0.189952 2.700000 -0.063808 +v -0.189952 2.700000 0.063808 +v -0.189952 2.700000 0.063808 +v -0.189952 2.700000 -0.063808 +v -0.187642 0.031200 1.128870 +v -0.187642 0.031200 -1.128870 +v -0.184870 3.141450 -0.062272 +v -0.184870 3.141450 0.062272 +v -0.183734 3.117600 -0.250127 +v -0.183734 3.117600 0.250127 +v -0.181110 2.625600 0.348105 +v -0.181110 2.625600 -0.348105 +v -0.180521 2.502600 -1.086029 +v -0.180521 2.502600 1.086029 +v -0.179756 0.002175 -0.345503 +v -0.179756 0.002175 0.345503 +v -0.179200 2.804400 0.000000 +v -0.179200 2.804400 0.000000 +v -0.177989 2.863350 -0.130707 +v -0.177989 2.863350 0.130707 +v -0.177968 2.700000 -0.092592 +v -0.177968 2.700000 0.092592 +v -0.177968 2.700000 0.092592 +v -0.177968 2.700000 -0.092592 +v -0.176897 2.804400 0.029450 +v -0.176897 2.804400 -0.029450 +v -0.173255 3.141450 -0.090306 +v -0.173255 3.141450 0.090306 +v -0.170215 2.804400 0.057246 +v -0.170215 2.804400 -0.057246 +v -0.167751 2.597400 -0.499384 +v -0.167751 2.597400 0.499384 +v -0.167400 2.749050 0.000000 +v -0.167400 2.749050 0.000000 +v -0.166306 3.034800 -0.319082 +v -0.166306 3.034800 0.319082 +v -0.166221 3.081150 0.318907 +v -0.166221 3.081150 -0.318907 +v -0.165941 2.659200 -0.226113 +v -0.165941 2.659200 0.226113 +v -0.165245 2.749050 0.027480 +v -0.165245 2.749050 -0.027480 +v -0.162745 2.923200 -0.221585 +v -0.162745 2.923200 0.221585 +v -0.161856 2.700000 -0.118784 +v -0.161856 2.700000 0.118784 +v -0.161856 2.700000 0.118784 +v -0.161856 2.700000 -0.118784 +v -0.159496 2.804400 0.083047 +v -0.159496 2.804400 -0.083047 +v -0.159223 2.527200 -0.957901 +v -0.159223 2.527200 0.957901 +v -0.158995 2.749050 0.053428 +v -0.158995 2.749050 -0.053428 +v -0.157626 3.141450 -0.115787 +v -0.157626 3.141450 0.115787 +v -0.156274 0.018225 0.940158 +v -0.156274 0.018225 -0.940158 +v -0.156200 2.863350 -0.156200 +v -0.156200 2.863350 0.156200 +v -0.150793 2.981250 -0.289340 +v -0.150793 2.981250 0.289340 +v -0.148969 2.749050 0.077523 +v -0.148969 2.749050 -0.077523 +v -0.145078 2.804400 0.106513 +v -0.145078 2.804400 -0.106513 +v -0.143301 3.117600 -0.274928 +v -0.143301 3.117600 0.274928 +v -0.142000 2.700000 -0.142000 +v -0.142000 2.700000 0.142000 +v -0.142000 2.700000 0.142000 +v -0.142000 2.700000 -0.142000 +v -0.138348 3.141450 -0.138348 +v -0.138348 3.141450 0.138348 +v -0.135489 2.749050 0.099446 +v -0.135489 2.749050 -0.099446 +v -0.135366 2.550000 -0.814374 +v -0.135366 2.550000 0.814374 +v -0.130707 2.863350 -0.177989 +v -0.130707 2.863350 0.177989 +v -0.129351 2.659200 0.248621 +v -0.129351 2.659200 -0.248621 +v -0.127304 2.804400 0.127304 +v -0.127304 2.804400 -0.127304 +v -0.126920 2.923200 -0.243569 +v -0.126920 2.923200 0.243569 +v -0.124808 2.625600 -0.371546 +v -0.124808 2.625600 0.371546 +v -0.123875 0.002175 0.368768 +v -0.123875 0.002175 -0.368768 +v -0.118874 2.749050 0.118874 +v -0.118874 2.749050 -0.118874 +v -0.118784 2.700000 -0.161856 +v -0.118784 2.700000 0.161856 +v -0.118784 2.700000 0.161856 +v -0.118784 2.700000 -0.161856 +v -0.115787 3.141450 -0.157626 +v -0.115787 3.141450 0.157626 +v -0.115381 0.008400 0.694143 +v -0.115381 0.008400 -0.694143 +v -0.114676 3.034800 -0.340477 +v -0.114676 3.034800 0.340477 +v -0.114619 3.081150 -0.340289 +v -0.114619 3.081150 0.340289 +v -0.110524 2.572800 -0.664924 +v -0.110524 2.572800 0.664924 +v -0.106513 2.804400 -0.145078 +v -0.106513 2.804400 0.145078 +v -0.103976 2.981250 -0.308744 +v -0.103976 2.981250 0.308744 +v -0.101925 2.863350 -0.195658 +v -0.101925 2.863350 0.195658 +v -0.099446 2.749050 0.135489 +v -0.099446 2.749050 -0.135489 +v -0.098814 3.117600 -0.293360 +v -0.098814 3.117600 0.293360 +v -0.092592 2.700000 -0.177968 +v -0.092592 2.700000 0.177968 +v -0.092592 2.700000 -0.177968 +v -0.092592 2.700000 0.177968 +v -0.090306 3.141450 -0.173255 +v -0.090306 3.141450 0.173255 +v -0.089140 2.659200 -0.265363 +v -0.089140 2.659200 0.265363 +v -0.087511 2.923200 -0.259910 +v -0.087511 2.923200 0.259910 +v -0.086273 2.597400 -0.519028 +v -0.086273 2.597400 0.519028 +v -0.083047 2.804400 -0.159496 +v -0.083047 2.804400 0.159496 +v -0.077523 2.749050 -0.148969 +v -0.077523 2.749050 0.148969 +v -0.070270 2.863350 -0.208794 +v -0.070270 2.863350 0.208794 +v -0.064188 2.625600 -0.386161 +v -0.064188 2.625600 0.386161 +v -0.063808 2.700000 -0.189952 +v -0.063808 2.700000 0.189952 +v -0.063808 2.700000 -0.189952 +v -0.063808 2.700000 0.189952 +v -0.063708 0.002175 0.383274 +v -0.063708 0.002175 -0.383274 +v -0.062272 3.141450 -0.184870 +v -0.062272 3.141450 0.184870 +v -0.059016 3.034800 -0.353807 +v -0.059016 3.034800 0.353807 +v -0.058988 3.081150 -0.353610 +v -0.058988 3.081150 0.353610 +v -0.057246 2.804400 -0.170215 +v -0.057246 2.804400 0.170215 +v -0.053508 2.981250 -0.320834 +v -0.053508 2.981250 0.320834 +v -0.053428 2.749050 -0.158995 +v -0.053428 2.749050 0.158995 +v -0.050855 3.117600 -0.304843 +v -0.050855 3.117600 0.304843 +v -0.045844 2.659200 -0.275801 +v -0.045844 2.659200 0.275801 +v -0.045032 2.923200 -0.270092 +v -0.045032 2.923200 0.270092 +v -0.036157 2.863350 -0.216979 +v -0.036157 2.863350 0.216979 +v -0.032816 2.700000 -0.197424 +v -0.032816 2.700000 0.197424 +v -0.032816 2.700000 -0.197424 +v -0.032816 2.700000 0.197424 +v -0.032048 3.141450 -0.192107 +v -0.032048 3.141450 0.192107 +v -0.029450 2.804400 -0.176897 +v -0.029450 2.804400 0.176897 +v -0.027480 2.749050 -0.165245 +v -0.027480 2.749050 0.165245 +v -0.000000 0.260025 1.608000 +v -0.000000 1.929525 1.718250 +v -0.000000 2.085600 -1.648000 +v -0.000000 0.656400 -1.948000 +v -0.000000 0.771675 -1.986000 +v -0.000000 2.482687 1.382225 +v -0.000000 2.700000 -0.200000 +v -0.000000 0.127575 1.496475 +v -0.000000 2.474400 -1.204800 +v -0.000000 2.749050 -0.167400 +v -0.000000 0.018225 0.952425 +v -0.000000 0.046875 -1.284375 +v -0.000000 0.064800 1.382400 +v -0.000000 0.384375 1.750000 +v -0.000000 0.463200 1.824000 +v -0.000000 0.553725 -1.892000 +v -0.000000 1.037175 1.992750 +v -0.000000 1.178400 1.972000 +v -0.000000 1.323225 -1.939250 +v -0.000000 1.621875 -1.843750 +v -0.000000 1.774800 1.784000 +v -0.000000 2.400000 -1.300000 +v -0.000000 2.435437 -1.480325 +v -0.000000 2.435437 -1.385925 +v -0.000000 2.463000 -1.459600 +v -0.000000 2.463000 -1.380400 +v -0.000000 2.494500 -1.390200 +v -0.000000 2.502600 -1.100200 +v -0.000000 2.804400 -0.179200 +v -0.000000 2.863350 -0.219800 +v -0.000000 2.572800 -0.673600 +v -0.000000 0.105600 1.480800 +v -0.000000 0.177075 -1.514000 +v -0.000000 2.494500 -1.419800 +v -0.000000 2.527200 -0.970400 +v -0.000000 2.923200 -0.273600 +v -0.000000 3.117600 -0.308800 +v -0.000000 2.597400 -0.525800 +v -0.000000 2.700000 -0.200000 +v -0.000000 2.981250 -0.325000 +v -0.000000 3.141450 -0.194600 +v -0.000000 0.002175 0.388275 +v -0.000000 3.081150 -0.358200 +v 0.000000 0.000000 0.000000 +v 0.000000 0.002175 -0.388275 +v 0.000000 0.002175 0.388275 +v 0.000000 0.008400 -0.703200 +v 0.000000 0.008400 0.703200 +v 0.000000 0.018225 -0.952425 +v 0.000000 0.018225 0.952425 +v 0.000000 0.031200 -1.143600 +v 0.000000 0.031200 -1.143600 +v 0.000000 0.031200 1.143600 +v 0.000000 0.031200 1.143600 +v 0.000000 0.046875 -1.284375 +v 0.000000 0.046875 1.284375 +v 0.000000 0.064800 -1.382400 +v 0.000000 0.064800 1.382400 +v 0.000000 0.084525 -1.445325 +v 0.000000 0.084525 -1.445325 +v 0.000000 0.084525 1.445325 +v 0.000000 0.084525 1.445325 +v 0.000000 0.105600 -1.480800 +v 0.000000 0.105600 1.480800 +v 0.000000 0.127575 -1.496475 +v 0.000000 0.127575 1.496475 +v 0.000000 0.150000 -1.500000 +v 0.000000 0.150000 -1.500000 +v 0.000000 0.150000 1.500000 +v 0.000000 0.150000 1.500000 +v 0.000000 0.177075 -1.514000 +v 0.000000 0.177075 1.514000 +v 0.000000 0.213600 -1.552000 +v 0.000000 0.213600 -1.552000 +v 0.000000 0.213600 1.552000 +v 0.000000 0.213600 1.552000 +v 0.000000 0.260025 -1.608000 +v 0.000000 0.260025 1.608000 +v 0.000000 0.316800 -1.676000 +v 0.000000 0.316800 -1.676000 +v 0.000000 0.316800 1.676000 +v 0.000000 0.316800 1.676000 +v 0.000000 0.384375 -1.750000 +v 0.000000 0.384375 1.750000 +v 0.000000 0.463200 -1.824000 +v 0.000000 0.463200 1.824000 +v 0.000000 0.553725 -1.892000 +v 0.000000 0.553725 1.892000 +v 0.000000 0.656400 -1.948000 +v 0.000000 0.656400 1.948000 +v 0.000000 0.771675 -1.986000 +v 0.000000 0.771675 1.986000 +v 0.000000 0.900000 -2.000000 +v 0.000000 0.900000 -2.000000 +v 0.000000 0.900000 2.000000 +v 0.000000 0.900000 2.000000 +v 0.000000 1.037175 -1.992750 +v 0.000000 1.037175 1.992750 +v 0.000000 1.178400 -1.972000 +v 0.000000 1.178400 1.972000 +v 0.000000 1.323225 -1.939250 +v 0.000000 1.323225 1.939250 +v 0.000000 1.471200 -1.896000 +v 0.000000 1.471200 -1.896000 +v 0.000000 1.471200 1.896000 +v 0.000000 1.471200 1.896000 +v 0.000000 1.621875 -1.843750 +v 0.000000 1.621875 1.843750 +v 0.000000 1.774800 -1.784000 +v 0.000000 1.774800 1.784000 +v 0.000000 1.929525 -1.718250 +v 0.000000 1.929525 1.718250 +v 0.000000 2.085600 -1.648000 +v 0.000000 2.085600 1.648000 +v 0.000000 2.242575 -1.574750 +v 0.000000 2.242575 -1.574750 +v 0.000000 2.242575 1.574750 +v 0.000000 2.242575 1.574750 +v 0.000000 2.400000 -1.500000 +v 0.000000 2.400000 -1.500000 +v 0.000000 2.400000 -1.400000 +v 0.000000 2.400000 -1.400000 +v 0.000000 2.400000 -1.300000 +v 0.000000 2.400000 1.300000 +v 0.000000 2.400000 1.400000 +v 0.000000 2.400000 1.400000 +v 0.000000 2.400000 1.500000 +v 0.000000 2.400000 1.500000 +v 0.000000 2.435437 -1.480325 +v 0.000000 2.435437 -1.385925 +v 0.000000 2.435437 1.385925 +v 0.000000 2.435437 1.480325 +v 0.000000 2.440800 -1.274600 +v 0.000000 2.440800 -1.274600 +v 0.000000 2.440800 1.274600 +v 0.000000 2.440800 1.274600 +v 0.000000 2.463000 -1.459600 +v 0.000000 2.463000 -1.380400 +v 0.000000 2.463000 1.380400 +v 0.000000 2.463000 1.459600 +v 0.000000 2.474400 -1.204800 +v 0.000000 2.474400 1.204800 +v 0.000000 2.482687 -1.439025 +v 0.000000 2.482687 -1.382225 +v 0.000000 2.482687 1.382225 +v 0.000000 2.482687 1.439025 +v 0.000000 2.494500 -1.419800 +v 0.000000 2.494500 -1.390200 +v 0.000000 2.494500 1.390200 +v 0.000000 2.494500 1.419800 +v 0.000000 2.498438 -1.403125 +v 0.000000 2.498438 -1.403125 +v 0.000000 2.498438 1.403125 +v 0.000000 2.498438 1.403125 +v 0.000000 2.502600 -1.100200 +v 0.000000 2.502600 1.100200 +v 0.000000 2.527200 -0.970400 +v 0.000000 2.527200 0.970400 +v 0.000000 2.550000 -0.825000 +v 0.000000 2.550000 -0.825000 +v 0.000000 2.550000 0.825000 +v 0.000000 2.550000 0.825000 +v 0.000000 2.572800 -0.673600 +v 0.000000 2.572800 0.673600 +v 0.000000 2.597400 -0.525800 +v 0.000000 2.597400 0.525800 +v 0.000000 2.625600 -0.391200 +v 0.000000 2.625600 -0.391200 +v 0.000000 2.625600 0.391200 +v 0.000000 2.625600 0.391200 +v 0.000000 2.659200 -0.279400 +v 0.000000 2.659200 0.279400 +v 0.000000 2.700000 -0.200000 +v 0.000000 2.700000 -0.200000 +v 0.000000 2.700000 0.200000 +v 0.000000 2.700000 0.200000 +v 0.000000 2.749050 -0.167400 +v 0.000000 2.749050 0.167400 +v 0.000000 2.804400 -0.179200 +v 0.000000 2.804400 0.179200 +v 0.000000 2.863350 -0.219800 +v 0.000000 2.863350 0.219800 +v 0.000000 2.923200 -0.273600 +v 0.000000 2.923200 0.273600 +v 0.000000 2.981250 -0.325000 +v 0.000000 2.981250 0.325000 +v 0.000000 3.034800 -0.358400 +v 0.000000 3.034800 -0.358400 +v 0.000000 3.034800 0.358400 +v 0.000000 3.034800 0.358400 +v 0.000000 3.081150 -0.358200 +v 0.000000 3.081150 0.358200 +v 0.000000 3.117600 -0.308800 +v 0.000000 3.117600 0.308800 +v 0.000000 3.141450 -0.194600 +v 0.000000 3.141450 0.194600 +v 0.000000 3.150000 0.000000 +v 0.000000 0.002175 -0.388275 +v 0.000000 3.081150 0.358200 +v 0.000000 2.597400 0.525800 +v 0.000000 2.700000 0.200000 +v 0.000000 2.981250 0.325000 +v 0.000000 3.141450 0.194600 +v 0.000000 3.117600 0.308800 +v 0.000000 0.105600 -1.480800 +v 0.000000 0.177075 1.514000 +v 0.000000 2.494500 1.419800 +v 0.000000 2.527200 0.970400 +v 0.000000 2.923200 0.273600 +v 0.000000 2.572800 0.673600 +v 0.000000 2.863350 0.219800 +v 0.000000 0.018225 -0.952425 +v 0.000000 0.046875 1.284375 +v 0.000000 0.064800 -1.382400 +v 0.000000 0.384375 -1.750000 +v 0.000000 0.463200 -1.824000 +v 0.000000 0.553725 1.892000 +v 0.000000 1.037175 -1.992750 +v 0.000000 1.178400 -1.972000 +v 0.000000 1.323225 1.939250 +v 0.000000 1.621875 1.843750 +v 0.000000 1.774800 -1.784000 +v 0.000000 2.400000 1.300000 +v 0.000000 2.435437 1.385925 +v 0.000000 2.435437 1.480325 +v 0.000000 2.463000 1.380400 +v 0.000000 2.463000 1.459600 +v 0.000000 2.494500 1.390200 +v 0.000000 2.502600 1.100200 +v 0.000000 2.804400 0.179200 +v 0.000000 2.749050 0.167400 +v 0.000000 0.127575 -1.496475 +v 0.000000 2.474400 1.204800 +v 0.000000 0.656400 1.948000 +v 0.000000 0.771675 1.986000 +v 0.000000 2.482687 -1.382225 +v 0.000000 2.700000 0.200000 +v 0.000000 0.260025 -1.608000 +v 0.000000 1.929525 -1.718250 +v 0.000000 2.085600 1.648000 +v 0.027480 2.749050 -0.165245 +v 0.027480 2.749050 0.165245 +v 0.029450 2.804400 -0.176897 +v 0.029450 2.804400 0.176897 +v 0.032048 3.141450 -0.192107 +v 0.032048 3.141450 0.192107 +v 0.032816 2.700000 -0.197424 +v 0.032816 2.700000 0.197424 +v 0.032816 2.700000 -0.197424 +v 0.032816 2.700000 0.197424 +v 0.036157 2.863350 -0.216979 +v 0.036157 2.863350 0.216979 +v 0.045032 2.923200 -0.270092 +v 0.045032 2.923200 0.270092 +v 0.045844 2.659200 -0.275801 +v 0.045844 2.659200 0.275801 +v 0.050855 3.117600 -0.304843 +v 0.050855 3.117600 0.304843 +v 0.053428 2.749050 -0.158995 +v 0.053428 2.749050 0.158995 +v 0.053508 2.981250 -0.320834 +v 0.053508 2.981250 0.320834 +v 0.057246 2.804400 -0.170215 +v 0.057246 2.804400 0.170215 +v 0.058988 3.081150 -0.353610 +v 0.058988 3.081150 0.353610 +v 0.059016 3.034800 -0.353807 +v 0.059016 3.034800 0.353807 +v 0.062272 3.141450 -0.184870 +v 0.062272 3.141450 0.184870 +v 0.063708 0.002175 0.383274 +v 0.063708 0.002175 -0.383274 +v 0.063808 2.700000 -0.189952 +v 0.063808 2.700000 0.189952 +v 0.063808 2.700000 -0.189952 +v 0.063808 2.700000 0.189952 +v 0.064188 2.625600 -0.386161 +v 0.064188 2.625600 0.386161 +v 0.070270 2.863350 -0.208794 +v 0.070270 2.863350 0.208794 +v 0.077523 2.749050 -0.148969 +v 0.077523 2.749050 0.148969 +v 0.083047 2.804400 -0.159496 +v 0.083047 2.804400 0.159496 +v 0.086273 2.597400 -0.519028 +v 0.086273 2.597400 0.519028 +v 0.087511 2.923200 -0.259910 +v 0.087511 2.923200 0.259910 +v 0.089140 2.659200 -0.265363 +v 0.089140 2.659200 0.265363 +v 0.090306 3.141450 -0.173255 +v 0.090306 3.141450 0.173255 +v 0.092592 2.700000 -0.177968 +v 0.092592 2.700000 0.177968 +v 0.092592 2.700000 -0.177968 +v 0.092592 2.700000 0.177968 +v 0.098814 3.117600 -0.293360 +v 0.098814 3.117600 0.293360 +v 0.099446 2.749050 0.135489 +v 0.099446 2.749050 -0.135489 +v 0.101925 2.863350 -0.195658 +v 0.101925 2.863350 0.195658 +v 0.103976 2.981250 -0.308744 +v 0.103976 2.981250 0.308744 +v 0.106513 2.804400 -0.145078 +v 0.106513 2.804400 0.145078 +v 0.110524 2.572800 -0.664924 +v 0.110524 2.572800 0.664924 +v 0.114619 3.081150 -0.340289 +v 0.114619 3.081150 0.340289 +v 0.114676 3.034800 -0.340477 +v 0.114676 3.034800 0.340477 +v 0.115381 0.008400 0.694143 +v 0.115381 0.008400 -0.694143 +v 0.115787 3.141450 -0.157626 +v 0.115787 3.141450 0.157626 +v 0.118784 2.700000 0.161856 +v 0.118784 2.700000 -0.161856 +v 0.118784 2.700000 -0.161856 +v 0.118784 2.700000 0.161856 +v 0.118874 2.749050 0.118874 +v 0.118874 2.749050 -0.118874 +v 0.123875 0.002175 0.368768 +v 0.123875 0.002175 -0.368768 +v 0.124808 2.625600 -0.371546 +v 0.124808 2.625600 0.371546 +v 0.126920 2.923200 -0.243569 +v 0.126920 2.923200 0.243569 +v 0.127304 2.804400 0.127304 +v 0.127304 2.804400 -0.127304 +v 0.129351 2.659200 0.248621 +v 0.129351 2.659200 -0.248621 +v 0.130707 2.863350 -0.177989 +v 0.130707 2.863350 0.177989 +v 0.135366 2.550000 -0.814374 +v 0.135366 2.550000 0.814374 +v 0.135489 2.749050 0.099446 +v 0.135489 2.749050 -0.099446 +v 0.138348 3.141450 -0.138348 +v 0.138348 3.141450 0.138348 +v 0.142000 2.700000 0.142000 +v 0.142000 2.700000 -0.142000 +v 0.142000 2.700000 -0.142000 +v 0.142000 2.700000 0.142000 +v 0.143301 3.117600 -0.274928 +v 0.143301 3.117600 0.274928 +v 0.145078 2.804400 0.106513 +v 0.145078 2.804400 -0.106513 +v 0.148969 2.749050 0.077523 +v 0.148969 2.749050 -0.077523 +v 0.150793 2.981250 -0.289340 +v 0.150793 2.981250 0.289340 +v 0.156200 2.863350 -0.156200 +v 0.156200 2.863350 0.156200 +v 0.156274 0.018225 0.940158 +v 0.156274 0.018225 -0.940158 +v 0.157626 3.141450 -0.115787 +v 0.157626 3.141450 0.115787 +v 0.158995 2.749050 0.053428 +v 0.158995 2.749050 -0.053428 +v 0.159223 2.527200 -0.957901 +v 0.159223 2.527200 0.957901 +v 0.159496 2.804400 0.083047 +v 0.159496 2.804400 -0.083047 +v 0.161856 2.700000 0.118784 +v 0.161856 2.700000 -0.118784 +v 0.161856 2.700000 -0.118784 +v 0.161856 2.700000 0.118784 +v 0.162745 2.923200 -0.221585 +v 0.162745 2.923200 0.221585 +v 0.165245 2.749050 0.027480 +v 0.165245 2.749050 -0.027480 +v 0.165941 2.659200 -0.226113 +v 0.165941 2.659200 0.226113 +v 0.166221 3.081150 0.318907 +v 0.166221 3.081150 -0.318907 +v 0.166306 3.034800 -0.319082 +v 0.166306 3.034800 0.319082 +v 0.167400 2.749050 -0.000000 +v 0.167400 2.749050 0.000000 +v 0.167751 2.597400 -0.499384 +v 0.167751 2.597400 0.499384 +v 0.170215 2.804400 0.057246 +v 0.170215 2.804400 -0.057246 +v 0.173255 3.141450 -0.090306 +v 0.173255 3.141450 0.090306 +v 0.176897 2.804400 0.029450 +v 0.176897 2.804400 -0.029450 +v 0.177968 2.700000 0.092592 +v 0.177968 2.700000 -0.092592 +v 0.177968 2.700000 -0.092592 +v 0.177968 2.700000 0.092592 +v 0.177989 2.863350 -0.130707 +v 0.177989 2.863350 0.130707 +v 0.179200 2.804400 -0.000000 +v 0.179200 2.804400 0.000000 +v 0.179756 0.002175 -0.345503 +v 0.179756 0.002175 0.345503 +v 0.180521 2.502600 -1.086029 +v 0.180521 2.502600 1.086029 +v 0.181110 2.625600 0.348105 +v 0.181110 2.625600 -0.348105 +v 0.183734 3.117600 -0.250127 +v 0.183734 3.117600 0.250127 +v 0.184870 3.141450 -0.062272 +v 0.184870 3.141450 0.062272 +v 0.187642 0.031200 1.128870 +v 0.187642 0.031200 -1.128870 +v 0.189952 2.700000 0.063808 +v 0.189952 2.700000 -0.063808 +v 0.189952 2.700000 -0.063808 +v 0.189952 2.700000 0.063808 +v 0.192107 3.141450 -0.032048 +v 0.192107 3.141450 0.032048 +v 0.193348 2.981250 -0.263232 +v 0.193348 2.981250 0.263232 +v 0.194472 2.923200 -0.194472 +v 0.194472 2.923200 0.194472 +v 0.194600 3.141450 0.000000 +v 0.194600 3.141450 -0.000000 +v 0.195658 2.863350 -0.101925 +v 0.195658 2.863350 0.101925 +v 0.197424 2.700000 0.032816 +v 0.197424 2.700000 -0.032816 +v 0.197424 2.700000 -0.032816 +v 0.197424 2.700000 0.032816 +v 0.197684 2.474400 -1.189282 +v 0.197684 2.474400 1.189282 +v 0.198374 2.659200 -0.198374 +v 0.198374 2.659200 0.198374 +v 0.200000 2.700000 -0.000000 +v 0.200000 2.700000 0.000000 +v 0.200000 2.700000 0.000000 +v 0.200000 2.700000 -0.000000 +v 0.208794 2.863350 0.070270 +v 0.208794 2.863350 -0.070270 +v 0.209136 2.440800 -1.258183 +v 0.209136 2.440800 1.258183 +v 0.210740 0.046875 -1.267832 +v 0.210740 0.046875 1.267832 +v 0.213123 3.081150 -0.290138 +v 0.213123 3.081150 0.290138 +v 0.213234 3.034800 -0.290295 +v 0.213234 3.034800 0.290295 +v 0.213304 2.400000 -1.283256 +v 0.213304 2.400000 1.283256 +v 0.214905 2.572800 -0.639758 +v 0.214905 2.572800 0.639758 +v 0.216979 2.863350 0.036157 +v 0.216979 2.863350 -0.036157 +v 0.219536 3.117600 -0.219536 +v 0.219536 3.117600 0.219536 +v 0.219800 2.863350 -0.000000 +v 0.219800 2.863350 0.000000 +v 0.221585 2.923200 -0.162745 +v 0.221585 2.923200 0.162745 +v 0.224349 0.008400 0.667871 +v 0.224349 0.008400 -0.667871 +v 0.226113 2.659200 -0.165941 +v 0.226113 2.659200 0.165941 +v 0.226496 2.463000 -1.362620 +v 0.226496 2.463000 1.362620 +v 0.226795 2.482687 1.364422 +v 0.226795 2.482687 -1.364422 +v 0.226824 0.064800 1.364595 +v 0.226824 0.064800 -1.364595 +v 0.227403 2.435437 -1.368074 +v 0.227403 2.435437 1.368074 +v 0.228104 2.494500 -1.372294 +v 0.228104 2.494500 1.372294 +v 0.229712 2.400000 -1.381968 +v 0.229712 2.400000 1.381968 +v 0.230225 2.498438 -1.385053 +v 0.230225 2.498438 1.385053 +v 0.230604 0.002175 -0.314223 +v 0.230604 0.002175 0.314223 +v 0.231031 2.981250 -0.231031 +v 0.231031 2.981250 0.231031 +v 0.232342 2.625600 -0.316590 +v 0.232342 2.625600 0.316590 +v 0.232961 2.494500 -1.401513 +v 0.232961 2.494500 1.401513 +v 0.236115 2.482687 -1.420490 +v 0.236115 2.482687 1.420490 +v 0.237149 0.084525 1.426709 +v 0.237149 0.084525 -1.426709 +v 0.239491 2.463000 -1.440800 +v 0.239491 2.463000 1.440800 +v 0.242892 2.435437 -1.461258 +v 0.242892 2.435437 1.461258 +v 0.242970 0.105600 1.461727 +v 0.242970 0.105600 -1.461727 +v 0.243424 2.597400 0.467878 +v 0.243424 2.597400 -0.467878 +v 0.243569 2.923200 -0.126920 +v 0.243569 2.923200 0.126920 +v 0.245542 0.127575 1.477200 +v 0.245542 0.127575 -1.477200 +v 0.246120 0.150000 -1.480680 +v 0.246120 2.400000 -1.480680 +v 0.246120 0.150000 1.480680 +v 0.246120 0.150000 1.480680 +v 0.246120 2.400000 1.480680 +v 0.246120 0.150000 -1.480680 +v 0.248417 0.177075 -1.494500 +v 0.248417 0.177075 1.494500 +v 0.248621 2.659200 0.129351 +v 0.248621 2.659200 -0.129351 +v 0.250127 3.117600 -0.183734 +v 0.250127 3.117600 0.183734 +v 0.254652 0.213600 -1.532010 +v 0.254652 0.213600 1.532010 +v 0.254653 3.081150 -0.254653 +v 0.254653 3.081150 0.254653 +v 0.254788 3.034800 -0.254788 +v 0.254788 3.034800 0.254788 +v 0.258385 2.242575 -1.554467 +v 0.258385 2.242575 1.554467 +v 0.259910 2.923200 -0.087511 +v 0.259910 2.923200 0.087511 +v 0.263208 2.550000 -0.783552 +v 0.263208 2.550000 0.783552 +v 0.263232 2.981250 -0.193348 +v 0.263232 2.981250 0.193348 +v 0.263841 0.260025 1.587289 +v 0.263841 0.260025 -1.587289 +v 0.265363 2.659200 -0.089140 +v 0.265363 2.659200 0.089140 +v 0.270092 2.923200 -0.045032 +v 0.270092 2.923200 0.045032 +v 0.270404 2.085600 -1.626774 +v 0.270404 2.085600 1.626774 +v 0.273600 2.923200 -0.000000 +v 0.273600 2.923200 0.000000 +v 0.274928 3.117600 -0.143301 +v 0.274928 3.117600 0.143301 +v 0.274998 0.316800 -1.654413 +v 0.274998 0.316800 1.654413 +v 0.275675 0.002175 -0.275675 +v 0.275675 0.002175 0.275675 +v 0.275801 2.659200 -0.045844 +v 0.275801 2.659200 0.045844 +v 0.277752 2.625600 -0.277752 +v 0.277752 2.625600 0.277752 +v 0.279400 2.659200 0.000000 +v 0.281930 1.929525 1.696119 +v 0.281930 1.929525 -1.696119 +v 0.287140 0.384375 -1.727460 +v 0.287140 0.384375 1.727460 +v 0.289340 2.981250 -0.150793 +v 0.289340 2.981250 0.150793 +v 0.290138 3.081150 -0.213123 +v 0.290138 3.081150 0.213123 +v 0.290295 3.034800 -0.213234 +v 0.290295 3.034800 0.213234 +v 0.292719 1.774800 -1.761022 +v 0.292719 1.774800 1.761022 +v 0.293360 3.117600 -0.098814 +v 0.293360 3.117600 0.098814 +v 0.299282 0.463200 -1.800507 +v 0.299282 0.463200 1.800507 +v 0.302522 1.621875 -1.820003 +v 0.302523 1.621875 1.820003 +v 0.303862 0.018225 0.904575 +v 0.303862 0.018225 -0.904575 +v 0.304843 3.117600 -0.050855 +v 0.304843 3.117600 0.050855 +v 0.308744 2.981250 -0.103976 +v 0.308744 2.981250 0.103976 +v 0.308800 3.117600 0.000000 +v 0.308800 3.117600 -0.000000 +v 0.309596 2.527200 -0.921647 +v 0.309596 2.527200 0.921647 +v 0.310439 0.553725 -1.867631 +v 0.310439 0.553725 1.867631 +v 0.311096 1.471200 -1.871580 +v 0.311096 1.471200 1.871580 +v 0.311850 2.572800 -0.599396 +v 0.311850 2.572800 0.599396 +v 0.312283 2.597400 -0.425519 +v 0.312283 2.597400 0.425519 +v 0.314223 0.002175 -0.230604 +v 0.314223 0.002175 0.230604 +v 0.316590 2.625600 -0.232342 +v 0.316590 2.625600 0.232342 +v 0.318192 1.323225 -1.914272 +v 0.318192 1.323225 1.914272 +v 0.318907 3.081150 -0.166221 +v 0.318907 3.081150 0.166221 +v 0.319082 3.034800 -0.166306 +v 0.319082 3.034800 0.166306 +v 0.319628 0.656400 -1.922910 +v 0.319628 0.656400 1.922910 +v 0.320834 2.981250 -0.053508 +v 0.320834 2.981250 0.053508 +v 0.323566 1.178400 -1.946601 +v 0.323566 1.178400 1.946601 +v 0.325000 2.981250 0.000000 +v 0.325000 2.981250 -0.000000 +v 0.325553 0.008400 -0.625735 +v 0.325553 0.008400 0.625735 +v 0.325863 0.771675 -1.960420 +v 0.325863 0.771675 1.960420 +v 0.326970 1.037175 -1.967083 +v 0.326970 1.037175 1.967083 +v 0.328160 0.900000 -1.974240 +v 0.328160 0.900000 -1.974240 +v 0.328160 0.900000 1.974240 +v 0.340289 3.081150 -0.114619 +v 0.340289 3.081150 0.114619 +v 0.340477 3.034800 -0.114676 +v 0.340477 3.034800 0.114676 +v 0.345503 0.002175 -0.179756 +v 0.345503 0.002175 0.179756 +v 0.348105 2.625600 -0.181110 +v 0.348105 2.625600 0.181110 +v 0.351008 2.502600 -1.044926 +v 0.351008 2.502600 1.044926 +v 0.353610 3.081150 -0.058988 +v 0.353610 3.081150 0.058988 +v 0.353807 3.034800 -0.059016 +v 0.353807 3.034800 0.059016 +v 0.358200 3.081150 -0.000000 +v 0.358200 3.081150 0.000000 +v 0.358400 3.034800 0.000000 +v 0.358400 3.034800 0.000000 +v 0.364854 0.031200 1.086146 +v 0.364854 0.031200 -1.086146 +v 0.368768 0.002175 -0.123875 +v 0.368768 0.002175 0.123875 +v 0.371546 2.625600 -0.124808 +v 0.371546 2.625600 0.124808 +v 0.373318 2.597400 -0.373318 +v 0.373318 2.597400 0.373318 +v 0.381942 2.550000 -0.734118 +v 0.381942 2.550000 0.734118 +v 0.383274 0.002175 -0.063708 +v 0.383274 0.002175 0.063708 +v 0.384379 2.474400 -1.144271 +v 0.384379 2.474400 1.144271 +v 0.386161 2.625600 -0.064188 +v 0.386161 2.625600 0.064188 +v 0.388275 0.002175 0.000000 +v 0.388275 0.002175 0.000000 +v 0.391200 2.625600 0.000000 +v 0.391200 2.625600 0.000000 +v 0.400065 2.572800 -0.545131 +v 0.400065 2.572800 0.545131 +v 0.406648 2.440800 -1.210564 +v 0.406648 2.440800 1.210564 +v 0.409767 0.046875 1.219848 +v 0.409767 0.046875 -1.219848 +v 0.414752 2.400000 -1.234688 +v 0.414752 2.400000 1.234688 +v 0.417645 0.008400 -0.569086 +v 0.417645 0.008400 0.569086 +v 0.425519 2.597400 0.312283 +v 0.425519 2.597400 -0.312283 +v 0.440403 2.463000 -1.311049 +v 0.440403 2.463000 1.311049 +v 0.440935 0.018225 0.847506 +v 0.440935 0.018225 -0.847506 +v 0.440985 2.482687 -1.312782 +v 0.440985 2.482687 1.312782 +v 0.441041 0.064800 1.312948 +v 0.441041 0.064800 -1.312948 +v 0.442166 2.435437 -1.316296 +v 0.442166 2.435437 1.316296 +v 0.443529 2.494500 -1.320356 +v 0.443529 2.494500 1.320356 +v 0.446656 2.400000 -1.329664 +v 0.446656 2.400000 1.329664 +v 0.447653 2.498438 -1.332632 +v 0.447653 2.498438 1.332632 +v 0.449256 2.527200 -0.863501 +v 0.449256 2.527200 0.863501 +v 0.452973 2.494500 -1.348469 +v 0.452973 2.494500 1.348469 +v 0.459107 2.482687 -1.366728 +v 0.459107 2.482687 1.366728 +v 0.461116 0.084525 1.372712 +v 0.461116 0.084525 -1.372712 +v 0.465671 2.463000 -1.386270 +v 0.465671 2.463000 1.386270 +v 0.467878 2.597400 -0.243424 +v 0.467878 2.597400 0.243424 +v 0.472283 2.435437 -1.405953 +v 0.472283 2.435437 1.405953 +v 0.472434 0.105600 1.406405 +v 0.472434 0.105600 -1.406405 +v 0.477435 0.127575 1.421292 +v 0.477435 0.127575 -1.421292 +v 0.478256 2.572800 -0.478256 +v 0.478256 2.572800 0.478256 +v 0.478560 0.150000 -1.424640 +v 0.478560 2.400000 -1.424640 +v 0.478560 0.150000 1.424640 +v 0.478560 0.150000 1.424640 +v 0.478560 0.150000 -1.424640 +v 0.478560 2.400000 1.424640 +v 0.483027 0.177075 -1.437937 +v 0.483027 0.177075 1.437937 +v 0.489984 2.550000 -0.667656 +v 0.489984 2.550000 0.667656 +v 0.495150 0.213600 -1.474028 +v 0.495150 0.213600 1.474028 +v 0.499272 0.008400 -0.499272 +v 0.499272 0.008400 0.499272 +v 0.499384 2.597400 -0.167751 +v 0.499384 2.597400 0.167751 +v 0.502408 2.242575 -1.495635 +v 0.502408 2.242575 1.495635 +v 0.509349 2.502600 0.979002 +v 0.509349 2.502600 -0.979002 +v 0.513016 0.260025 -1.527214 +v 0.513016 0.260025 1.527214 +v 0.519028 2.597400 0.086273 +v 0.519028 2.597400 -0.086273 +v 0.525778 2.085600 -1.565204 +v 0.525778 2.085600 1.565204 +v 0.525800 2.597400 -0.000000 +v 0.525800 2.597400 0.000000 +v 0.529441 0.031200 -1.017621 +v 0.529441 0.031200 1.017621 +v 0.534711 0.316800 -1.591798 +v 0.534711 0.316800 1.591798 +v 0.545131 2.572800 -0.400065 +v 0.545131 2.572800 0.400065 +v 0.548190 1.929525 -1.631925 +v 0.548190 1.929525 1.631925 +v 0.557774 2.474400 -1.072079 +v 0.557774 2.474400 1.072079 +v 0.558320 0.384375 -1.662080 +v 0.558320 0.384375 1.662080 +v 0.565664 0.018225 0.770779 +v 0.565664 0.018225 -0.770779 +v 0.569086 0.008400 -0.417645 +v 0.569086 0.008400 0.417645 +v 0.569167 1.774800 -1.694372 +v 0.569167 1.774800 1.694372 +v 0.576340 2.527200 -0.785325 +v 0.576340 2.527200 0.785325 +v 0.581929 0.463200 -1.732362 +v 0.581929 0.463200 1.732362 +v 0.585750 2.550000 -0.585750 +v 0.585750 2.550000 0.585750 +v 0.588230 1.621875 -1.751120 +v 0.588230 1.621875 1.751120 +v 0.590089 2.440800 1.134190 +v 0.590089 2.440800 -1.134190 +v 0.594614 0.046875 -1.142888 +v 0.594614 0.046875 1.142888 +v 0.599396 2.572800 -0.311850 +v 0.599396 2.572800 0.311850 +v 0.601848 2.400000 -1.156792 +v 0.601848 2.400000 1.156792 +v 0.603624 0.553725 -1.796946 +v 0.603624 0.553725 1.796946 +v 0.604900 1.471200 -1.800745 +v 0.604900 1.471200 1.800745 +v 0.618698 1.323225 -1.841822 +v 0.618698 1.323225 1.841822 +v 0.621490 0.656400 -1.850132 +v 0.621490 0.656400 1.850132 +v 0.625735 0.008400 0.325553 +v 0.625735 0.008400 -0.325553 +v 0.629147 1.178400 -1.872927 +v 0.629147 1.178400 1.872927 +v 0.633613 0.771675 -1.886223 +v 0.633613 0.771675 1.886223 +v 0.635767 1.037175 -1.892634 +v 0.635767 1.037175 1.892634 +v 0.638080 0.900000 -1.899520 +v 0.638080 0.900000 -1.899520 +v 0.638080 0.900000 1.899520 +v 0.638080 0.900000 1.899520 +v 0.639070 2.463000 -1.228335 +v 0.639070 2.463000 1.228335 +v 0.639758 2.572800 -0.214905 +v 0.639758 2.572800 0.214905 +v 0.639915 2.482687 1.229959 +v 0.639915 2.482687 -1.229959 +v 0.639996 0.064800 -1.230115 +v 0.639996 0.064800 1.230115 +v 0.641628 2.435437 -1.233252 +v 0.641628 2.435437 1.233252 +v 0.643607 2.494500 -1.237056 +v 0.643607 2.494500 1.237056 +v 0.648144 2.400000 -1.245776 +v 0.648144 2.400000 1.245776 +v 0.649591 2.498438 -1.248557 +v 0.649591 2.498438 1.248557 +v 0.653431 2.502600 -0.890370 +v 0.653431 2.502600 0.890370 +v 0.657311 2.494500 -1.263395 +v 0.657311 2.494500 1.263395 +v 0.664924 2.572800 -0.110524 +v 0.664924 2.572800 0.110524 +v 0.666211 2.482687 1.280502 +v 0.666211 2.482687 -1.280502 +v 0.667656 2.550000 -0.489984 +v 0.667656 2.550000 0.489984 +v 0.667871 0.008400 -0.224349 +v 0.667871 0.008400 0.224349 +v 0.669128 0.084525 -1.286108 +v 0.669128 0.084525 1.286108 +v 0.673600 2.572800 0.000000 +v 0.673600 2.572800 -0.000000 +v 0.675736 2.463000 -1.298810 +v 0.675736 2.463000 1.298810 +v 0.676222 0.018225 0.676222 +v 0.676222 0.018225 -0.676222 +v 0.679207 0.031200 -0.925493 +v 0.679207 0.031200 0.925493 +v 0.685331 2.435437 -1.317252 +v 0.685331 2.435437 1.317252 +v 0.685551 0.105600 -1.317675 +v 0.685551 0.105600 1.317675 +v 0.688984 2.527200 -0.688984 +v 0.688984 2.527200 0.688984 +v 0.692808 0.127575 1.331623 +v 0.692808 0.127575 -1.331623 +v 0.694143 0.008400 -0.115381 +v 0.694143 0.008400 0.115381 +v 0.694440 0.150000 1.334760 +v 0.694440 0.150000 -1.334760 +v 0.694440 2.400000 1.334760 +v 0.694440 0.150000 -1.334760 +v 0.694440 0.150000 1.334760 +v 0.694440 2.400000 -1.334760 +v 0.700921 0.177075 1.347218 +v 0.700921 0.177075 -1.347218 +v 0.703200 0.008400 0.000000 +v 0.715555 2.474400 -0.975021 +v 0.715555 2.474400 0.975021 +v 0.718514 0.213600 1.381032 +v 0.718514 0.213600 -1.381032 +v 0.729046 2.242575 -1.401276 +v 0.729046 2.242575 1.401276 +v 0.734118 2.550000 -0.381942 +v 0.734118 2.550000 0.381942 +v 0.744440 0.260025 1.430863 +v 0.744440 0.260025 -1.430863 +v 0.757010 2.440800 1.031508 +v 0.757010 2.440800 -1.031508 +v 0.762816 0.046875 -1.039419 +v 0.762816 0.046875 1.039419 +v 0.762958 2.085600 -1.466456 +v 0.762958 2.085600 1.466456 +v 0.770779 0.018225 0.565664 +v 0.770779 0.018225 -0.565664 +v 0.772096 2.400000 -1.052064 +v 0.772096 2.400000 1.052064 +v 0.775921 0.316800 -1.491372 +v 0.775921 0.316800 1.491372 +v 0.781142 2.502600 -0.781142 +v 0.781142 2.502600 0.781142 +v 0.783552 2.550000 -0.263208 +v 0.783552 2.550000 0.263208 +v 0.785325 2.527200 -0.576340 +v 0.785325 2.527200 0.576340 +v 0.795481 1.929525 1.528968 +v 0.795481 1.929525 -1.528968 +v 0.810180 0.384375 1.557220 +v 0.810180 0.384375 -1.557220 +v 0.811956 0.031200 0.811956 +v 0.811956 0.031200 -0.811956 +v 0.814374 2.550000 -0.135366 +v 0.814374 2.550000 0.135366 +v 0.819847 2.463000 -1.117130 +v 0.819847 2.463000 1.117130 +v 0.820931 2.482687 1.118607 +v 0.820931 2.482687 -1.118607 +v 0.821035 0.064800 1.118749 +v 0.821035 0.064800 -1.118749 +v 0.823129 2.435437 -1.121601 +v 0.823129 2.435437 1.121601 +v 0.825000 2.550000 0.000000 +v 0.825000 2.550000 0.000000 +v 0.825668 2.494500 -1.125061 +v 0.825668 2.494500 1.125061 +v 0.825921 1.774800 1.587475 +v 0.825921 1.774800 -1.587475 +v 0.831488 2.400000 -1.132992 +v 0.831488 2.400000 1.132992 +v 0.833344 2.498438 -1.135521 +v 0.833344 2.498438 1.135521 +v 0.843248 2.494500 -1.149016 +v 0.843248 2.494500 1.149016 +v 0.844439 0.463200 1.623068 +v 0.844439 0.463200 -1.623068 +v 0.847506 0.018225 -0.440935 +v 0.847506 0.018225 0.440935 +v 0.853583 1.621875 -1.640643 +v 0.853583 1.621875 1.640643 +v 0.854666 2.482687 -1.164574 +v 0.854666 2.482687 1.164574 +v 0.855408 2.474400 -0.855408 +v 0.855408 2.474400 0.855408 +v 0.858407 0.084525 -1.169673 +v 0.858407 0.084525 1.169673 +v 0.863501 2.527200 -0.449256 +v 0.863501 2.527200 0.449256 +v 0.866886 2.463000 -1.181225 +v 0.866886 2.463000 1.181225 +v 0.875920 0.553725 -1.683577 +v 0.875920 0.553725 1.683577 +v 0.877772 1.471200 -1.687137 +v 0.877772 1.471200 1.687137 +v 0.879195 2.435437 -1.197997 +v 0.879195 2.435437 1.197997 +v 0.879477 0.105600 -1.198382 +v 0.879477 0.105600 1.198382 +v 0.888786 0.127575 1.211067 +v 0.888786 0.127575 -1.211067 +v 0.890370 2.502600 -0.653431 +v 0.890370 2.502600 0.653431 +v 0.890880 0.150000 -1.213920 +v 0.890880 0.150000 1.213920 +v 0.890880 2.400000 -1.213920 +v 0.890880 0.150000 -1.213920 +v 0.890880 0.150000 1.213920 +v 0.890880 2.400000 1.213920 +v 0.897795 1.323225 -1.725622 +v 0.897795 1.323225 1.725622 +v 0.899195 0.177075 1.225250 +v 0.899195 0.177075 -1.225250 +v 0.901846 0.656400 -1.733408 +v 0.901846 0.656400 1.733408 +v 0.904575 0.018225 0.303862 +v 0.904575 0.018225 -0.303862 +v 0.904966 2.440800 0.904966 +v 0.904966 2.440800 -0.904966 +v 0.911906 0.046875 -0.911906 +v 0.911906 0.046875 0.911906 +v 0.912957 1.178400 -1.754764 +v 0.912957 1.178400 1.754764 +v 0.919439 0.771675 -1.767222 +v 0.919439 0.771675 1.767222 +v 0.921647 2.527200 -0.309596 +v 0.921647 2.527200 0.309596 +v 0.921764 0.213600 1.256003 +v 0.921764 0.213600 -1.256003 +v 0.922564 1.037175 1.773229 +v 0.922564 1.037175 -1.773229 +v 0.923000 2.400000 -0.923000 +v 0.923000 2.400000 0.923000 +v 0.925493 0.031200 0.679207 +v 0.925493 0.031200 -0.679207 +v 0.925920 0.900000 1.779680 +v 0.925920 0.900000 -1.779680 +v 0.925920 0.900000 -1.779680 +v 0.925920 0.900000 1.779680 +v 0.935276 2.242575 -1.274414 +v 0.935276 2.242575 1.274414 +v 0.940158 0.018225 0.156274 +v 0.940158 0.018225 -0.156274 +v 0.952425 0.018225 0.000000 +v 0.952425 0.018225 0.000000 +v 0.955023 0.260025 1.301322 +v 0.955023 0.260025 -1.301322 +v 0.957901 2.527200 -0.159223 +v 0.957901 2.527200 0.159223 +v 0.970400 2.527200 0.000000 +v 0.970400 2.527200 -0.000000 +v 0.975021 2.474400 -0.715555 +v 0.975021 2.474400 0.715555 +v 0.978780 2.085600 -1.333693 +v 0.978780 2.085600 1.333693 +v 0.979002 2.502600 0.509349 +v 0.979002 2.502600 -0.509349 +v 0.980084 2.463000 -0.980084 +v 0.980084 2.463000 0.980084 +v 0.981380 2.482687 -0.981380 +v 0.981380 2.482687 0.981380 +v 0.981504 0.064800 0.981504 +v 0.981504 0.064800 -0.981504 +v 0.984007 2.435437 -0.984007 +v 0.984007 2.435437 0.984007 +v 0.987042 2.494500 -0.987042 +v 0.987042 2.494500 0.987042 +v 0.994000 2.400000 -0.994000 +v 0.994000 2.400000 0.994000 +v 0.995410 0.316800 -1.356353 +v 0.995410 0.316800 1.356353 +v 0.996219 2.498438 -0.996219 +v 0.996219 2.498438 0.996219 +v 1.008058 2.494500 -1.008058 +v 1.008058 2.494500 1.008058 +v 1.017621 0.031200 0.529441 +v 1.017621 0.031200 -0.529441 +v 1.020503 1.929525 -1.390545 +v 1.020503 1.929525 1.390545 +v 1.021708 2.482687 -1.021708 +v 1.021708 2.482687 1.021708 +v 1.026181 0.084525 -1.026181 +v 1.026181 0.084525 1.026181 +v 1.031508 2.440800 0.757010 +v 1.031508 2.440800 -0.757010 +v 1.036316 2.463000 -1.036316 +v 1.036316 2.463000 1.036316 +v 1.039360 0.384375 -1.416240 +v 1.039360 0.384375 1.416240 +v 1.039419 0.046875 -0.762816 +v 1.039419 0.046875 0.762816 +v 1.044926 2.502600 -0.351008 +v 1.044926 2.502600 0.351008 +v 1.051031 2.435437 -1.051031 +v 1.051031 2.435437 1.051031 +v 1.051368 0.105600 -1.051368 +v 1.051368 0.105600 1.051368 +v 1.052064 2.400000 -0.772096 +v 1.052064 2.400000 0.772096 +v 1.059553 1.774800 -1.443756 +v 1.059553 1.774800 1.443756 +v 1.062497 0.127575 1.062497 +v 1.062497 0.127575 -1.062497 +v 1.065000 0.150000 -1.065000 +v 1.065000 0.150000 1.065000 +v 1.065000 2.400000 -1.065000 +v 1.065000 2.400000 1.065000 +v 1.072079 2.474400 -0.557774 +v 1.072079 2.474400 0.557774 +v 1.074940 0.177075 -1.074940 +v 1.074940 0.177075 1.074940 +v 1.083310 0.463200 -1.476127 +v 1.083310 0.463200 1.476127 +v 1.086029 2.502600 0.180521 +v 1.086029 2.502600 -0.180521 +v 1.086146 0.031200 0.364854 +v 1.086146 0.031200 -0.364854 +v 1.095040 1.621875 -1.492110 +v 1.095040 1.621875 1.492110 +v 1.100200 2.502600 -0.000000 +v 1.100200 2.502600 0.000000 +v 1.101920 0.213600 1.101920 +v 1.101920 0.213600 -1.101920 +v 1.117130 2.463000 -0.819847 +v 1.117130 2.463000 0.819847 +v 1.118073 2.242575 -1.118073 +v 1.118073 2.242575 1.118073 +v 1.118607 2.482687 -0.820931 +v 1.118607 2.482687 0.820931 +v 1.118749 0.064800 -0.821035 +v 1.118749 0.064800 0.821035 +v 1.121601 2.435437 -0.823129 +v 1.121601 2.435437 0.823129 +v 1.123697 0.553725 -1.531158 +v 1.123697 0.553725 1.531158 +v 1.125061 2.494500 -0.825668 +v 1.125061 2.494500 0.825668 +v 1.126072 1.471200 -1.534395 +v 1.126072 1.471200 1.534395 +v 1.128870 0.031200 -0.187642 +v 1.128870 0.031200 0.187642 +v 1.132992 2.400000 -0.831488 +v 1.132992 2.400000 0.831488 +v 1.134190 2.440800 0.590089 +v 1.134190 2.440800 -0.590089 +v 1.135521 2.498438 -0.833344 +v 1.135521 2.498438 0.833344 +v 1.141680 0.260025 1.141680 +v 1.141680 0.260025 -1.141680 +v 1.142888 0.046875 -0.594614 +v 1.142888 0.046875 0.594614 +v 1.143600 0.031200 0.000000 +v 1.143600 0.031200 0.000000 +v 1.144271 2.474400 -0.384379 +v 1.144271 2.474400 0.384379 +v 1.149016 2.494500 -0.843248 +v 1.149016 2.494500 0.843248 +v 1.151759 1.323225 -1.569396 +v 1.151759 1.323225 1.569396 +v 1.156792 2.400000 -0.601848 +v 1.156792 2.400000 0.601848 +v 1.156956 0.656400 -1.576477 +v 1.156956 0.656400 1.576477 +v 1.164574 2.482687 -0.854666 +v 1.164574 2.482687 0.854666 +v 1.169673 0.084525 -0.858407 +v 1.169673 0.084525 0.858407 +v 1.170080 2.085600 -1.170080 +v 1.170080 2.085600 1.170080 +v 1.171210 1.178400 -1.595900 +v 1.171210 1.178400 1.595900 +v 1.179525 0.771675 -1.607230 +v 1.179525 0.771675 1.607230 +v 1.181225 2.463000 -0.866886 +v 1.181225 2.463000 0.866886 +v 1.183534 1.037175 -1.612693 +v 1.183534 1.037175 1.612693 +v 1.187840 0.900000 -1.618560 +v 1.187840 0.900000 -1.618560 +v 1.187840 0.900000 1.618560 +v 1.187840 0.900000 1.618560 +v 1.189282 2.474400 -0.197684 +v 1.189282 2.474400 0.197684 +v 1.189960 0.316800 -1.189960 +v 1.189960 0.316800 1.189960 +v 1.197997 2.435437 -0.879195 +v 1.197997 2.435437 0.879195 +v 1.198382 0.105600 -0.879477 +v 1.198382 0.105600 0.879477 +v 1.204800 2.474400 0.000000 +v 1.204800 2.474400 -0.000000 +v 1.210564 2.440800 0.406648 +v 1.210564 2.440800 -0.406648 +v 1.211067 0.127575 0.888786 +v 1.211067 0.127575 -0.888786 +v 1.213920 0.150000 -0.890880 +v 1.213920 0.150000 -0.890880 +v 1.213920 0.150000 0.890880 +v 1.213920 0.150000 0.890880 +v 1.213920 2.400000 -0.890880 +v 1.213920 2.400000 0.890880 +v 1.219848 0.046875 -0.409767 +v 1.219848 0.046875 0.409767 +v 1.219958 1.929525 1.219958 +v 1.219958 1.929525 -1.219958 +v 1.225250 0.177075 0.899195 +v 1.225250 0.177075 -0.899195 +v 1.228335 2.463000 -0.639070 +v 1.228335 2.463000 0.639070 +v 1.229959 2.482687 -0.639915 +v 1.229959 2.482687 0.639915 +v 1.230115 0.064800 -0.639996 +v 1.230115 0.064800 0.639996 +v 1.233252 2.435437 -0.641628 +v 1.233252 2.435437 0.641628 +v 1.234688 2.400000 -0.414752 +v 1.234688 2.400000 0.414752 +v 1.237056 2.494500 -0.643607 +v 1.237056 2.494500 0.643607 +v 1.242500 0.384375 -1.242500 +v 1.242500 0.384375 1.242500 +v 1.245776 2.400000 -0.648144 +v 1.245776 2.400000 0.648144 +v 1.248557 2.498438 -0.649591 +v 1.248557 2.498438 0.649591 +v 1.256003 0.213600 0.921764 +v 1.256003 0.213600 -0.921764 +v 1.258183 2.440800 0.209136 +v 1.258183 2.440800 -0.209136 +v 1.263395 2.494500 -0.657311 +v 1.263395 2.494500 0.657311 +v 1.266640 1.774800 -1.266640 +v 1.266640 1.774800 1.266640 +v 1.267832 0.046875 -0.210740 +v 1.267832 0.046875 0.210740 +v 1.274414 2.242575 -0.935276 +v 1.274414 2.242575 0.935276 +v 1.274600 2.440800 0.000000 +v 1.274600 2.440800 0.000000 +v 1.280502 2.482687 -0.666211 +v 1.280502 2.482687 0.666211 +v 1.283256 2.400000 -0.213304 +v 1.283256 2.400000 0.213304 +v 1.284375 0.046875 0.000000 +v 1.284375 0.046875 -0.000000 +v 1.286108 0.084525 -0.669128 +v 1.286108 0.084525 0.669128 +v 1.295040 0.463200 -1.295040 +v 1.295040 0.463200 1.295040 +v 1.298810 2.463000 -0.675736 +v 1.298810 2.463000 0.675736 +v 1.300000 2.400000 0.000000 +v 1.300000 2.400000 -0.000000 +v 1.301322 0.260025 0.955023 +v 1.301322 0.260025 -0.955023 +v 1.309063 1.621875 -1.309063 +v 1.309063 1.621875 1.309063 +v 1.311049 2.463000 -0.440403 +v 1.311049 2.463000 0.440403 +v 1.312782 2.482687 -0.440985 +v 1.312782 2.482687 0.440985 +v 1.312948 0.064800 0.441041 +v 1.312948 0.064800 -0.441041 +v 1.316296 2.435437 -0.442166 +v 1.316296 2.435437 0.442166 +v 1.317252 2.435437 -0.685331 +v 1.317252 2.435437 0.685331 +v 1.317675 0.105600 -0.685551 +v 1.317675 0.105600 0.685551 +v 1.320356 2.494500 -0.443529 +v 1.320356 2.494500 0.443529 +v 1.329664 2.400000 -0.446656 +v 1.329664 2.400000 0.446656 +v 1.331623 0.127575 0.692808 +v 1.331623 0.127575 -0.692808 +v 1.332632 2.498438 -0.447653 +v 1.332632 2.498438 0.447653 +v 1.333693 2.085600 -0.978780 +v 1.333693 2.085600 0.978780 +v 1.334760 0.150000 0.694440 +v 1.334760 0.150000 -0.694440 +v 1.334760 0.150000 -0.694440 +v 1.334760 0.150000 0.694440 +v 1.334760 2.400000 -0.694440 +v 1.334760 2.400000 0.694440 +v 1.343320 0.553725 -1.343320 +v 1.343320 0.553725 1.343320 +v 1.346160 1.471200 -1.346160 +v 1.346160 1.471200 1.346160 +v 1.347218 0.177075 0.700921 +v 1.347218 0.177075 -0.700921 +v 1.348469 2.494500 -0.452973 +v 1.348469 2.494500 0.452973 +v 1.356353 0.316800 -0.995410 +v 1.356353 0.316800 0.995410 +v 1.362620 2.463000 -0.226496 +v 1.362620 2.463000 0.226496 +v 1.364422 2.482687 -0.226795 +v 1.364422 2.482687 0.226795 +v 1.364595 0.064800 -0.226824 +v 1.364595 0.064800 0.226824 +v 1.366728 2.482687 -0.459107 +v 1.366728 2.482687 0.459107 +v 1.368074 2.435437 -0.227403 +v 1.368074 2.435437 0.227403 +v 1.372294 2.494500 -0.228104 +v 1.372294 2.494500 0.228104 +v 1.372712 0.084525 -0.461116 +v 1.372712 0.084525 0.461116 +v 1.376867 1.323225 -1.376868 +v 1.376868 1.323225 1.376867 +v 1.380400 2.463000 0.000000 +v 1.380400 2.463000 -0.000000 +v 1.381032 0.213600 0.718514 +v 1.381032 0.213600 -0.718514 +v 1.381968 2.400000 -0.229712 +v 1.381968 2.400000 0.229712 +v 1.382225 2.482687 0.000000 +v 1.382225 2.482687 0.000000 +v 1.382400 0.064800 0.000000 +v 1.382400 0.064800 0.000000 +v 1.383080 0.656400 -1.383080 +v 1.383080 0.656400 1.383080 +v 1.385053 2.498438 -0.230225 +v 1.385053 2.498438 0.230225 +v 1.385925 2.435437 0.000000 +v 1.385925 2.435437 -0.000000 +v 1.386270 2.463000 -0.465671 +v 1.386270 2.463000 0.465671 +v 1.390200 2.494500 0.000000 +v 1.390200 2.494500 -0.000000 +v 1.390545 1.929525 -1.020503 +v 1.390545 1.929525 1.020503 +v 1.400000 2.400000 0.000000 +v 1.400000 2.400000 0.000000 +v 1.400120 1.178400 -1.400120 +v 1.400120 1.178400 1.400120 +v 1.401276 2.242575 -0.729046 +v 1.401276 2.242575 0.729046 +v 1.401513 2.494500 -0.232961 +v 1.401513 2.494500 0.232961 +v 1.403125 2.498438 0.000000 +v 1.403125 2.498438 0.000000 +v 1.405953 2.435437 -0.472283 +v 1.405953 2.435437 0.472283 +v 1.406405 0.105600 -0.472434 +v 1.406405 0.105600 0.472434 +v 1.410060 0.771675 -1.410060 +v 1.410060 0.771675 1.410060 +v 1.414853 1.037175 -1.414853 +v 1.414853 1.037175 1.414853 +v 1.416240 0.384375 -1.039360 +v 1.416240 0.384375 1.039360 +v 1.419800 2.494500 0.000000 +v 1.419800 2.494500 -0.000000 +v 1.420000 0.900000 -1.420000 +v 1.420000 0.900000 -1.420000 +v 1.420000 0.900000 1.420000 +v 1.420000 0.900000 1.420000 +v 1.420490 2.482687 -0.236115 +v 1.420490 2.482687 0.236115 +v 1.421292 0.127575 0.477435 +v 1.421292 0.127575 -0.477435 +v 1.424640 0.150000 -0.478560 +v 1.424640 0.150000 -0.478560 +v 1.424640 0.150000 0.478560 +v 1.424640 0.150000 0.478560 +v 1.424640 2.400000 -0.478560 +v 1.424640 2.400000 0.478560 +v 1.426709 0.084525 -0.237149 +v 1.426709 0.084525 0.237149 +v 1.430863 0.260025 0.744440 +v 1.430863 0.260025 -0.744440 +v 1.437937 0.177075 0.483027 +v 1.437937 0.177075 -0.483027 +v 1.439025 2.482687 0.000000 +v 1.440800 2.463000 -0.239491 +v 1.440800 2.463000 0.239491 +v 1.443756 1.774800 -1.059553 +v 1.443756 1.774800 1.059553 +v 1.445325 0.084525 0.000000 +v 1.445325 0.084525 0.000000 +v 1.459600 2.463000 0.000000 +v 1.459600 2.463000 -0.000000 +v 1.461258 2.435437 -0.242892 +v 1.461258 2.435437 0.242892 +v 1.461727 0.105600 -0.242970 +v 1.461727 0.105600 0.242970 +v 1.466456 2.085600 -0.762958 +v 1.466456 2.085600 0.762958 +v 1.474028 0.213600 0.495150 +v 1.474028 0.213600 -0.495150 +v 1.476127 0.463200 -1.083310 +v 1.476127 0.463200 1.083310 +v 1.477200 0.127575 0.245542 +v 1.477200 0.127575 -0.245542 +v 1.480325 2.435437 0.000000 +v 1.480325 2.435437 -0.000000 +v 1.480680 0.150000 -0.246120 +v 1.480680 0.150000 0.246120 +v 1.480680 0.150000 0.246120 +v 1.480680 0.150000 -0.246120 +v 1.480680 2.400000 -0.246120 +v 1.480680 2.400000 0.246120 +v 1.480800 0.105600 0.000000 +v 1.480800 0.105600 0.000000 +v 1.491372 0.316800 -0.775921 +v 1.491372 0.316800 0.775921 +v 1.492110 1.621875 -1.095040 +v 1.492110 1.621875 1.095040 +v 1.494500 0.177075 0.248417 +v 1.494500 0.177075 -0.248417 +v 1.495635 2.242575 -0.502408 +v 1.495635 2.242575 0.502408 +v 1.496475 0.127575 0.000000 +v 1.496475 0.127575 0.000000 +v 1.500000 0.150000 0.000000 +v 1.500000 0.150000 0.000000 +v 1.500000 2.400000 0.000000 +v 1.500000 2.400000 0.000000 +v 1.514000 0.177075 -0.000000 +v 1.514000 0.177075 0.000000 +v 1.527214 0.260025 -0.513016 +v 1.527214 0.260025 0.513016 +v 1.528968 1.929525 -0.795481 +v 1.528968 1.929525 0.795481 +v 1.531158 0.553725 -1.123697 +v 1.531158 0.553725 1.123697 +v 1.532010 0.213600 0.254652 +v 1.532010 0.213600 -0.254652 +v 1.534395 1.471200 -1.126072 +v 1.534395 1.471200 1.126072 +v 1.552000 0.213600 0.000000 +v 1.552000 0.213600 0.000000 +v 1.554467 2.242575 -0.258385 +v 1.554467 2.242575 0.258385 +v 1.557220 0.384375 -0.810180 +v 1.557220 0.384375 0.810180 +v 1.565204 2.085600 -0.525778 +v 1.565204 2.085600 0.525778 +v 1.569396 1.323225 -1.151759 +v 1.569396 1.323225 1.151759 +v 1.574750 2.242575 0.000000 +v 1.574750 2.242575 0.000000 +v 1.576477 0.656400 -1.156956 +v 1.576477 0.656400 1.156956 +v 1.587289 0.260025 0.263841 +v 1.587289 0.260025 -0.263841 +v 1.587475 1.774800 -0.825921 +v 1.587475 1.774800 0.825921 +v 1.591798 0.316800 -0.534711 +v 1.591798 0.316800 0.534711 +v 1.595900 1.178400 -1.171210 +v 1.595900 1.178400 1.171210 +v 1.607230 0.771675 -1.179525 +v 1.607230 0.771675 1.179525 +v 1.608000 0.260025 0.000000 +v 1.608000 0.260025 0.000000 +v 1.612693 1.037175 -1.183534 +v 1.612693 1.037175 1.183534 +v 1.618560 0.900000 -1.187840 +v 1.618560 0.900000 -1.187840 +v 1.618560 0.900000 1.187840 +v 1.618560 0.900000 1.187840 +v 1.623068 0.463200 -0.844439 +v 1.623068 0.463200 0.844439 +v 1.626774 2.085600 -0.270404 +v 1.626774 2.085600 0.270404 +v 1.631925 1.929525 -0.548190 +v 1.631925 1.929525 0.548190 +v 1.640643 1.621875 -0.853583 +v 1.640643 1.621875 0.853583 +v 1.648000 2.085600 0.000000 +v 1.648000 2.085600 -0.000000 +v 1.654413 0.316800 -0.274998 +v 1.654413 0.316800 0.274998 +v 1.662080 0.384375 -0.558320 +v 1.662080 0.384375 0.558320 +v 1.676000 0.316800 0.000000 +v 1.676000 0.316800 0.000000 +v 1.683577 0.553725 -0.875920 +v 1.683577 0.553725 0.875920 +v 1.687137 1.471200 -0.877772 +v 1.687137 1.471200 0.877772 +v 1.694372 1.774800 -0.569167 +v 1.694372 1.774800 0.569167 +v 1.696119 1.929525 -0.281930 +v 1.696119 1.929525 0.281930 +v 1.700000 0.600000 0.000000 +v 1.700000 0.600000 0.000000 +v 1.700000 0.623100 0.178200 +v 1.700000 0.623100 -0.178200 +v 1.700000 0.685800 -0.316800 +v 1.700000 0.685800 0.316800 +v 1.700000 0.778200 0.415800 +v 1.700000 0.778200 -0.415800 +v 1.700000 0.890400 -0.475200 +v 1.700000 0.890400 0.475200 +v 1.700000 1.012500 -0.495000 +v 1.700000 1.012500 0.495000 +v 1.700000 1.134600 -0.475200 +v 1.700000 1.134600 0.475200 +v 1.700000 1.246800 0.415800 +v 1.700000 1.246800 -0.415800 +v 1.700000 1.339200 -0.316800 +v 1.700000 1.339200 0.316800 +v 1.700000 1.401900 0.178200 +v 1.700000 1.401900 -0.178200 +v 1.700000 1.425000 0.000000 +v 1.700000 1.425000 0.000000 +v 1.718250 1.929525 0.000000 +v 1.718250 1.929525 0.000000 +v 1.725622 1.323225 -0.897795 +v 1.725622 1.323225 0.897795 +v 1.727460 0.384375 -0.287140 +v 1.727460 0.384375 0.287140 +v 1.732362 0.463200 -0.581929 +v 1.732362 0.463200 0.581929 +v 1.733408 0.656400 -0.901846 +v 1.733408 0.656400 0.901846 +v 1.750000 0.384375 0.000000 +v 1.750000 0.384375 0.000000 +v 1.751120 1.621875 -0.588230 +v 1.751120 1.621875 0.588230 +v 1.754764 1.178400 -0.912957 +v 1.754764 1.178400 0.912957 +v 1.761022 1.774800 -0.292719 +v 1.761022 1.774800 0.292719 +v 1.767222 0.771675 -0.919439 +v 1.767222 0.771675 0.919439 +v 1.773229 1.037175 -0.922564 +v 1.773229 1.037175 0.922564 +v 1.779680 0.900000 -0.925920 +v 1.779680 0.900000 -0.925920 +v 1.779680 0.900000 0.925920 +v 1.779680 0.900000 0.925920 +v 1.784000 1.774800 0.000000 +v 1.784000 1.774800 0.000000 +v 1.796946 0.553725 -0.603624 +v 1.796946 0.553725 0.603624 +v 1.800507 0.463200 -0.299282 +v 1.800507 0.463200 0.299282 +v 1.800745 1.471200 -0.604900 +v 1.800745 1.471200 0.604900 +v 1.820003 1.621875 -0.302523 +v 1.820003 1.621875 0.302522 +v 1.824000 0.463200 0.000000 +v 1.824000 0.463200 0.000000 +v 1.841822 1.323225 -0.618698 +v 1.841822 1.323225 0.618698 +v 1.843750 1.621875 0.000000 +v 1.843750 1.621875 -0.000000 +v 1.850132 0.656400 -0.621490 +v 1.850132 0.656400 0.621490 +v 1.867631 0.553725 -0.310439 +v 1.867631 0.553725 0.310439 +v 1.871580 1.471200 -0.311096 +v 1.871580 1.471200 0.311096 +v 1.872927 1.178400 -0.629147 +v 1.872927 1.178400 0.629147 +v 1.886223 0.771675 -0.633613 +v 1.886223 0.771675 0.633613 +v 1.892000 0.553725 0.000000 +v 1.892000 0.553725 -0.000000 +v 1.892634 1.037175 -0.635767 +v 1.892634 1.037175 0.635767 +v 1.896000 1.471200 0.000000 +v 1.896000 1.471200 0.000000 +v 1.899520 0.900000 -0.638080 +v 1.899520 0.900000 -0.638080 +v 1.899520 0.900000 0.638080 +v 1.899520 0.900000 0.638080 +v 1.914272 1.323225 -0.318192 +v 1.914272 1.323225 0.318192 +v 1.922910 0.656400 -0.319628 +v 1.922910 0.656400 0.319628 +v 1.935900 1.444200 0.000000 +v 1.935900 1.444200 0.000000 +v 1.939250 1.323225 0.000000 +v 1.939250 1.323225 -0.000000 +v 1.939394 1.423221 -0.175100 +v 1.939394 1.423221 0.175100 +v 1.946601 1.178400 -0.323566 +v 1.946601 1.178400 0.323566 +v 1.948000 0.656400 0.000000 +v 1.948000 0.656400 -0.000000 +v 1.948879 1.366278 -0.311290 +v 1.948879 1.366278 0.311290 +v 1.960420 0.771675 -0.325863 +v 1.960420 0.771675 0.325863 +v 1.962857 1.282362 -0.408568 +v 1.962857 1.282362 0.408568 +v 1.967083 1.037175 -0.326970 +v 1.967083 1.037175 0.326970 +v 1.972000 1.178400 0.000000 +v 1.972000 1.178400 0.000000 +v 1.974240 0.900000 -0.328160 +v 1.974240 0.900000 0.328160 +v 1.974240 0.900000 0.328160 +v 1.979830 1.180464 -0.466934 +v 1.979830 1.180464 0.466934 +v 1.986000 0.771675 0.000000 +v 1.986000 0.771675 -0.000000 +v 1.992750 1.037175 0.000000 +v 1.992750 1.037175 0.000000 +v 1.998300 1.069575 -0.486390 +v 1.998300 1.069575 0.486390 +v 2.000000 0.900000 0.000000 +v 2.000000 0.900000 0.000000 +v 2.016770 0.958686 -0.466934 +v 2.016770 0.958686 0.466934 +v 2.033743 0.856788 -0.408568 +v 2.033743 0.856788 0.408568 +v 2.047721 0.772872 0.311290 +v 2.047721 0.772872 -0.311290 +v 2.057206 0.715929 0.175100 +v 2.057206 0.715929 -0.175100 +v 2.060700 0.694950 0.000000 +v 2.060700 0.694950 0.000000 +v 2.111200 1.497600 0.000000 +v 2.111200 1.497600 0.000000 +v 2.116979 1.479120 -0.166687 +v 2.116979 1.479120 0.166687 +v 2.132666 1.428960 -0.296333 +v 2.132666 1.428960 0.296333 +v 2.155782 1.355040 -0.388937 +v 2.155782 1.355040 0.388937 +v 2.183853 1.265280 -0.444499 +v 2.183853 1.265280 0.444499 +v 2.214400 1.167600 -0.463020 +v 2.214400 1.167600 0.463020 +v 2.237300 1.578900 0.000000 +v 2.237300 1.578900 0.000000 +v 2.244457 1.563171 -0.154289 +v 2.244457 1.563171 0.154289 +v 2.244947 1.069920 -0.444499 +v 2.244947 1.069920 0.444499 +v 2.263882 1.520478 -0.274291 +v 2.263882 1.520478 0.274291 +v 2.273018 0.980160 -0.388937 +v 2.273018 0.980160 0.388937 +v 2.292510 1.457562 -0.360007 +v 2.292510 1.457562 0.360007 +v 2.296134 0.906240 -0.296333 +v 2.296134 0.906240 0.296333 +v 2.311821 0.856080 -0.166687 +v 2.311821 0.856080 0.166687 +v 2.317600 0.837600 0.000000 +v 2.317600 0.837600 0.000000 +v 2.325600 1.681800 0.000000 +v 2.325600 1.681800 0.000000 +v 2.327271 1.381164 -0.411437 +v 2.327271 1.381164 0.411437 +v 2.333530 1.668948 -0.139234 +v 2.333530 1.668948 0.139234 +v 2.355053 1.634064 -0.247526 +v 2.355053 1.634064 0.247526 +v 2.365100 1.298025 -0.428580 +v 2.365100 1.298025 0.428580 +v 2.386771 1.582656 -0.324878 +v 2.386771 1.582656 0.324878 +v 2.387500 1.800000 0.000000 +v 2.387500 1.800000 0.000000 +v 2.395900 1.790025 0.122850 +v 2.395900 1.790025 -0.122850 +v 2.402929 1.214886 -0.411437 +v 2.402929 1.214886 0.411437 +v 2.418700 1.762950 -0.218400 +v 2.418700 1.762950 0.218400 +v 2.425286 1.520232 -0.371290 +v 2.425286 1.520232 0.371290 +v 2.434400 1.927200 0.000000 +v 2.434400 1.927200 0.000000 +v 2.437690 1.138488 -0.360007 +v 2.437690 1.138488 0.360007 +v 2.443270 1.919976 0.106466 +v 2.443270 1.919976 -0.106466 +v 2.452300 1.723050 -0.286650 +v 2.452300 1.723050 0.286650 +v 2.466318 1.075572 -0.274291 +v 2.466318 1.075572 0.274291 +v 2.467200 1.452300 -0.386760 +v 2.467200 1.452300 0.386760 +v 2.467347 1.900368 0.189274 +v 2.467347 1.900368 -0.189274 +v 2.477700 2.057100 0.000000 +v 2.477700 2.057100 0.000000 +v 2.485743 1.032879 -0.154289 +v 2.485743 1.032879 0.154289 +v 2.487343 2.052375 -0.091411 +v 2.487343 2.052375 0.091411 +v 2.492900 1.017150 0.000000 +v 2.492900 1.017150 0.000000 +v 2.493100 1.674600 -0.327600 +v 2.493100 1.674600 0.327600 +v 2.502829 1.871472 0.248422 +v 2.502829 1.871472 -0.248422 +v 2.509114 1.384368 -0.371290 +v 2.509114 1.384368 0.371290 +v 2.513518 2.039550 0.162509 +v 2.513518 2.039550 -0.162509 +v 2.528800 2.183400 0.000000 +v 2.537500 1.621875 -0.341250 +v 2.537500 1.621875 0.341250 +v 2.539821 2.180796 -0.079013 +v 2.539821 2.180796 0.079013 +v 2.545914 1.836384 -0.283910 +v 2.545914 1.836384 0.283910 +v 2.547629 1.321944 -0.324878 +v 2.547629 1.321944 0.324878 +v 2.552090 2.020650 -0.213293 +v 2.552090 2.020650 0.213293 +v 2.569734 2.173728 -0.140467 +v 2.569734 2.173728 0.140467 +v 2.579347 1.270536 -0.247526 +v 2.579347 1.270536 0.247526 +v 2.581900 1.569150 -0.327600 +v 2.581900 1.569150 0.327600 +v 2.592800 1.798200 -0.295740 +v 2.592800 1.798200 0.295740 +v 2.598929 1.997700 -0.243763 +v 2.598929 1.997700 0.243763 +v 2.599100 2.299800 0.000000 +v 2.599100 2.299800 0.000000 +v 2.600870 1.235652 -0.139234 +v 2.600870 1.235652 0.139234 +v 2.608800 1.222800 0.000000 +v 2.608800 1.222800 0.000000 +v 2.612406 2.298813 0.070600 +v 2.612406 2.298813 -0.070600 +v 2.613818 2.163312 -0.184363 +v 2.613818 2.163312 0.184363 +v 2.622700 1.520700 -0.286650 +v 2.622700 1.520700 0.286650 +v 2.639686 1.760016 -0.283910 +v 2.639686 1.760016 0.283910 +v 2.648521 2.296134 0.125510 +v 2.648521 2.296134 -0.125510 +v 2.649900 1.972725 0.253920 +v 2.649900 1.972725 -0.253920 +v 2.656300 1.480800 -0.218400 +v 2.656300 1.480800 0.218400 +v 2.667347 2.150664 -0.210701 +v 2.667347 2.150664 0.210701 +v 2.679100 1.453725 0.122850 +v 2.679100 1.453725 -0.122850 +v 2.682771 1.724928 0.248422 +v 2.682771 1.724928 -0.248422 +v 2.687500 1.443750 0.000000 +v 2.687500 1.443750 0.000000 +v 2.700000 2.400000 0.000000 +v 2.700000 2.400000 0.000000 +v 2.700000 2.400000 0.000000 +v 2.700871 1.947750 -0.243763 +v 2.700871 1.947750 0.243763 +v 2.701743 2.292186 0.164732 +v 2.701743 2.292186 -0.164732 +v 2.716800 2.400000 0.067500 +v 2.716800 2.400000 -0.067500 +v 2.716800 2.400000 -0.067500 +v 2.716800 2.400000 0.067500 +v 2.718253 1.696032 0.189274 +v 2.718253 1.696032 -0.189274 +v 2.725600 2.136900 -0.219480 +v 2.725600 2.136900 0.219480 +v 2.729800 2.420250 0.000000 +v 2.742330 1.676424 0.106466 +v 2.742330 1.676424 -0.106466 +v 2.747407 2.420406 -0.066744 +v 2.747407 2.420406 0.066744 +v 2.747710 1.924800 -0.213293 +v 2.747710 1.924800 0.213293 +v 2.751200 1.669200 0.000000 +v 2.751200 1.669200 0.000000 +v 2.758400 2.436000 0.000000 +v 2.762400 2.400000 0.120000 +v 2.762400 2.400000 -0.120000 +v 2.762400 2.400000 -0.120000 +v 2.762400 2.400000 0.120000 +v 2.766370 2.287392 0.188266 +v 2.766370 2.287392 -0.188266 +v 2.776365 2.436302 -0.064692 +v 2.776365 2.436302 0.064692 +v 2.783853 2.123136 -0.210701 +v 2.783853 2.123136 0.210701 +v 2.784600 2.447250 0.000000 +v 2.784600 2.447250 0.000000 +v 2.786282 1.905900 0.162509 +v 2.786282 1.905900 -0.162509 +v 2.795198 2.420829 -0.118656 +v 2.795198 2.420829 0.118656 +v 2.800000 2.400000 0.000000 +v 2.802528 2.447680 -0.061668 +v 2.802528 2.447680 0.061668 +v 2.807200 2.454000 0.000000 +v 2.811200 2.400000 -0.040500 +v 2.811200 2.400000 0.040500 +v 2.812457 1.893075 0.091411 +v 2.812457 1.893075 -0.091411 +v 2.822100 1.888350 0.000000 +v 2.822100 1.888350 0.000000 +v 2.824200 2.420250 0.000000 +v 2.824200 2.420250 0.000000 +v 2.824750 2.454529 -0.057996 +v 2.824750 2.454529 0.057996 +v 2.825000 2.456250 0.000000 +v 2.825000 2.456250 0.000000 +v 2.825126 2.437123 -0.115008 +v 2.825126 2.437123 0.115008 +v 2.829600 2.400000 0.157500 +v 2.829600 2.400000 -0.157500 +v 2.829600 2.400000 -0.157500 +v 2.829600 2.400000 0.157500 +v 2.836672 2.420519 -0.041256 +v 2.836672 2.420519 0.041256 +v 2.836700 2.282175 0.196110 +v 2.836700 2.282175 -0.196110 +v 2.836800 2.454000 0.000000 +v 2.836800 2.454000 0.000000 +v 2.837382 2.110488 -0.184363 +v 2.837382 2.110488 0.184363 +v 2.837600 2.436000 0.000000 +v 2.837600 2.436000 0.000000 +v 2.841400 2.447250 0.000000 +v 2.841400 2.447250 0.000000 +v 2.841600 2.400000 -0.072000 +v 2.841600 2.400000 0.072000 +v 2.841887 2.456841 -0.054000 +v 2.841887 2.456841 0.054000 +v 2.851189 2.448847 -0.109632 +v 2.851189 2.448847 0.109632 +v 2.851331 2.436454 -0.043308 +v 2.851331 2.436454 0.043308 +v 2.852794 2.454605 -0.050004 +v 2.852794 2.454605 0.050004 +v 2.856323 2.447812 -0.046332 +v 2.856323 2.447812 0.046332 +v 2.865626 2.421453 -0.155736 +v 2.865626 2.421453 0.155736 +v 2.870524 2.421250 -0.073344 +v 2.870524 2.421250 0.073344 +v 2.872387 2.455966 -0.103104 +v 2.872387 2.455966 0.103104 +v 2.881466 2.100072 -0.140467 +v 2.881466 2.100072 0.140467 +v 2.886400 2.400000 -0.094500 +v 2.886400 2.400000 0.094500 +v 2.887725 2.458444 -0.096000 +v 2.887725 2.458444 0.096000 +v 2.888602 2.437685 -0.076992 +v 2.888602 2.437685 0.076992 +v 2.896205 2.456246 0.088896 +v 2.896205 2.456246 -0.088896 +v 2.896829 2.449338 -0.082368 +v 2.896829 2.449338 0.082368 +v 2.896986 2.438333 -0.150948 +v 2.896986 2.438333 0.150948 +v 2.907030 2.276958 0.188266 +v 2.907030 2.276958 -0.188266 +v 2.911200 2.400000 -0.180000 +v 2.911200 2.400000 -0.180000 +v 2.911200 2.400000 0.180000 +v 2.911379 2.093004 -0.079013 +v 2.911379 2.093004 0.079013 +v 2.920412 2.422328 -0.096264 +v 2.920412 2.422328 0.096264 +v 2.922400 2.090400 0.000000 +v 2.922899 2.450567 -0.143892 +v 2.922899 2.450567 0.143892 +v 2.940800 2.400000 -0.108000 +v 2.940800 2.400000 0.108000 +v 2.942589 2.458082 -0.135324 +v 2.942589 2.458082 0.135324 +v 2.943526 2.439499 -0.101052 +v 2.943526 2.439499 0.101052 +v 2.951146 2.422210 -0.177984 +v 2.951146 2.422210 0.177984 +v 2.955275 2.460806 -0.126000 +v 2.955275 2.460806 0.126000 +v 2.956523 2.451588 -0.108108 +v 2.956523 2.451588 0.108108 +v 2.960179 2.458666 -0.116676 +v 2.960179 2.458666 0.116676 +v 2.971657 2.272164 0.164732 +v 2.971657 2.272164 -0.164732 +v 2.980990 2.423636 0.110016 +v 2.980990 2.423636 -0.110016 +v 2.984243 2.439802 -0.172512 +v 2.984243 2.439802 0.172512 +v 3.000000 2.400000 -0.187500 +v 3.000000 2.400000 -0.187500 +v 3.000000 2.400000 -0.112500 +v 3.000000 2.400000 0.112500 +v 3.000000 2.400000 0.187500 +v 3.009977 2.452655 -0.164448 +v 3.009977 2.452655 0.164448 +v 3.010221 2.441702 -0.115488 +v 3.010221 2.441702 0.115488 +v 3.024879 2.268216 0.125510 +v 3.024879 2.268216 -0.125510 +v 3.027834 2.460653 -0.154656 +v 3.027834 2.460653 0.154656 +v 3.029007 2.454319 -0.123552 +v 3.029007 2.454319 0.123552 +v 3.037300 2.463675 -0.144000 +v 3.037300 2.463675 0.144000 +v 3.037862 2.461603 0.133344 +v 3.037862 2.461603 -0.133344 +v 3.044212 2.423034 -0.185400 +v 3.044212 2.423034 0.185400 +v 3.046912 2.425059 0.114600 +v 3.046912 2.425059 -0.114600 +v 3.059200 2.400000 -0.108000 +v 3.059200 2.400000 0.108000 +v 3.060994 2.265537 0.070600 +v 3.060994 2.265537 -0.070600 +v 3.074300 2.264550 0.000000 +v 3.074300 2.264550 0.000000 +v 3.079200 2.441400 -0.179700 +v 3.079200 2.441400 0.179700 +v 3.082800 2.444100 -0.120300 +v 3.082800 2.444100 0.120300 +v 3.088800 2.400000 -0.180000 +v 3.088800 2.400000 -0.180000 +v 3.088800 2.400000 0.180000 +v 3.104737 2.454928 -0.171300 +v 3.104738 2.454928 0.171300 +v 3.107887 2.457291 -0.128700 +v 3.107887 2.457291 0.128700 +v 3.112835 2.426483 0.110016 +v 3.112835 2.426483 -0.110016 +v 3.113600 2.400000 -0.094500 +v 3.113600 2.400000 0.094500 +v 3.120600 2.463450 0.161100 +v 3.120600 2.463450 -0.161100 +v 3.122400 2.464800 0.138900 +v 3.122400 2.464800 -0.138900 +v 3.126562 2.466797 -0.150000 +v 3.126562 2.466797 0.150000 +v 3.137279 2.423859 -0.177984 +v 3.137279 2.423859 0.177984 +v 3.155379 2.446498 -0.115488 +v 3.155379 2.446498 0.115488 +v 3.158400 2.400000 -0.072000 +v 3.158400 2.400000 0.072000 +v 3.170400 2.400000 -0.157500 +v 3.170400 2.400000 0.157500 +v 3.170400 2.400000 -0.157500 +v 3.173413 2.427791 -0.096264 +v 3.173413 2.427791 0.096264 +v 3.174157 2.442998 -0.172512 +v 3.174157 2.442998 0.172512 +v 3.186768 2.460263 -0.123552 +v 3.186768 2.460263 0.123552 +v 3.188800 2.400000 -0.040500 +v 3.188800 2.400000 0.040500 +v 3.199498 2.457201 -0.164448 +v 3.199498 2.457201 0.164448 +v 3.200000 2.400000 0.000000 +v 3.206938 2.467997 0.133344 +v 3.206938 2.467997 -0.133344 +v 3.213366 2.466247 -0.154656 +v 3.213366 2.466247 0.154656 +v 3.215825 2.469919 -0.144000 +v 3.215825 2.469919 0.144000 +v 3.222074 2.448701 -0.101052 +v 3.222074 2.448701 0.101052 +v 3.222799 2.424616 -0.155736 +v 3.222799 2.424616 0.155736 +v 3.223301 2.428868 -0.073344 +v 3.223301 2.428868 0.073344 +v 3.237600 2.400000 -0.120000 +v 3.237600 2.400000 0.120000 +v 3.237600 2.400000 -0.120000 +v 3.257153 2.429599 -0.041256 +v 3.257153 2.429599 0.041256 +v 3.259252 2.462994 -0.108108 +v 3.259252 2.462994 0.108108 +v 3.261414 2.444467 -0.150948 +v 3.261414 2.444467 0.150948 +v 3.269625 2.429869 0.000000 +v 3.269625 2.429869 0.000000 +v 3.276998 2.450515 -0.076992 +v 3.276998 2.450515 0.076992 +v 3.283200 2.400000 -0.067500 +v 3.283200 2.400000 0.067500 +v 3.283200 2.400000 -0.067500 +v 3.284621 2.470934 -0.116676 +v 3.284621 2.470934 0.116676 +v 3.286576 2.459289 -0.143892 +v 3.286576 2.459289 0.143892 +v 3.293227 2.425240 -0.118656 +v 3.293227 2.425240 0.118656 +v 3.297850 2.472787 -0.126000 +v 3.297850 2.472788 0.126000 +v 3.298611 2.468818 -0.135324 +v 3.298611 2.468818 0.135324 +v 3.300000 2.400000 0.000000 +v 3.300000 2.400000 0.000000 +v 3.314269 2.451746 -0.043308 +v 3.314269 2.451746 0.043308 +v 3.318946 2.465243 -0.082368 +v 3.318946 2.465243 0.082368 +v 3.328000 2.452200 0.000000 +v 3.328000 2.452200 0.000000 +v 3.333274 2.445677 -0.115008 +v 3.333274 2.445677 0.115008 +v 3.341018 2.425663 -0.066744 +v 3.341018 2.425663 0.066744 +v 3.348595 2.473354 0.088896 +v 3.348595 2.473354 -0.088896 +v 3.358286 2.461009 -0.109632 +v 3.358286 2.461009 0.109632 +v 3.358625 2.425819 0.000000 +v 3.359452 2.466769 -0.046332 +v 3.359452 2.466769 0.046332 +v 3.365400 2.475150 -0.096000 +v 3.365400 2.475150 0.096000 +v 3.368813 2.470934 -0.103104 +v 3.368813 2.470934 0.103104 +v 3.374375 2.467331 0.000000 +v 3.374375 2.467331 0.000000 +v 3.382035 2.446498 -0.064692 +v 3.382035 2.446498 0.064692 +v 3.392006 2.474995 -0.050004 +v 3.392006 2.474995 0.050004 +v 3.400000 2.446800 0.000000 +v 3.406947 2.462176 -0.061668 +v 3.406947 2.462176 0.061668 +v 3.408000 2.475600 0.000000 +v 3.408000 2.475600 0.000000 +v 3.411237 2.476753 -0.054000 +v 3.411237 2.476753 0.054000 +v 3.416450 2.472371 -0.057996 +v 3.416450 2.472371 0.057996 +v 3.424875 2.462606 0.000000 +v 3.428125 2.477344 0.000000 +v 3.428125 2.477344 0.000000 +v 3.434000 2.472900 0.000000 + +f 2909 2921 2939 +f 2939 2931 2909 +f 2869 2877 2921 +f 2921 2909 2869 +f 2819 2827 2877 +f 2877 2869 2819 +f 2737 2747 2827 +f 2827 2819 2737 +f 2669 2673 2747 +f 2747 2737 2669 +f 2567 2575 2673 +f 2673 2669 2567 +f 2476 2480 2575 +f 2575 2567 2476 +f 2358 2362 2480 +f 2480 2476 2358 +f 2158 2162 2362 +f 2362 2358 2158 +f 1715 1812 2162 +f 2162 2158 1715 +f 2901 2909 2931 +f 2931 2917 2901 +f 2863 2869 2909 +f 2909 2901 2863 +f 2813 2819 2869 +f 2869 2863 2813 +f 2729 2737 2819 +f 2819 2813 2729 +f 2663 2669 2737 +f 2737 2729 2663 +f 2561 2567 2669 +f 2669 2663 2561 +f 2468 2476 2567 +f 2567 2561 2468 +f 2350 2358 2476 +f 2476 2468 2350 +f 2152 2158 2358 +f 2358 2350 2152 +f 1717 1715 2158 +f 2158 2152 1717 +f 2903 2901 2917 +f 2917 2923 2903 +f 2865 2863 2901 +f 2901 2903 2865 +f 2815 2813 2863 +f 2863 2865 2815 +f 2733 2729 2813 +f 2813 2815 2733 +f 2665 2663 2729 +f 2729 2733 2665 +f 2564 2561 2663 +f 2663 2665 2564 +f 2473 2468 2561 +f 2561 2564 2473 +f 2354 2350 2468 +f 2468 2473 2354 +f 2155 2152 2350 +f 2350 2354 2155 +f 1927 1717 2152 +f 2152 2155 1927 +f 2911 2903 2923 +f 2923 2935 2911 +f 2875 2865 2903 +f 2903 2911 2875 +f 2823 2815 2865 +f 2865 2875 2823 +f 2741 2733 2815 +f 2815 2823 2741 +f 2671 2665 2733 +f 2733 2741 2671 +f 2571 2564 2665 +f 2665 2671 2571 +f 2478 2473 2564 +f 2564 2571 2478 +f 2360 2354 2473 +f 2473 2478 2360 +f 2160 2155 2354 +f 2354 2360 2160 +f 1718 1927 2155 +f 2155 2160 1718 +f 2929 2911 2935 +f 2935 2947 2929 +f 2881 2875 2911 +f 2911 2929 2881 +f 2829 2823 2875 +f 2875 2881 2829 +f 2751 2741 2823 +f 2823 2829 2751 +f 2677 2671 2741 +f 2741 2751 2677 +f 2577 2571 2671 +f 2671 2677 2577 +f 2482 2478 2571 +f 2571 2577 2482 +f 2364 2360 2478 +f 2478 2482 2364 +f 2164 2160 2360 +f 2360 2364 2164 +f 1842 1718 2160 +f 2160 2164 1842 +f 2945 2929 2947 +f 2947 2959 2945 +f 2897 2881 2929 +f 2929 2945 2897 +f 2835 2829 2881 +f 2881 2897 2835 +f 2761 2751 2829 +f 2829 2835 2761 +f 2679 2677 2751 +f 2751 2761 2679 +f 2579 2577 2677 +f 2677 2679 2579 +f 2486 2482 2577 +f 2577 2579 2486 +f 2368 2364 2482 +f 2482 2486 2368 +f 2172 2164 2364 +f 2364 2368 2172 +f 1725 1842 2164 +f 2164 2172 1725 +f 2965 2945 2959 +f 2959 2981 2965 +f 2907 2897 2945 +f 2945 2965 2907 +f 2845 2835 2897 +f 2897 2907 2845 +f 2769 2761 2835 +f 2835 2845 2769 +f 2685 2679 2761 +f 2761 2769 2685 +f 2587 2579 2679 +f 2679 2685 2587 +f 2491 2486 2579 +f 2579 2587 2491 +f 2370 2368 2486 +f 2486 2491 2370 +f 2174 2172 2368 +f 2368 2370 2174 +f 1834 1725 2172 +f 2172 2174 1834 +f 2982 2965 2981 +f 2981 2988 2982 +f 2933 2907 2965 +f 2965 2982 2933 +f 2855 2845 2907 +f 2907 2933 2855 +f 2779 2769 2845 +f 2845 2855 2779 +f 2691 2685 2769 +f 2769 2779 2691 +f 2595 2587 2685 +f 2685 2691 2595 +f 2500 2491 2587 +f 2587 2595 2500 +f 2374 2370 2491 +f 2491 2500 2374 +f 2178 2174 2370 +f 2370 2374 2178 +f 1716 1834 2174 +f 2174 2178 1716 +f 2990 2982 2988 +f 2988 3002 2990 +f 2949 2933 2982 +f 2982 2990 2949 +f 2871 2855 2933 +f 2933 2949 2871 +f 2791 2779 2855 +f 2855 2871 2791 +f 2699 2691 2779 +f 2779 2791 2699 +f 2601 2595 2691 +f 2691 2699 2601 +f 2506 2500 2595 +f 2595 2601 2506 +f 2378 2374 2500 +f 2500 2506 2378 +f 2180 2178 2374 +f 2374 2378 2180 +f 1714 1716 2178 +f 2178 2180 1714 +f 3008 2990 3002 +f 3002 3024 3008 +f 2973 2949 2990 +f 2990 3008 2973 +f 2889 2871 2949 +f 2949 2973 2889 +f 2805 2791 2871 +f 2871 2889 2805 +f 2711 2699 2791 +f 2791 2805 2711 +f 2611 2601 2699 +f 2699 2711 2611 +f 2521 2506 2601 +f 2601 2611 2521 +f 2387 2378 2506 +f 2506 2521 2387 +f 2191 2180 2378 +f 2378 2387 2191 +f 1810 1714 2180 +f 2180 2191 1810 +f 1464 1460 1813 +f 1813 1821 1464 +f 1264 1260 1460 +f 1460 1464 1264 +f 1146 1142 1260 +f 1260 1264 1146 +f 1055 1047 1142 +f 1142 1146 1055 +f 953 949 1047 +f 1047 1055 953 +f 885 875 949 +f 949 953 885 +f 803 795 875 +f 875 885 803 +f 753 745 795 +f 795 803 753 +f 713 701 745 +f 745 753 713 +f 691 683 701 +f 701 713 691 +f 1470 1464 1821 +f 1821 1829 1470 +f 1272 1264 1464 +f 1464 1470 1272 +f 1154 1146 1264 +f 1264 1272 1154 +f 1061 1055 1146 +f 1146 1154 1061 +f 959 953 1055 +f 1055 1061 959 +f 893 885 953 +f 953 959 893 +f 809 803 885 +f 885 893 809 +f 759 753 803 +f 803 809 759 +f 721 713 753 +f 753 759 721 +f 705 691 713 +f 713 721 705 +f 1469 1470 1829 +f 1829 1835 1469 +f 1268 1272 1470 +f 1470 1469 1268 +f 1151 1154 1272 +f 1272 1268 1151 +f 1060 1061 1154 +f 1154 1151 1060 +f 957 959 1061 +f 1061 1060 957 +f 889 893 959 +f 959 957 889 +f 807 809 893 +f 893 889 807 +f 757 759 809 +f 809 807 757 +f 719 721 759 +f 759 757 719 +f 699 705 721 +f 721 719 699 +f 1462 1469 1835 +f 1835 1839 1462 +f 1262 1268 1469 +f 1469 1462 1262 +f 1144 1151 1268 +f 1268 1262 1144 +f 1051 1060 1151 +f 1151 1144 1051 +f 951 957 1060 +f 1060 1051 951 +f 881 889 957 +f 957 951 881 +f 799 807 889 +f 889 881 799 +f 747 757 807 +f 807 799 747 +f 711 719 757 +f 757 747 711 +f 687 699 719 +f 719 711 687 +f 1458 1462 1839 +f 1839 1843 1458 +f 1258 1262 1462 +f 1462 1458 1258 +f 1140 1144 1262 +f 1262 1258 1140 +f 1045 1051 1144 +f 1144 1140 1045 +f 945 951 1051 +f 1051 1045 945 +f 871 881 951 +f 951 945 871 +f 793 799 881 +f 881 871 793 +f 741 747 799 +f 799 793 741 +f 693 711 747 +f 747 741 693 +f 675 687 711 +f 711 693 675 +f 1450 1458 1843 +f 1843 1838 1450 +f 1254 1258 1458 +f 1458 1450 1254 +f 1136 1140 1258 +f 1258 1254 1136 +f 1043 1045 1140 +f 1140 1136 1043 +f 943 945 1045 +f 1045 1043 943 +f 861 871 945 +f 945 943 861 +f 787 793 871 +f 871 861 787 +f 725 741 793 +f 793 787 725 +f 677 693 741 +f 741 725 677 +f 663 675 693 +f 693 677 663 +f 1448 1450 1838 +f 1838 1834 1448 +f 1252 1254 1450 +f 1450 1448 1252 +f 1133 1136 1254 +f 1254 1252 1133 +f 1035 1043 1136 +f 1136 1133 1035 +f 937 943 1043 +f 1043 1035 937 +f 853 861 943 +f 943 937 853 +f 777 787 861 +f 861 853 777 +f 715 725 787 +f 787 777 715 +f 657 677 725 +f 725 715 657 +f 642 663 677 +f 677 657 642 +f 1444 1448 1834 +f 1834 1828 1444 +f 1248 1252 1448 +f 1448 1444 1248 +f 1122 1133 1252 +f 1252 1248 1122 +f 1027 1035 1133 +f 1133 1122 1027 +f 931 937 1035 +f 1035 1027 931 +f 843 853 937 +f 937 931 843 +f 767 777 853 +f 853 843 767 +f 689 715 777 +f 777 767 689 +f 640 657 715 +f 715 689 640 +f 634 642 657 +f 657 640 634 +f 1442 1444 1828 +f 1828 1820 1442 +f 1244 1248 1444 +f 1444 1442 1244 +f 1116 1122 1248 +f 1248 1244 1116 +f 1021 1027 1122 +f 1122 1116 1021 +f 923 931 1027 +f 1027 1021 923 +f 831 843 931 +f 931 923 831 +f 751 767 843 +f 843 831 751 +f 673 689 767 +f 767 751 673 +f 632 640 689 +f 689 673 632 +f 620 634 640 +f 640 632 620 +f 1429 1442 1820 +f 1820 1811 1429 +f 1233 1244 1442 +f 1442 1429 1233 +f 1106 1116 1244 +f 1244 1233 1106 +f 1011 1021 1116 +f 1116 1106 1011 +f 911 923 1021 +f 1021 1011 911 +f 817 831 923 +f 923 911 817 +f 733 751 831 +f 831 817 733 +f 649 673 751 +f 751 733 649 +f 614 632 673 +f 673 649 614 +f 597 620 632 +f 632 614 597 +f 714 702 684 +f 684 692 714 +f 754 746 702 +f 702 714 754 +f 804 796 746 +f 746 754 804 +f 886 876 796 +f 796 804 886 +f 954 950 876 +f 876 886 954 +f 1056 1048 950 +f 950 954 1056 +f 1147 1143 1048 +f 1048 1056 1147 +f 1265 1261 1143 +f 1143 1147 1265 +f 1465 1461 1261 +f 1261 1265 1465 +f 1915 1817 1461 +f 1461 1465 1915 +f 722 714 692 +f 692 706 722 +f 760 754 714 +f 714 722 760 +f 810 804 754 +f 754 760 810 +f 894 886 804 +f 804 810 894 +f 960 954 886 +f 886 894 960 +f 1062 1056 954 +f 954 960 1062 +f 1155 1147 1056 +f 1056 1062 1155 +f 1273 1265 1147 +f 1147 1155 1273 +f 1471 1465 1265 +f 1265 1273 1471 +f 1917 1915 1465 +f 1465 1471 1917 +f 720 722 706 +f 706 700 720 +f 758 760 722 +f 722 720 758 +f 808 810 760 +f 760 758 808 +f 890 894 810 +f 810 808 890 +f 958 960 894 +f 894 890 958 +f 1059 1062 960 +f 960 958 1059 +f 1150 1155 1062 +f 1062 1059 1150 +f 1269 1273 1155 +f 1155 1150 1269 +f 1468 1471 1273 +f 1273 1269 1468 +f 1697 1917 1471 +f 1471 1468 1697 +f 712 720 700 +f 700 688 712 +f 748 758 720 +f 720 712 748 +f 800 808 758 +f 758 748 800 +f 882 890 808 +f 808 800 882 +f 952 958 890 +f 890 882 952 +f 1052 1059 958 +f 958 952 1052 +f 1145 1150 1059 +f 1059 1052 1145 +f 1263 1269 1150 +f 1150 1145 1263 +f 1463 1468 1269 +f 1269 1263 1463 +f 1919 1697 1468 +f 1468 1463 1919 +f 694 712 688 +f 688 676 694 +f 742 748 712 +f 712 694 742 +f 794 800 748 +f 748 742 794 +f 872 882 800 +f 800 794 872 +f 946 952 882 +f 882 872 946 +f 1046 1052 952 +f 952 946 1046 +f 1141 1145 1052 +f 1052 1046 1141 +f 1259 1263 1145 +f 1145 1141 1259 +f 1459 1463 1263 +f 1263 1259 1459 +f 1845 1919 1463 +f 1463 1459 1845 +f 678 694 676 +f 676 664 678 +f 726 742 694 +f 694 678 726 +f 788 794 742 +f 742 726 788 +f 862 872 794 +f 794 788 862 +f 944 946 872 +f 872 862 944 +f 1044 1046 946 +f 946 944 1044 +f 1137 1141 1046 +f 1046 1044 1137 +f 1255 1259 1141 +f 1141 1137 1255 +f 1451 1459 1259 +f 1259 1255 1451 +f 1898 1845 1459 +f 1459 1451 1898 +f 658 678 664 +f 664 642 658 +f 716 726 678 +f 678 658 716 +f 778 788 726 +f 726 716 778 +f 854 862 788 +f 788 778 854 +f 938 944 862 +f 862 854 938 +f 1036 1044 944 +f 944 938 1036 +f 1132 1137 1044 +f 1044 1036 1132 +f 1253 1255 1137 +f 1137 1132 1253 +f 1449 1451 1255 +f 1255 1253 1449 +f 1837 1898 1451 +f 1451 1449 1837 +f 641 658 642 +f 642 635 641 +f 690 716 658 +f 658 641 690 +f 768 778 716 +f 716 690 768 +f 844 854 778 +f 778 768 844 +f 932 938 854 +f 854 844 932 +f 1028 1036 938 +f 938 932 1028 +f 1123 1132 1036 +f 1036 1028 1123 +f 1249 1253 1132 +f 1132 1123 1249 +f 1445 1449 1253 +f 1253 1249 1445 +f 1918 1837 1449 +f 1449 1445 1918 +f 633 641 635 +f 635 621 633 +f 674 690 641 +f 641 633 674 +f 752 768 690 +f 690 674 752 +f 832 844 768 +f 768 752 832 +f 924 932 844 +f 844 832 924 +f 1022 1028 932 +f 932 924 1022 +f 1117 1123 1028 +f 1028 1022 1117 +f 1245 1249 1123 +f 1123 1117 1245 +f 1443 1445 1249 +f 1249 1245 1443 +f 1916 1918 1445 +f 1445 1443 1916 +f 616 633 621 +f 621 600 616 +f 654 674 633 +f 633 616 654 +f 737 752 674 +f 674 654 737 +f 822 832 752 +f 752 737 822 +f 914 924 832 +f 832 822 914 +f 1014 1022 924 +f 924 914 1014 +f 1104 1117 1022 +f 1022 1014 1104 +f 1237 1245 1117 +f 1117 1104 1237 +f 1433 1443 1245 +f 1245 1237 1433 +f 1819 1916 1443 +f 1443 1433 1819 +f 2159 2163 1816 +f 1816 1822 2159 +f 2359 2363 2163 +f 2163 2159 2359 +f 2477 2481 2363 +f 2363 2359 2477 +f 2568 2576 2481 +f 2481 2477 2568 +f 2670 2674 2576 +f 2576 2568 2670 +f 2738 2748 2674 +f 2674 2670 2738 +f 2820 2828 2748 +f 2748 2738 2820 +f 2870 2878 2828 +f 2828 2820 2870 +f 2910 2922 2878 +f 2878 2870 2910 +f 2932 2940 2922 +f 2922 2910 2932 +f 2153 2159 1822 +f 1822 1830 2153 +f 2351 2359 2159 +f 2159 2153 2351 +f 2469 2477 2359 +f 2359 2351 2469 +f 2562 2568 2477 +f 2477 2469 2562 +f 2664 2670 2568 +f 2568 2562 2664 +f 2730 2738 2670 +f 2670 2664 2730 +f 2814 2820 2738 +f 2738 2730 2814 +f 2864 2870 2820 +f 2820 2814 2864 +f 2902 2910 2870 +f 2870 2864 2902 +f 2918 2932 2910 +f 2910 2902 2918 +f 2154 2153 1830 +f 1830 1836 2154 +f 2355 2351 2153 +f 2153 2154 2355 +f 2472 2469 2351 +f 2351 2355 2472 +f 2563 2562 2469 +f 2469 2472 2563 +f 2666 2664 2562 +f 2562 2563 2666 +f 2734 2730 2664 +f 2664 2666 2734 +f 2816 2814 2730 +f 2730 2734 2816 +f 2866 2864 2814 +f 2814 2816 2866 +f 2904 2902 2864 +f 2864 2866 2904 +f 2924 2918 2902 +f 2902 2904 2924 +f 2161 2154 1836 +f 1836 1840 2161 +f 2361 2355 2154 +f 2154 2161 2361 +f 2479 2472 2355 +f 2355 2361 2479 +f 2572 2563 2472 +f 2472 2479 2572 +f 2672 2666 2563 +f 2563 2572 2672 +f 2742 2734 2666 +f 2666 2672 2742 +f 2824 2816 2734 +f 2734 2742 2824 +f 2876 2866 2816 +f 2816 2824 2876 +f 2912 2904 2866 +f 2866 2876 2912 +f 2936 2924 2904 +f 2904 2912 2936 +f 2165 2161 1840 +f 1840 1844 2165 +f 2365 2361 2161 +f 2161 2165 2365 +f 2483 2479 2361 +f 2361 2365 2483 +f 2578 2572 2479 +f 2479 2483 2578 +f 2678 2672 2572 +f 2572 2578 2678 +f 2752 2742 2672 +f 2672 2678 2752 +f 2830 2824 2742 +f 2742 2752 2830 +f 2882 2876 2824 +f 2824 2830 2882 +f 2930 2912 2876 +f 2876 2882 2930 +f 2948 2936 2912 +f 2912 2930 2948 +f 2173 2165 1844 +f 1844 1841 2173 +f 2369 2365 2165 +f 2165 2173 2369 +f 2487 2483 2365 +f 2365 2369 2487 +f 2580 2578 2483 +f 2483 2487 2580 +f 2680 2678 2578 +f 2578 2580 2680 +f 2762 2752 2678 +f 2678 2680 2762 +f 2836 2830 2752 +f 2752 2762 2836 +f 2898 2882 2830 +f 2830 2836 2898 +f 2946 2930 2882 +f 2882 2898 2946 +f 2960 2948 2930 +f 2930 2946 2960 +f 2175 2173 1841 +f 1841 1837 2175 +f 2371 2369 2173 +f 2173 2175 2371 +f 2490 2487 2369 +f 2369 2371 2490 +f 2588 2580 2487 +f 2487 2490 2588 +f 2686 2680 2580 +f 2580 2588 2686 +f 2770 2762 2680 +f 2680 2686 2770 +f 2846 2836 2762 +f 2762 2770 2846 +f 2908 2898 2836 +f 2836 2846 2908 +f 2966 2946 2898 +f 2898 2908 2966 +f 2981 2960 2946 +f 2946 2966 2981 +f 2179 2175 1837 +f 1837 1831 2179 +f 2375 2371 2175 +f 2175 2179 2375 +f 2501 2490 2371 +f 2371 2375 2501 +f 2596 2588 2490 +f 2490 2501 2596 +f 2692 2686 2588 +f 2588 2596 2692 +f 2780 2770 2686 +f 2686 2692 2780 +f 2856 2846 2770 +f 2770 2780 2856 +f 2934 2908 2846 +f 2846 2856 2934 +f 2983 2966 2908 +f 2908 2934 2983 +f 2989 2981 2966 +f 2966 2983 2989 +f 2181 2179 1831 +f 1831 1823 2181 +f 2379 2375 2179 +f 2179 2181 2379 +f 2507 2501 2375 +f 2375 2379 2507 +f 2602 2596 2501 +f 2501 2507 2602 +f 2700 2692 2596 +f 2596 2602 2700 +f 2792 2780 2692 +f 2692 2700 2792 +f 2872 2856 2780 +f 2780 2792 2872 +f 2950 2934 2856 +f 2856 2872 2950 +f 2991 2983 2934 +f 2934 2950 2991 +f 3003 2989 2983 +f 2983 2991 3003 +f 2194 2181 1823 +f 1823 1818 2194 +f 2391 2379 2181 +f 2181 2194 2391 +f 2518 2507 2379 +f 2379 2391 2518 +f 2614 2602 2507 +f 2507 2518 2614 +f 2712 2700 2602 +f 2602 2614 2712 +f 2806 2792 2700 +f 2700 2712 2806 +f 2890 2872 2792 +f 2792 2806 2890 +f 2974 2950 2872 +f 2872 2890 2974 +f 3009 2991 2950 +f 2950 2974 3009 +f 3025 3003 2991 +f 2991 3009 3025 +f 3040 3008 3024 +f 3024 3048 3040 +f 3018 2973 3008 +f 3008 3040 3018 +f 2943 2889 2973 +f 2973 3018 2943 +f 2841 2805 2889 +f 2889 2943 2841 +f 2731 2711 2805 +f 2805 2841 2731 +f 2645 2611 2711 +f 2711 2731 2645 +f 2529 2521 2611 +f 2611 2645 2529 +f 2402 2387 2521 +f 2521 2529 2402 +f 2208 2191 2387 +f 2387 2402 2208 +f 1806 1810 2191 +f 2191 2208 1806 +f 3072 3040 3048 +f 3048 3078 3072 +f 3044 3018 3040 +f 3040 3072 3044 +f 2994 2943 3018 +f 3018 3044 2994 +f 2883 2841 2943 +f 2943 2994 2883 +f 2773 2731 2841 +f 2841 2883 2773 +f 2659 2645 2731 +f 2731 2773 2659 +f 2539 2529 2645 +f 2645 2659 2539 +f 2410 2402 2529 +f 2529 2539 2410 +f 2222 2208 2402 +f 2402 2410 2222 +f 1694 1806 2208 +f 2208 2222 1694 +f 3092 3072 3078 +f 3078 3116 3092 +f 3074 3044 3072 +f 3072 3092 3074 +f 3030 2994 3044 +f 3044 3074 3030 +f 2937 2883 2994 +f 2994 3030 2937 +f 2810 2773 2883 +f 2883 2937 2810 +f 2683 2659 2773 +f 2773 2810 2683 +f 2554 2539 2659 +f 2659 2683 2554 +f 2420 2410 2539 +f 2539 2554 2420 +f 2238 2222 2410 +f 2410 2420 2238 +f 1930 1694 2222 +f 2222 2238 1930 +f 3132 3092 3116 +f 3116 3142 3132 +f 3090 3074 3092 +f 3092 3132 3090 +f 3054 3030 3074 +f 3074 3090 3054 +f 2984 2937 3030 +f 3030 3054 2984 +f 2837 2810 2937 +f 2937 2984 2837 +f 2705 2683 2810 +f 2810 2837 2705 +f 2574 2554 2683 +f 2683 2705 2574 +f 2430 2420 2554 +f 2554 2574 2430 +f 2247 2238 2420 +f 2420 2430 2247 +f 1913 1930 2238 +f 2238 2247 1913 +f 3150 3132 3142 +f 3142 3156 3150 +f 3128 3090 3132 +f 3132 3150 3128 +f 3076 3054 3090 +f 3090 3128 3076 +f 3014 2984 3054 +f 3054 3076 3014 +f 2861 2837 2984 +f 2984 3014 2861 +f 2723 2705 2837 +f 2837 2861 2723 +f 2585 2574 2705 +f 2705 2723 2585 +f 2438 2430 2574 +f 2574 2585 2438 +f 2253 2247 2430 +f 2430 2438 2253 +f 1711 1913 2247 +f 2247 2253 1711 +f 3162 3150 3156 +f 3156 3172 3162 +f 3148 3128 3150 +f 3150 3162 3148 +f 3088 3076 3128 +f 3128 3148 3088 +f 3036 3014 3076 +f 3076 3088 3036 +f 2893 2861 3014 +f 3014 3036 2893 +f 2743 2723 2861 +f 2861 2893 2743 +f 2599 2585 2723 +f 2723 2743 2599 +f 2450 2438 2585 +f 2585 2599 2450 +f 2267 2253 2438 +f 2438 2450 2267 +f 1794 1711 2253 +f 2253 2267 1794 +f 3178 3162 3172 +f 3172 3184 3178 +f 3154 3148 3162 +f 3162 3178 3154 +f 3118 3088 3148 +f 3148 3154 3118 +f 3046 3036 3088 +f 3088 3118 3046 +f 2915 2893 3036 +f 3036 3046 2915 +f 2763 2743 2893 +f 2893 2915 2763 +f 2615 2599 2743 +f 2743 2763 2615 +f 2452 2450 2599 +f 2599 2615 2452 +f 2277 2267 2450 +f 2450 2452 2277 +f 1710 1794 2267 +f 2267 2277 1710 +f 3188 3178 3184 +f 3184 3200 3188 +f 3164 3154 3178 +f 3178 3188 3164 +f 3130 3118 3154 +f 3154 3164 3130 +f 3058 3046 3118 +f 3118 3130 3058 +f 2941 2915 3046 +f 3046 3058 2941 +f 2775 2763 2915 +f 2915 2941 2775 +f 2627 2615 2763 +f 2763 2775 2627 +f 2458 2452 2615 +f 2615 2627 2458 +f 2287 2277 2452 +f 2452 2458 2287 +f 1910 1710 2277 +f 2277 2287 1910 +f 3198 3188 3200 +f 3200 3209 3198 +f 3170 3164 3188 +f 3188 3198 3170 +f 3136 3130 3164 +f 3164 3170 3136 +f 3064 3058 3130 +f 3130 3136 3064 +f 2955 2941 3058 +f 3058 3064 2955 +f 2781 2775 2941 +f 2941 2955 2781 +f 2636 2627 2775 +f 2775 2781 2636 +f 2462 2458 2627 +f 2627 2636 2462 +f 2295 2287 2458 +f 2458 2462 2295 +f 1909 1910 2287 +f 2287 2295 1909 +f 3202 3198 3209 +f 3209 3213 3202 +f 3174 3170 3198 +f 3198 3202 3174 +f 3138 3136 3170 +f 3170 3174 3138 +f 3066 3064 3136 +f 3136 3138 3066 +f 2961 2955 3064 +f 3064 3066 2961 +f 2783 2781 2955 +f 2955 2961 2783 +f 2642 2636 2781 +f 2781 2783 2642 +f 2464 2462 2636 +f 2636 2642 2464 +f 2297 2295 2462 +f 2462 2464 2297 +f 1784 1909 2295 +f 2295 2297 1784 +f 1414 1429 1811 +f 1811 1807 1414 +f 1220 1233 1429 +f 1429 1414 1220 +f 1093 1106 1233 +f 1233 1220 1093 +f 977 1011 1106 +f 1106 1093 977 +f 891 911 1011 +f 1011 977 891 +f 781 817 911 +f 911 891 781 +f 679 733 817 +f 817 781 679 +f 604 649 733 +f 733 679 604 +f 571 614 649 +f 649 604 571 +f 561 597 614 +f 614 571 561 +f 1400 1414 1807 +f 1807 1804 1400 +f 1212 1220 1414 +f 1414 1400 1212 +f 1083 1093 1220 +f 1220 1212 1083 +f 963 977 1093 +f 1093 1083 963 +f 849 891 977 +f 977 963 849 +f 739 781 891 +f 891 849 739 +f 628 679 781 +f 781 739 628 +f 565 604 679 +f 679 628 565 +f 530 571 604 +f 604 565 530 +f 524 561 571 +f 571 530 524 +f 1386 1400 1804 +f 1804 1802 1386 +f 1202 1212 1400 +f 1400 1386 1202 +f 1070 1083 1212 +f 1212 1202 1070 +f 939 963 1083 +f 1083 1070 939 +f 814 849 963 +f 963 939 814 +f 685 739 849 +f 849 814 685 +f 585 628 739 +f 739 685 585 +f 528 565 628 +f 628 585 528 +f 510 530 565 +f 565 528 510 +f 508 524 530 +f 530 510 508 +f 1375 1386 1802 +f 1802 1800 1375 +f 1192 1202 1386 +f 1386 1375 1192 +f 1050 1070 1202 +f 1202 1192 1050 +f 917 939 1070 +f 1070 1050 917 +f 785 814 939 +f 939 917 785 +f 638 685 814 +f 814 785 638 +f 553 585 685 +f 685 638 553 +f 512 528 585 +f 585 553 512 +f 492 510 528 +f 528 512 492 +f 482 508 510 +f 510 492 482 +f 1369 1375 1800 +f 1800 1798 1369 +f 1184 1192 1375 +f 1375 1369 1184 +f 1037 1050 1192 +f 1192 1184 1037 +f 899 917 1050 +f 1050 1037 899 +f 761 785 917 +f 917 899 761 +f 608 638 785 +f 785 761 608 +f 526 553 638 +f 638 608 526 +f 496 512 553 +f 553 526 496 +f 454 492 512 +f 512 496 454 +f 448 482 492 +f 492 454 448 +f 1355 1369 1798 +f 1798 1795 1355 +f 1172 1184 1369 +f 1369 1355 1172 +f 1023 1037 1184 +f 1184 1172 1023 +f 879 899 1037 +f 1037 1023 879 +f 729 761 899 +f 899 879 729 +f 579 608 761 +f 761 729 579 +f 514 526 608 +f 608 579 514 +f 457 496 526 +f 526 514 457 +f 442 454 496 +f 496 457 442 +f 432 448 454 +f 454 442 432 +f 1345 1355 1795 +f 1795 1792 1345 +f 1170 1172 1355 +f 1355 1345 1170 +f 1007 1023 1172 +f 1172 1170 1007 +f 859 879 1023 +f 1023 1007 859 +f 707 729 879 +f 879 859 707 +f 563 579 729 +f 729 707 563 +f 506 514 579 +f 579 563 506 +f 450 457 514 +f 514 506 450 +f 420 442 457 +f 457 450 420 +f 412 432 442 +f 442 420 412 +f 1335 1345 1792 +f 1792 1790 1335 +f 1164 1170 1345 +f 1345 1335 1164 +f 995 1007 1170 +f 1170 1164 995 +f 847 859 1007 +f 1007 995 847 +f 681 707 859 +f 859 847 681 +f 547 563 707 +f 707 681 547 +f 494 506 563 +f 563 547 494 +f 440 450 506 +f 506 494 440 +f 410 420 450 +f 450 440 410 +f 398 412 420 +f 420 410 398 +f 1327 1335 1790 +f 1790 1788 1327 +f 1160 1164 1335 +f 1335 1327 1160 +f 988 995 1164 +f 1164 1160 988 +f 841 847 995 +f 995 988 841 +f 667 681 847 +f 847 841 667 +f 538 547 681 +f 681 667 538 +f 488 494 547 +f 547 538 488 +f 434 440 494 +f 494 488 434 +f 400 410 440 +f 440 434 400 +f 381 398 410 +f 410 400 381 +f 1324 1327 1788 +f 1788 1785 1324 +f 1156 1160 1327 +f 1327 1324 1156 +f 979 988 1160 +f 1160 1156 979 +f 837 841 988 +f 988 979 837 +f 659 667 841 +f 841 837 659 +f 534 538 667 +f 667 659 534 +f 484 488 538 +f 538 534 484 +f 428 434 488 +f 488 484 428 +f 395 400 434 +f 434 428 395 +f 374 381 400 +f 400 395 374 +f 572 616 600 +f 600 562 572 +f 605 654 616 +f 616 572 605 +f 680 737 654 +f 654 605 680 +f 782 822 737 +f 737 680 782 +f 892 914 822 +f 822 782 892 +f 978 1014 914 +f 914 892 978 +f 1094 1104 1014 +f 1014 978 1094 +f 1221 1237 1104 +f 1104 1094 1221 +f 1415 1433 1237 +f 1237 1221 1415 +f 1809 1819 1433 +f 1433 1415 1809 +f 531 572 562 +f 562 525 531 +f 566 605 572 +f 572 531 566 +f 629 680 605 +f 605 566 629 +f 740 782 680 +f 680 629 740 +f 850 892 782 +f 782 740 850 +f 964 978 892 +f 892 850 964 +f 1084 1094 978 +f 978 964 1084 +f 1213 1221 1094 +f 1094 1084 1213 +f 1401 1415 1221 +f 1221 1213 1401 +f 1931 1809 1415 +f 1415 1401 1931 +f 511 531 525 +f 525 509 511 +f 529 566 531 +f 531 511 529 +f 586 629 566 +f 566 529 586 +f 686 740 629 +f 629 586 686 +f 813 850 740 +f 740 686 813 +f 940 964 850 +f 850 813 940 +f 1069 1084 964 +f 964 940 1069 +f 1203 1213 1084 +f 1084 1069 1203 +f 1385 1401 1213 +f 1213 1203 1385 +f 1693 1931 1401 +f 1401 1385 1693 +f 493 511 509 +f 509 483 493 +f 513 529 511 +f 511 493 513 +f 554 586 529 +f 529 513 554 +f 639 686 586 +f 586 554 639 +f 786 813 686 +f 686 639 786 +f 918 940 813 +f 813 786 918 +f 1049 1069 940 +f 940 918 1049 +f 1193 1203 1069 +f 1069 1049 1193 +f 1376 1385 1203 +f 1203 1193 1376 +f 1712 1693 1385 +f 1385 1376 1712 +f 455 493 483 +f 483 449 455 +f 497 513 493 +f 493 455 497 +f 527 554 513 +f 513 497 527 +f 609 639 554 +f 554 527 609 +f 762 786 639 +f 639 609 762 +f 900 918 786 +f 786 762 900 +f 1038 1049 918 +f 918 900 1038 +f 1185 1193 1049 +f 1049 1038 1185 +f 1370 1376 1193 +f 1193 1185 1370 +f 1912 1712 1376 +f 1376 1370 1912 +f 443 455 449 +f 449 433 443 +f 458 497 455 +f 455 443 458 +f 515 527 497 +f 497 458 515 +f 580 609 527 +f 527 515 580 +f 730 762 609 +f 609 580 730 +f 880 900 762 +f 762 730 880 +f 1024 1038 900 +f 900 880 1024 +f 1173 1185 1038 +f 1038 1024 1173 +f 1356 1370 1185 +f 1185 1173 1356 +f 1797 1912 1370 +f 1370 1356 1797 +f 421 443 433 +f 433 413 421 +f 451 458 443 +f 443 421 451 +f 507 515 458 +f 458 451 507 +f 564 580 515 +f 515 507 564 +f 708 730 580 +f 580 564 708 +f 860 880 730 +f 730 708 860 +f 1008 1024 880 +f 880 860 1008 +f 1171 1173 1024 +f 1024 1008 1171 +f 1346 1356 1173 +f 1173 1171 1346 +f 1911 1797 1356 +f 1356 1346 1911 +f 411 421 413 +f 413 399 411 +f 441 451 421 +f 421 411 441 +f 495 507 451 +f 451 441 495 +f 548 564 507 +f 507 495 548 +f 682 708 564 +f 564 548 682 +f 848 860 708 +f 708 682 848 +f 996 1008 860 +f 860 848 996 +f 1165 1171 1008 +f 1008 996 1165 +f 1336 1346 1171 +f 1171 1165 1336 +f 1709 1911 1346 +f 1346 1336 1709 +f 401 411 399 +f 399 382 401 +f 435 441 411 +f 411 401 435 +f 489 495 441 +f 441 435 489 +f 539 548 495 +f 495 489 539 +f 668 682 548 +f 548 539 668 +f 842 848 682 +f 682 668 842 +f 987 996 848 +f 848 842 987 +f 1161 1165 996 +f 996 987 1161 +f 1328 1336 1165 +f 1165 1161 1328 +f 1708 1709 1336 +f 1336 1328 1708 +f 397 401 382 +f 382 376 397 +f 431 435 401 +f 401 397 431 +f 487 489 435 +f 435 431 487 +f 537 539 489 +f 489 487 537 +f 662 668 539 +f 539 537 662 +f 840 842 668 +f 668 662 840 +f 981 987 842 +f 842 840 981 +f 1159 1161 987 +f 987 981 1159 +f 1326 1328 1161 +f 1161 1159 1326 +f 1787 1708 1328 +f 1328 1326 1787 +f 2209 2194 1818 +f 1818 1808 2209 +f 2403 2391 2194 +f 2194 2209 2403 +f 2530 2518 2391 +f 2391 2403 2530 +f 2646 2614 2518 +f 2518 2530 2646 +f 2732 2712 2614 +f 2614 2646 2732 +f 2842 2806 2712 +f 2712 2732 2842 +f 2944 2890 2806 +f 2806 2842 2944 +f 3019 2974 2890 +f 2890 2944 3019 +f 3041 3009 2974 +f 2974 3019 3041 +f 3049 3025 3009 +f 3009 3041 3049 +f 2223 2209 1808 +f 1808 1805 2223 +f 2411 2403 2209 +f 2209 2223 2411 +f 2540 2530 2403 +f 2403 2411 2540 +f 2660 2646 2530 +f 2530 2540 2660 +f 2774 2732 2646 +f 2646 2660 2774 +f 2884 2842 2732 +f 2732 2774 2884 +f 2995 2944 2842 +f 2842 2884 2995 +f 3045 3019 2944 +f 2944 2995 3045 +f 3073 3041 3019 +f 3019 3045 3073 +f 3079 3049 3041 +f 3041 3073 3079 +f 2237 2223 1805 +f 1805 1803 2237 +f 2421 2411 2223 +f 2223 2237 2421 +f 2553 2540 2411 +f 2411 2421 2553 +f 2684 2660 2540 +f 2540 2553 2684 +f 2809 2774 2660 +f 2660 2684 2809 +f 2938 2884 2774 +f 2774 2809 2938 +f 3031 2995 2884 +f 2884 2938 3031 +f 3075 3045 2995 +f 2995 3031 3075 +f 3093 3073 3045 +f 3045 3075 3093 +f 3117 3079 3073 +f 3073 3093 3117 +f 2248 2237 1803 +f 1803 1801 2248 +f 2431 2421 2237 +f 2237 2248 2431 +f 2573 2553 2421 +f 2421 2431 2573 +f 2706 2684 2553 +f 2553 2573 2706 +f 2838 2809 2684 +f 2684 2706 2838 +f 2985 2938 2809 +f 2809 2838 2985 +f 3055 3031 2938 +f 2938 2985 3055 +f 3091 3075 3031 +f 3031 3055 3091 +f 3133 3093 3075 +f 3075 3091 3133 +f 3143 3117 3093 +f 3093 3133 3143 +f 2254 2248 1801 +f 1801 1799 2254 +f 2439 2431 2248 +f 2248 2254 2439 +f 2586 2573 2431 +f 2431 2439 2586 +f 2724 2706 2573 +f 2573 2586 2724 +f 2862 2838 2706 +f 2706 2724 2862 +f 3015 2985 2838 +f 2838 2862 3015 +f 3077 3055 2985 +f 2985 3015 3077 +f 3129 3091 3055 +f 3055 3077 3129 +f 3151 3133 3091 +f 3091 3129 3151 +f 3157 3143 3133 +f 3133 3151 3157 +f 2268 2254 1799 +f 1799 1796 2268 +f 2451 2439 2254 +f 2254 2268 2451 +f 2600 2586 2439 +f 2439 2451 2600 +f 2744 2724 2586 +f 2586 2600 2744 +f 2894 2862 2724 +f 2724 2744 2894 +f 3037 3015 2862 +f 2862 2894 3037 +f 3089 3077 3015 +f 3015 3037 3089 +f 3149 3129 3077 +f 3077 3089 3149 +f 3163 3151 3129 +f 3129 3149 3163 +f 3173 3157 3151 +f 3151 3163 3173 +f 2278 2268 1796 +f 1796 1793 2278 +f 2453 2451 2268 +f 2268 2278 2453 +f 2616 2600 2451 +f 2451 2453 2616 +f 2764 2744 2600 +f 2600 2616 2764 +f 2916 2894 2744 +f 2744 2764 2916 +f 3047 3037 2894 +f 2894 2916 3047 +f 3119 3089 3037 +f 3037 3047 3119 +f 3155 3149 3089 +f 3089 3119 3155 +f 3179 3163 3149 +f 3149 3155 3179 +f 3185 3173 3163 +f 3163 3179 3185 +f 2288 2278 1793 +f 1793 1791 2288 +f 2459 2453 2278 +f 2278 2288 2459 +f 2628 2616 2453 +f 2453 2459 2628 +f 2776 2764 2616 +f 2616 2628 2776 +f 2942 2916 2764 +f 2764 2776 2942 +f 3059 3047 2916 +f 2916 2942 3059 +f 3131 3119 3047 +f 3047 3059 3131 +f 3165 3155 3119 +f 3119 3131 3165 +f 3189 3179 3155 +f 3155 3165 3189 +f 3201 3185 3179 +f 3179 3189 3201 +f 2296 2288 1791 +f 1791 1789 2296 +f 2463 2459 2288 +f 2288 2296 2463 +f 2635 2628 2459 +f 2459 2463 2635 +f 2782 2776 2628 +f 2628 2635 2782 +f 2956 2942 2776 +f 2776 2782 2956 +f 3065 3059 2942 +f 2942 2956 3065 +f 3137 3131 3059 +f 3059 3065 3137 +f 3171 3165 3131 +f 3131 3137 3171 +f 3199 3189 3165 +f 3165 3171 3199 +f 3210 3201 3189 +f 3189 3199 3210 +f 2299 2296 1789 +f 1789 1786 2299 +f 2467 2463 2296 +f 2296 2299 2467 +f 2644 2635 2463 +f 2463 2467 2644 +f 2786 2782 2635 +f 2635 2644 2786 +f 2964 2956 2782 +f 2782 2786 2964 +f 3069 3065 2956 +f 2956 2964 3069 +f 3141 3137 3065 +f 3065 3069 3141 +f 3177 3171 3137 +f 3137 3141 3177 +f 3204 3199 3171 +f 3171 3177 3204 +f 3214 3210 3199 +f 3199 3204 3214 +f 3194 3202 3213 +f 3213 3207 3194 +f 3166 3175 3202 +f 3202 3194 3166 +f 3134 3139 3175 +f 3175 3166 3134 +f 3060 3067 3139 +f 3139 3134 3060 +f 2953 2962 3067 +f 3067 3060 2953 +f 2777 2784 2962 +f 2962 2953 2777 +f 2629 2643 2784 +f 2784 2777 2629 +f 2460 2465 2643 +f 2643 2629 2460 +f 2293 2298 2465 +f 2465 2460 2293 +f 1696 1785 2298 +f 2298 2293 1696 +f 3180 3194 3207 +f 3207 3190 3180 +f 3158 3166 3194 +f 3194 3180 3158 +f 3124 3134 3166 +f 3166 3158 3124 +f 3050 3060 3134 +f 3134 3124 3050 +f 2927 2953 3060 +f 3060 3050 2927 +f 2767 2777 2953 +f 2953 2927 2767 +f 2619 2629 2777 +f 2777 2767 2619 +f 2454 2460 2629 +f 2629 2619 2454 +f 2283 2293 2460 +f 2460 2454 2283 +f 1695 1696 2293 +f 2293 2283 1695 +f 3160 3180 3190 +f 3190 3168 3160 +f 3144 3158 3180 +f 3180 3160 3144 +f 3086 3124 3158 +f 3158 3144 3086 +f 3032 3050 3124 +f 3124 3086 3032 +f 2891 2927 3050 +f 3050 3032 2891 +f 2739 2767 2927 +f 2927 2891 2739 +f 2597 2619 2767 +f 2767 2739 2597 +f 2448 2454 2619 +f 2619 2597 2448 +f 2265 2283 2454 +f 2454 2448 2265 +f 1707 1695 2283 +f 2283 2265 1707 +f 3146 3160 3168 +f 3168 3152 3146 +f 3122 3144 3160 +f 3160 3146 3122 +f 3070 3086 3144 +f 3144 3122 3070 +f 2998 3032 3086 +f 3086 3070 2998 +f 2853 2891 3032 +f 3032 2998 2853 +f 2717 2739 2891 +f 2891 2853 2717 +f 2582 2597 2739 +f 2739 2717 2582 +f 2434 2448 2597 +f 2597 2582 2434 +f 2251 2265 2448 +f 2448 2434 2251 +f 1907 1707 2265 +f 2265 2251 1907 +f 3120 3146 3152 +f 3152 3126 3120 +f 3082 3122 3146 +f 3146 3120 3082 +f 3042 3070 3122 +f 3122 3082 3042 +f 2957 2998 3070 +f 3070 3042 2957 +f 2825 2853 2998 +f 2998 2957 2825 +f 2693 2717 2853 +f 2853 2825 2693 +f 2556 2582 2717 +f 2717 2693 2556 +f 2424 2434 2582 +f 2582 2556 2424 +f 2239 2251 2434 +f 2434 2424 2239 +f 1906 1907 2251 +f 2251 2239 1906 +f 3080 3120 3126 +f 3126 3084 3080 +f 3056 3082 3120 +f 3120 3080 3056 +f 3012 3042 3082 +f 3082 3056 3012 +f 2899 2957 3042 +f 3042 3012 2899 +f 2789 2825 2957 +f 2957 2899 2789 +f 2675 2693 2825 +f 2825 2789 2675 +f 2545 2556 2693 +f 2693 2675 2545 +f 2416 2424 2556 +f 2556 2545 2416 +f 2228 2239 2424 +f 2424 2416 2228 +f 1770 1906 2239 +f 2239 2228 1770 +f 3053 3080 3084 +f 3084 3062 3053 +f 3028 3056 3080 +f 3080 3053 3028 +f 2978 3012 3056 +f 3056 3028 2978 +f 2860 2899 3012 +f 3012 2978 2860 +f 2754 2789 2899 +f 2899 2860 2754 +f 2652 2675 2789 +f 2789 2754 2652 +f 2534 2545 2675 +f 2675 2652 2534 +f 2406 2416 2545 +f 2545 2534 2406 +f 2217 2228 2416 +f 2416 2406 2217 +f 1929 1770 2228 +f 2228 2217 1929 +f 3035 3053 3062 +f 3062 3039 3035 +f 2997 3028 3053 +f 3053 3035 2997 +f 2920 2978 3028 +f 3028 2997 2920 +f 2832 2860 2978 +f 2978 2920 2832 +f 2728 2754 2860 +f 2860 2832 2728 +f 2634 2652 2754 +f 2754 2728 2634 +f 2528 2534 2652 +f 2652 2634 2528 +f 2396 2406 2534 +f 2534 2528 2396 +f 2202 2217 2406 +f 2406 2396 2202 +f 1765 1929 2217 +f 2217 2202 1765 +f 3017 3035 3039 +f 3039 3027 3017 +f 2980 2997 3035 +f 3035 3017 2980 +f 2896 2920 2997 +f 2997 2980 2896 +f 2812 2832 2920 +f 2920 2896 2812 +f 2715 2728 2832 +f 2832 2812 2715 +f 2618 2634 2728 +f 2728 2715 2618 +f 2523 2528 2634 +f 2634 2618 2523 +f 2392 2396 2528 +f 2528 2523 2392 +f 2196 2202 2396 +f 2396 2392 2196 +f 1724 1765 2202 +f 2202 2196 1724 +f 3007 3017 3027 +f 3027 3023 3007 +f 2969 2980 3017 +f 3017 3007 2969 +f 2887 2896 2980 +f 2980 2969 2887 +f 2802 2812 2896 +f 2896 2887 2802 +f 2709 2715 2812 +f 2812 2802 2709 +f 2609 2618 2715 +f 2715 2709 2609 +f 2519 2523 2618 +f 2618 2609 2519 +f 2386 2392 2523 +f 2523 2519 2386 +f 2190 2196 2392 +f 2392 2386 2190 +f 1759 1724 2196 +f 2196 2190 1759 +f 1329 1324 1785 +f 1785 1782 1329 +f 1162 1157 1324 +f 1324 1329 1162 +f 993 982 1157 +f 1157 1162 993 +f 845 838 982 +f 982 993 845 +f 669 660 838 +f 838 845 669 +f 542 535 660 +f 660 669 542 +f 490 485 535 +f 535 542 490 +f 438 429 485 +f 485 490 438 +f 404 396 429 +f 429 438 404 +f 387 376 396 +f 396 404 387 +f 1339 1329 1782 +f 1782 1780 1339 +f 1168 1162 1329 +f 1329 1339 1168 +f 1003 993 1162 +f 1162 1168 1003 +f 855 845 993 +f 993 1003 855 +f 695 669 845 +f 845 855 695 +f 559 542 669 +f 669 695 559 +f 500 490 542 +f 542 559 500 +f 446 438 490 +f 490 500 446 +f 416 404 438 +f 438 446 416 +f 408 387 404 +f 404 416 408 +f 1357 1339 1780 +f 1780 1778 1357 +f 1174 1168 1339 +f 1339 1357 1174 +f 1025 1003 1168 +f 1168 1174 1025 +f 883 855 1003 +f 1003 1025 883 +f 731 695 855 +f 855 883 731 +f 583 559 695 +f 695 731 583 +f 516 500 559 +f 559 583 516 +f 467 446 500 +f 500 516 467 +f 444 416 446 +f 446 467 444 +f 436 408 416 +f 416 444 436 +f 1371 1357 1778 +f 1778 1776 1371 +f 1188 1174 1357 +f 1357 1371 1188 +f 1042 1025 1174 +f 1174 1188 1042 +f 905 883 1025 +f 1025 1042 905 +f 769 731 883 +f 883 905 769 +f 624 583 731 +f 731 769 624 +f 532 516 583 +f 583 624 532 +f 502 467 516 +f 516 532 502 +f 459 444 467 +f 467 502 459 +f 452 436 444 +f 444 459 452 +f 1383 1371 1776 +f 1776 1774 1383 +f 1198 1188 1371 +f 1371 1383 1198 +f 1068 1042 1188 +f 1188 1198 1068 +f 929 905 1042 +f 1042 1068 929 +f 797 769 905 +f 905 929 797 +f 665 624 769 +f 769 797 665 +f 569 532 624 +f 624 665 569 +f 520 502 532 +f 532 569 520 +f 504 459 502 +f 502 520 504 +f 498 452 459 +f 459 504 498 +f 1394 1383 1774 +f 1774 1771 1394 +f 1206 1198 1383 +f 1383 1394 1206 +f 1077 1068 1198 +f 1198 1206 1077 +f 947 929 1068 +f 1068 1077 947 +f 833 797 929 +f 929 947 833 +f 723 665 797 +f 797 833 723 +f 610 569 665 +f 665 723 610 +f 549 520 569 +f 569 610 549 +f 522 504 520 +f 520 549 522 +f 518 498 504 +f 504 522 518 +f 1407 1394 1771 +f 1771 1768 1407 +f 1216 1206 1394 +f 1394 1407 1216 +f 1090 1077 1206 +f 1206 1216 1090 +f 972 947 1077 +f 1077 1090 972 +f 870 833 947 +f 947 972 870 +f 764 723 833 +f 833 870 764 +f 646 610 723 +f 723 764 646 +f 587 549 610 +f 610 646 587 +f 556 522 549 +f 549 587 556 +f 540 518 522 +f 522 556 540 +f 1420 1407 1768 +f 1768 1764 1420 +f 1226 1216 1407 +f 1407 1420 1226 +f 1096 1090 1216 +f 1216 1226 1096 +f 990 972 1090 +f 1090 1096 990 +f 896 870 972 +f 972 990 896 +f 792 764 870 +f 870 896 792 +f 704 646 764 +f 764 792 704 +f 627 587 646 +f 646 704 627 +f 582 556 587 +f 587 627 582 +f 574 540 556 +f 556 582 574 +f 1426 1420 1764 +f 1764 1762 1426 +f 1230 1226 1420 +f 1420 1426 1230 +f 1101 1096 1226 +f 1226 1230 1101 +f 1006 990 1096 +f 1096 1101 1006 +f 907 896 990 +f 990 1006 907 +f 812 792 896 +f 896 907 812 +f 728 704 792 +f 792 812 728 +f 644 627 704 +f 704 728 644 +f 607 582 627 +f 627 644 607 +f 592 574 582 +f 582 607 592 +f 1430 1426 1762 +f 1762 1758 1430 +f 1234 1230 1426 +f 1426 1430 1234 +f 1107 1101 1230 +f 1230 1234 1107 +f 1012 1006 1101 +f 1101 1107 1012 +f 912 907 1006 +f 1006 1012 912 +f 819 812 907 +f 907 912 819 +f 738 728 812 +f 812 819 738 +f 651 644 728 +f 728 738 651 +f 618 607 644 +f 644 651 618 +f 601 592 607 +f 607 618 601 +f 405 397 376 +f 376 388 405 +f 439 430 397 +f 397 405 439 +f 491 486 430 +f 430 439 491 +f 543 536 486 +f 486 491 543 +f 670 661 536 +f 536 543 670 +f 846 839 661 +f 661 670 846 +f 994 980 839 +f 839 846 994 +f 1163 1158 980 +f 980 994 1163 +f 1330 1325 1158 +f 1158 1163 1330 +f 1926 1786 1325 +f 1325 1330 1926 +f 417 405 388 +f 388 409 417 +f 447 439 405 +f 405 417 447 +f 501 491 439 +f 439 447 501 +f 560 543 491 +f 491 501 560 +f 696 670 543 +f 543 560 696 +f 856 846 670 +f 670 696 856 +f 1004 994 846 +f 846 856 1004 +f 1169 1163 994 +f 994 1004 1169 +f 1340 1330 1163 +f 1163 1169 1340 +f 1925 1926 1330 +f 1330 1340 1925 +f 445 417 409 +f 409 437 445 +f 468 447 417 +f 417 445 468 +f 517 501 447 +f 447 468 517 +f 584 560 501 +f 501 517 584 +f 732 696 560 +f 560 584 732 +f 884 856 696 +f 696 732 884 +f 1026 1004 856 +f 856 884 1026 +f 1175 1169 1004 +f 1004 1026 1175 +f 1358 1340 1169 +f 1169 1175 1358 +f 1908 1925 1340 +f 1340 1358 1908 +f 460 445 437 +f 437 453 460 +f 503 468 445 +f 445 460 503 +f 533 517 468 +f 468 503 533 +f 625 584 517 +f 517 533 625 +f 770 732 584 +f 584 625 770 +f 906 884 732 +f 732 770 906 +f 1041 1026 884 +f 884 906 1041 +f 1189 1175 1026 +f 1026 1041 1189 +f 1372 1358 1175 +f 1175 1189 1372 +f 1706 1908 1358 +f 1358 1372 1706 +f 505 460 453 +f 453 499 505 +f 521 503 460 +f 460 505 521 +f 570 533 503 +f 503 521 570 +f 666 625 533 +f 533 570 666 +f 798 770 625 +f 625 666 798 +f 930 906 770 +f 770 798 930 +f 1067 1041 906 +f 906 930 1067 +f 1199 1189 1041 +f 1041 1067 1199 +f 1384 1372 1189 +f 1189 1199 1384 +f 1705 1706 1372 +f 1372 1384 1705 +f 523 505 499 +f 499 519 523 +f 550 521 505 +f 505 523 550 +f 611 570 521 +f 521 550 611 +f 724 666 570 +f 570 611 724 +f 834 798 666 +f 666 724 834 +f 948 930 798 +f 798 834 948 +f 1078 1067 930 +f 930 948 1078 +f 1207 1199 1067 +f 1067 1078 1207 +f 1395 1384 1199 +f 1199 1207 1395 +f 1773 1705 1384 +f 1384 1395 1773 +f 555 523 519 +f 519 541 555 +f 588 550 523 +f 523 555 588 +f 645 611 550 +f 550 588 645 +f 763 724 611 +f 611 645 763 +f 869 834 724 +f 724 763 869 +f 971 948 834 +f 834 869 971 +f 1089 1078 948 +f 948 971 1089 +f 1217 1207 1078 +f 1078 1089 1217 +f 1406 1395 1207 +f 1207 1217 1406 +f 1692 1773 1395 +f 1395 1406 1692 +f 581 555 541 +f 541 573 581 +f 626 588 555 +f 555 581 626 +f 703 645 588 +f 588 626 703 +f 791 763 645 +f 645 703 791 +f 895 869 763 +f 763 791 895 +f 989 971 869 +f 869 895 989 +f 1095 1089 971 +f 971 989 1095 +f 1227 1217 1089 +f 1089 1095 1227 +f 1421 1406 1217 +f 1217 1227 1421 +f 1766 1692 1406 +f 1406 1421 1766 +f 606 581 573 +f 573 591 606 +f 643 626 581 +f 581 606 643 +f 727 703 626 +f 626 643 727 +f 811 791 703 +f 703 727 811 +f 908 895 791 +f 791 811 908 +f 1005 989 895 +f 895 908 1005 +f 1100 1095 989 +f 989 1005 1100 +f 1231 1227 1095 +f 1095 1100 1231 +f 1427 1421 1227 +f 1227 1231 1427 +f 1897 1766 1421 +f 1421 1427 1897 +f 615 606 591 +f 591 598 615 +f 653 643 606 +f 606 615 653 +f 735 727 643 +f 643 653 735 +f 820 811 727 +f 727 735 820 +f 913 908 811 +f 811 820 913 +f 1013 1005 908 +f 908 913 1013 +f 1103 1100 1005 +f 1005 1013 1103 +f 1236 1231 1100 +f 1100 1103 1236 +f 1432 1427 1231 +f 1231 1236 1432 +f 1760 1897 1427 +f 1427 1432 1760 +f 2294 2299 1786 +f 1786 1783 2294 +f 2461 2466 2299 +f 2299 2294 2461 +f 2630 2641 2466 +f 2466 2461 2630 +f 2778 2785 2641 +f 2641 2630 2778 +f 2954 2963 2785 +f 2785 2778 2954 +f 3061 3068 2963 +f 2963 2954 3061 +f 3135 3140 3068 +f 3068 3061 3135 +f 3167 3176 3140 +f 3140 3135 3167 +f 3195 3203 3176 +f 3176 3167 3195 +f 3208 3213 3203 +f 3203 3195 3208 +f 2284 2294 1783 +f 1783 1781 2284 +f 2455 2461 2294 +f 2294 2284 2455 +f 2620 2630 2461 +f 2461 2455 2620 +f 2768 2778 2630 +f 2630 2620 2768 +f 2928 2954 2778 +f 2778 2768 2928 +f 3051 3061 2954 +f 2954 2928 3051 +f 3125 3135 3061 +f 3061 3051 3125 +f 3159 3167 3135 +f 3135 3125 3159 +f 3181 3195 3167 +f 3167 3159 3181 +f 3191 3208 3195 +f 3195 3181 3191 +f 2266 2284 1781 +f 1781 1779 2266 +f 2449 2455 2284 +f 2284 2266 2449 +f 2598 2620 2455 +f 2455 2449 2598 +f 2740 2768 2620 +f 2620 2598 2740 +f 2892 2928 2768 +f 2768 2740 2892 +f 3033 3051 2928 +f 2928 2892 3033 +f 3087 3125 3051 +f 3051 3033 3087 +f 3145 3159 3125 +f 3125 3087 3145 +f 3161 3181 3159 +f 3159 3145 3161 +f 3169 3191 3181 +f 3181 3161 3169 +f 2252 2266 1779 +f 1779 1777 2252 +f 2435 2449 2266 +f 2266 2252 2435 +f 2581 2598 2449 +f 2449 2435 2581 +f 2718 2740 2598 +f 2598 2581 2718 +f 2854 2892 2740 +f 2740 2718 2854 +f 2999 3033 2892 +f 2892 2854 2999 +f 3071 3087 3033 +f 3033 2999 3071 +f 3123 3145 3087 +f 3087 3071 3123 +f 3147 3161 3145 +f 3145 3123 3147 +f 3153 3169 3161 +f 3161 3147 3153 +f 2240 2252 1777 +f 1777 1775 2240 +f 2425 2435 2252 +f 2252 2240 2425 +f 2555 2581 2435 +f 2435 2425 2555 +f 2694 2718 2581 +f 2581 2555 2694 +f 2826 2854 2718 +f 2718 2694 2826 +f 2958 2999 2854 +f 2854 2826 2958 +f 3043 3071 2999 +f 2999 2958 3043 +f 3083 3123 3071 +f 3071 3043 3083 +f 3121 3147 3123 +f 3123 3083 3121 +f 3127 3153 3147 +f 3147 3121 3127 +f 2229 2240 1775 +f 1775 1772 2229 +f 2417 2425 2240 +f 2240 2229 2417 +f 2546 2555 2425 +f 2425 2417 2546 +f 2676 2694 2555 +f 2555 2546 2676 +f 2790 2826 2694 +f 2694 2676 2790 +f 2900 2958 2826 +f 2826 2790 2900 +f 3013 3043 2958 +f 2958 2900 3013 +f 3057 3083 3043 +f 3043 3013 3057 +f 3081 3121 3083 +f 3083 3057 3081 +f 3085 3127 3121 +f 3121 3081 3085 +f 2216 2229 1772 +f 1772 1769 2216 +f 2407 2417 2229 +f 2229 2216 2407 +f 2533 2546 2417 +f 2417 2407 2533 +f 2651 2676 2546 +f 2546 2533 2651 +f 2753 2790 2676 +f 2676 2651 2753 +f 2859 2900 2790 +f 2790 2753 2859 +f 2977 3013 2900 +f 2900 2859 2977 +f 3029 3057 3013 +f 3013 2977 3029 +f 3052 3081 3057 +f 3057 3029 3052 +f 3063 3085 3081 +f 3081 3052 3063 +f 2203 2216 1769 +f 1769 1767 2203 +f 2397 2407 2216 +f 2216 2203 2397 +f 2527 2533 2407 +f 2407 2397 2527 +f 2633 2651 2533 +f 2533 2527 2633 +f 2727 2753 2651 +f 2651 2633 2727 +f 2831 2859 2753 +f 2753 2727 2831 +f 2919 2977 2859 +f 2859 2831 2919 +f 2996 3029 2977 +f 2977 2919 2996 +f 3034 3052 3029 +f 3029 2996 3034 +f 3038 3063 3052 +f 3052 3034 3038 +f 2197 2203 1767 +f 1767 1763 2197 +f 2393 2397 2203 +f 2203 2197 2393 +f 2522 2527 2397 +f 2397 2393 2522 +f 2617 2633 2527 +f 2527 2522 2617 +f 2716 2727 2633 +f 2633 2617 2716 +f 2811 2831 2727 +f 2727 2716 2811 +f 2895 2919 2831 +f 2831 2811 2895 +f 2979 2996 2919 +f 2919 2895 2979 +f 3016 3034 2996 +f 2996 2979 3016 +f 3026 3038 3034 +f 3034 3016 3026 +f 2193 2197 1763 +f 1763 1761 2193 +f 2389 2393 2197 +f 2197 2193 2389 +f 2516 2522 2393 +f 2393 2389 2516 +f 2610 2617 2522 +f 2522 2516 2610 +f 2710 2716 2617 +f 2617 2610 2710 +f 2803 2811 2716 +f 2716 2710 2803 +f 2885 2895 2811 +f 2811 2803 2885 +f 2971 2979 2895 +f 2895 2885 2971 +f 3005 3016 2979 +f 2979 2971 3005 +f 3022 3026 3016 +f 3016 3005 3022 +f 461 545 544 +f 544 456 461 +f 463 551 545 +f 545 461 463 +f 465 557 551 +f 551 463 465 +f 469 567 557 +f 557 465 469 +f 471 575 567 +f 567 469 471 +f 473 577 575 +f 575 471 473 +f 475 589 577 +f 577 473 475 +f 477 593 589 +f 589 475 477 +f 479 595 593 +f 593 477 479 +f 481 599 595 +f 595 479 481 +f 389 461 456 +f 456 392 389 +f 386 463 461 +f 461 389 386 +f 379 465 463 +f 463 386 379 +f 373 469 465 +f 465 379 373 +f 371 471 469 +f 469 373 371 +f 369 473 471 +f 471 371 369 +f 366 475 473 +f 473 369 366 +f 364 477 475 +f 475 366 364 +f 362 479 477 +f 477 364 362 +f 361 481 479 +f 479 362 361 +f 335 389 392 +f 392 337 335 +f 333 386 389 +f 389 335 333 +f 331 379 386 +f 386 333 331 +f 329 373 379 +f 379 331 329 +f 328 371 373 +f 373 329 328 +f 325 369 371 +f 371 328 325 +f 323 366 369 +f 369 325 323 +f 321 364 366 +f 366 323 321 +f 319 362 364 +f 364 321 319 +f 316 361 362 +f 362 319 316 +f 298 335 337 +f 337 302 298 +f 290 333 335 +f 335 298 290 +f 288 331 333 +f 333 290 288 +f 286 329 331 +f 331 288 286 +f 281 328 329 +f 329 286 281 +f 275 325 328 +f 328 281 275 +f 265 323 325 +f 325 275 265 +f 259 321 323 +f 323 265 259 +f 255 319 321 +f 321 259 255 +f 249 316 319 +f 319 255 249 +f 269 298 302 +f 302 271 269 +f 261 290 298 +f 298 269 261 +f 251 288 290 +f 290 261 251 +f 238 286 288 +f 288 251 238 +f 230 281 286 +f 286 238 230 +f 218 275 281 +f 281 230 218 +f 208 265 275 +f 275 218 208 +f 196 259 265 +f 265 208 196 +f 186 255 259 +f 259 196 186 +f 181 249 255 +f 255 186 181 +f 228 269 271 +f 271 234 228 +f 222 261 269 +f 269 228 222 +f 212 251 261 +f 261 222 212 +f 200 238 251 +f 251 212 200 +f 177 230 238 +f 238 200 177 +f 160 218 230 +f 230 177 160 +f 134 208 218 +f 218 160 134 +f 112 196 208 +f 208 134 112 +f 102 186 196 +f 196 112 102 +f 96 181 186 +f 186 102 96 +f 198 228 234 +f 234 205 198 +f 182 222 228 +f 228 198 182 +f 168 212 222 +f 222 182 168 +f 146 200 212 +f 212 168 146 +f 118 177 200 +f 200 146 118 +f 92 160 177 +f 177 118 92 +f 74 134 160 +f 160 92 74 +f 63 112 134 +f 134 74 63 +f 53 102 112 +f 112 63 53 +f 50 96 102 +f 102 53 50 +f 167 198 205 +f 205 170 167 +f 154 182 198 +f 198 167 154 +f 126 168 182 +f 182 154 126 +f 100 146 168 +f 168 126 100 +f 83 118 146 +f 146 100 83 +f 61 92 118 +f 118 83 61 +f 46 74 92 +f 92 61 46 +f 32 63 74 +f 74 46 32 +f 25 53 63 +f 63 32 25 +f 21 50 53 +f 53 25 21 +f 143 167 170 +f 170 150 143 +f 124 154 167 +f 167 143 124 +f 104 126 154 +f 154 124 104 +f 84 100 126 +f 126 104 84 +f 65 83 100 +f 100 84 65 +f 44 61 83 +f 83 65 44 +f 30 46 61 +f 61 44 30 +f 17 32 46 +f 46 30 17 +f 9 25 32 +f 32 17 9 +f 5 21 25 +f 25 9 5 +f 132 143 150 +f 150 140 132 +f 116 124 143 +f 143 132 116 +f 94 104 124 +f 124 116 94 +f 76 84 104 +f 104 94 76 +f 55 65 84 +f 84 76 55 +f 40 44 65 +f 65 55 40 +f 22 30 44 +f 44 40 22 +f 11 17 30 +f 30 22 11 +f 2 9 17 +f 17 11 2 +f 1 5 9 +f 9 2 1 +f 480 596 599 +f 599 481 480 +f 478 594 596 +f 596 480 478 +f 476 590 594 +f 594 478 476 +f 474 578 590 +f 590 476 474 +f 472 576 578 +f 578 474 472 +f 470 568 576 +f 576 472 470 +f 466 558 568 +f 568 470 466 +f 464 552 558 +f 558 466 464 +f 462 546 552 +f 552 464 462 +f 456 544 546 +f 546 462 456 +f 363 480 481 +f 481 360 363 +f 365 478 480 +f 480 363 365 +f 367 476 478 +f 478 365 367 +f 368 474 476 +f 476 367 368 +f 370 472 474 +f 474 368 370 +f 372 470 472 +f 472 370 372 +f 380 466 470 +f 470 372 380 +f 385 464 466 +f 466 380 385 +f 390 462 464 +f 464 385 390 +f 391 456 462 +f 462 390 391 +f 320 363 360 +f 360 316 320 +f 322 365 363 +f 363 320 322 +f 324 367 365 +f 365 322 324 +f 326 368 367 +f 367 324 326 +f 327 370 368 +f 368 326 327 +f 330 372 370 +f 370 327 330 +f 332 380 372 +f 372 330 332 +f 334 385 380 +f 380 332 334 +f 336 390 385 +f 385 334 336 +f 337 391 390 +f 390 336 337 +f 256 320 316 +f 316 250 256 +f 260 322 320 +f 320 256 260 +f 266 324 322 +f 322 260 266 +f 276 326 324 +f 324 266 276 +f 282 327 326 +f 326 276 282 +f 287 330 327 +f 327 282 287 +f 289 332 330 +f 330 287 289 +f 291 334 332 +f 332 289 291 +f 299 336 334 +f 334 291 299 +f 303 337 336 +f 336 299 303 +f 187 256 250 +f 250 181 187 +f 197 260 256 +f 256 187 197 +f 209 266 260 +f 260 197 209 +f 219 276 266 +f 266 209 219 +f 231 282 276 +f 276 219 231 +f 239 287 282 +f 282 231 239 +f 252 289 287 +f 287 239 252 +f 262 291 289 +f 289 252 262 +f 270 299 291 +f 291 262 270 +f 272 303 299 +f 299 270 272 +f 103 187 181 +f 181 97 103 +f 113 197 187 +f 187 103 113 +f 135 209 197 +f 197 113 135 +f 161 219 209 +f 209 135 161 +f 178 231 219 +f 219 161 178 +f 201 239 231 +f 231 178 201 +f 213 252 239 +f 239 201 213 +f 223 262 252 +f 252 213 223 +f 229 270 262 +f 262 223 229 +f 235 272 270 +f 270 229 235 +f 54 103 97 +f 97 50 54 +f 64 113 103 +f 103 54 64 +f 75 135 113 +f 113 64 75 +f 93 161 135 +f 135 75 93 +f 119 178 161 +f 161 93 119 +f 147 201 178 +f 178 119 147 +f 169 213 201 +f 201 147 169 +f 183 223 213 +f 213 169 183 +f 199 229 223 +f 223 183 199 +f 205 235 229 +f 229 199 205 +f 24 54 50 +f 50 21 24 +f 33 64 54 +f 54 24 33 +f 47 75 64 +f 64 33 47 +f 62 93 75 +f 75 47 62 +f 82 119 93 +f 93 62 82 +f 101 147 119 +f 119 82 101 +f 127 169 147 +f 147 101 127 +f 155 183 169 +f 169 127 155 +f 166 199 183 +f 183 155 166 +f 171 205 199 +f 199 166 171 +f 10 24 21 +f 21 6 10 +f 18 33 24 +f 24 10 18 +f 31 47 33 +f 33 18 31 +f 45 62 47 +f 47 31 45 +f 66 82 62 +f 62 45 66 +f 85 101 82 +f 82 66 85 +f 105 127 101 +f 101 85 105 +f 125 155 127 +f 127 105 125 +f 144 166 155 +f 155 125 144 +f 151 171 166 +f 166 144 151 +f 3 10 6 +f 6 1 3 +f 12 18 10 +f 10 3 12 +f 23 31 18 +f 18 12 23 +f 41 45 31 +f 31 23 41 +f 56 66 45 +f 45 41 56 +f 77 85 66 +f 66 56 77 +f 95 105 85 +f 85 77 95 +f 117 125 105 +f 105 95 117 +f 133 144 125 +f 125 117 133 +f 140 151 144 +f 144 133 140 +f 138 132 140 +f 140 145 138 +f 122 116 132 +f 132 138 122 +f 98 94 116 +f 116 122 98 +f 80 76 94 +f 94 98 80 +f 60 55 76 +f 76 80 60 +f 42 40 55 +f 55 60 42 +f 28 22 40 +f 40 42 28 +f 13 11 22 +f 22 28 13 +f 7 2 11 +f 11 13 7 +f 4 1 2 +f 2 7 4 +f 152 138 145 +f 145 158 152 +f 136 122 138 +f 138 152 136 +f 108 98 122 +f 122 136 108 +f 89 80 98 +f 98 108 89 +f 70 60 80 +f 80 89 70 +f 52 42 60 +f 60 70 52 +f 38 28 42 +f 42 52 38 +f 26 13 28 +f 28 38 26 +f 19 7 13 +f 13 26 19 +f 15 4 7 +f 7 19 15 +f 173 152 158 +f 158 176 173 +f 162 136 152 +f 152 173 162 +f 142 108 136 +f 136 162 142 +f 111 89 108 +f 108 142 111 +f 91 70 89 +f 89 111 91 +f 73 52 70 +f 70 91 73 +f 58 38 52 +f 52 73 58 +f 48 26 38 +f 38 58 48 +f 37 19 26 +f 26 48 37 +f 35 15 19 +f 19 37 35 +f 194 173 176 +f 176 202 194 +f 184 162 173 +f 173 194 184 +f 174 142 162 +f 162 184 174 +f 156 111 142 +f 142 174 156 +f 128 91 111 +f 111 156 128 +f 106 73 91 +f 91 128 106 +f 86 58 73 +f 73 106 86 +f 78 48 58 +f 58 86 78 +f 68 37 48 +f 48 78 68 +f 67 35 37 +f 37 68 67 +f 221 194 202 +f 202 225 221 +f 216 184 194 +f 194 221 216 +f 206 174 184 +f 184 216 206 +f 192 156 174 +f 174 206 192 +f 180 128 156 +f 156 192 180 +f 164 106 128 +f 128 180 164 +f 148 86 106 +f 106 164 148 +f 130 78 86 +f 86 148 130 +f 121 68 78 +f 78 130 121 +f 115 67 68 +f 68 121 115 +f 244 221 225 +f 225 247 244 +f 240 216 221 +f 221 244 240 +f 236 206 216 +f 216 240 236 +f 233 192 206 +f 206 236 233 +f 227 180 192 +f 192 233 227 +f 215 164 180 +f 180 227 215 +f 210 148 164 +f 164 215 210 +f 203 130 148 +f 148 210 203 +f 191 121 130 +f 130 203 191 +f 188 115 121 +f 121 191 188 +f 284 244 247 +f 247 285 284 +f 279 240 244 +f 244 284 279 +f 277 236 240 +f 240 279 277 +f 273 233 236 +f 236 277 273 +f 267 227 233 +f 233 273 267 +f 263 215 227 +f 227 267 263 +f 258 210 215 +f 215 263 258 +f 253 203 210 +f 210 258 253 +f 245 191 203 +f 203 253 245 +f 242 188 191 +f 191 245 242 +f 315 284 285 +f 285 318 315 +f 312 279 284 +f 284 315 312 +f 311 277 279 +f 279 312 311 +f 309 273 277 +f 277 311 309 +f 307 267 273 +f 273 309 307 +f 305 263 267 +f 267 307 305 +f 301 258 263 +f 263 305 301 +f 297 253 258 +f 258 301 297 +f 295 245 253 +f 253 297 295 +f 293 242 245 +f 245 295 293 +f 341 315 318 +f 318 339 341 +f 343 312 315 +f 315 341 343 +f 345 311 312 +f 312 343 345 +f 347 309 311 +f 311 345 347 +f 349 307 309 +f 309 347 349 +f 351 305 307 +f 307 349 351 +f 353 301 305 +f 305 351 353 +f 355 297 301 +f 301 353 355 +f 357 295 297 +f 297 355 357 +f 359 293 295 +f 295 357 359 +f 378 341 339 +f 339 376 378 +f 384 343 341 +f 341 378 384 +f 394 345 343 +f 343 384 394 +f 403 347 345 +f 345 394 403 +f 406 349 347 +f 347 403 406 +f 415 351 349 +f 349 406 415 +f 419 353 351 +f 351 415 419 +f 423 355 353 +f 353 419 423 +f 425 357 355 +f 355 423 425 +f 427 359 357 +f 357 425 427 +f 8 3 1 +f 1 4 8 +f 14 12 3 +f 3 8 14 +f 29 23 12 +f 12 14 29 +f 43 41 23 +f 23 29 43 +f 59 56 41 +f 41 43 59 +f 81 77 56 +f 56 59 81 +f 99 95 77 +f 77 81 99 +f 123 117 95 +f 95 99 123 +f 139 133 117 +f 117 123 139 +f 145 140 133 +f 133 139 145 +f 20 8 4 +f 4 16 20 +f 27 14 8 +f 8 20 27 +f 39 29 14 +f 14 27 39 +f 51 43 29 +f 29 39 51 +f 71 59 43 +f 43 51 71 +f 88 81 59 +f 59 71 88 +f 109 99 81 +f 81 88 109 +f 137 123 99 +f 99 109 137 +f 153 139 123 +f 123 137 153 +f 159 145 139 +f 139 153 159 +f 36 20 16 +f 16 34 36 +f 49 27 20 +f 20 36 49 +f 57 39 27 +f 27 49 57 +f 72 51 39 +f 39 57 72 +f 90 71 51 +f 51 72 90 +f 110 88 71 +f 71 90 110 +f 141 109 88 +f 88 110 141 +f 163 137 109 +f 109 141 163 +f 172 153 137 +f 137 163 172 +f 176 159 153 +f 153 172 176 +f 69 36 34 +f 34 67 69 +f 79 49 36 +f 36 69 79 +f 87 57 49 +f 49 79 87 +f 107 72 57 +f 57 87 107 +f 129 90 72 +f 72 107 129 +f 157 110 90 +f 90 129 157 +f 175 141 110 +f 110 157 175 +f 185 163 141 +f 141 175 185 +f 195 172 163 +f 163 185 195 +f 202 176 172 +f 172 195 202 +f 120 69 67 +f 67 114 120 +f 131 79 69 +f 69 120 131 +f 149 87 79 +f 79 131 149 +f 165 107 87 +f 87 149 165 +f 179 129 107 +f 107 165 179 +f 193 157 129 +f 129 179 193 +f 207 175 157 +f 157 193 207 +f 217 185 175 +f 175 207 217 +f 220 195 185 +f 185 217 220 +f 224 202 195 +f 195 220 224 +f 190 120 114 +f 114 189 190 +f 204 131 120 +f 120 190 204 +f 211 149 131 +f 131 204 211 +f 214 165 149 +f 149 211 214 +f 226 179 165 +f 165 214 226 +f 232 193 179 +f 179 226 232 +f 237 207 193 +f 193 232 237 +f 241 217 207 +f 207 237 241 +f 243 220 217 +f 217 241 243 +f 248 224 220 +f 220 243 248 +f 246 190 189 +f 189 242 246 +f 254 204 190 +f 190 246 254 +f 257 211 204 +f 204 254 257 +f 264 214 211 +f 211 257 264 +f 268 226 214 +f 214 264 268 +f 274 232 226 +f 226 268 274 +f 278 237 232 +f 232 274 278 +f 280 241 237 +f 237 278 280 +f 283 243 241 +f 241 280 283 +f 285 248 243 +f 243 283 285 +f 294 246 242 +f 242 292 294 +f 296 254 246 +f 246 294 296 +f 300 257 254 +f 254 296 300 +f 304 264 257 +f 257 300 304 +f 306 268 264 +f 264 304 306 +f 308 274 268 +f 268 306 308 +f 310 278 274 +f 274 308 310 +f 313 280 278 +f 278 310 313 +f 314 283 280 +f 280 313 314 +f 317 285 283 +f 283 314 317 +f 356 294 292 +f 292 358 356 +f 354 296 294 +f 294 356 354 +f 352 300 296 +f 296 354 352 +f 350 304 300 +f 300 352 350 +f 348 306 304 +f 304 350 348 +f 346 308 306 +f 306 348 346 +f 344 310 308 +f 308 346 344 +f 342 313 310 +f 310 344 342 +f 340 314 313 +f 313 342 340 +f 338 317 314 +f 314 340 338 +f 424 356 358 +f 358 426 424 +f 422 354 356 +f 356 424 422 +f 418 352 354 +f 354 422 418 +f 414 350 352 +f 352 418 414 +f 407 348 350 +f 350 414 407 +f 402 346 348 +f 348 407 402 +f 393 344 346 +f 346 402 393 +f 383 342 344 +f 344 393 383 +f 377 340 342 +f 342 383 377 +f 375 338 340 +f 340 377 375 +f 3186 3113 3115 +f 3115 3182 3186 +f 3192 3110 3113 +f 3113 3186 3192 +f 3196 3109 3110 +f 3110 3192 3196 +f 3205 3106 3109 +f 3109 3196 3205 +f 3211 3104 3106 +f 3106 3205 3211 +f 3215 3102 3104 +f 3104 3211 3215 +f 3217 3101 3102 +f 3102 3215 3217 +f 3220 3098 3101 +f 3101 3217 3220 +f 3222 3097 3098 +f 3098 3220 3222 +f 3223 3095 3097 +f 3097 3222 3223 +f 3227 3186 3182 +f 3182 3225 3227 +f 3229 3192 3186 +f 3186 3227 3229 +f 3231 3196 3192 +f 3192 3229 3231 +f 3233 3205 3196 +f 3196 3231 3233 +f 3235 3211 3205 +f 3205 3233 3235 +f 3241 3215 3211 +f 3211 3235 3241 +f 3245 3217 3215 +f 3215 3241 3245 +f 3249 3220 3217 +f 3217 3245 3249 +f 3251 3222 3220 +f 3220 3249 3251 +f 3253 3223 3222 +f 3222 3251 3253 +f 3239 3227 3225 +f 3225 3237 3239 +f 3243 3229 3227 +f 3227 3239 3243 +f 3247 3231 3229 +f 3229 3243 3247 +f 3257 3233 3231 +f 3231 3247 3257 +f 3263 3235 3233 +f 3233 3257 3263 +f 3271 3241 3235 +f 3235 3263 3271 +f 3279 3245 3241 +f 3241 3271 3279 +f 3285 3249 3245 +f 3245 3279 3285 +f 3293 3251 3249 +f 3249 3285 3293 +f 3297 3253 3251 +f 3251 3293 3297 +f 3259 3239 3237 +f 3237 3255 3259 +f 3261 3243 3239 +f 3239 3259 3261 +f 3265 3247 3243 +f 3243 3261 3265 +f 3275 3257 3247 +f 3247 3265 3275 +f 3287 3263 3257 +f 3257 3275 3287 +f 3303 3271 3263 +f 3263 3287 3303 +f 3314 3279 3271 +f 3271 3303 3314 +f 3320 3285 3279 +f 3279 3314 3320 +f 3330 3293 3285 +f 3285 3320 3330 +f 3332 3297 3293 +f 3293 3330 3332 +f 3270 3259 3255 +f 3255 3268 3270 +f 3273 3261 3259 +f 3259 3270 3273 +f 3283 3265 3261 +f 3261 3273 3283 +f 3299 3275 3265 +f 3265 3283 3299 +f 3308 3287 3275 +f 3275 3299 3308 +f 3322 3303 3287 +f 3287 3308 3322 +f 3338 3314 3303 +f 3303 3322 3338 +f 3346 3320 3314 +f 3314 3338 3346 +f 3351 3330 3320 +f 3320 3346 3351 +f 3355 3332 3330 +f 3330 3351 3355 +f 3282 3270 3268 +f 3268 3278 3282 +f 3290 3273 3270 +f 3270 3282 3290 +f 3302 3283 3273 +f 3273 3290 3302 +f 3312 3299 3283 +f 3283 3302 3312 +f 3324 3308 3299 +f 3299 3312 3324 +f 3340 3322 3308 +f 3308 3324 3340 +f 3353 3338 3322 +f 3322 3340 3353 +f 3368 3346 3338 +f 3338 3353 3368 +f 3373 3351 3346 +f 3346 3368 3373 +f 3379 3355 3351 +f 3351 3373 3379 +f 3295 3282 3278 +f 3278 3292 3295 +f 3306 3290 3282 +f 3282 3295 3306 +f 3316 3302 3290 +f 3290 3306 3316 +f 3326 3312 3302 +f 3302 3316 3326 +f 3345 3324 3312 +f 3312 3326 3345 +f 3359 3340 3324 +f 3324 3345 3359 +f 3376 3353 3340 +f 3340 3359 3376 +f 3394 3368 3353 +f 3353 3376 3394 +f 3404 3373 3368 +f 3368 3394 3404 +f 3406 3379 3373 +f 3373 3404 3406 +f 3310 3295 3292 +f 3292 3307 3310 +f 3318 3306 3295 +f 3295 3310 3318 +f 3336 3316 3306 +f 3306 3318 3336 +f 3348 3326 3316 +f 3316 3336 3348 +f 3369 3345 3326 +f 3326 3348 3369 +f 3389 3359 3345 +f 3345 3369 3389 +f 3425 3376 3359 +f 3359 3389 3425 +f 3449 3394 3376 +f 3376 3425 3449 +f 3468 3404 3394 +f 3394 3449 3468 +f 3472 3406 3404 +f 3404 3468 3472 +f 3335 3310 3307 +f 3307 3329 3335 +f 3343 3318 3310 +f 3310 3335 3343 +f 3362 3336 3318 +f 3318 3343 3362 +f 3386 3348 3336 +f 3336 3362 3386 +f 3422 3369 3348 +f 3348 3386 3422 +f 3464 3389 3369 +f 3369 3422 3464 +f 3490 3425 3389 +f 3389 3464 3490 +f 3505 3449 3425 +f 3425 3490 3505 +f 3521 3468 3449 +f 3449 3505 3521 +f 3523 3472 3468 +f 3468 3521 3523 +f 3364 3335 3329 +f 3329 3357 3364 +f 3382 3343 3335 +f 3335 3364 3382 +f 3416 3362 3343 +f 3343 3382 3416 +f 3465 3386 3362 +f 3362 3416 3465 +f 3495 3422 3386 +f 3386 3465 3495 +f 3528 3464 3422 +f 3422 3495 3528 +f 3553 3490 3464 +f 3464 3528 3553 +f 3579 3505 3490 +f 3490 3553 3579 +f 3592 3521 3505 +f 3505 3579 3592 +f 3604 3523 3521 +f 3521 3592 3604 +f 3221 3096 3094 +f 3094 3224 3221 +f 3219 3099 3096 +f 3096 3221 3219 +f 3218 3100 3099 +f 3099 3219 3218 +f 3216 3103 3100 +f 3100 3218 3216 +f 3212 3105 3103 +f 3103 3216 3212 +f 3206 3107 3105 +f 3105 3212 3206 +f 3197 3108 3107 +f 3107 3206 3197 +f 3193 3111 3108 +f 3108 3197 3193 +f 3187 3112 3111 +f 3111 3193 3187 +f 3183 3114 3112 +f 3112 3187 3183 +f 3252 3221 3224 +f 3224 3254 3252 +f 3250 3219 3221 +f 3221 3252 3250 +f 3246 3218 3219 +f 3219 3250 3246 +f 3242 3216 3218 +f 3218 3246 3242 +f 3236 3212 3216 +f 3216 3242 3236 +f 3234 3206 3212 +f 3212 3236 3234 +f 3232 3197 3206 +f 3206 3234 3232 +f 3230 3193 3197 +f 3197 3232 3230 +f 3228 3187 3193 +f 3193 3230 3228 +f 3226 3183 3187 +f 3187 3228 3226 +f 3294 3252 3254 +f 3254 3298 3294 +f 3286 3250 3252 +f 3252 3294 3286 +f 3280 3246 3250 +f 3250 3286 3280 +f 3272 3242 3246 +f 3246 3280 3272 +f 3264 3236 3242 +f 3242 3272 3264 +f 3258 3234 3236 +f 3236 3264 3258 +f 3248 3232 3234 +f 3234 3258 3248 +f 3244 3230 3232 +f 3232 3248 3244 +f 3240 3228 3230 +f 3230 3244 3240 +f 3238 3226 3228 +f 3228 3240 3238 +f 3331 3294 3298 +f 3298 3333 3331 +f 3321 3286 3294 +f 3294 3331 3321 +f 3315 3280 3286 +f 3286 3321 3315 +f 3304 3272 3280 +f 3280 3315 3304 +f 3288 3264 3272 +f 3272 3304 3288 +f 3276 3258 3264 +f 3264 3288 3276 +f 3266 3248 3258 +f 3258 3276 3266 +f 3262 3244 3248 +f 3248 3266 3262 +f 3260 3240 3244 +f 3244 3262 3260 +f 3256 3238 3240 +f 3240 3260 3256 +f 3350 3331 3333 +f 3333 3354 3350 +f 3347 3321 3331 +f 3331 3350 3347 +f 3339 3315 3321 +f 3321 3347 3339 +f 3323 3304 3315 +f 3315 3339 3323 +f 3309 3288 3304 +f 3304 3323 3309 +f 3300 3276 3288 +f 3288 3309 3300 +f 3284 3266 3276 +f 3276 3300 3284 +f 3274 3262 3266 +f 3266 3284 3274 +f 3269 3260 3262 +f 3262 3274 3269 +f 3267 3256 3260 +f 3260 3269 3267 +f 3372 3350 3354 +f 3354 3378 3372 +f 3367 3347 3350 +f 3350 3372 3367 +f 3352 3339 3347 +f 3347 3367 3352 +f 3341 3323 3339 +f 3339 3352 3341 +f 3325 3309 3323 +f 3323 3341 3325 +f 3313 3300 3309 +f 3309 3325 3313 +f 3301 3284 3300 +f 3300 3313 3301 +f 3289 3274 3284 +f 3284 3301 3289 +f 3281 3269 3274 +f 3274 3289 3281 +f 3277 3267 3269 +f 3269 3281 3277 +f 3403 3372 3378 +f 3378 3405 3403 +f 3393 3367 3372 +f 3372 3403 3393 +f 3377 3352 3367 +f 3367 3393 3377 +f 3360 3341 3352 +f 3352 3377 3360 +f 3344 3325 3341 +f 3341 3360 3344 +f 3327 3313 3325 +f 3325 3344 3327 +f 3317 3301 3313 +f 3313 3327 3317 +f 3305 3289 3301 +f 3301 3317 3305 +f 3296 3281 3289 +f 3289 3305 3296 +f 3291 3277 3281 +f 3281 3296 3291 +f 3469 3403 3405 +f 3405 3472 3469 +f 3450 3393 3403 +f 3403 3469 3450 +f 3426 3377 3393 +f 3393 3450 3426 +f 3390 3360 3377 +f 3377 3426 3390 +f 3370 3344 3360 +f 3360 3390 3370 +f 3349 3327 3344 +f 3344 3370 3349 +f 3337 3317 3327 +f 3327 3349 3337 +f 3319 3305 3317 +f 3317 3337 3319 +f 3311 3296 3305 +f 3305 3319 3311 +f 3307 3291 3296 +f 3296 3311 3307 +f 3520 3469 3472 +f 3472 3522 3520 +f 3504 3450 3469 +f 3469 3520 3504 +f 3489 3426 3450 +f 3450 3504 3489 +f 3463 3390 3426 +f 3426 3489 3463 +f 3421 3370 3390 +f 3390 3463 3421 +f 3385 3349 3370 +f 3370 3421 3385 +f 3361 3337 3349 +f 3349 3385 3361 +f 3342 3319 3337 +f 3337 3361 3342 +f 3334 3311 3319 +f 3319 3342 3334 +f 3328 3307 3311 +f 3311 3334 3328 +f 3591 3520 3522 +f 3522 3603 3591 +f 3578 3504 3520 +f 3520 3591 3578 +f 3552 3489 3504 +f 3504 3578 3552 +f 3530 3463 3489 +f 3489 3552 3530 +f 3499 3421 3463 +f 3463 3530 3499 +f 3467 3385 3421 +f 3421 3499 3467 +f 3415 3361 3385 +f 3385 3467 3415 +f 3381 3342 3361 +f 3361 3415 3381 +f 3363 3334 3342 +f 3342 3381 3363 +f 3356 3328 3334 +f 3334 3363 3356 +f 3374 3365 3358 +f 3358 3371 3374 +f 3395 3383 3365 +f 3365 3374 3395 +f 3443 3417 3383 +f 3383 3395 3443 +f 3481 3466 3417 +f 3417 3443 3481 +f 3514 3496 3466 +f 3466 3481 3514 +f 3545 3529 3496 +f 3496 3514 3545 +f 3573 3551 3529 +f 3529 3545 3573 +f 3597 3577 3551 +f 3551 3573 3597 +f 3613 3590 3577 +f 3577 3597 3613 +f 3619 3603 3590 +f 3590 3613 3619 +f 3387 3374 3371 +f 3371 3380 3387 +f 3413 3395 3374 +f 3374 3387 3413 +f 3461 3443 3395 +f 3395 3413 3461 +f 3493 3481 3443 +f 3443 3461 3493 +f 3524 3514 3481 +f 3481 3493 3524 +f 3556 3545 3514 +f 3514 3524 3556 +f 3584 3573 3545 +f 3545 3556 3584 +f 3611 3597 3573 +f 3573 3584 3611 +f 3628 3613 3597 +f 3597 3611 3628 +f 3632 3619 3613 +f 3613 3628 3632 +f 3398 3387 3380 +f 3380 3391 3398 +f 3435 3413 3387 +f 3387 3398 3435 +f 3473 3461 3413 +f 3413 3435 3473 +f 3500 3493 3461 +f 3461 3473 3500 +f 3531 3524 3493 +f 3493 3500 3531 +f 3562 3556 3524 +f 3524 3531 3562 +f 3595 3584 3556 +f 3556 3562 3595 +f 3617 3611 3584 +f 3584 3595 3617 +f 3633 3628 3611 +f 3611 3617 3633 +f 3641 3632 3628 +f 3628 3633 3641 +f 3409 3398 3391 +f 3391 3400 3409 +f 3447 3435 3398 +f 3398 3409 3447 +f 3477 3473 3435 +f 3435 3447 3477 +f 3506 3500 3473 +f 3473 3477 3506 +f 3540 3531 3500 +f 3500 3506 3540 +f 3567 3562 3531 +f 3531 3540 3567 +f 3601 3595 3562 +f 3562 3567 3601 +f 3624 3617 3595 +f 3595 3601 3624 +f 3639 3633 3617 +f 3617 3624 3639 +f 3644 3641 3633 +f 3633 3639 3644 +f 3433 3409 3400 +f 3400 3411 3433 +f 3453 3447 3409 +f 3409 3433 3453 +f 3483 3477 3447 +f 3447 3453 3483 +f 3510 3506 3477 +f 3477 3483 3510 +f 3543 3540 3506 +f 3506 3510 3543 +f 3569 3567 3540 +f 3540 3543 3569 +f 3599 3601 3567 +f 3567 3569 3599 +f 3622 3624 3601 +f 3601 3599 3622 +f 3637 3639 3624 +f 3624 3622 3637 +f 3642 3644 3639 +f 3639 3637 3642 +f 3439 3433 3411 +f 3411 3424 3439 +f 3458 3453 3433 +f 3433 3439 3458 +f 3487 3483 3453 +f 3453 3458 3487 +f 3513 3510 3483 +f 3483 3487 3513 +f 3542 3543 3510 +f 3510 3513 3542 +f 3566 3569 3543 +f 3543 3542 3566 +f 3593 3599 3569 +f 3569 3566 3593 +f 3616 3622 3599 +f 3599 3593 3616 +f 3630 3637 3622 +f 3622 3616 3630 +f 3636 3642 3637 +f 3637 3630 3636 +f 3441 3439 3424 +f 3424 3429 3441 +f 3459 3458 3439 +f 3439 3441 3459 +f 3485 3487 3458 +f 3458 3459 3485 +f 3508 3513 3487 +f 3487 3485 3508 +f 3533 3542 3513 +f 3513 3508 3533 +f 3558 3566 3542 +f 3542 3533 3558 +f 3582 3593 3566 +f 3566 3558 3582 +f 3607 3616 3593 +f 3593 3582 3607 +f 3620 3630 3616 +f 3616 3607 3620 +f 3626 3636 3630 +f 3630 3620 3626 +f 3437 3441 3429 +f 3429 3427 3437 +f 3455 3459 3441 +f 3441 3437 3455 +f 3479 3485 3459 +f 3459 3455 3479 +f 3502 3508 3485 +f 3485 3479 3502 +f 3526 3533 3508 +f 3508 3502 3526 +f 3547 3558 3533 +f 3533 3526 3547 +f 3571 3582 3558 +f 3558 3547 3571 +f 3588 3607 3582 +f 3582 3571 3588 +f 3605 3620 3607 +f 3607 3588 3605 +f 3609 3626 3620 +f 3620 3605 3609 +f 3419 3437 3427 +f 3427 3408 3419 +f 3445 3455 3437 +f 3437 3419 3445 +f 3470 3479 3455 +f 3455 3445 3470 +f 3492 3502 3479 +f 3479 3470 3492 +f 3517 3526 3502 +f 3502 3492 3517 +f 3536 3547 3526 +f 3526 3517 3536 +f 3554 3571 3547 +f 3547 3536 3554 +f 3575 3588 3571 +f 3571 3554 3575 +f 3580 3605 3588 +f 3588 3575 3580 +f 3587 3609 3605 +f 3605 3580 3587 +f 3401 3419 3408 +f 3408 3397 3401 +f 3431 3445 3419 +f 3419 3401 3431 +f 3451 3470 3445 +f 3445 3431 3451 +f 3475 3492 3470 +f 3470 3451 3475 +f 3497 3517 3492 +f 3492 3475 3497 +f 3518 3536 3517 +f 3517 3497 3518 +f 3537 3554 3536 +f 3536 3518 3537 +f 3549 3575 3554 +f 3554 3537 3549 +f 3560 3580 3575 +f 3575 3549 3560 +f 3564 3587 3580 +f 3580 3560 3564 +f 3614 3591 3603 +f 3603 3619 3614 +f 3598 3578 3591 +f 3591 3614 3598 +f 3574 3552 3578 +f 3578 3598 3574 +f 3546 3530 3552 +f 3552 3574 3546 +f 3515 3499 3530 +f 3530 3546 3515 +f 3482 3467 3499 +f 3499 3515 3482 +f 3444 3418 3467 +f 3467 3482 3444 +f 3396 3384 3418 +f 3418 3444 3396 +f 3375 3366 3384 +f 3384 3396 3375 +f 3371 3358 3366 +f 3366 3375 3371 +f 3629 3614 3619 +f 3619 3632 3629 +f 3612 3598 3614 +f 3614 3629 3612 +f 3585 3574 3598 +f 3598 3612 3585 +f 3557 3546 3574 +f 3574 3585 3557 +f 3525 3515 3546 +f 3546 3557 3525 +f 3494 3482 3515 +f 3515 3525 3494 +f 3462 3444 3482 +f 3482 3494 3462 +f 3414 3396 3444 +f 3444 3462 3414 +f 3388 3375 3396 +f 3396 3414 3388 +f 3380 3371 3375 +f 3375 3388 3380 +f 3634 3629 3632 +f 3632 3641 3634 +f 3618 3612 3629 +f 3629 3634 3618 +f 3596 3585 3612 +f 3612 3618 3596 +f 3563 3557 3585 +f 3585 3596 3563 +f 3532 3525 3557 +f 3557 3563 3532 +f 3501 3494 3525 +f 3525 3532 3501 +f 3474 3462 3494 +f 3494 3501 3474 +f 3436 3414 3462 +f 3462 3474 3436 +f 3399 3388 3414 +f 3414 3436 3399 +f 3392 3380 3388 +f 3388 3399 3392 +f 3640 3634 3641 +f 3641 3644 3640 +f 3625 3618 3634 +f 3634 3640 3625 +f 3602 3596 3618 +f 3618 3625 3602 +f 3568 3563 3596 +f 3596 3602 3568 +f 3539 3532 3563 +f 3563 3568 3539 +f 3507 3501 3532 +f 3532 3539 3507 +f 3478 3474 3501 +f 3501 3507 3478 +f 3448 3436 3474 +f 3474 3478 3448 +f 3410 3399 3436 +f 3436 3448 3410 +f 3400 3392 3399 +f 3399 3410 3400 +f 3638 3640 3644 +f 3644 3643 3638 +f 3623 3625 3640 +f 3640 3638 3623 +f 3600 3602 3625 +f 3625 3623 3600 +f 3570 3568 3602 +f 3602 3600 3570 +f 3544 3539 3568 +f 3568 3570 3544 +f 3511 3507 3539 +f 3539 3544 3511 +f 3484 3478 3507 +f 3507 3511 3484 +f 3454 3448 3478 +f 3478 3484 3454 +f 3434 3410 3448 +f 3448 3454 3434 +f 3412 3400 3410 +f 3410 3434 3412 +f 3631 3638 3643 +f 3643 3635 3631 +f 3615 3623 3638 +f 3638 3631 3615 +f 3594 3600 3623 +f 3623 3615 3594 +f 3565 3570 3600 +f 3600 3594 3565 +f 3541 3544 3570 +f 3570 3565 3541 +f 3512 3511 3544 +f 3544 3541 3512 +f 3488 3484 3511 +f 3511 3512 3488 +f 3457 3454 3484 +f 3484 3488 3457 +f 3440 3434 3454 +f 3454 3457 3440 +f 3423 3412 3434 +f 3434 3440 3423 +f 3621 3631 3635 +f 3635 3627 3621 +f 3608 3615 3631 +f 3631 3621 3608 +f 3583 3594 3615 +f 3615 3608 3583 +f 3559 3565 3594 +f 3594 3583 3559 +f 3534 3541 3565 +f 3565 3559 3534 +f 3509 3512 3541 +f 3541 3534 3509 +f 3486 3488 3512 +f 3512 3509 3486 +f 3460 3457 3488 +f 3488 3486 3460 +f 3442 3440 3457 +f 3457 3460 3442 +f 3430 3423 3440 +f 3440 3442 3430 +f 3606 3621 3627 +f 3627 3610 3606 +f 3589 3608 3621 +f 3621 3606 3589 +f 3572 3583 3608 +f 3608 3589 3572 +f 3548 3559 3583 +f 3583 3572 3548 +f 3527 3534 3559 +f 3559 3548 3527 +f 3503 3509 3534 +f 3534 3527 3503 +f 3480 3486 3509 +f 3509 3503 3480 +f 3456 3460 3486 +f 3486 3480 3456 +f 3438 3442 3460 +f 3460 3456 3438 +f 3428 3430 3442 +f 3442 3438 3428 +f 3581 3606 3610 +f 3610 3586 3581 +f 3576 3589 3606 +f 3606 3581 3576 +f 3555 3572 3589 +f 3589 3576 3555 +f 3535 3548 3572 +f 3572 3555 3535 +f 3516 3527 3548 +f 3548 3535 3516 +f 3491 3503 3527 +f 3527 3516 3491 +f 3471 3480 3503 +f 3503 3491 3471 +f 3446 3456 3480 +f 3480 3471 3446 +f 3420 3438 3456 +f 3456 3446 3420 +f 3407 3428 3438 +f 3438 3420 3407 +f 3561 3581 3586 +f 3586 3564 3561 +f 3550 3576 3581 +f 3581 3561 3550 +f 3538 3555 3576 +f 3576 3550 3538 +f 3519 3535 3555 +f 3555 3538 3519 +f 3498 3516 3535 +f 3535 3519 3498 +f 3476 3491 3516 +f 3516 3498 3476 +f 3452 3471 3491 +f 3491 3476 3452 +f 3432 3446 3471 +f 3471 3452 3432 +f 3402 3420 3446 +f 3446 3432 3402 +f 3397 3407 3420 +f 3420 3402 3397 +f 1888 2110 2104 +f 1888 2104 2096 +f 1888 2096 2076 +f 1888 2076 2048 +f 1888 2048 2030 +f 1888 2030 2006 +f 1888 2006 1982 +f 1888 1982 1960 +f 1888 1960 1936 +f 1888 1936 1732 +f 2257 2104 2110 +f 2110 2261 2257 +f 2249 2096 2104 +f 2104 2257 2249 +f 2226 2076 2096 +f 2096 2249 2226 +f 2200 2048 2076 +f 2076 2226 2200 +f 2142 2030 2048 +f 2048 2200 2142 +f 2094 2006 2030 +f 2030 2142 2094 +f 2036 1982 2006 +f 2006 2094 2036 +f 1988 1960 1982 +f 1982 2036 1988 +f 1948 1936 1960 +f 1960 1988 1948 +f 1728 1732 1936 +f 1936 1948 1728 +f 2310 2257 2261 +f 2261 2315 2310 +f 2300 2249 2257 +f 2257 2310 2300 +f 2279 2226 2249 +f 2249 2300 2279 +f 2243 2200 2226 +f 2226 2279 2243 +f 2204 2142 2200 +f 2200 2243 2204 +f 2132 2094 2142 +f 2142 2204 2132 +f 2067 2036 2094 +f 2094 2132 2067 +f 2000 1988 2036 +f 2036 2067 2000 +f 1956 1948 1988 +f 1988 2000 1956 +f 1734 1728 1948 +f 1948 1956 1734 +f 2312 2310 2315 +f 2315 2316 2312 +f 2302 2300 2310 +f 2310 2312 2302 +f 2281 2279 2300 +f 2300 2302 2281 +f 2245 2243 2279 +f 2279 2281 2245 +f 2206 2204 2243 +f 2243 2245 2206 +f 2134 2132 2204 +f 2204 2206 2134 +f 2068 2067 2132 +f 2132 2134 2068 +f 2002 2000 2067 +f 2067 2068 2002 +f 1958 1956 2000 +f 2000 2002 1958 +f 1878 1734 1956 +f 1956 1958 1878 +f 2285 2312 2316 +f 2316 2289 2285 +f 2259 2302 2312 +f 2312 2285 2259 +f 2241 2281 2302 +f 2302 2259 2241 +f 2214 2245 2281 +f 2281 2241 2214 +f 2168 2206 2245 +f 2245 2214 2168 +f 2106 2134 2206 +f 2206 2168 2106 +f 2042 2068 2134 +f 2134 2106 2042 +f 1994 2002 2068 +f 2068 2042 1994 +f 1952 1958 2002 +f 2002 1994 1952 +f 1731 1878 1958 +f 1958 1952 1731 +f 2220 2285 2289 +f 2289 2225 2220 +f 2210 2259 2285 +f 2285 2220 2210 +f 2186 2241 2259 +f 2259 2210 2186 +f 2146 2214 2241 +f 2241 2186 2146 +f 2108 2168 2214 +f 2214 2146 2108 +f 2060 2106 2168 +f 2168 2108 2060 +f 2018 2042 2106 +f 2106 2060 2018 +f 1978 1994 2042 +f 2042 2018 1978 +f 1944 1952 1994 +f 1994 1978 1944 +f 1727 1731 1952 +f 1952 1944 1727 +f 2141 2220 2225 +f 2225 2145 2141 +f 2127 2210 2220 +f 2220 2141 2127 +f 2112 2186 2210 +f 2210 2127 2112 +f 2084 2146 2186 +f 2186 2112 2084 +f 2044 2108 2146 +f 2146 2084 2044 +f 2024 2060 2108 +f 2108 2044 2024 +f 1992 2018 2060 +f 2060 2024 1992 +f 1970 1978 2018 +f 2018 1992 1970 +f 1942 1944 1978 +f 1978 1970 1942 +f 1721 1727 1944 +f 1944 1942 1721 +f 2079 2141 2145 +f 2145 2087 2079 +f 2075 2127 2141 +f 2141 2079 2075 +f 2055 2112 2127 +f 2127 2075 2055 +f 2039 2084 2112 +f 2112 2055 2039 +f 2021 2044 2084 +f 2084 2039 2021 +f 1996 2024 2044 +f 2044 2021 1996 +f 1974 1992 2024 +f 2024 1996 1974 +f 1954 1970 1992 +f 1992 1974 1954 +f 1934 1942 1970 +f 1970 1954 1934 +f 1720 1721 1942 +f 1942 1934 1720 +f 2063 2079 2087 +f 2087 2071 2063 +f 2051 2075 2079 +f 2079 2063 2051 +f 2041 2055 2075 +f 2075 2051 2041 +f 2029 2039 2055 +f 2055 2041 2029 +f 2013 2021 2039 +f 2039 2029 2013 +f 1991 1996 2021 +f 2021 2013 1991 +f 1972 1974 1996 +f 1996 1991 1972 +f 1950 1954 1974 +f 1974 1972 1950 +f 1932 1934 1954 +f 1954 1950 1932 +f 1701 1720 1934 +f 1934 1932 1701 +f 2115 2063 2071 +f 2071 2123 2115 +f 2101 2051 2063 +f 2063 2115 2101 +f 2081 2041 2051 +f 2051 2101 2081 +f 2057 2029 2041 +f 2041 2081 2057 +f 2033 2013 2029 +f 2029 2057 2033 +f 2009 1991 2013 +f 2013 2033 2009 +f 1984 1972 1991 +f 1991 2009 1984 +f 1964 1950 1972 +f 1972 1984 1964 +f 1938 1932 1950 +f 1950 1964 1938 +f 1698 1701 1932 +f 1932 1938 1698 +f 1888 1886 1686 +f 1888 1686 1662 +f 1888 1662 1640 +f 1888 1640 1616 +f 1888 1616 1592 +f 1888 1592 1574 +f 1888 1574 1546 +f 1888 1546 1526 +f 1888 1526 1518 +f 1888 1518 1512 +f 1674 1686 1886 +f 1886 1884 1674 +f 1634 1662 1686 +f 1686 1674 1634 +f 1586 1640 1662 +f 1662 1634 1586 +f 1528 1616 1640 +f 1640 1586 1528 +f 1480 1592 1616 +f 1616 1528 1480 +f 1422 1574 1592 +f 1592 1480 1422 +f 1396 1546 1574 +f 1574 1422 1396 +f 1373 1526 1546 +f 1546 1396 1373 +f 1365 1518 1526 +f 1526 1373 1365 +f 1361 1512 1518 +f 1518 1365 1361 +f 1666 1674 1884 +f 1884 1882 1666 +f 1622 1634 1674 +f 1674 1666 1622 +f 1557 1586 1634 +f 1634 1622 1557 +f 1490 1528 1586 +f 1586 1557 1490 +f 1418 1480 1528 +f 1528 1490 1418 +f 1379 1422 1480 +f 1480 1418 1379 +f 1343 1396 1422 +f 1422 1379 1343 +f 1322 1373 1396 +f 1396 1343 1322 +f 1312 1365 1373 +f 1373 1322 1312 +f 1309 1361 1365 +f 1365 1312 1309 +f 1664 1666 1882 +f 1882 1879 1664 +f 1620 1622 1666 +f 1666 1664 1620 +f 1554 1557 1622 +f 1622 1620 1554 +f 1488 1490 1557 +f 1557 1554 1488 +f 1416 1418 1490 +f 1490 1488 1416 +f 1377 1379 1418 +f 1418 1416 1377 +f 1341 1343 1379 +f 1379 1377 1341 +f 1320 1322 1343 +f 1343 1341 1320 +f 1310 1312 1322 +f 1322 1320 1310 +f 1306 1309 1312 +f 1312 1310 1306 +f 1670 1664 1879 +f 1879 1876 1670 +f 1628 1620 1664 +f 1664 1670 1628 +f 1580 1554 1620 +f 1620 1628 1580 +f 1516 1488 1554 +f 1554 1580 1516 +f 1454 1416 1488 +f 1488 1516 1454 +f 1408 1377 1416 +f 1416 1454 1408 +f 1381 1341 1377 +f 1377 1408 1381 +f 1363 1320 1341 +f 1341 1381 1363 +f 1337 1310 1320 +f 1320 1363 1337 +f 1333 1306 1310 +f 1310 1337 1333 +f 1678 1670 1876 +f 1876 1874 1678 +f 1644 1628 1670 +f 1670 1678 1644 +f 1604 1580 1628 +f 1628 1644 1604 +f 1562 1516 1580 +f 1580 1604 1562 +f 1514 1454 1516 +f 1516 1562 1514 +f 1476 1408 1454 +f 1454 1514 1476 +f 1436 1381 1408 +f 1408 1476 1436 +f 1412 1363 1381 +f 1381 1436 1412 +f 1402 1337 1363 +f 1363 1412 1402 +f 1399 1333 1337 +f 1337 1402 1399 +f 1680 1678 1874 +f 1874 1872 1680 +f 1652 1644 1678 +f 1678 1680 1652 +f 1630 1604 1644 +f 1644 1652 1630 +f 1598 1562 1604 +f 1604 1630 1598 +f 1578 1514 1562 +f 1562 1598 1578 +f 1538 1476 1514 +f 1514 1578 1538 +f 1510 1436 1476 +f 1476 1538 1510 +f 1497 1412 1436 +f 1436 1510 1497 +f 1483 1402 1412 +f 1412 1497 1483 +f 1479 1399 1402 +f 1402 1483 1479 +f 1688 1680 1872 +f 1872 1870 1688 +f 1668 1652 1680 +f 1680 1688 1668 +f 1648 1630 1652 +f 1652 1668 1648 +f 1626 1598 1630 +f 1630 1648 1626 +f 1603 1578 1598 +f 1598 1626 1603 +f 1585 1538 1578 +f 1578 1603 1585 +f 1569 1510 1538 +f 1538 1585 1569 +f 1549 1497 1510 +f 1510 1569 1549 +f 1545 1483 1497 +f 1497 1549 1545 +f 1537 1479 1483 +f 1483 1545 1537 +f 1690 1688 1870 +f 1870 1868 1690 +f 1672 1668 1688 +f 1688 1690 1672 +f 1650 1648 1668 +f 1668 1672 1650 +f 1633 1626 1648 +f 1648 1650 1633 +f 1611 1603 1626 +f 1626 1633 1611 +f 1595 1585 1603 +f 1603 1611 1595 +f 1583 1569 1585 +f 1585 1595 1583 +f 1573 1549 1569 +f 1569 1583 1573 +f 1561 1545 1549 +f 1549 1573 1561 +f 1553 1537 1545 +f 1545 1561 1553 +f 1684 1690 1868 +f 1868 1865 1684 +f 1658 1672 1690 +f 1690 1684 1658 +f 1638 1650 1672 +f 1672 1658 1638 +f 1615 1633 1650 +f 1650 1638 1615 +f 1591 1611 1633 +f 1633 1615 1591 +f 1567 1595 1611 +f 1611 1591 1567 +f 1543 1583 1595 +f 1595 1567 1543 +f 1523 1573 1583 +f 1583 1543 1523 +f 1509 1561 1573 +f 1573 1523 1509 +f 1501 1553 1561 +f 1561 1509 1501 +f 1888 1513 1519 +f 1888 1519 1527 +f 1888 1527 1547 +f 1888 1547 1575 +f 1888 1575 1593 +f 1888 1593 1617 +f 1888 1617 1641 +f 1888 1641 1663 +f 1888 1663 1687 +f 1888 1687 1894 +f 1366 1519 1513 +f 1513 1362 1366 +f 1374 1527 1519 +f 1519 1366 1374 +f 1397 1547 1527 +f 1527 1374 1397 +f 1423 1575 1547 +f 1547 1397 1423 +f 1481 1593 1575 +f 1575 1423 1481 +f 1529 1617 1593 +f 1593 1481 1529 +f 1587 1641 1617 +f 1617 1529 1587 +f 1635 1663 1641 +f 1641 1587 1635 +f 1675 1687 1663 +f 1663 1635 1675 +f 1895 1894 1687 +f 1687 1675 1895 +f 1313 1366 1362 +f 1362 1308 1313 +f 1323 1374 1366 +f 1366 1313 1323 +f 1344 1397 1374 +f 1374 1323 1344 +f 1380 1423 1397 +f 1397 1344 1380 +f 1419 1481 1423 +f 1423 1380 1419 +f 1491 1529 1481 +f 1481 1419 1491 +f 1556 1587 1529 +f 1529 1491 1556 +f 1623 1635 1587 +f 1587 1556 1623 +f 1667 1675 1635 +f 1635 1623 1667 +f 1890 1895 1675 +f 1675 1667 1890 +f 1311 1313 1308 +f 1308 1307 1311 +f 1321 1323 1313 +f 1313 1311 1321 +f 1342 1344 1323 +f 1323 1321 1342 +f 1378 1380 1344 +f 1344 1342 1378 +f 1417 1419 1380 +f 1380 1378 1417 +f 1489 1491 1419 +f 1419 1417 1489 +f 1555 1556 1491 +f 1491 1489 1555 +f 1621 1623 1556 +f 1556 1555 1621 +f 1665 1667 1623 +f 1623 1621 1665 +f 1881 1890 1667 +f 1667 1665 1881 +f 1338 1311 1307 +f 1307 1334 1338 +f 1364 1321 1311 +f 1311 1338 1364 +f 1382 1342 1321 +f 1321 1364 1382 +f 1409 1378 1342 +f 1342 1382 1409 +f 1455 1417 1378 +f 1378 1409 1455 +f 1517 1489 1417 +f 1417 1455 1517 +f 1581 1555 1489 +f 1489 1517 1581 +f 1629 1621 1555 +f 1555 1581 1629 +f 1671 1665 1621 +f 1621 1629 1671 +f 1893 1881 1665 +f 1665 1671 1893 +f 1403 1338 1334 +f 1334 1398 1403 +f 1413 1364 1338 +f 1338 1403 1413 +f 1437 1382 1364 +f 1364 1413 1437 +f 1477 1409 1382 +f 1382 1437 1477 +f 1515 1455 1409 +f 1409 1477 1515 +f 1563 1517 1455 +f 1455 1515 1563 +f 1605 1581 1517 +f 1517 1563 1605 +f 1645 1629 1581 +f 1581 1605 1645 +f 1679 1671 1629 +f 1629 1645 1679 +f 1900 1893 1671 +f 1671 1679 1900 +f 1482 1403 1398 +f 1398 1478 1482 +f 1496 1413 1403 +f 1403 1482 1496 +f 1511 1437 1413 +f 1413 1496 1511 +f 1539 1477 1437 +f 1437 1511 1539 +f 1579 1515 1477 +f 1477 1539 1579 +f 1599 1563 1515 +f 1515 1579 1599 +f 1631 1605 1563 +f 1563 1599 1631 +f 1653 1645 1605 +f 1605 1631 1653 +f 1681 1679 1645 +f 1645 1653 1681 +f 1902 1900 1679 +f 1679 1681 1902 +f 1544 1482 1478 +f 1478 1536 1544 +f 1548 1496 1482 +f 1482 1544 1548 +f 1568 1511 1496 +f 1496 1548 1568 +f 1584 1539 1511 +f 1511 1568 1584 +f 1602 1579 1539 +f 1539 1584 1602 +f 1627 1599 1579 +f 1579 1602 1627 +f 1649 1631 1599 +f 1599 1627 1649 +f 1669 1653 1631 +f 1631 1649 1669 +f 1689 1681 1653 +f 1653 1669 1689 +f 1921 1902 1681 +f 1681 1689 1921 +f 1560 1544 1536 +f 1536 1552 1560 +f 1572 1548 1544 +f 1544 1560 1572 +f 1582 1568 1548 +f 1548 1572 1582 +f 1594 1584 1568 +f 1568 1582 1594 +f 1610 1602 1584 +f 1584 1594 1610 +f 1632 1627 1602 +f 1602 1610 1632 +f 1651 1649 1627 +f 1627 1632 1651 +f 1673 1669 1649 +f 1649 1651 1673 +f 1691 1689 1669 +f 1669 1673 1691 +f 1922 1921 1689 +f 1689 1691 1922 +f 1508 1560 1552 +f 1552 1500 1508 +f 1522 1572 1560 +f 1560 1508 1522 +f 1542 1582 1572 +f 1572 1522 1542 +f 1566 1594 1582 +f 1582 1542 1566 +f 1590 1610 1594 +f 1594 1566 1590 +f 1614 1632 1610 +f 1610 1590 1614 +f 1639 1651 1632 +f 1632 1614 1639 +f 1659 1673 1651 +f 1651 1639 1659 +f 1685 1691 1673 +f 1673 1659 1685 +f 1928 1922 1691 +f 1691 1685 1928 +f 1888 1887 1937 +f 1888 1937 1961 +f 1888 1961 1983 +f 1888 1983 2007 +f 1888 2007 2031 +f 1888 2031 2049 +f 1888 2049 2077 +f 1888 2077 2097 +f 1888 2097 2105 +f 1888 2105 2111 +f 1949 1937 1887 +f 1887 1885 1949 +f 1989 1961 1937 +f 1937 1949 1989 +f 2037 1983 1961 +f 1961 1989 2037 +f 2095 2007 1983 +f 1983 2037 2095 +f 2143 2031 2007 +f 2007 2095 2143 +f 2201 2049 2031 +f 2031 2143 2201 +f 2227 2077 2049 +f 2049 2201 2227 +f 2250 2097 2077 +f 2077 2227 2250 +f 2258 2105 2097 +f 2097 2250 2258 +f 2262 2111 2105 +f 2105 2258 2262 +f 1957 1949 1885 +f 1885 1883 1957 +f 2001 1989 1949 +f 1949 1957 2001 +f 2066 2037 1989 +f 1989 2001 2066 +f 2133 2095 2037 +f 2037 2066 2133 +f 2205 2143 2095 +f 2095 2133 2205 +f 2244 2201 2143 +f 2143 2205 2244 +f 2280 2227 2201 +f 2201 2244 2280 +f 2301 2250 2227 +f 2227 2280 2301 +f 2311 2258 2250 +f 2250 2301 2311 +f 2314 2262 2258 +f 2258 2311 2314 +f 1959 1957 1883 +f 1883 1880 1959 +f 2003 2001 1957 +f 1957 1959 2003 +f 2069 2066 2001 +f 2001 2003 2069 +f 2135 2133 2066 +f 2066 2069 2135 +f 2207 2205 2133 +f 2133 2135 2207 +f 2246 2244 2205 +f 2205 2207 2246 +f 2282 2280 2244 +f 2244 2246 2282 +f 2303 2301 2280 +f 2280 2282 2303 +f 2313 2311 2301 +f 2301 2303 2313 +f 2317 2314 2311 +f 2311 2313 2317 +f 1953 1959 1880 +f 1880 1877 1953 +f 1995 2003 1959 +f 1959 1953 1995 +f 2043 2069 2003 +f 2003 1995 2043 +f 2107 2135 2069 +f 2069 2043 2107 +f 2169 2207 2135 +f 2135 2107 2169 +f 2215 2246 2207 +f 2207 2169 2215 +f 2242 2282 2246 +f 2246 2215 2242 +f 2260 2303 2282 +f 2282 2242 2260 +f 2286 2313 2303 +f 2303 2260 2286 +f 2290 2317 2313 +f 2313 2286 2290 +f 1945 1953 1877 +f 1877 1875 1945 +f 1979 1995 1953 +f 1953 1945 1979 +f 2019 2043 1995 +f 1995 1979 2019 +f 2061 2107 2043 +f 2043 2019 2061 +f 2109 2169 2107 +f 2107 2061 2109 +f 2147 2215 2169 +f 2169 2109 2147 +f 2187 2242 2215 +f 2215 2147 2187 +f 2211 2260 2242 +f 2242 2187 2211 +f 2221 2286 2260 +f 2260 2211 2221 +f 2224 2290 2286 +f 2286 2221 2224 +f 1943 1945 1875 +f 1875 1873 1943 +f 1971 1979 1945 +f 1945 1943 1971 +f 1993 2019 1979 +f 1979 1971 1993 +f 2025 2061 2019 +f 2019 1993 2025 +f 2045 2109 2061 +f 2061 2025 2045 +f 2085 2147 2109 +f 2109 2045 2085 +f 2113 2187 2147 +f 2147 2085 2113 +f 2126 2211 2187 +f 2187 2113 2126 +f 2140 2221 2211 +f 2211 2126 2140 +f 2144 2224 2221 +f 2221 2140 2144 +f 1935 1943 1873 +f 1873 1871 1935 +f 1955 1971 1943 +f 1943 1935 1955 +f 1975 1993 1971 +f 1971 1955 1975 +f 1997 2025 1993 +f 1993 1975 1997 +f 2020 2045 2025 +f 2025 1997 2020 +f 2038 2085 2045 +f 2045 2020 2038 +f 2054 2113 2085 +f 2085 2038 2054 +f 2074 2126 2113 +f 2113 2054 2074 +f 2078 2140 2126 +f 2126 2074 2078 +f 2086 2144 2140 +f 2140 2078 2086 +f 1933 1935 1871 +f 1871 1869 1933 +f 1951 1955 1935 +f 1935 1933 1951 +f 1973 1975 1955 +f 1955 1951 1973 +f 1990 1997 1975 +f 1975 1973 1990 +f 2012 2020 1997 +f 1997 1990 2012 +f 2028 2038 2020 +f 2020 2012 2028 +f 2040 2054 2038 +f 2038 2028 2040 +f 2050 2074 2054 +f 2054 2040 2050 +f 2062 2078 2074 +f 2074 2050 2062 +f 2070 2086 2078 +f 2078 2062 2070 +f 1939 1933 1869 +f 1869 1866 1939 +f 1965 1951 1933 +f 1933 1939 1965 +f 1985 1973 1951 +f 1951 1965 1985 +f 2008 1990 1973 +f 1973 1985 2008 +f 2032 2012 1990 +f 1990 2008 2032 +f 2056 2028 2012 +f 2012 2032 2056 +f 2080 2040 2028 +f 2028 2056 2080 +f 2100 2050 2040 +f 2040 2080 2100 +f 2114 2062 2050 +f 2050 2100 2114 +f 2122 2070 2062 +f 2062 2114 2122 +f 2232 2116 2124 +f 2124 2236 2232 +f 2218 2102 2116 +f 2116 2232 2218 +f 2199 2082 2102 +f 2102 2218 2199 +f 2150 2058 2082 +f 2082 2199 2150 +f 2120 2034 2058 +f 2058 2150 2120 +f 2064 2010 2034 +f 2034 2120 2064 +f 2023 1986 2010 +f 2010 2064 2023 +f 1980 1966 1986 +f 1986 2023 1980 +f 1946 1940 1966 +f 1966 1980 1946 +f 1862 1730 1940 +f 1940 1946 1862 +f 2332 2232 2236 +f 2236 2336 2332 +f 2322 2218 2232 +f 2232 2332 2322 +f 2306 2199 2218 +f 2218 2322 2306 +f 2275 2150 2199 +f 2199 2306 2275 +f 2234 2120 2150 +f 2150 2275 2234 +f 2170 2064 2120 +f 2120 2234 2170 +f 2093 2023 2064 +f 2064 2170 2093 +f 2016 1980 2023 +f 2023 2093 2016 +f 1968 1946 1980 +f 1980 2016 1968 +f 1858 1862 1946 +f 1946 1968 1858 +f 2409 2332 2336 +f 2336 2413 2409 +f 2400 2322 2332 +f 2332 2409 2400 +f 2376 2306 2322 +f 2322 2400 2376 +f 2349 2275 2306 +f 2306 2376 2349 +f 2324 2234 2275 +f 2275 2349 2324 +f 2271 2170 2234 +f 2234 2324 2271 +f 2185 2093 2170 +f 2170 2271 2185 +f 2072 2016 2093 +f 2093 2185 2072 +f 1976 1968 2016 +f 2016 2072 1976 +f 1729 1858 1968 +f 1968 1976 1729 +f 2488 2409 2413 +f 2413 2498 2488 +f 2470 2400 2409 +f 2409 2488 2470 +f 2444 2376 2400 +f 2400 2470 2444 +f 2418 2349 2376 +f 2376 2444 2418 +f 2384 2324 2349 +f 2349 2418 2384 +f 2338 2271 2324 +f 2324 2384 2338 +f 2269 2185 2271 +f 2271 2338 2269 +f 2138 2072 2185 +f 2185 2269 2138 +f 1998 1976 2072 +f 2072 2138 1998 +f 1722 1729 1976 +f 1976 1998 1722 +f 2559 2488 2498 +f 2498 2569 2559 +f 2549 2470 2488 +f 2488 2559 2549 +f 2531 2444 2470 +f 2470 2549 2531 +f 2492 2418 2444 +f 2444 2531 2492 +f 2436 2384 2418 +f 2418 2492 2436 +f 2394 2338 2384 +f 2384 2436 2394 +f 2326 2269 2338 +f 2338 2394 2326 +f 2212 2138 2269 +f 2269 2326 2212 +f 2026 1998 2138 +f 2138 2212 2026 +f 1850 1722 1998 +f 1998 2026 1850 +f 2653 2559 2569 +f 2569 2655 2653 +f 2631 2549 2559 +f 2559 2653 2631 +f 2593 2531 2549 +f 2549 2631 2593 +f 2551 2492 2531 +f 2531 2593 2551 +f 2510 2436 2492 +f 2492 2551 2510 +f 2432 2394 2436 +f 2436 2510 2432 +f 2366 2326 2394 +f 2394 2432 2366 +f 2263 2212 2326 +f 2326 2366 2263 +f 2052 2026 2212 +f 2212 2263 2052 +f 1726 1850 2026 +f 2026 2052 1726 +f 2720 2653 2655 +f 2655 2726 2720 +f 2697 2631 2653 +f 2653 2720 2697 +f 2662 2593 2631 +f 2631 2697 2662 +f 2607 2551 2593 +f 2593 2662 2607 +f 2547 2510 2551 +f 2551 2607 2547 +f 2484 2432 2510 +f 2510 2547 2484 +f 2405 2366 2432 +f 2432 2484 2405 +f 2308 2263 2366 +f 2366 2405 2308 +f 2090 2052 2263 +f 2263 2308 2090 +f 1719 1726 2052 +f 2052 2090 1719 +f 2787 2720 2726 +f 2726 2795 2787 +f 2759 2697 2720 +f 2720 2787 2759 +f 2713 2662 2697 +f 2697 2759 2713 +f 2657 2607 2662 +f 2662 2713 2657 +f 2589 2547 2607 +f 2607 2657 2589 +f 2525 2484 2547 +f 2547 2589 2525 +f 2422 2405 2484 +f 2484 2525 2422 +f 2330 2308 2405 +f 2405 2422 2330 +f 2118 2090 2308 +f 2308 2330 2118 +f 1700 1719 2090 +f 2090 2118 1700 +f 2834 2787 2795 +f 2795 2844 2834 +f 2798 2759 2787 +f 2787 2834 2798 +f 2750 2713 2759 +f 2759 2798 2750 +f 2690 2657 2713 +f 2713 2750 2690 +f 2624 2589 2657 +f 2657 2690 2624 +f 2536 2525 2589 +f 2589 2624 2536 +f 2441 2422 2525 +f 2525 2536 2441 +f 2340 2330 2422 +f 2422 2441 2340 +f 2128 2118 2330 +f 2330 2340 2128 +f 1825 1700 2118 +f 2118 2128 1825 +f 2847 2834 2844 +f 2844 2857 2847 +f 2821 2798 2834 +f 2834 2847 2821 +f 2765 2750 2798 +f 2798 2821 2765 +f 2703 2690 2750 +f 2750 2765 2703 +f 2637 2624 2690 +f 2690 2703 2637 +f 2543 2536 2624 +f 2624 2637 2543 +f 2446 2441 2536 +f 2536 2543 2446 +f 2344 2340 2441 +f 2441 2446 2344 +f 2136 2128 2340 +f 2340 2344 2136 +f 1713 1825 2128 +f 2128 2136 1713 +f 1676 1682 1864 +f 1864 1862 1676 +f 1642 1656 1682 +f 1682 1676 1642 +f 1601 1636 1656 +f 1656 1642 1601 +f 1558 1612 1636 +f 1636 1601 1558 +f 1502 1588 1612 +f 1612 1558 1502 +f 1472 1564 1588 +f 1588 1502 1472 +f 1425 1540 1564 +f 1564 1472 1425 +f 1404 1520 1540 +f 1540 1425 1404 +f 1390 1506 1520 +f 1520 1404 1390 +f 1387 1498 1506 +f 1506 1390 1387 +f 1654 1676 1862 +f 1862 1859 1654 +f 1606 1642 1676 +f 1676 1654 1606 +f 1531 1601 1642 +f 1642 1606 1531 +f 1452 1558 1601 +f 1601 1531 1452 +f 1388 1502 1558 +f 1558 1452 1388 +f 1347 1472 1502 +f 1502 1388 1347 +f 1316 1425 1472 +f 1472 1347 1316 +f 1300 1404 1425 +f 1425 1316 1300 +f 1290 1390 1404 +f 1404 1300 1290 +f 1286 1387 1390 +f 1390 1290 1286 +f 1646 1654 1859 +f 1859 1856 1646 +f 1550 1606 1654 +f 1654 1646 1550 +f 1439 1531 1606 +f 1606 1550 1439 +f 1351 1452 1531 +f 1531 1439 1351 +f 1298 1388 1452 +f 1452 1351 1298 +f 1275 1347 1388 +f 1388 1298 1275 +f 1246 1316 1347 +f 1347 1275 1246 +f 1222 1300 1316 +f 1316 1246 1222 +f 1215 1290 1300 +f 1300 1222 1215 +f 1211 1286 1290 +f 1290 1215 1211 +f 1624 1646 1856 +f 1856 1854 1624 +f 1484 1550 1646 +f 1646 1624 1484 +f 1353 1439 1550 +f 1550 1484 1353 +f 1284 1351 1439 +f 1439 1353 1284 +f 1238 1298 1351 +f 1351 1284 1238 +f 1204 1275 1298 +f 1298 1238 1204 +f 1178 1246 1275 +f 1275 1204 1178 +f 1152 1222 1246 +f 1246 1178 1152 +f 1134 1215 1222 +f 1222 1152 1134 +f 1124 1211 1215 +f 1215 1134 1124 +f 1596 1624 1854 +f 1854 1851 1596 +f 1410 1484 1624 +f 1624 1596 1410 +f 1296 1353 1484 +f 1484 1410 1296 +f 1228 1284 1353 +f 1353 1296 1228 +f 1186 1238 1284 +f 1284 1228 1186 +f 1130 1204 1238 +f 1238 1186 1130 +f 1091 1178 1204 +f 1204 1130 1091 +f 1073 1152 1178 +f 1178 1091 1073 +f 1063 1134 1152 +f 1152 1073 1063 +f 1053 1124 1134 +f 1134 1063 1053 +f 1570 1596 1851 +f 1851 1848 1570 +f 1359 1410 1596 +f 1596 1570 1359 +f 1256 1296 1410 +f 1410 1359 1256 +f 1190 1228 1296 +f 1296 1256 1190 +f 1112 1186 1228 +f 1228 1190 1112 +f 1071 1130 1186 +f 1186 1112 1071 +f 1029 1091 1130 +f 1130 1071 1029 +f 991 1073 1091 +f 1091 1029 991 +f 969 1063 1073 +f 1073 991 969 +f 967 1053 1063 +f 1063 969 967 +f 1532 1570 1848 +f 1848 1846 1532 +f 1314 1359 1570 +f 1570 1532 1314 +f 1219 1256 1359 +f 1359 1314 1219 +f 1138 1190 1256 +f 1256 1219 1138 +f 1075 1112 1190 +f 1190 1138 1075 +f 1015 1071 1112 +f 1112 1075 1015 +f 962 1029 1071 +f 1071 1015 962 +f 925 991 1029 +f 1029 962 925 +f 904 969 991 +f 991 925 904 +f 898 967 969 +f 969 904 898 +f 1504 1532 1846 +f 1846 1832 1504 +f 1292 1314 1532 +f 1532 1504 1292 +f 1200 1219 1314 +f 1314 1292 1200 +f 1097 1138 1219 +f 1219 1200 1097 +f 1033 1075 1138 +f 1138 1097 1033 +f 965 1015 1075 +f 1075 1033 965 +f 909 962 1015 +f 1015 965 909 +f 863 925 962 +f 962 909 863 +f 835 904 925 +f 925 863 835 +f 827 898 904 +f 904 835 827 +f 1494 1504 1832 +f 1832 1824 1494 +f 1282 1292 1504 +f 1504 1494 1282 +f 1183 1200 1292 +f 1292 1282 1183 +f 1088 1097 1200 +f 1200 1183 1088 +f 1000 1033 1097 +f 1097 1088 1000 +f 934 965 1033 +f 1033 1000 934 +f 874 909 965 +f 965 934 874 +f 826 863 909 +f 909 874 826 +f 790 835 863 +f 863 826 790 +f 780 827 835 +f 835 790 780 +f 1486 1494 1824 +f 1824 1814 1486 +f 1278 1282 1494 +f 1494 1486 1278 +f 1176 1183 1282 +f 1282 1278 1176 +f 1079 1088 1183 +f 1183 1176 1079 +f 985 1000 1088 +f 1088 1079 985 +f 919 934 1000 +f 1000 985 919 +f 857 874 934 +f 934 919 857 +f 801 826 874 +f 874 857 801 +f 775 790 826 +f 826 801 775 +f 765 780 790 +f 790 775 765 +f 1391 1507 1499 +f 1499 1387 1391 +f 1405 1521 1507 +f 1507 1391 1405 +f 1424 1541 1521 +f 1521 1405 1424 +f 1473 1565 1541 +f 1541 1424 1473 +f 1503 1589 1565 +f 1565 1473 1503 +f 1559 1613 1589 +f 1589 1503 1559 +f 1600 1637 1613 +f 1613 1559 1600 +f 1643 1657 1637 +f 1637 1600 1643 +f 1677 1683 1657 +f 1657 1643 1677 +f 1863 1892 1683 +f 1683 1677 1863 +f 1291 1391 1387 +f 1387 1287 1291 +f 1301 1405 1391 +f 1391 1291 1301 +f 1317 1424 1405 +f 1405 1301 1317 +f 1348 1473 1424 +f 1424 1317 1348 +f 1389 1503 1473 +f 1473 1348 1389 +f 1453 1559 1503 +f 1503 1389 1453 +f 1530 1600 1559 +f 1559 1453 1530 +f 1607 1643 1600 +f 1600 1530 1607 +f 1655 1677 1643 +f 1643 1607 1655 +f 1861 1863 1677 +f 1677 1655 1861 +f 1214 1291 1287 +f 1287 1210 1214 +f 1223 1301 1291 +f 1291 1214 1223 +f 1247 1317 1301 +f 1301 1223 1247 +f 1274 1348 1317 +f 1317 1247 1274 +f 1299 1389 1348 +f 1348 1274 1299 +f 1352 1453 1389 +f 1389 1299 1352 +f 1438 1530 1453 +f 1453 1352 1438 +f 1551 1607 1530 +f 1530 1438 1551 +f 1647 1655 1607 +f 1607 1551 1647 +f 1891 1861 1655 +f 1655 1647 1891 +f 1135 1214 1210 +f 1210 1125 1135 +f 1153 1223 1214 +f 1214 1135 1153 +f 1179 1247 1223 +f 1223 1153 1179 +f 1205 1274 1247 +f 1247 1179 1205 +f 1239 1299 1274 +f 1274 1205 1239 +f 1285 1352 1299 +f 1299 1239 1285 +f 1354 1438 1352 +f 1352 1285 1354 +f 1485 1551 1438 +f 1438 1354 1485 +f 1625 1647 1551 +f 1551 1485 1625 +f 1901 1891 1647 +f 1647 1625 1901 +f 1064 1135 1125 +f 1125 1054 1064 +f 1074 1153 1135 +f 1135 1064 1074 +f 1092 1179 1153 +f 1153 1074 1092 +f 1131 1205 1179 +f 1179 1092 1131 +f 1187 1239 1205 +f 1205 1131 1187 +f 1229 1285 1239 +f 1239 1187 1229 +f 1297 1354 1285 +f 1285 1229 1297 +f 1411 1485 1354 +f 1354 1297 1411 +f 1597 1625 1485 +f 1485 1411 1597 +f 1853 1901 1625 +f 1625 1597 1853 +f 970 1064 1054 +f 1054 968 970 +f 992 1074 1064 +f 1064 970 992 +f 1030 1092 1074 +f 1074 992 1030 +f 1072 1131 1092 +f 1092 1030 1072 +f 1113 1187 1131 +f 1131 1072 1113 +f 1191 1229 1187 +f 1187 1113 1191 +f 1257 1297 1229 +f 1229 1191 1257 +f 1360 1411 1297 +f 1297 1257 1360 +f 1571 1597 1411 +f 1411 1360 1571 +f 1899 1853 1597 +f 1597 1571 1899 +f 903 970 968 +f 968 897 903 +f 926 992 970 +f 970 903 926 +f 961 1030 992 +f 992 926 961 +f 1016 1072 1030 +f 1030 961 1016 +f 1076 1113 1072 +f 1072 1016 1076 +f 1139 1191 1113 +f 1113 1076 1139 +f 1218 1257 1191 +f 1191 1139 1218 +f 1315 1360 1257 +f 1257 1218 1315 +f 1533 1571 1360 +f 1360 1315 1533 +f 1920 1899 1571 +f 1571 1533 1920 +f 836 903 897 +f 897 828 836 +f 864 926 903 +f 903 836 864 +f 910 961 926 +f 926 864 910 +f 966 1016 961 +f 961 910 966 +f 1034 1076 1016 +f 1016 966 1034 +f 1098 1139 1076 +f 1076 1034 1098 +f 1201 1218 1139 +f 1139 1098 1201 +f 1293 1315 1218 +f 1218 1201 1293 +f 1505 1533 1315 +f 1315 1293 1505 +f 1924 1920 1533 +f 1533 1505 1924 +f 789 836 828 +f 828 779 789 +f 825 864 836 +f 836 789 825 +f 873 910 864 +f 864 825 873 +f 933 966 910 +f 910 873 933 +f 999 1034 966 +f 966 933 999 +f 1087 1098 1034 +f 1034 999 1087 +f 1182 1201 1098 +f 1098 1087 1182 +f 1283 1293 1201 +f 1201 1182 1283 +f 1495 1505 1293 +f 1293 1283 1495 +f 1826 1924 1505 +f 1505 1495 1826 +f 776 789 779 +f 779 766 776 +f 802 825 789 +f 789 776 802 +f 858 873 825 +f 825 802 858 +f 920 933 873 +f 873 858 920 +f 986 999 933 +f 933 920 986 +f 1080 1087 999 +f 999 986 1080 +f 1177 1182 1087 +f 1087 1080 1177 +f 1279 1283 1182 +f 1182 1177 1279 +f 1487 1495 1283 +f 1283 1279 1487 +f 1914 1826 1495 +f 1495 1487 1914 +f 1947 1941 1867 +f 1867 1863 1947 +f 1981 1967 1941 +f 1941 1947 1981 +f 2022 1987 1967 +f 1967 1981 2022 +f 2065 2011 1987 +f 1987 2022 2065 +f 2121 2035 2011 +f 2011 2065 2121 +f 2151 2059 2035 +f 2035 2121 2151 +f 2198 2083 2059 +f 2059 2151 2198 +f 2219 2103 2083 +f 2083 2198 2219 +f 2233 2117 2103 +f 2103 2219 2233 +f 2236 2125 2117 +f 2117 2233 2236 +f 1969 1947 1863 +f 1863 1860 1969 +f 2017 1981 1947 +f 1947 1969 2017 +f 2092 2022 1981 +f 1981 2017 2092 +f 2171 2065 2022 +f 2022 2092 2171 +f 2235 2121 2065 +f 2065 2171 2235 +f 2276 2151 2121 +f 2121 2235 2276 +f 2307 2198 2151 +f 2151 2276 2307 +f 2323 2219 2198 +f 2198 2307 2323 +f 2333 2233 2219 +f 2219 2323 2333 +f 2337 2236 2233 +f 2233 2333 2337 +f 1977 1969 1860 +f 1860 1857 1977 +f 2073 2017 1969 +f 1969 1977 2073 +f 2184 2092 2017 +f 2017 2073 2184 +f 2272 2171 2092 +f 2092 2184 2272 +f 2325 2235 2171 +f 2171 2272 2325 +f 2348 2276 2235 +f 2235 2325 2348 +f 2377 2307 2276 +f 2276 2348 2377 +f 2401 2323 2307 +f 2307 2377 2401 +f 2408 2333 2323 +f 2323 2401 2408 +f 2412 2337 2333 +f 2333 2408 2412 +f 1999 1977 1857 +f 1857 1855 1999 +f 2139 2073 1977 +f 1977 1999 2139 +f 2270 2184 2073 +f 2073 2139 2270 +f 2339 2272 2184 +f 2184 2270 2339 +f 2385 2325 2272 +f 2272 2339 2385 +f 2419 2348 2325 +f 2325 2385 2419 +f 2445 2377 2348 +f 2348 2419 2445 +f 2471 2401 2377 +f 2377 2445 2471 +f 2489 2408 2401 +f 2401 2471 2489 +f 2499 2412 2408 +f 2408 2489 2499 +f 2027 1999 1855 +f 1855 1852 2027 +f 2213 2139 1999 +f 1999 2027 2213 +f 2327 2270 2139 +f 2139 2213 2327 +f 2395 2339 2270 +f 2270 2327 2395 +f 2437 2385 2339 +f 2339 2395 2437 +f 2493 2419 2385 +f 2385 2437 2493 +f 2532 2445 2419 +f 2419 2493 2532 +f 2550 2471 2445 +f 2445 2532 2550 +f 2560 2489 2471 +f 2471 2550 2560 +f 2570 2499 2489 +f 2489 2560 2570 +f 2053 2027 1852 +f 1852 1849 2053 +f 2264 2213 2027 +f 2027 2053 2264 +f 2367 2327 2213 +f 2213 2264 2367 +f 2433 2395 2327 +f 2327 2367 2433 +f 2511 2437 2395 +f 2395 2433 2511 +f 2552 2493 2437 +f 2437 2511 2552 +f 2594 2532 2493 +f 2493 2552 2594 +f 2632 2550 2532 +f 2532 2594 2632 +f 2654 2560 2550 +f 2550 2632 2654 +f 2656 2570 2560 +f 2560 2654 2656 +f 2091 2053 1849 +f 1849 1847 2091 +f 2309 2264 2053 +f 2053 2091 2309 +f 2404 2367 2264 +f 2264 2309 2404 +f 2485 2433 2367 +f 2367 2404 2485 +f 2548 2511 2433 +f 2433 2485 2548 +f 2608 2552 2511 +f 2511 2548 2608 +f 2661 2594 2552 +f 2552 2608 2661 +f 2698 2632 2594 +f 2594 2661 2698 +f 2719 2654 2632 +f 2632 2698 2719 +f 2725 2656 2654 +f 2654 2719 2725 +f 2119 2091 1847 +f 1847 1833 2119 +f 2331 2309 2091 +f 2091 2119 2331 +f 2423 2404 2309 +f 2309 2331 2423 +f 2526 2485 2404 +f 2404 2423 2526 +f 2590 2548 2485 +f 2485 2526 2590 +f 2658 2608 2548 +f 2548 2590 2658 +f 2714 2661 2608 +f 2608 2658 2714 +f 2760 2698 2661 +f 2661 2714 2760 +f 2788 2719 2698 +f 2698 2760 2788 +f 2796 2725 2719 +f 2719 2788 2796 +f 2129 2119 1833 +f 1833 1827 2129 +f 2341 2331 2119 +f 2119 2129 2341 +f 2440 2423 2331 +f 2331 2341 2440 +f 2535 2526 2423 +f 2423 2440 2535 +f 2623 2590 2526 +f 2526 2535 2623 +f 2689 2658 2590 +f 2590 2623 2689 +f 2749 2714 2658 +f 2658 2689 2749 +f 2797 2760 2714 +f 2714 2749 2797 +f 2833 2788 2760 +f 2760 2797 2833 +f 2843 2796 2788 +f 2788 2833 2843 +f 2137 2129 1827 +f 1827 1815 2137 +f 2345 2341 2129 +f 2129 2137 2345 +f 2447 2440 2341 +f 2341 2345 2447 +f 2544 2535 2440 +f 2440 2447 2544 +f 2638 2623 2535 +f 2535 2544 2638 +f 2704 2689 2623 +f 2623 2638 2704 +f 2766 2749 2689 +f 2689 2704 2766 +f 2822 2797 2749 +f 2749 2766 2822 +f 2848 2833 2797 +f 2797 2822 2848 +f 2858 2843 2833 +f 2833 2848 2858 +f 1735 2334 2329 +f 1735 2329 2321 +f 1735 2321 2305 +f 1735 2305 2274 +f 1735 2274 2231 +f 1735 2231 2167 +f 1735 2167 2089 +f 1735 2089 2014 +f 1735 2014 1962 +f 1735 1962 1733 +f 2515 2329 2334 +f 2334 2524 2515 +f 2495 2321 2329 +f 2329 2515 2495 +f 2456 2305 2321 +f 2321 2495 2456 +f 2429 2274 2305 +f 2305 2456 2429 +f 2399 2231 2274 +f 2274 2429 2399 +f 2347 2167 2231 +f 2231 2399 2347 +f 2292 2089 2167 +f 2167 2347 2292 +f 2148 2014 2089 +f 2089 2292 2148 +f 2004 1962 2014 +f 2014 2148 2004 +f 1739 1733 1962 +f 1962 2004 1739 +f 2647 2515 2524 +f 2524 2649 2647 +f 2621 2495 2515 +f 2515 2647 2621 +f 2584 2456 2495 +f 2495 2621 2584 +f 2541 2429 2456 +f 2456 2584 2541 +f 2502 2399 2429 +f 2429 2541 2502 +f 2426 2347 2399 +f 2399 2502 2426 +f 2352 2292 2347 +f 2347 2426 2352 +f 2255 2148 2292 +f 2292 2352 2255 +f 2046 2004 2148 +f 2148 2255 2046 +f 1702 1739 2004 +f 2004 2046 1702 +f 2746 2647 2649 +f 2649 2757 2746 +f 2721 2621 2647 +f 2647 2746 2721 +f 2681 2584 2621 +f 2621 2721 2681 +f 2639 2541 2584 +f 2584 2681 2639 +f 2557 2502 2541 +f 2541 2639 2557 +f 2505 2426 2502 +f 2502 2557 2505 +f 2415 2352 2426 +f 2426 2505 2415 +f 2318 2255 2352 +f 2352 2415 2318 +f 2098 2046 2255 +f 2255 2318 2098 +f 1745 1702 2046 +f 2046 2098 1745 +f 2840 2746 2757 +f 2757 2849 2840 +f 2808 2721 2746 +f 2746 2840 2808 +f 2756 2681 2721 +f 2721 2808 2756 +f 2696 2639 2681 +f 2681 2756 2696 +f 2626 2557 2639 +f 2639 2696 2626 +f 2538 2505 2557 +f 2557 2626 2538 +f 2443 2415 2505 +f 2505 2538 2443 +f 2342 2318 2415 +f 2415 2443 2342 +f 2131 2098 2318 +f 2318 2342 2131 +f 1904 1745 2098 +f 2098 2131 1904 +f 2906 2840 2849 +f 2849 2925 2906 +f 2867 2808 2840 +f 2840 2906 2867 +f 2818 2756 2808 +f 2808 2867 2818 +f 2736 2696 2756 +f 2756 2818 2736 +f 2667 2626 2696 +f 2696 2736 2667 +f 2565 2538 2626 +f 2626 2667 2565 +f 2475 2443 2538 +f 2538 2565 2475 +f 2356 2342 2443 +f 2443 2475 2356 +f 2156 2131 2342 +f 2342 2356 2156 +f 1704 1904 2131 +f 2131 2156 1704 +f 2976 2906 2925 +f 2925 2987 2976 +f 2914 2867 2906 +f 2906 2976 2914 +f 2852 2818 2867 +f 2867 2914 2852 +f 2772 2736 2818 +f 2818 2852 2772 +f 2688 2667 2736 +f 2736 2772 2688 +f 2592 2565 2667 +f 2667 2688 2592 +f 2497 2475 2565 +f 2565 2592 2497 +f 2372 2356 2475 +f 2475 2497 2372 +f 2176 2156 2356 +f 2356 2372 2176 +f 1752 1704 2156 +f 2156 2176 1752 +f 2993 2976 2987 +f 2987 3011 2993 +f 2952 2914 2976 +f 2976 2993 2952 +f 2874 2852 2914 +f 2914 2952 2874 +f 2794 2772 2852 +f 2852 2874 2794 +f 2702 2688 2772 +f 2772 2794 2702 +f 2604 2592 2688 +f 2688 2702 2604 +f 2509 2497 2592 +f 2592 2604 2509 +f 2380 2372 2497 +f 2497 2509 2380 +f 2182 2176 2372 +f 2372 2380 2182 +f 1723 1752 2176 +f 2176 2182 1723 +f 3000 2993 3011 +f 3011 3020 3000 +f 2967 2952 2993 +f 2993 3000 2967 +f 2879 2874 2952 +f 2952 2967 2879 +f 2799 2794 2874 +f 2874 2879 2799 +f 2707 2702 2794 +f 2794 2799 2707 +f 2605 2604 2702 +f 2702 2707 2605 +f 2512 2509 2604 +f 2604 2605 2512 +f 2382 2380 2509 +f 2509 2512 2382 +f 2188 2182 2380 +f 2380 2382 2188 +f 1699 1723 2182 +f 2182 2188 1699 +f 3006 3000 3020 +f 3020 3022 3006 +f 2972 2967 3000 +f 3000 3006 2972 +f 2888 2879 2967 +f 2967 2972 2888 +f 2804 2799 2879 +f 2879 2888 2804 +f 2710 2707 2799 +f 2799 2804 2710 +f 2613 2605 2707 +f 2707 2710 2613 +f 2520 2512 2605 +f 2605 2613 2520 +f 2388 2382 2512 +f 2512 2520 2388 +f 2192 2188 2382 +f 2382 2388 2192 +f 1760 1699 2188 +f 2188 2192 1760 +f 1735 1737 1660 +f 1735 1660 1608 +f 1735 1608 1535 +f 1735 1535 1457 +f 1735 1457 1393 +f 1735 1393 1350 +f 1735 1350 1319 +f 1735 1319 1303 +f 1735 1303 1295 +f 1735 1295 1288 +f 1618 1660 1737 +f 1737 1739 1618 +f 1474 1608 1660 +f 1660 1618 1474 +f 1332 1535 1608 +f 1608 1474 1332 +f 1277 1457 1535 +f 1535 1332 1277 +f 1225 1393 1457 +f 1457 1277 1225 +f 1195 1350 1393 +f 1393 1225 1195 +f 1166 1319 1350 +f 1350 1195 1166 +f 1129 1303 1319 +f 1319 1166 1129 +f 1109 1295 1303 +f 1303 1129 1109 +f 1099 1288 1295 +f 1295 1109 1099 +f 1576 1618 1739 +f 1739 1741 1576 +f 1367 1474 1618 +f 1618 1576 1367 +f 1270 1332 1474 +f 1474 1367 1270 +f 1196 1277 1332 +f 1332 1270 1196 +f 1120 1225 1277 +f 1277 1196 1120 +f 1081 1195 1225 +f 1225 1120 1081 +f 1040 1166 1195 +f 1195 1081 1040 +f 1001 1129 1166 +f 1166 1040 1001 +f 975 1109 1129 +f 1129 1001 975 +f 973 1099 1109 +f 1109 975 973 +f 1524 1576 1741 +f 1741 1744 1524 +f 1304 1367 1576 +f 1576 1524 1304 +f 1209 1270 1367 +f 1367 1304 1209 +f 1119 1196 1270 +f 1270 1209 1119 +f 1065 1120 1196 +f 1196 1119 1065 +f 983 1081 1120 +f 1120 1065 983 +f 941 1040 1081 +f 1081 983 941 +f 901 1001 1040 +f 1040 941 901 +f 878 975 1001 +f 1001 901 878 +f 865 973 975 +f 975 878 865 +f 1493 1524 1744 +f 1744 1747 1493 +f 1280 1304 1524 +f 1524 1493 1280 +f 1181 1209 1304 +f 1304 1280 1181 +f 1086 1119 1209 +f 1209 1181 1086 +f 998 1065 1119 +f 1119 1086 998 +f 928 983 1065 +f 1065 998 928 +f 868 941 983 +f 983 928 868 +f 816 901 941 +f 941 868 816 +f 784 878 901 +f 901 816 784 +f 773 865 878 +f 878 784 773 +f 1466 1493 1747 +f 1747 1749 1466 +f 1266 1280 1493 +f 1493 1466 1266 +f 1149 1181 1280 +f 1280 1266 1149 +f 1057 1086 1181 +f 1181 1149 1057 +f 955 998 1086 +f 1086 1057 955 +f 888 928 998 +f 998 955 888 +f 806 868 928 +f 928 888 806 +f 755 816 868 +f 868 806 755 +f 718 784 816 +f 816 755 718 +f 697 773 784 +f 784 718 697 +f 1446 1466 1749 +f 1749 1753 1446 +f 1250 1266 1466 +f 1466 1446 1250 +f 1127 1149 1266 +f 1266 1250 1127 +f 1032 1057 1149 +f 1149 1127 1032 +f 936 955 1057 +f 1057 1032 936 +f 852 888 955 +f 955 936 852 +f 772 806 888 +f 888 852 772 +f 710 755 806 +f 806 772 710 +f 648 718 755 +f 755 710 648 +f 637 697 718 +f 718 648 637 +f 1440 1446 1753 +f 1753 1755 1440 +f 1242 1250 1446 +f 1446 1440 1242 +f 1115 1127 1250 +f 1250 1242 1115 +f 1020 1032 1127 +f 1127 1115 1020 +f 922 936 1032 +f 1032 1020 922 +f 830 852 936 +f 936 922 830 +f 750 772 852 +f 852 830 750 +f 672 710 772 +f 772 750 672 +f 631 648 710 +f 710 672 631 +f 613 637 648 +f 648 631 613 +f 1434 1440 1755 +f 1755 1757 1434 +f 1240 1242 1440 +f 1440 1434 1240 +f 1110 1115 1242 +f 1242 1240 1110 +f 1017 1020 1115 +f 1115 1110 1017 +f 915 922 1020 +f 1020 1017 915 +f 823 830 922 +f 922 915 823 +f 743 750 830 +f 830 823 743 +f 655 672 750 +f 750 743 655 +f 622 631 672 +f 672 655 622 +f 602 613 631 +f 631 622 602 +f 1428 1434 1757 +f 1757 1760 1428 +f 1232 1240 1434 +f 1434 1428 1232 +f 1105 1110 1240 +f 1240 1232 1105 +f 1010 1017 1110 +f 1110 1105 1010 +f 913 915 1017 +f 1017 1010 913 +f 821 823 915 +f 915 913 821 +f 736 743 823 +f 823 821 736 +f 652 655 743 +f 743 736 652 +f 619 622 655 +f 655 652 619 +f 601 602 622 +f 622 619 601 +f 1735 1289 1294 +f 1735 1294 1302 +f 1735 1302 1318 +f 1735 1318 1349 +f 1735 1349 1392 +f 1735 1392 1456 +f 1735 1456 1534 +f 1735 1534 1609 +f 1735 1609 1661 +f 1735 1661 1889 +f 1108 1294 1289 +f 1289 1099 1108 +f 1128 1302 1294 +f 1294 1108 1128 +f 1167 1318 1302 +f 1302 1128 1167 +f 1194 1349 1318 +f 1318 1167 1194 +f 1224 1392 1349 +f 1349 1194 1224 +f 1276 1456 1392 +f 1392 1224 1276 +f 1331 1534 1456 +f 1456 1276 1331 +f 1475 1609 1534 +f 1534 1331 1475 +f 1619 1661 1609 +f 1609 1475 1619 +f 1738 1889 1661 +f 1661 1619 1738 +f 976 1108 1099 +f 1099 974 976 +f 1002 1128 1108 +f 1108 976 1002 +f 1039 1167 1128 +f 1128 1002 1039 +f 1082 1194 1167 +f 1167 1039 1082 +f 1121 1224 1194 +f 1194 1082 1121 +f 1197 1276 1224 +f 1224 1121 1197 +f 1271 1331 1276 +f 1276 1197 1271 +f 1368 1475 1331 +f 1331 1271 1368 +f 1577 1619 1475 +f 1475 1368 1577 +f 1903 1738 1619 +f 1619 1577 1903 +f 877 976 974 +f 974 866 877 +f 902 1002 976 +f 976 877 902 +f 942 1039 1002 +f 1002 902 942 +f 984 1082 1039 +f 1039 942 984 +f 1066 1121 1082 +f 1082 984 1066 +f 1118 1197 1121 +f 1121 1066 1118 +f 1208 1271 1197 +f 1197 1118 1208 +f 1305 1368 1271 +f 1271 1208 1305 +f 1525 1577 1368 +f 1368 1305 1525 +f 1742 1903 1577 +f 1577 1525 1742 +f 783 877 866 +f 866 774 783 +f 815 902 877 +f 877 783 815 +f 867 942 902 +f 902 815 867 +f 927 984 942 +f 942 867 927 +f 997 1066 984 +f 984 927 997 +f 1085 1118 1066 +f 1066 997 1085 +f 1180 1208 1118 +f 1118 1085 1180 +f 1281 1305 1208 +f 1208 1180 1281 +f 1492 1525 1305 +f 1305 1281 1492 +f 1703 1742 1525 +f 1525 1492 1703 +f 717 783 774 +f 774 698 717 +f 756 815 783 +f 783 717 756 +f 805 867 815 +f 815 756 805 +f 887 927 867 +f 867 805 887 +f 956 997 927 +f 927 887 956 +f 1058 1085 997 +f 997 956 1058 +f 1148 1180 1085 +f 1085 1058 1148 +f 1267 1281 1180 +f 1180 1148 1267 +f 1467 1492 1281 +f 1281 1267 1467 +f 1905 1703 1492 +f 1492 1467 1905 +f 647 717 698 +f 698 636 647 +f 709 756 717 +f 717 647 709 +f 771 805 756 +f 756 709 771 +f 851 887 805 +f 805 771 851 +f 935 956 887 +f 887 851 935 +f 1031 1058 956 +f 956 935 1031 +f 1126 1148 1058 +f 1058 1031 1126 +f 1251 1267 1148 +f 1148 1126 1251 +f 1447 1467 1267 +f 1267 1251 1447 +f 1751 1905 1467 +f 1467 1447 1751 +f 630 647 636 +f 636 612 630 +f 671 709 647 +f 647 630 671 +f 749 771 709 +f 709 671 749 +f 829 851 771 +f 771 749 829 +f 921 935 851 +f 851 829 921 +f 1019 1031 935 +f 935 921 1019 +f 1114 1126 1031 +f 1031 1019 1114 +f 1243 1251 1126 +f 1126 1114 1243 +f 1441 1447 1251 +f 1251 1243 1441 +f 1896 1751 1447 +f 1447 1441 1896 +f 623 630 612 +f 612 603 623 +f 656 671 630 +f 630 623 656 +f 744 749 671 +f 671 656 744 +f 824 829 749 +f 749 744 824 +f 916 921 829 +f 829 824 916 +f 1018 1019 921 +f 921 916 1018 +f 1111 1114 1019 +f 1019 1018 1111 +f 1241 1243 1114 +f 1114 1111 1241 +f 1435 1441 1243 +f 1243 1241 1435 +f 1923 1896 1441 +f 1441 1435 1923 +f 617 623 603 +f 603 601 617 +f 650 656 623 +f 623 617 650 +f 734 744 656 +f 656 650 734 +f 818 824 744 +f 744 734 818 +f 912 916 824 +f 824 818 912 +f 1009 1018 916 +f 916 912 1009 +f 1102 1111 1018 +f 1018 1009 1102 +f 1235 1241 1111 +f 1111 1102 1235 +f 1431 1435 1241 +f 1241 1235 1431 +f 1759 1923 1435 +f 1435 1431 1759 +f 1735 1736 1963 +f 1735 1963 2015 +f 1735 2015 2088 +f 1735 2088 2166 +f 1735 2166 2230 +f 1735 2230 2273 +f 1735 2273 2304 +f 1735 2304 2320 +f 1735 2320 2328 +f 1735 2328 2335 +f 2005 1963 1736 +f 1736 1738 2005 +f 2149 2015 1963 +f 1963 2005 2149 +f 2291 2088 2015 +f 2015 2149 2291 +f 2346 2166 2088 +f 2088 2291 2346 +f 2398 2230 2166 +f 2166 2346 2398 +f 2428 2273 2230 +f 2230 2398 2428 +f 2457 2304 2273 +f 2273 2428 2457 +f 2494 2320 2304 +f 2304 2457 2494 +f 2514 2328 2320 +f 2320 2494 2514 +f 2524 2335 2328 +f 2328 2514 2524 +f 2047 2005 1738 +f 1738 1740 2047 +f 2256 2149 2005 +f 2005 2047 2256 +f 2353 2291 2149 +f 2149 2256 2353 +f 2427 2346 2291 +f 2291 2353 2427 +f 2503 2398 2346 +f 2346 2427 2503 +f 2542 2428 2398 +f 2398 2503 2542 +f 2583 2457 2428 +f 2428 2542 2583 +f 2622 2494 2457 +f 2457 2583 2622 +f 2648 2514 2494 +f 2494 2622 2648 +f 2650 2524 2514 +f 2514 2648 2650 +f 2099 2047 1740 +f 1740 1743 2099 +f 2319 2256 2047 +f 2047 2099 2319 +f 2414 2353 2256 +f 2256 2319 2414 +f 2504 2427 2353 +f 2353 2414 2504 +f 2558 2503 2427 +f 2427 2504 2558 +f 2640 2542 2503 +f 2503 2558 2640 +f 2682 2583 2542 +f 2542 2640 2682 +f 2722 2622 2583 +f 2583 2682 2722 +f 2745 2648 2622 +f 2622 2722 2745 +f 2758 2650 2648 +f 2648 2745 2758 +f 2130 2099 1743 +f 1743 1746 2130 +f 2343 2319 2099 +f 2099 2130 2343 +f 2442 2414 2319 +f 2319 2343 2442 +f 2537 2504 2414 +f 2414 2442 2537 +f 2625 2558 2504 +f 2504 2537 2625 +f 2695 2640 2558 +f 2558 2625 2695 +f 2755 2682 2640 +f 2640 2695 2755 +f 2807 2722 2682 +f 2682 2755 2807 +f 2839 2745 2722 +f 2722 2807 2839 +f 2850 2758 2745 +f 2745 2839 2850 +f 2157 2130 1746 +f 1746 1748 2157 +f 2357 2343 2130 +f 2130 2157 2357 +f 2474 2442 2343 +f 2343 2357 2474 +f 2566 2537 2442 +f 2442 2474 2566 +f 2668 2625 2537 +f 2537 2566 2668 +f 2735 2695 2625 +f 2625 2668 2735 +f 2817 2755 2695 +f 2695 2735 2817 +f 2868 2807 2755 +f 2755 2817 2868 +f 2905 2839 2807 +f 2807 2868 2905 +f 2926 2850 2839 +f 2839 2905 2926 +f 2177 2157 1748 +f 1748 1750 2177 +f 2373 2357 2157 +f 2157 2177 2373 +f 2496 2474 2357 +f 2357 2373 2496 +f 2591 2566 2474 +f 2474 2496 2591 +f 2687 2668 2566 +f 2566 2591 2687 +f 2771 2735 2668 +f 2668 2687 2771 +f 2851 2817 2735 +f 2735 2771 2851 +f 2913 2868 2817 +f 2817 2851 2913 +f 2975 2905 2868 +f 2868 2913 2975 +f 2986 2926 2905 +f 2905 2975 2986 +f 2183 2177 1750 +f 1750 1754 2183 +f 2381 2373 2177 +f 2177 2183 2381 +f 2508 2496 2373 +f 2373 2381 2508 +f 2603 2591 2496 +f 2496 2508 2603 +f 2701 2687 2591 +f 2591 2603 2701 +f 2793 2771 2687 +f 2687 2701 2793 +f 2873 2851 2771 +f 2771 2793 2873 +f 2951 2913 2851 +f 2851 2873 2951 +f 2992 2975 2913 +f 2913 2951 2992 +f 3010 2986 2975 +f 2975 2992 3010 +f 2189 2183 1754 +f 1754 1756 2189 +f 2383 2381 2183 +f 2183 2189 2383 +f 2513 2508 2381 +f 2381 2383 2513 +f 2606 2603 2508 +f 2508 2513 2606 +f 2708 2701 2603 +f 2603 2606 2708 +f 2800 2793 2701 +f 2701 2708 2800 +f 2880 2873 2793 +f 2793 2800 2880 +f 2968 2951 2873 +f 2873 2880 2968 +f 3001 2992 2951 +f 2951 2968 3001 +f 3021 3010 2992 +f 2992 3001 3021 +f 2195 2189 1756 +f 1756 1759 2195 +f 2390 2383 2189 +f 2189 2195 2390 +f 2517 2513 2383 +f 2383 2390 2517 +f 2612 2606 2513 +f 2513 2517 2612 +f 2709 2708 2606 +f 2606 2612 2709 +f 2801 2800 2708 +f 2708 2709 2801 +f 2886 2880 2800 +f 2800 2801 2886 +f 2970 2968 2880 +f 2880 2886 2970 +f 3004 3001 2968 +f 2968 2970 3004 +f 3022 3021 3001 +f 3001 3004 3022 diff --git a/examples/SimpleLighting/index.html b/examples/SimpleLighting/index.html index 97b6372..05806b6 100644 --- a/examples/SimpleLighting/index.html +++ b/examples/SimpleLighting/index.html @@ -8,6 +8,7 @@ +
fps:
@@ -20,6 +21,7 @@ var w = window.innerWidth * 0.99; var h = window.innerHeight * 0.99; var cnvs = document.getElementById("cnvs"); + var fps = document.getElementById("fps"); if (w > h) { cnvs.width = h; cnvs.height = h; @@ -29,10 +31,21 @@ cnvs.height = w; } + var frames = 0; + var time_passed = 0; + function renderFrame() { let delta = 0; if (last_time !== 0) { delta = (new Date().getTime() - last_time); + time_passed += delta; + frames++; + + if (time_passed > 1000) { + fps.innerHTML = `fps: ${frames}`; + frames = 0; + time_passed = 0; + } } last_time = new Date().getTime(); diff --git a/examples/SimpleLighting/simple_lighting.asc b/examples/SimpleLighting/simple_lighting.asc index 949810f..5004827 100644 --- a/examples/SimpleLighting/simple_lighting.asc +++ b/examples/SimpleLighting/simple_lighting.asc @@ -8,21 +8,21 @@ import { attachShader, useProgram, WebGLUniformLocation, getUniformLocation, linkProgram, clearColor, clear, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, enableVertexAttribArray, bindBuffer, createContextFromCanvas, bufferData, getAttribLocation, drawArrays, enable, depthFunc, vertexAttribPointer, TRIANGLES, GREATER } from '../../webgl' const VERTEX_SHADER_CODE:string = `#version 300 es - precision highp float; + precision mediump float; in vec3 position; in vec3 normal; out vec4 c; void main() { - vec3 light = vec3(0.25, 2.0, -0.5); + const vec3 light = vec3(0.25, 2.0, -0.5); float d = clamp( dot( normal, light ), 0.0, 1.0); vec4 pos = vec4( position, 1.0 ); @@ -80,6 +80,8 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es enable(gl, DEPTH_TEST); + // I'M DUPLICATING A LOT OF VERTICES HERE. + // INDEXES WOULD BE BETTER let cube_data: StaticArray = [ // X Y Z NX NY NZ // Front @@ -169,7 +171,7 @@ function rotate(theta: f32) : void { //u32 { clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, cube_data, STATIC_DRAW); + bufferData(gl, ARRAY_BUFFER, cube_data, DYNAMIC_DRAW); // dimensions | data_type | normalize | stride | offset vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); diff --git a/examples/SimpleLighting/simple_lighting.wasm b/examples/SimpleLighting/simple_lighting.wasm index 510f90fccdb5491c982c4092cad69c49a30522da..de0067169680e146689ede01786c5706719ecb0d 100644 GIT binary patch delta 256 zcmbR0zSMogPfn%Ea5EjK-5YB!a|FigGhJ3UL47e8a-PzzDP#gx^g5AYsd$%aF>D z!jQ>O%8)zRL~vv*&zTt~Oui)h4@h2=lV#j6`MsPXEa5Ej7F0?B!a|tigGhJ3UI&Syu-r4zzDP#gzrrLAYnV%Ku%_| zujG==eN9YK9rMXTrl~+oFe0a$%^u-j1MNe%PTTAY|fM~V`lmwJo%xL X1>=UvQp&bKyCalU87EAxQ&tB6hki(a diff --git a/examples/TexturedCube/README.md b/examples/TexturedCube/README.md new file mode 100644 index 0000000..e312818 --- /dev/null +++ b/examples/TexturedCube/README.md @@ -0,0 +1,7 @@ +#Hello World Triangle + +The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. + +``` +asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` \ No newline at end of file diff --git a/examples/TexturedCube/index.html b/examples/TexturedCube/index.html new file mode 100644 index 0000000..05806b6 --- /dev/null +++ b/examples/TexturedCube/index.html @@ -0,0 +1,86 @@ + + + + + + + Document + + + +
fps:
+
+ +
+ + + + \ No newline at end of file diff --git a/examples/TexturedCube/textured_cube.asc b/examples/TexturedCube/textured_cube.asc new file mode 100644 index 0000000..08d42c6 --- /dev/null +++ b/examples/TexturedCube/textured_cube.asc @@ -0,0 +1,180 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, + createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER +} from '../../webgl' + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision mediump float; + + in vec3 position; + in vec3 normal; + out vec4 c; + + void main() { + const vec3 light = vec3(0.25, 2.0, -0.5); + float d = clamp( dot( normal, light ), 0.0, 1.0); + vec4 pos = vec4( position, 1.0 ); + + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = pos * mRotateTranslate; + c = vec4(max(d, 0.2), max(d, 0.2), max(d, 0.3), 1.0); + } +`; + +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + out vec4 color; + + void main() { + color = c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + + enable(gl, DEPTH_TEST); + + // I'M DUPLICATING A LOT OF VERTICES HERE. + // INDEXES WOULD BE BETTER + let cube_data: StaticArray = [ + // X Y Z NX NY NZ + // Front + -0.5,-0.5, 0.5, 0.0, 0.0, 1.0, + 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, + -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, + + 0.5, 0.5, 0.5, 0.0, 0.0, 1.0, + -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, + 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, + // X Y Z NX NY NZ + // Top + -0.5, 0.5,-0.5, 0.0, 1.0, 0.0, + 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, + -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, + + 0.5, 0.5, 0.5, 0.0, 1.0, 0.0, + -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, + 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, + // X Y Z NX NY NZ + // Back + -0.5,-0.5,-0.5, 0.0, 0.0, -1.0, + 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, + -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, + + 0.5, 0.5,-0.5, 0.0, 0.0, -1.0, + -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, + 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, + // X Y Z NX NY NZ + // Right + 0.5,-0.5,-0.5, 1.0, 0.0, 0.0, + 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, + 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, + + 0.5, 0.5, 0.5, 1.0, 0.0, 0.0, + 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, + 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, + // Bottom + -0.5,-0.5,-0.5, 0.0, -1.0, 0.0, + 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, + -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, + + 0.5,-0.5, 0.5, 0.0, -1.0, 0.0, + -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, + 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, + + // X Y Z NX NY NZ + // Left + -0.5,-0.5,-0.5, -1.0, 0.0, 0.0, + -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, + -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, + + -0.5, 0.5, 0.5, -1.0, 0.0, 0.0, + -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, + -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, + ]; + +function rotate(theta: f32) : void { //u32 { + for( var coord_i: i32 = 0; coord_i < cube_data.length; coord_i += 6 ) { + let x:f32 = cube_data[coord_i]; + let z:f32 = cube_data[coord_i+2]; + + let nx:f32 = cube_data[coord_i+3]; + let nz:f32 = cube_data[coord_i+5]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + + cube_data[coord_i] = x1; + cube_data[coord_i+2] = z1; + + cube_data[coord_i+3] = nx1; + cube_data[coord_i+5] = nz1; + } + + return; +} + + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + + bufferData(gl, ARRAY_BUFFER, cube_data, STATIC_DRAW); + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); + drawArrays(gl, TRIANGLES, 0, cube_data.length / 6); + + } \ No newline at end of file diff --git a/examples/WarpSpeed/index.html b/examples/WarpSpeed/index.html index 723a04c..9692ea6 100644 --- a/examples/WarpSpeed/index.html +++ b/examples/WarpSpeed/index.html @@ -4,7 +4,7 @@ - Document + WebGL/AssemblyScript - Simple Lighting diff --git a/examples/commented.mtl b/examples/commented.mtl new file mode 100644 index 0000000..a710205 --- /dev/null +++ b/examples/commented.mtl @@ -0,0 +1,62 @@ +# Blender MTL File: 'robot.blend' +# Material Count: 3 + +# http://paulbourke.net/dataformats/mtl/ +# http://paulbourke.net/dataformats/obj/ + +newmtl Material +# Ns Specular Exponent +Ns 323.999994 +# Ka Ambient Reflectivity +Ka 1.000000 1.000000 1.000000 +# Kd Diffuse Reflectivity +Kd 0.800000 0.314507 0.070683 +# Ks Specular Reflectivity +Ks 0.500000 0.500000 0.500000 +# Ke Emission +Ke 0.000000 0.000000 0.000000 +# Ni Optical Density +Ni 1.450000 +# d dissolve factor +d 1.000000 +# illum illumination model +# Illumination Properties that are turned on in the +# model Property Editor +# 0 Color on and Ambient off +# 1 Color on and Ambient on +# 2 Highlight on +# 3 Reflection on and Ray trace on +# 4 Transparency: Glass on +# Reflection: Ray trace on +# 5 Reflection: Fresnel on and Ray trace on +# 6 Transparency: Refraction on +# Reflection: Fresnel off and Ray trace on +# 7 Transparency: Refraction on +# Reflection: Fresnel on and Ray trace on +# 8 Reflection on and Ray trace off +# 9 Transparency: Glass on +# Reflection: Ray trace off +# 10 Casts shadows onto invisible surfaces + +illum 2 + + +newmtl Material.001 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 1.000000 0.000000 0.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 + +newmtl Material.002 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.000000 0.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/examples/commented.obj b/examples/commented.obj new file mode 100644 index 0000000..47915ff --- /dev/null +++ b/examples/commented.obj @@ -0,0 +1,393 @@ +# Blender v2.90.1 OBJ File: 'robot.blend' +# www.blender.org (created by) +# mtlib material file +mtllib robot.mtl +# o object name +o Cube +# v vertex position data +v 1.000000 1.000000 -1.000000 +v 1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 1.000000 +v 1.000000 -1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +v -1.000000 -1.000000 -1.000000 +v -1.000000 1.000000 1.000000 +v -1.000000 -1.000000 1.000000 +v 0.396396 3.195775 0.396396 +v -0.396396 3.195775 0.396396 +v 0.396396 3.195775 -0.396396 +v -0.396396 3.195775 -0.396396 +v 0.707780 4.659433 0.707780 +v -0.707780 4.659433 0.707780 +v 0.707780 4.659433 -0.707780 +v -0.707780 4.659433 -0.707780 +v 0.707780 5.747853 0.707780 +v -0.707780 5.747853 0.707780 +v 0.707780 5.747853 -0.707780 +v -0.707780 5.747853 -0.707780 +v 0.363607 6.039236 0.363607 +v -0.363607 6.039236 0.363607 +v 0.363607 6.039236 -0.363607 +v -0.363607 6.039236 -0.363607 +v 0.363607 6.228965 0.363607 +v -0.363607 6.228965 0.363607 +v 0.363607 6.228965 -0.363607 +v -0.363607 6.228965 -0.363607 +v 0.527745 6.437937 0.527745 +v -0.527745 6.437937 0.527745 +v 0.527745 6.437937 -0.527745 +v -0.527745 6.437937 -0.527745 +v 0.581972 7.220059 0.581972 +v -0.581972 7.220059 0.581972 +v 0.581972 7.220059 -0.581972 +v -0.581972 7.220059 -0.581972 +v 0.285750 7.649150 0.285750 +v -0.285750 7.649150 0.285750 +v 0.285750 7.649150 -0.285750 +v -0.285750 7.649150 -0.285750 +v 0.980918 4.891058 -0.406536 +v 0.980918 4.891058 0.406536 +v 0.980918 5.516228 -0.406536 +v 0.980918 5.516228 0.406536 +v -0.980918 4.891058 0.406536 +v -0.980918 4.891058 -0.406536 +v -0.980918 5.516228 0.406536 +v -0.980918 5.516228 -0.406536 +v -1.280918 4.891058 0.406536 +v -1.280918 4.891058 -0.406536 +v -1.280918 5.516228 0.406536 +v -1.280918 5.516228 -0.406536 +v 1.280918 4.891058 -0.406536 +v 1.280918 4.891058 0.406536 +v 1.280918 5.516228 -0.406536 +v 1.280918 5.516228 0.406536 +v 1.039887 4.005651 -0.246717 +v 1.039887 4.005651 0.246717 +v -1.039887 4.005651 0.246717 +v -1.039887 4.005651 -0.246717 +v -1.221950 4.005651 0.246717 +v -1.221950 4.005651 -0.246717 +v 1.221950 4.005651 -0.246717 +v 1.221950 4.005651 0.246717 +v 0.980918 3.537906 -0.406536 +v 0.980918 3.356243 0.406536 +v -0.980918 3.356243 0.406536 +v -0.980918 3.537906 -0.406536 +v -1.280918 3.356243 0.406536 +v -1.280918 3.537906 -0.406536 +v 1.280918 3.537906 -0.406536 +v 1.280918 3.356243 0.406536 +v 0.980918 2.342852 -0.795716 +v 0.980918 2.342852 -0.481741 +v -0.980918 2.342852 -0.481741 +v -0.980918 2.342852 -0.795716 +v -1.280918 2.342852 -0.481741 +v -1.280918 2.342852 -0.795716 +v 1.280918 2.342852 -0.795716 +v 1.280918 2.342852 -0.481741 +v 0.980918 2.075831 -1.046264 +v 0.980918 1.921174 -0.773021 +v -0.980918 1.921174 -0.773021 +v -0.980918 2.075831 -1.046264 +v -1.280918 1.921174 -0.773021 +v -1.280918 2.075831 -1.046264 +v 1.280918 2.075831 -1.046264 +v 1.280918 1.921174 -0.773021 +v 1.055918 1.868141 -1.073623 +v 1.055918 1.790813 -0.937002 +v -1.055918 1.790813 -0.937002 +v -1.055918 1.868141 -1.073623 +v -1.205918 1.790813 -0.937002 +v -1.205918 1.868141 -1.073623 +v 1.205918 1.868141 -1.073623 +v 1.205918 1.790813 -0.937002 + +# vt vertex texture data +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.750000 +vt 0.625000 0.000000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 + +# vn vertex normal data +vn 0.0000 0.2651 -0.9642 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.2651 0.9642 +vn -0.9642 0.2651 0.0000 +vn 0.9642 0.2651 0.0000 +vn -0.6461 0.7632 0.0000 +vn 0.7408 0.0000 0.6717 +vn -0.7408 0.0000 -0.6717 +vn 0.0000 0.7632 0.6461 +vn 0.0000 0.7632 -0.6461 +vn 0.6461 0.7632 0.0000 +vn 0.0000 -0.6177 -0.7864 +vn 0.7864 -0.6177 0.0000 +vn -0.7864 -0.6177 0.0000 +vn 0.0000 -0.6177 0.7864 +vn 0.0000 0.5681 -0.8229 +vn 0.0000 -0.0692 0.9976 +vn 0.0000 1.0000 0.0000 +vn 0.8229 0.5681 0.0000 +vn -0.8229 0.5681 0.0000 +vn 0.0000 0.5681 0.8229 +vn 0.6468 -0.7627 0.0000 +vn 0.7408 0.0000 -0.6717 +vn 0.6468 0.7627 0.0000 +vn -0.6468 0.7627 0.0000 +vn -0.7408 0.0000 0.6717 +vn -0.6468 -0.7627 0.0000 +vn -0.9978 -0.0665 0.0000 +vn 0.9978 -0.0665 0.0000 +vn 0.0000 0.2390 0.9710 +vn 0.9944 0.1050 0.0146 +vn 0.0000 -0.1776 -0.9841 +vn 0.0000 -0.1776 0.9841 +vn 0.0000 -0.6592 0.7520 +vn 0.0000 0.3233 -0.9463 +vn -0.9944 0.1050 0.0146 +vn 0.0000 0.6843 -0.7292 +vn 0.0000 0.3097 -0.9508 +vn 0.0000 0.1306 -0.9914 +vn 0.9329 -0.3135 -0.1774 +vn 0.0000 -0.5684 0.8228 +vn 0.0000 -0.8703 -0.4926 +vn -0.9329 -0.3135 -0.1774 +vn 0.0000 -0.7828 0.6223 +vn -0.9976 -0.0692 0.0000 +vn 0.0000 -0.0692 -0.9976 +vn 0.9976 -0.0692 0.0000 +vn -0.9781 -0.2081 0.0000 +vn 0.0000 -0.2081 0.9781 +vn 0.0000 -0.2081 -0.9781 +vn 0.9781 -0.2081 0.0000 + +# set current material to Material +usemtl Material +# I can't figure out what s is +s off + +# face vertex indexes +f 1/1/1 5/2/1 12/3/1 11/4/1 +f 4/5/2 3/6/2 7/7/2 8/8/2 +f 8/9/3 7/10/3 5/2/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/6/5 4/5/5 +f 6/11/6 5/2/6 1/1/6 2/13/6 +f 7/7/7 3/6/7 9/15/7 10/16/7 +f 5/2/8 7/10/8 10/17/8 12/3/8 +f 3/6/9 1/1/9 11/4/9 9/15/9 +f 15/18/6 16/19/6 20/20/6 19/21/6 +f 20/20/10 18/22/10 22/23/10 24/24/10 +f 17/25/11 13/26/11 42/27/11 44/28/11 +f 20/20/12 16/19/12 46/29/12 48/30/12 +f 14/31/2 13/26/2 17/25/2 18/32/2 +f 22/33/2 21/34/2 25/35/2 26/36/2 +f 18/32/13 17/25/13 21/34/13 22/33/13 +f 19/21/14 20/20/14 24/24/14 23/37/14 +f 17/25/15 19/21/15 23/37/15 21/34/15 +f 27/38/16 28/39/16 32/40/16 31/41/16 +f 23/37/6 24/24/6 28/39/6 27/38/6 +f 21/34/5 23/37/5 27/38/5 25/35/5 +f 24/24/3 22/23/3 26/42/3 28/39/3 +f 25/35/17 27/38/17 31/41/17 29/43/17 +f 28/39/18 26/42/18 30/44/18 32/40/18 +f 26/36/19 25/35/19 29/43/19 30/45/19 +f 35/46/20 36/47/20 40/48/20 39/49/20 +f 30/45/21 29/43/21 33/50/21 34/51/21 +f 39/49/22 40/52/22 38/53/22 37/54/22 +f 33/50/23 35/46/23 39/49/23 37/54/23 +f 36/47/24 34/55/24 38/56/24 40/48/24 +f 34/51/25 33/50/25 37/54/25 38/57/25 +f 41/58/6 43/59/6 55/60/6 53/61/6 +f 13/26/26 15/18/26 41/58/26 42/27/26 +f 15/18/27 19/21/27 43/59/27 41/58/27 +f 19/21/28 17/25/28 44/28/28 43/59/28 +f 45/62/2 47/63/2 51/64/2 49/65/2 +f 18/22/29 20/20/29 48/30/29 47/66/29 +f 14/31/30 18/32/30 47/63/30 45/62/30 +f 16/19/31 14/67/31 45/68/31 46/29/31 +f 50/69/3 49/70/3 51/71/3 52/72/3 +f 47/66/22 48/30/22 52/72/22 51/71/22 +f 48/30/6 46/29/6 50/69/6 52/72/6 +f 42/27/32 41/58/32 57/73/32 58/74/32 +f 54/75/5 53/61/5 55/60/5 56/76/5 +f 53/61/33 54/75/33 64/77/33 63/78/33 +f 44/28/2 42/27/2 54/75/2 56/76/2 +f 43/59/22 44/28/22 56/76/22 55/60/22 +f 59/79/34 61/80/34 69/81/34 67/82/34 +f 63/78/35 64/77/35 72/83/35 71/84/35 +f 41/58/36 53/61/36 63/78/36 57/73/36 +f 49/70/32 50/69/32 62/85/32 61/86/32 +f 50/69/36 46/29/36 60/87/36 62/85/36 +f 45/62/37 49/65/37 61/80/37 59/79/37 +f 54/75/37 42/27/37 58/74/37 64/77/37 +f 46/29/33 45/68/33 59/88/33 60/87/33 +f 72/83/38 66/89/38 74/90/38 80/91/38 +f 66/89/3 65/92/3 73/93/3 74/90/3 +f 60/87/35 59/88/35 67/94/35 68/95/35 +f 57/73/39 63/78/39 71/84/39 65/92/39 +f 62/85/39 60/87/39 68/95/39 70/96/39 +f 61/86/40 62/85/40 70/96/40 69/97/40 +f 58/74/40 57/73/40 65/92/40 66/89/40 +f 64/77/34 58/74/34 66/89/34 72/83/34 +f 78/98/41 76/99/41 84/100/41 86/101/41 +f 73/93/41 79/102/41 87/103/41 81/104/41 +f 71/84/5 72/83/5 80/91/5 79/102/5 +f 67/82/38 69/81/38 77/105/38 75/106/38 +f 68/95/5 67/94/5 75/107/5 76/99/5 +f 65/92/42 71/84/42 79/102/42 73/93/42 +f 70/96/42 68/95/42 76/99/42 78/98/42 +f 69/97/3 70/96/3 78/98/3 77/108/3 +f 81/104/43 87/103/43 95/109/43 89/110/43 +f 84/100/44 83/111/44 91/112/44 92/113/44 +f 77/108/3 78/98/3 86/101/3 85/114/3 +f 74/90/3 73/93/3 81/104/3 82/115/3 +f 80/91/45 74/90/45 82/115/45 88/116/45 +f 79/102/5 80/91/5 88/116/5 87/103/5 +f 75/106/45 77/105/45 85/117/45 83/118/45 +f 76/99/5 75/107/5 83/111/5 84/100/5 +f 92/113/46 91/112/46 93/119/46 94/120/46 +f 90/121/46 89/110/46 95/109/46 96/122/46 +f 86/101/43 84/100/43 92/113/43 94/120/43 +f 85/114/47 86/101/47 94/120/47 93/119/47 +f 82/115/47 81/104/47 89/110/47 90/121/47 +f 88/116/48 82/115/48 90/121/48 96/122/48 +f 87/103/44 88/116/44 96/122/44 95/109/44 +f 83/118/48 85/117/48 93/123/48 91/124/48 + +# second material +usemtl Material.001 +f 32/40/49 30/44/49 34/55/49 36/47/49 +f 31/41/50 32/40/50 36/47/50 35/46/50 +f 29/43/51 31/41/51 35/46/51 33/50/51 + +# third material +usemtl Material.002 +f 12/3/52 10/17/52 14/67/52 16/19/52 +f 10/16/53 9/15/53 13/26/53 14/31/53 +f 11/4/54 12/3/54 16/19/54 15/18/54 +f 9/15/55 11/4/55 15/18/55 13/26/55 diff --git a/examples/monkey.mtl b/examples/monkey.mtl new file mode 100644 index 0000000..f231bdf --- /dev/null +++ b/examples/monkey.mtl @@ -0,0 +1,10 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl None +Ns 500 +Ka 0.8 0.8 0.8 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 diff --git a/examples/monkey.obj b/examples/monkey.obj new file mode 100644 index 0000000..0552c62 --- /dev/null +++ b/examples/monkey.obj @@ -0,0 +1,2068 @@ +# Blender v2.90.1 OBJ File: '' +# www.blender.org +mtllib monkey.mtl +o Suzanne +v 0.437500 0.164062 0.765625 +v -0.437500 0.164062 0.765625 +v 0.500000 0.093750 0.687500 +v -0.500000 0.093750 0.687500 +v 0.546875 0.054688 0.578125 +v -0.546875 0.054688 0.578125 +v 0.351562 -0.023438 0.617188 +v -0.351562 -0.023438 0.617188 +v 0.351562 0.031250 0.718750 +v -0.351562 0.031250 0.718750 +v 0.351562 0.132812 0.781250 +v -0.351562 0.132812 0.781250 +v 0.273438 0.164062 0.796875 +v -0.273438 0.164062 0.796875 +v 0.203125 0.093750 0.742188 +v -0.203125 0.093750 0.742188 +v 0.156250 0.054688 0.648438 +v -0.156250 0.054688 0.648438 +v 0.078125 0.242188 0.656250 +v -0.078125 0.242188 0.656250 +v 0.140625 0.242188 0.742188 +v -0.140625 0.242188 0.742188 +v 0.242188 0.242188 0.796875 +v -0.242188 0.242188 0.796875 +v 0.273438 0.328125 0.796875 +v -0.273438 0.328125 0.796875 +v 0.203125 0.390625 0.742188 +v -0.203125 0.390625 0.742188 +v 0.156250 0.437500 0.648438 +v -0.156250 0.437500 0.648438 +v 0.351562 0.515625 0.617188 +v -0.351562 0.515625 0.617188 +v 0.351562 0.453125 0.718750 +v -0.351562 0.453125 0.718750 +v 0.351562 0.359375 0.781250 +v -0.351562 0.359375 0.781250 +v 0.437500 0.328125 0.765625 +v -0.437500 0.328125 0.765625 +v 0.500000 0.390625 0.687500 +v -0.500000 0.390625 0.687500 +v 0.546875 0.437500 0.578125 +v -0.546875 0.437500 0.578125 +v 0.625000 0.242188 0.562500 +v -0.625000 0.242188 0.562500 +v 0.562500 0.242188 0.671875 +v -0.562500 0.242188 0.671875 +v 0.468750 0.242188 0.757812 +v -0.468750 0.242188 0.757812 +v 0.476562 0.242188 0.773438 +v -0.476562 0.242188 0.773438 +v 0.445312 0.335938 0.781250 +v -0.445312 0.335938 0.781250 +v 0.351562 0.375000 0.804688 +v -0.351562 0.375000 0.804688 +v 0.265625 0.335938 0.820312 +v -0.265625 0.335938 0.820312 +v 0.226562 0.242188 0.820312 +v -0.226562 0.242188 0.820312 +v 0.265625 0.156250 0.820312 +v -0.265625 0.156250 0.820312 +v 0.351562 0.242188 0.828125 +v -0.351562 0.242188 0.828125 +v 0.351562 0.117188 0.804688 +v -0.351562 0.117188 0.804688 +v 0.445312 0.156250 0.781250 +v -0.445312 0.156250 0.781250 +v 0.000000 0.429688 0.742188 +v 0.000000 0.351562 0.820312 +v 0.000000 -0.679688 0.734375 +v 0.000000 -0.320312 0.781250 +v 0.000000 -0.187500 0.796875 +v 0.000000 -0.773438 0.718750 +v 0.000000 0.406250 0.601562 +v 0.000000 0.570312 0.570312 +v 0.000000 0.898438 -0.546875 +v 0.000000 0.562500 -0.851562 +v 0.000000 0.070312 -0.828125 +v 0.000000 -0.382812 -0.351562 +v 0.203125 -0.187500 0.562500 +v -0.203125 -0.187500 0.562500 +v 0.312500 -0.437500 0.570312 +v -0.312500 -0.437500 0.570312 +v 0.351562 -0.695312 0.570312 +v -0.351562 -0.695312 0.570312 +v 0.367188 -0.890625 0.531250 +v -0.367188 -0.890625 0.531250 +v 0.328125 -0.945312 0.523438 +v -0.328125 -0.945312 0.523438 +v 0.179688 -0.968750 0.554688 +v -0.179688 -0.968750 0.554688 +v 0.000000 -0.984375 0.578125 +v 0.437500 -0.140625 0.531250 +v -0.437500 -0.140625 0.531250 +v 0.632812 -0.039062 0.539062 +v -0.632812 -0.039062 0.539062 +v 0.828125 0.148438 0.445312 +v -0.828125 0.148438 0.445312 +v 0.859375 0.429688 0.593750 +v -0.859375 0.429688 0.593750 +v 0.710938 0.484375 0.625000 +v -0.710938 0.484375 0.625000 +v 0.492188 0.601562 0.687500 +v -0.492188 0.601562 0.687500 +v 0.320312 0.757812 0.734375 +v -0.320312 0.757812 0.734375 +v 0.156250 0.718750 0.757812 +v -0.156250 0.718750 0.757812 +v 0.062500 0.492188 0.750000 +v -0.062500 0.492188 0.750000 +v 0.164062 0.414062 0.773438 +v -0.164062 0.414062 0.773438 +v 0.125000 0.304688 0.765625 +v -0.125000 0.304688 0.765625 +v 0.203125 0.093750 0.742188 +v -0.203125 0.093750 0.742188 +v 0.375000 0.015625 0.703125 +v -0.375000 0.015625 0.703125 +v 0.492188 0.062500 0.671875 +v -0.492188 0.062500 0.671875 +v 0.625000 0.187500 0.648438 +v -0.625000 0.187500 0.648438 +v 0.640625 0.296875 0.648438 +v -0.640625 0.296875 0.648438 +v 0.601562 0.375000 0.664062 +v -0.601562 0.375000 0.664062 +v 0.429688 0.437500 0.718750 +v -0.429688 0.437500 0.718750 +v 0.250000 0.468750 0.757812 +v -0.250000 0.468750 0.757812 +v 0.000000 -0.765625 0.734375 +v 0.109375 -0.718750 0.734375 +v -0.109375 -0.718750 0.734375 +v 0.117188 -0.835938 0.710938 +v -0.117188 -0.835938 0.710938 +v 0.062500 -0.882812 0.695312 +v -0.062500 -0.882812 0.695312 +v 0.000000 -0.890625 0.687500 +v 0.000000 -0.195312 0.750000 +v 0.000000 -0.140625 0.742188 +v 0.101562 -0.148438 0.742188 +v -0.101562 -0.148438 0.742188 +v 0.125000 -0.226562 0.750000 +v -0.125000 -0.226562 0.750000 +v 0.085938 -0.289062 0.742188 +v -0.085938 -0.289062 0.742188 +v 0.398438 -0.046875 0.671875 +v -0.398438 -0.046875 0.671875 +v 0.617188 0.054688 0.625000 +v -0.617188 0.054688 0.625000 +v 0.726562 0.203125 0.601562 +v -0.726562 0.203125 0.601562 +v 0.742188 0.375000 0.656250 +v -0.742188 0.375000 0.656250 +v 0.687500 0.414062 0.726562 +v -0.687500 0.414062 0.726562 +v 0.437500 0.546875 0.796875 +v -0.437500 0.546875 0.796875 +v 0.312500 0.640625 0.835938 +v -0.312500 0.640625 0.835938 +v 0.203125 0.617188 0.851562 +v -0.203125 0.617188 0.851562 +v 0.101562 0.429688 0.843750 +v -0.101562 0.429688 0.843750 +v 0.125000 -0.101562 0.812500 +v -0.125000 -0.101562 0.812500 +v 0.210938 -0.445312 0.710938 +v -0.210938 -0.445312 0.710938 +v 0.250000 -0.703125 0.687500 +v -0.250000 -0.703125 0.687500 +v 0.265625 -0.820312 0.664062 +v -0.265625 -0.820312 0.664062 +v 0.234375 -0.914062 0.632812 +v -0.234375 -0.914062 0.632812 +v 0.164062 -0.929688 0.632812 +v -0.164062 -0.929688 0.632812 +v 0.000000 -0.945312 0.640625 +v 0.000000 0.046875 0.726562 +v 0.000000 0.210938 0.765625 +v 0.328125 0.476562 0.742188 +v -0.328125 0.476562 0.742188 +v 0.164062 0.140625 0.750000 +v -0.164062 0.140625 0.750000 +v 0.132812 0.210938 0.757812 +v -0.132812 0.210938 0.757812 +v 0.117188 -0.687500 0.734375 +v -0.117188 -0.687500 0.734375 +v 0.078125 -0.445312 0.750000 +v -0.078125 -0.445312 0.750000 +v 0.000000 -0.445312 0.750000 +v 0.000000 -0.328125 0.742188 +v 0.093750 -0.273438 0.781250 +v -0.093750 -0.273438 0.781250 +v 0.132812 -0.226562 0.796875 +v -0.132812 -0.226562 0.796875 +v 0.109375 -0.132812 0.781250 +v -0.109375 -0.132812 0.781250 +v 0.039062 -0.125000 0.781250 +v -0.039062 -0.125000 0.781250 +v 0.000000 -0.203125 0.828125 +v 0.046875 -0.148438 0.812500 +v -0.046875 -0.148438 0.812500 +v 0.093750 -0.156250 0.812500 +v -0.093750 -0.156250 0.812500 +v 0.109375 -0.226562 0.828125 +v -0.109375 -0.226562 0.828125 +v 0.078125 -0.250000 0.804688 +v -0.078125 -0.250000 0.804688 +v 0.000000 -0.289062 0.804688 +v 0.257812 -0.312500 0.554688 +v -0.257812 -0.312500 0.554688 +v 0.164062 -0.242188 0.710938 +v -0.164062 -0.242188 0.710938 +v 0.179688 -0.312500 0.710938 +v -0.179688 -0.312500 0.710938 +v 0.234375 -0.250000 0.554688 +v -0.234375 -0.250000 0.554688 +v 0.000000 -0.875000 0.687500 +v 0.046875 -0.867188 0.687500 +v -0.046875 -0.867188 0.687500 +v 0.093750 -0.820312 0.710938 +v -0.093750 -0.820312 0.710938 +v 0.093750 -0.742188 0.726562 +v -0.093750 -0.742188 0.726562 +v 0.000000 -0.781250 0.656250 +v 0.093750 -0.750000 0.664062 +v -0.093750 -0.750000 0.664062 +v 0.093750 -0.812500 0.640625 +v -0.093750 -0.812500 0.640625 +v 0.046875 -0.851562 0.632812 +v -0.046875 -0.851562 0.632812 +v 0.000000 -0.859375 0.632812 +v 0.171875 0.218750 0.781250 +v -0.171875 0.218750 0.781250 +v 0.187500 0.156250 0.773438 +v -0.187500 0.156250 0.773438 +v 0.335938 0.429688 0.757812 +v -0.335938 0.429688 0.757812 +v 0.273438 0.421875 0.773438 +v -0.273438 0.421875 0.773438 +v 0.421875 0.398438 0.773438 +v -0.421875 0.398438 0.773438 +v 0.562500 0.351562 0.695312 +v -0.562500 0.351562 0.695312 +v 0.585938 0.289062 0.687500 +v -0.585938 0.289062 0.687500 +v 0.578125 0.195312 0.679688 +v -0.578125 0.195312 0.679688 +v 0.476562 0.101562 0.718750 +v -0.476562 0.101562 0.718750 +v 0.375000 0.062500 0.742188 +v -0.375000 0.062500 0.742188 +v 0.226562 0.109375 0.781250 +v -0.226562 0.109375 0.781250 +v 0.179688 0.296875 0.781250 +v -0.179688 0.296875 0.781250 +v 0.210938 0.375000 0.781250 +v -0.210938 0.375000 0.781250 +v 0.234375 0.359375 0.757812 +v -0.234375 0.359375 0.757812 +v 0.195312 0.296875 0.757812 +v -0.195312 0.296875 0.757812 +v 0.242188 0.125000 0.757812 +v -0.242188 0.125000 0.757812 +v 0.375000 0.085938 0.726562 +v -0.375000 0.085938 0.726562 +v 0.460938 0.117188 0.703125 +v -0.460938 0.117188 0.703125 +v 0.546875 0.210938 0.671875 +v -0.546875 0.210938 0.671875 +v 0.554688 0.281250 0.671875 +v -0.554688 0.281250 0.671875 +v 0.531250 0.335938 0.679688 +v -0.531250 0.335938 0.679688 +v 0.414062 0.390625 0.750000 +v -0.414062 0.390625 0.750000 +v 0.281250 0.398438 0.765625 +v -0.281250 0.398438 0.765625 +v 0.335938 0.406250 0.750000 +v -0.335938 0.406250 0.750000 +v 0.203125 0.171875 0.750000 +v -0.203125 0.171875 0.750000 +v 0.195312 0.226562 0.750000 +v -0.195312 0.226562 0.750000 +v 0.109375 0.460938 0.609375 +v -0.109375 0.460938 0.609375 +v 0.195312 0.664062 0.617188 +v -0.195312 0.664062 0.617188 +v 0.335938 0.687500 0.593750 +v -0.335938 0.687500 0.593750 +v 0.484375 0.554688 0.554688 +v -0.484375 0.554688 0.554688 +v 0.679688 0.453125 0.492188 +v -0.679688 0.453125 0.492188 +v 0.796875 0.406250 0.460938 +v -0.796875 0.406250 0.460938 +v 0.773438 0.164062 0.375000 +v -0.773438 0.164062 0.375000 +v 0.601562 0.000000 0.414062 +v -0.601562 0.000000 0.414062 +v 0.437500 -0.093750 0.468750 +v -0.437500 -0.093750 0.468750 +v 0.000000 0.898438 0.289062 +v 0.000000 0.984375 -0.078125 +v 0.000000 -0.195312 -0.671875 +v 0.000000 -0.460938 0.187500 +v 0.000000 -0.976562 0.460938 +v 0.000000 -0.804688 0.343750 +v 0.000000 -0.570312 0.320312 +v 0.000000 -0.484375 0.281250 +v 0.851562 0.234375 0.054688 +v -0.851562 0.234375 0.054688 +v 0.859375 0.320312 -0.046875 +v -0.859375 0.320312 -0.046875 +v 0.773438 0.265625 -0.437500 +v -0.773438 0.265625 -0.437500 +v 0.460938 0.437500 -0.703125 +v -0.460938 0.437500 -0.703125 +v 0.734375 -0.046875 0.070312 +v -0.734375 -0.046875 0.070312 +v 0.593750 -0.125000 -0.164062 +v -0.593750 -0.125000 -0.164062 +v 0.640625 -0.007812 -0.429688 +v -0.640625 -0.007812 -0.429688 +v 0.335938 0.054688 -0.664062 +v -0.335938 0.054688 -0.664062 +v 0.234375 -0.351562 0.406250 +v -0.234375 -0.351562 0.406250 +v 0.179688 -0.414062 0.257812 +v -0.179688 -0.414062 0.257812 +v 0.289062 -0.710938 0.382812 +v -0.289062 -0.710938 0.382812 +v 0.250000 -0.500000 0.390625 +v -0.250000 -0.500000 0.390625 +v 0.328125 -0.914062 0.398438 +v -0.328125 -0.914062 0.398438 +v 0.140625 -0.757812 0.367188 +v -0.140625 -0.757812 0.367188 +v 0.125000 -0.539062 0.359375 +v -0.125000 -0.539062 0.359375 +v 0.164062 -0.945312 0.437500 +v -0.164062 -0.945312 0.437500 +v 0.218750 -0.281250 0.429688 +v -0.218750 -0.281250 0.429688 +v 0.210938 -0.226562 0.468750 +v -0.210938 -0.226562 0.468750 +v 0.203125 -0.171875 0.500000 +v -0.203125 -0.171875 0.500000 +v 0.210938 -0.390625 0.164062 +v -0.210938 -0.390625 0.164062 +v 0.296875 -0.312500 -0.265625 +v -0.296875 -0.312500 -0.265625 +v 0.343750 -0.148438 -0.539062 +v -0.343750 -0.148438 -0.539062 +v 0.453125 0.867188 -0.382812 +v -0.453125 0.867188 -0.382812 +v 0.453125 0.929688 -0.070312 +v -0.453125 0.929688 -0.070312 +v 0.453125 0.851562 0.234375 +v -0.453125 0.851562 0.234375 +v 0.460938 0.523438 0.429688 +v -0.460938 0.523438 0.429688 +v 0.726562 0.406250 0.335938 +v -0.726562 0.406250 0.335938 +v 0.632812 0.453125 0.281250 +v -0.632812 0.453125 0.281250 +v 0.640625 0.703125 0.054688 +v -0.640625 0.703125 0.054688 +v 0.796875 0.562500 0.125000 +v -0.796875 0.562500 0.125000 +v 0.796875 0.617188 -0.117188 +v -0.796875 0.617188 -0.117188 +v 0.640625 0.750000 -0.195312 +v -0.640625 0.750000 -0.195312 +v 0.640625 0.679688 -0.445312 +v -0.640625 0.679688 -0.445312 +v 0.796875 0.539062 -0.359375 +v -0.796875 0.539062 -0.359375 +v 0.617188 0.328125 -0.585938 +v -0.617188 0.328125 -0.585938 +v 0.484375 0.023438 -0.546875 +v -0.484375 0.023438 -0.546875 +v 0.820312 0.328125 -0.203125 +v -0.820312 0.328125 -0.203125 +v 0.406250 -0.171875 0.148438 +v -0.406250 -0.171875 0.148438 +v 0.429688 -0.195312 -0.210938 +v -0.429688 -0.195312 -0.210938 +v 0.890625 0.406250 -0.234375 +v -0.890625 0.406250 -0.234375 +v 0.773438 -0.140625 -0.125000 +v -0.773438 -0.140625 -0.125000 +v 1.039062 -0.101562 -0.328125 +v -1.039062 -0.101562 -0.328125 +v 1.281250 0.054688 -0.429688 +v -1.281250 0.054688 -0.429688 +v 1.351562 0.320312 -0.421875 +v -1.351562 0.320312 -0.421875 +v 1.234375 0.507812 -0.421875 +v -1.234375 0.507812 -0.421875 +v 1.023438 0.476562 -0.312500 +v -1.023438 0.476562 -0.312500 +v 1.015625 0.414062 -0.289062 +v -1.015625 0.414062 -0.289062 +v 1.187500 0.437500 -0.390625 +v -1.187500 0.437500 -0.390625 +v 1.265625 0.289062 -0.406250 +v -1.265625 0.289062 -0.406250 +v 1.210938 0.078125 -0.406250 +v -1.210938 0.078125 -0.406250 +v 1.031250 -0.039062 -0.304688 +v -1.031250 -0.039062 -0.304688 +v 0.828125 -0.070312 -0.132812 +v -0.828125 -0.070312 -0.132812 +v 0.921875 0.359375 -0.218750 +v -0.921875 0.359375 -0.218750 +v 0.945312 0.304688 -0.289062 +v -0.945312 0.304688 -0.289062 +v 0.882812 -0.023438 -0.210938 +v -0.882812 -0.023438 -0.210938 +v 1.039062 0.000000 -0.367188 +v -1.039062 0.000000 -0.367188 +v 1.187500 0.093750 -0.445312 +v -1.187500 0.093750 -0.445312 +v 1.234375 0.250000 -0.445312 +v -1.234375 0.250000 -0.445312 +v 1.171875 0.359375 -0.437500 +v -1.171875 0.359375 -0.437500 +v 1.023438 0.343750 -0.359375 +v -1.023438 0.343750 -0.359375 +v 0.843750 0.289062 -0.210938 +v -0.843750 0.289062 -0.210938 +v 0.835938 0.171875 -0.273438 +v -0.835938 0.171875 -0.273438 +v 0.757812 0.093750 -0.273438 +v -0.757812 0.093750 -0.273438 +v 0.820312 0.085938 -0.273438 +v -0.820312 0.085938 -0.273438 +v 0.843750 0.015625 -0.273438 +v -0.843750 0.015625 -0.273438 +v 0.812500 -0.015625 -0.273438 +v -0.812500 -0.015625 -0.273438 +v 0.726562 0.000000 -0.070312 +v -0.726562 0.000000 -0.070312 +v 0.718750 -0.023438 -0.171875 +v -0.718750 -0.023438 -0.171875 +v 0.718750 0.039062 -0.187500 +v -0.718750 0.039062 -0.187500 +v 0.796875 0.203125 -0.210938 +v -0.796875 0.203125 -0.210938 +v 0.890625 0.242188 -0.265625 +v -0.890625 0.242188 -0.265625 +v 0.890625 0.234375 -0.320312 +v -0.890625 0.234375 -0.320312 +v 0.812500 -0.015625 -0.320312 +v -0.812500 -0.015625 -0.320312 +v 0.851562 0.015625 -0.320312 +v -0.851562 0.015625 -0.320312 +v 0.828125 0.078125 -0.320312 +v -0.828125 0.078125 -0.320312 +v 0.765625 0.093750 -0.320312 +v -0.765625 0.093750 -0.320312 +v 0.843750 0.171875 -0.320312 +v -0.843750 0.171875 -0.320312 +v 1.039062 0.328125 -0.414062 +v -1.039062 0.328125 -0.414062 +v 1.187500 0.343750 -0.484375 +v -1.187500 0.343750 -0.484375 +v 1.257812 0.242188 -0.492188 +v -1.257812 0.242188 -0.492188 +v 1.210938 0.085938 -0.484375 +v -1.210938 0.085938 -0.484375 +v 1.046875 0.000000 -0.421875 +v -1.046875 0.000000 -0.421875 +v 0.882812 -0.015625 -0.265625 +v -0.882812 -0.015625 -0.265625 +v 0.953125 0.289062 -0.343750 +v -0.953125 0.289062 -0.343750 +v 0.890625 0.109375 -0.328125 +v -0.890625 0.109375 -0.328125 +v 0.937500 0.062500 -0.335938 +v -0.937500 0.062500 -0.335938 +v 1.000000 0.125000 -0.367188 +v -1.000000 0.125000 -0.367188 +v 0.960938 0.171875 -0.351562 +v -0.960938 0.171875 -0.351562 +v 1.015625 0.234375 -0.375000 +v -1.015625 0.234375 -0.375000 +v 1.054688 0.187500 -0.382812 +v -1.054688 0.187500 -0.382812 +v 1.109375 0.210938 -0.390625 +v -1.109375 0.210938 -0.390625 +v 1.085938 0.273438 -0.390625 +v -1.085938 0.273438 -0.390625 +v 1.023438 0.437500 -0.484375 +v -1.023438 0.437500 -0.484375 +v 1.250000 0.468750 -0.546875 +v -1.250000 0.468750 -0.546875 +v 1.367188 0.296875 -0.500000 +v -1.367188 0.296875 -0.500000 +v 1.312500 0.054688 -0.531250 +v -1.312500 0.054688 -0.531250 +v 1.039062 -0.085938 -0.492188 +v -1.039062 -0.085938 -0.492188 +v 0.789062 -0.125000 -0.328125 +v -0.789062 -0.125000 -0.328125 +v 0.859375 0.382812 -0.382812 +v -0.859375 0.382812 -0.382812 +vt 0.890955 0.590063 +vt 0.870622 0.589649 +vt 0.860081 0.560115 +vt 0.904571 0.559404 +vt 0.856226 0.850547 +vt 0.868067 0.821510 +vt 0.888398 0.821999 +vt 0.900640 0.853232 +vt 0.853018 0.521562 +vt 0.920166 0.524546 +vt 0.847458 0.888748 +vt 0.914672 0.888748 +vt 0.828900 0.590771 +vt 0.798481 0.569535 +vt 0.795104 0.838402 +vt 0.826436 0.818537 +vt 0.854402 0.604754 +vt 0.852534 0.805700 +vt 0.854107 0.625459 +vt 0.828171 0.633354 +vt 0.827598 0.775964 +vt 0.853157 0.785002 +vt 0.791018 0.645443 +vt 0.791018 0.762238 +vt 0.855181 0.668527 +vt 0.842358 0.702491 +vt 0.844839 0.707525 +vt 0.856142 0.742025 +vt 0.867508 0.642291 +vt 0.867293 0.768782 +vt 0.890474 0.641909 +vt 0.900375 0.666964 +vt 0.901223 0.745592 +vt 0.890219 0.770183 +vt 0.918898 0.699697 +vt 0.921180 0.713713 +vt 0.931889 0.636832 +vt 0.968392 0.645333 +vt 0.968213 0.770220 +vt 0.931368 0.777093 +vt 0.905882 0.627902 +vt 0.904990 0.784860 +vt 0.906232 0.605742 +vt 0.933717 0.593037 +vt 0.931250 0.820926 +vt 0.904357 0.807013 +vt 0.968392 0.573812 +vt 0.965038 0.841671 +vt 0.902359 0.607909 +vt 0.889591 0.593275 +vt 0.900583 0.804677 +vt 0.887178 0.818729 +vt 0.899781 0.626257 +vt 0.898822 0.786233 +vt 0.887842 0.636527 +vt 0.887351 0.775442 +vt 0.870908 0.635245 +vt 0.870376 0.775972 +vt 0.859881 0.623942 +vt 0.858859 0.786774 +vt 0.859664 0.608186 +vt 0.857942 0.802505 +vt 0.871664 0.593961 +vt 0.869299 0.817249 +vt 0.879400 0.616512 +vt 0.878029 0.795063 +vt 0.540260 0.053805 +vt 0.536419 0.062072 +vt 0.518925 0.059681 +vt 0.518916 0.050294 +vt 0.501452 0.062043 +vt 0.497626 0.053770 +vt 0.551930 0.058338 +vt 0.542788 0.064089 +vt 0.495083 0.064047 +vt 0.485955 0.058273 +vt 0.555073 0.061900 +vt 0.546290 0.072669 +vt 0.491565 0.072625 +vt 0.482805 0.061829 +vt 0.563812 0.076586 +vt 0.548333 0.084893 +vt 0.489507 0.084858 +vt 0.474014 0.076511 +vt 0.583135 0.108495 +vt 0.555621 0.121749 +vt 0.482177 0.121781 +vt 0.454527 0.108481 +vt 0.605512 0.165134 +vt 0.647395 0.200502 +vt 0.621513 0.227818 +vt 0.553118 0.209599 +vt 0.416514 0.229490 +vt 0.389677 0.201890 +vt 0.432024 0.165644 +vt 0.485339 0.210053 +vt 0.676379 0.233241 +vt 0.664761 0.253225 +vt 0.372747 0.256357 +vt 0.360308 0.235899 +vt 0.715342 0.265392 +vt 0.683908 0.279995 +vt 0.353696 0.284606 +vt 0.320452 0.270303 +vt 0.707254 0.310054 +vt 0.687515 0.311539 +vt 0.351187 0.317440 +vt 0.330721 0.316853 +vt 0.697446 0.332673 +vt 0.676824 0.323937 +vt 0.362723 0.329722 +vt 0.341964 0.339667 +vt 0.662817 0.372521 +vt 0.639050 0.357330 +vt 0.402772 0.362131 +vt 0.379297 0.378686 +vt 0.626842 0.395792 +vt 0.618316 0.375151 +vt 0.424583 0.379267 +vt 0.416915 0.400552 +vt 0.604826 0.397804 +vt 0.600808 0.377857 +vt 0.442396 0.381222 +vt 0.439252 0.401540 +vt 0.553095 0.390512 +vt 0.559674 0.357011 +vt 0.482938 0.358497 +vt 0.490934 0.391862 +vt 0.521923 0.386009 +vt 0.521086 0.343868 +vt 0.577279 0.340156 +vt 0.599845 0.344815 +vt 0.441977 0.347815 +vt 0.464579 0.342230 +vt 0.615546 0.342005 +vt 0.425972 0.345582 +vt 0.634472 0.332311 +vt 0.406362 0.336480 +vt 0.662406 0.312804 +vt 0.377061 0.317685 +vt 0.668440 0.297958 +vt 0.370304 0.302644 +vt 0.664101 0.277872 +vt 0.374100 0.281778 +vt 0.639236 0.253047 +vt 0.398938 0.255633 +vt 0.613992 0.242662 +vt 0.424464 0.244473 +vt 0.572941 0.258564 +vt 0.466409 0.259709 +vt 0.563905 0.272007 +vt 0.519760 0.248864 +vt 0.475886 0.273078 +vt 0.558527 0.316594 +vt 0.482619 0.317843 +vt 0.520277 0.294764 +vt 0.556923 0.291214 +vt 0.483433 0.292249 +vt 0.525483 0.068967 +vt 0.518928 0.067899 +vt 0.512375 0.068956 +vt 0.531231 0.073829 +vt 0.506626 0.073811 +vt 0.531019 0.087431 +vt 0.506827 0.087416 +vt 0.532042 0.127713 +vt 0.532669 0.090920 +vt 0.505177 0.090908 +vt 0.505828 0.127728 +vt 0.538112 0.158382 +vt 0.518981 0.151749 +vt 0.518941 0.128358 +vt 0.499851 0.158434 +vt 0.518925 0.093952 +vt 0.518927 0.085180 +vt 0.548362 0.173560 +vt 0.537959 0.175966 +vt 0.535214 0.166808 +vt 0.502799 0.166857 +vt 0.500100 0.176033 +vt 0.489683 0.173693 +vt 0.544281 0.193366 +vt 0.537248 0.187577 +vt 0.500890 0.187571 +vt 0.493996 0.193428 +vt 0.519841 0.200843 +vt 0.528757 0.191785 +vt 0.509219 0.191626 +vt 0.517577 0.190607 +vt 0.519132 0.185382 +vt 0.518998 0.159028 +vt 0.531131 0.171631 +vt 0.519016 0.165599 +vt 0.506910 0.171667 +vt 0.519099 0.179457 +vt 0.528222 0.186316 +vt 0.509787 0.186260 +vt 0.533528 0.184215 +vt 0.504547 0.184206 +vt 0.533449 0.176739 +vt 0.504604 0.176791 +vt 0.561572 0.167779 +vt 0.476363 0.167996 +vt 0.559475 0.149319 +vt 0.478371 0.149447 +vt 0.596138 0.133426 +vt 0.441395 0.133592 +vt 0.601169 0.147885 +vt 0.436337 0.148194 +vt 0.518925 0.083865 +vt 0.528933 0.084957 +vt 0.508915 0.084945 +vt 0.529036 0.075429 +vt 0.508820 0.075415 +vt 0.523751 0.070508 +vt 0.514106 0.070501 +vt 0.518929 0.069468 +vt 0.521560 0.074970 +vt 0.518928 0.074259 +vt 0.516297 0.074966 +vt 0.524236 0.076691 +vt 0.513619 0.076684 +vt 0.524601 0.079886 +vt 0.513252 0.079879 +vt 0.518926 0.079331 +vt 0.571787 0.277295 +vt 0.568351 0.292904 +vt 0.468070 0.278617 +vt 0.471978 0.294282 +vt 0.573085 0.311386 +vt 0.467790 0.313081 +vt 0.584855 0.327708 +vt 0.456477 0.329961 +vt 0.580734 0.266620 +vt 0.458737 0.268049 +vt 0.611720 0.255725 +vt 0.427062 0.257728 +vt 0.632494 0.262853 +vt 0.406068 0.265508 +vt 0.653658 0.279971 +vt 0.384904 0.283634 +vt 0.656064 0.297636 +vt 0.383015 0.301864 +vt 0.652752 0.310186 +vt 0.386858 0.314615 +vt 0.629040 0.323864 +vt 0.411556 0.327673 +vt 0.614408 0.331972 +vt 0.426727 0.335361 +vt 0.601033 0.333624 +vt 0.440344 0.336537 +vt 0.590644 0.321516 +vt 0.601799 0.328453 +vt 0.450408 0.323919 +vt 0.439372 0.331331 +vt 0.613335 0.327083 +vt 0.427623 0.330358 +vt 0.626851 0.320513 +vt 0.413648 0.324175 +vt 0.646248 0.306421 +vt 0.393381 0.310510 +vt 0.649541 0.296225 +vt 0.389662 0.300183 +vt 0.647785 0.283486 +vt 0.391040 0.287071 +vt 0.629829 0.267263 +vt 0.408893 0.269959 +vt 0.612641 0.261560 +vt 0.426254 0.263693 +vt 0.585166 0.270991 +vt 0.454369 0.272583 +vt 0.578124 0.281900 +vt 0.461798 0.283441 +vt 0.579548 0.309340 +vt 0.461204 0.311233 +vt 0.577524 0.293776 +vt 0.462754 0.295432 +vt 0.553209 0.433063 +vt 0.523031 0.433628 +vt 0.492809 0.434538 +vt 0.609819 0.431516 +vt 0.435860 0.435740 +vt 0.648174 0.419316 +vt 0.396518 0.425416 +vt 0.692106 0.388274 +vt 0.350292 0.396229 +vt 0.726332 0.341754 +vt 0.312756 0.350588 +vt 0.735879 0.312112 +vt 0.301067 0.320593 +vt 0.729900 0.256393 +vt 0.304876 0.261087 +vt 0.698172 0.216906 +vt 0.337414 0.219179 +vt 0.663103 0.190671 +vt 0.373474 0.191872 +vt 0.626908 0.015608 +vt 0.649444 0.022378 +vt 0.660451 0.076084 +vt 0.621440 0.048089 +vt 0.376796 0.075296 +vt 0.388827 0.021586 +vt 0.411318 0.015131 +vt 0.416419 0.047631 +vt 0.567460 0.000144 +vt 0.577206 0.032801 +vt 0.470636 0.000144 +vt 0.460782 0.032656 +vt 0.518922 0.024886 +vt 0.547413 0.041724 +vt 0.490511 0.041669 +vt 0.558059 0.053871 +vt 0.479842 0.053785 +vt 0.576951 0.057998 +vt 0.460920 0.057845 +vt 0.611687 0.078268 +vt 0.425932 0.077985 +vt 0.626663 0.111357 +vt 0.410618 0.111244 +vt 0.629482 0.130456 +vt 0.623495 0.146796 +vt 0.413741 0.147158 +vt 0.407648 0.130594 +vt 0.619303 0.159841 +vt 0.418035 0.160361 +vt 0.945900 0.079569 +vt 0.886245 0.121777 +vt 0.849114 0.099732 +vt 0.891780 0.036916 +vt 0.183115 0.092127 +vt 0.141314 0.112482 +vt 0.078961 0.060719 +vt 0.142277 0.021467 +vt 0.788458 0.080826 +vt 0.805584 0.010786 +vt 0.246353 0.076510 +vt 0.232648 0.003484 +vt 0.687018 0.077204 +vt 0.672384 0.022201 +vt 0.349875 0.075955 +vt 0.365979 0.020991 +vt 0.760215 0.193244 +vt 0.789046 0.233323 +vt 0.271553 0.193871 +vt 0.241255 0.236977 +vt 0.994525 0.167705 +vt 0.909112 0.183261 +vt 0.107928 0.179083 +vt 0.011829 0.155367 +vt 0.911671 0.402429 +vt 0.862868 0.338556 +vt 0.894128 0.301884 +vt 0.962901 0.344752 +vt 0.123776 0.315519 +vt 0.160557 0.356821 +vt 0.106400 0.432652 +vt 0.043968 0.367038 +vt 0.915360 0.259804 +vt 0.999856 0.254640 +vt 0.098965 0.266968 +vt 0.000144 0.259113 +vt 0.749542 0.334683 +vt 0.766337 0.300809 +vt 0.789162 0.313727 +vt 0.267408 0.310142 +vt 0.288183 0.346496 +vt 0.242992 0.325552 +vt 0.815314 0.276388 +vt 0.846174 0.293397 +vt 0.213065 0.285164 +vt 0.178537 0.304983 +vt 0.845007 0.256352 +vt 0.873517 0.265922 +vt 0.179662 0.263312 +vt 0.147089 0.274284 +vt 0.859075 0.228168 +vt 0.886999 0.233769 +vt 0.162803 0.231720 +vt 0.131514 0.237587 +vt 0.842355 0.195160 +vt 0.875030 0.184705 +vt 0.145224 0.182749 +vt 0.176788 0.196179 +vt 0.794286 0.364062 +vt 0.239776 0.382592 +vt 0.770185 0.379538 +vt 0.268122 0.398737 +vt 0.845499 0.449967 +vt 0.185281 0.484099 +vt 0.815858 0.445381 +vt 0.770572 0.444261 +vt 0.755700 0.418603 +vt 0.287033 0.442912 +vt 0.271364 0.473316 +vt 0.219260 0.477186 +vt 0.819845 0.468071 +vt 0.215894 0.503605 +vt 0.809631 0.233887 +vt 0.219168 0.237388 +vt 0.829287 0.219562 +vt 0.199067 0.222464 +vt 0.786480 0.117591 +vt 0.715482 0.139727 +vt 0.246666 0.114850 +vt 0.319538 0.139409 +vt 0.785486 0.152330 +vt 0.245969 0.151002 +vt 0.837382 0.156361 +vt 0.858171 0.137775 +vt 0.171653 0.132294 +vt 0.196622 0.155241 +vt 0.506166 0.904851 +vt 0.432388 0.894943 +vt 0.438797 0.870229 +vt 0.491058 0.881714 +vt 0.315867 0.868209 +vt 0.321637 0.893225 +vt 0.247207 0.901159 +vt 0.263032 0.878321 +vt 0.572792 0.860484 +vt 0.604825 0.879946 +vt 0.181486 0.854693 +vt 0.148729 0.873349 +vt 0.586396 0.793977 +vt 0.619962 0.791615 +vt 0.169745 0.787474 +vt 0.136063 0.784093 +vt 0.549027 0.746412 +vt 0.563786 0.739211 +vt 0.208656 0.740879 +vt 0.194086 0.733241 +vt 0.500314 0.711729 +vt 0.508270 0.697693 +vt 0.258399 0.707497 +vt 0.250811 0.693249 +vt 0.438641 0.680683 +vt 0.434803 0.658882 +vt 0.320962 0.677959 +vt 0.325318 0.656224 +vt 0.505666 0.730944 +vt 0.452955 0.700023 +vt 0.306136 0.696976 +vt 0.252524 0.726592 +vt 0.542850 0.755753 +vt 0.214575 0.750414 +vt 0.568148 0.787367 +vt 0.188269 0.781375 +vt 0.555495 0.826352 +vt 0.199850 0.820889 +vt 0.501231 0.844356 +vt 0.253846 0.840502 +vt 0.457832 0.840040 +vt 0.297562 0.837358 +vt 0.796021 0.176969 +vt 0.783193 0.187449 +vt 0.233625 0.175620 +vt 0.246955 0.187075 +vt 0.391039 0.611891 +vt 0.394766 0.686125 +vt 0.369913 0.610196 +vt 0.364838 0.684445 +vt 0.391747 0.862097 +vt 0.401605 0.841460 +vt 0.354026 0.840297 +vt 0.363377 0.861308 +vt 0.435018 0.718280 +vt 0.323658 0.715731 +vt 0.433669 0.729661 +vt 0.384658 0.710299 +vt 0.374400 0.708969 +vt 0.324726 0.727177 +vt 0.410995 0.747662 +vt 0.427812 0.742828 +vt 0.347028 0.745816 +vt 0.330270 0.740536 +vt 0.418086 0.784946 +vt 0.384657 0.795423 +vt 0.372270 0.794472 +vt 0.338952 0.783073 +vt 0.431333 0.817535 +vt 0.324790 0.815460 +vt 0.816266 0.203086 +vt 0.825107 0.209762 +vt 0.199767 0.214827 +vt 0.209828 0.206161 +vt 0.802192 0.184609 +vt 0.226485 0.183086 +vt 0.448505 0.804621 +vt 0.473386 0.824700 +vt 0.307886 0.802031 +vt 0.282357 0.821525 +vt 0.435868 0.779569 +vt 0.321237 0.777208 +vt 0.423718 0.754191 +vt 0.334089 0.752045 +vt 0.437950 0.749777 +vt 0.319919 0.747250 +vt 0.445392 0.731997 +vt 0.312907 0.729222 +vt 0.440995 0.724383 +vt 0.317510 0.721697 +vt 0.455277 0.713731 +vt 0.303460 0.710657 +vt 0.512485 0.828811 +vt 0.242975 0.824574 +vt 0.550942 0.811814 +vt 0.204839 0.806417 +vt 0.552139 0.787682 +vt 0.204331 0.782156 +vt 0.539407 0.764539 +vt 0.217774 0.759319 +vt 0.508439 0.743135 +vt 0.249419 0.738732 +vt 0.470841 0.748408 +vt 0.454776 0.761665 +vt 0.286960 0.745020 +vt 0.302729 0.758742 +vt 0.488870 0.770464 +vt 0.475403 0.783904 +vt 0.268291 0.766661 +vt 0.281439 0.780511 +vt 0.503673 0.787562 +vt 0.494476 0.802470 +vt 0.252972 0.783410 +vt 0.261790 0.798626 +vt 0.518562 0.791602 +vt 0.516802 0.807339 +vt 0.237920 0.787045 +vt 0.239243 0.802891 +vt 0.484068 0.628776 +vt 0.543385 0.683538 +vt 0.276936 0.625067 +vt 0.216123 0.678120 +vt 0.581052 0.726933 +vt 0.177176 0.720426 +vt 0.616701 0.759965 +vt 0.140379 0.752377 +vt 0.707492 0.759884 +vt 0.660647 0.741167 +vt 0.049526 0.748824 +vt 0.097038 0.732052 +vt 0.745511 0.652100 +vt 0.677256 0.670436 +vt 0.019409 0.639749 +vt 0.083564 0.662038 +vt 0.740843 0.572428 +vt 0.671403 0.592656 +vt 0.033664 0.564403 +vt 0.092820 0.589862 +vt 0.834578 0.206879 +vt 0.834705 0.206959 +vt 0.051216 0.522659 +vt 0.145041 0.562595 +vt 0.620420 0.565675 +vt 0.498072 0.552315 +vt 0.264218 0.550140 +vn 0.6650 -0.2008 0.7194 +vn -0.6650 -0.2008 0.7194 +vn 0.8294 -0.3036 0.4689 +vn -0.8294 -0.3036 0.4689 +vn 0.4155 -0.7933 0.4449 +vn -0.4155 -0.7933 0.4449 +vn 0.3600 -0.5089 0.7820 +vn -0.3600 -0.5089 0.7820 +vn -0.0787 -0.5394 0.8384 +vn 0.0787 -0.5394 0.8384 +vn -0.2696 -0.8413 0.4685 +vn 0.2696 -0.8413 0.4685 +vn -0.7707 -0.3352 0.5420 +vn 0.7707 -0.3352 0.5420 +vn -0.4689 -0.1940 0.8617 +vn 0.4689 -0.1940 0.8617 +vn -0.4767 0.1907 0.8581 +vn 0.4767 0.1907 0.8581 +vn -0.7672 0.3264 0.5521 +vn 0.7672 0.3264 0.5521 +vn -0.2519 0.8173 0.5182 +vn 0.2519 0.8173 0.5182 +vn -0.0949 0.5696 0.8164 +vn 0.0949 0.5696 0.8164 +vn 0.3667 0.5370 0.7597 +vn -0.3667 0.5370 0.7597 +vn 0.4141 0.7672 0.4898 +vn -0.4141 0.7672 0.4898 +vn 0.8277 0.2952 0.4771 +vn -0.8277 0.2952 0.4771 +vn 0.6713 0.1971 0.7145 +vn -0.6713 0.1971 0.7145 +vn 0.8111 0.3244 -0.4867 +vn -0.8111 0.3244 -0.4867 +vn 0.2052 0.8206 -0.5334 +vn -0.2052 0.8206 -0.5334 +vn -0.4223 0.7806 -0.4607 +vn 0.4223 0.7806 -0.4607 +vn -0.8241 0.3225 -0.4658 +vn 0.8241 0.3225 -0.4658 +vn -0.8137 -0.3487 -0.4650 +vn 0.8137 -0.3487 -0.4650 +vn -0.4223 -0.7806 -0.4607 +vn 0.4223 -0.7806 -0.4607 +vn 0.2052 -0.8206 -0.5334 +vn -0.2052 -0.8206 -0.5334 +vn 0.7995 -0.3510 -0.4875 +vn -0.7995 -0.3510 -0.4875 +vn 0.4000 -0.0623 0.9144 +vn -0.4000 -0.0623 0.9144 +vn 0.3069 -0.1754 0.9354 +vn -0.3069 -0.1754 0.9354 +vn 0.0945 -0.1835 0.9785 +vn -0.0945 -0.1835 0.9785 +vn -0.0624 -0.0283 0.9977 +vn 0.0624 -0.0283 0.9977 +vn -0.0624 0.0260 0.9977 +vn 0.0624 0.0260 0.9977 +vn 0.0996 0.1729 0.9799 +vn -0.0996 0.1729 0.9799 +vn 0.3036 0.1656 0.9383 +vn -0.3036 0.1656 0.9383 +vn 0.4002 0.0572 0.9147 +vn -0.4002 0.0572 0.9147 +vn 0.1231 -0.8616 0.4924 +vn -0.1231 -0.8616 0.4924 +vn 0.2190 -0.8647 0.4520 +vn -0.2190 -0.8647 0.4520 +vn 0.5902 -0.4550 0.6668 +vn -0.5902 -0.4550 0.6668 +vn 0.7689 -0.0506 0.6374 +vn -0.7689 -0.0506 0.6374 +vn 0.7796 0.0900 0.6197 +vn -0.7796 0.0900 0.6197 +vn 0.3241 -0.8188 0.4739 +vn -0.3241 -0.8188 0.4739 +vn 0.3857 -0.6629 0.6417 +vn -0.3857 -0.6629 0.6417 +vn 0.6895 -0.4193 0.5906 +vn -0.6895 -0.4193 0.5906 +vn 0.6588 -0.3634 0.6588 +vn -0.6588 -0.3634 0.6588 +vn 0.5465 0.3707 0.7509 +vn -0.5465 0.3707 0.7509 +vn 0.5064 0.6464 0.5706 +vn -0.5064 0.6464 0.5706 +vn 0.6092 0.5167 0.6015 +vn -0.6092 0.5167 0.6015 +vn -0.0441 0.6610 0.7491 +vn 0.0441 0.6610 0.7491 +vn -0.7246 0.3187 0.6110 +vn 0.7246 0.3187 0.6110 +vn -0.5880 0.5554 0.5880 +vn 0.5880 0.5554 0.5880 +vn 0.5361 -0.3909 0.7482 +vn -0.5361 -0.3909 0.7482 +vn 0.2207 -0.4690 0.8552 +vn -0.2207 -0.4690 0.8552 +vn -0.0794 -0.5321 0.8429 +vn 0.0794 -0.5321 0.8429 +vn -0.0825 -0.6575 0.7490 +vn 0.0825 -0.6575 0.7490 +vn 0.0457 -0.5667 0.8226 +vn -0.0457 -0.5667 0.8226 +vn 0.2784 -0.2130 0.9365 +vn -0.2784 -0.2130 0.9365 +vn 0.3813 -0.1824 0.9063 +vn -0.3813 -0.1824 0.9063 +vn 0.3357 -0.2878 0.8969 +vn -0.3357 -0.2878 0.8969 +vn 0.3762 0.0603 0.9246 +vn -0.3762 0.0603 0.9246 +vn -0.1352 0.2680 0.9539 +vn 0.1352 0.2680 0.9539 +vn 0.3961 -0.4321 0.8102 +vn -0.3961 -0.4321 0.8102 +vn 0.1856 -0.2474 0.9510 +vn -0.1856 -0.2474 0.9510 +vn 0.0099 -0.1948 0.9808 +vn -0.0099 -0.1948 0.9808 +vn 0.0721 -0.6966 0.7138 +vn -0.0721 -0.6966 0.7138 +vn 0.1863 -0.5723 0.7986 +vn -0.1863 -0.5723 0.7986 +vn 0.3157 -0.2708 0.9094 +vn -0.3157 -0.2708 0.9094 +vn 0.3063 -0.0265 0.9516 +vn -0.3063 -0.0265 0.9516 +vn 0.3266 -0.1306 0.9361 +vn -0.3266 -0.1306 0.9361 +vn -0.0137 0.0574 0.9983 +vn 0.0137 0.0574 0.9983 +vn -0.0026 -0.0656 0.9978 +vn 0.0026 -0.0656 0.9978 +vn 0.0000 0.0000 1.0000 +vn 0.8174 -0.5744 -0.0442 +vn -0.8174 -0.5744 -0.0442 +vn 0.9494 0.2297 -0.2144 +vn -0.9494 0.2297 -0.2144 +vn 0.0825 0.9073 -0.4124 +vn -0.0825 0.9073 -0.4124 +vn -0.8836 0.3555 0.3047 +vn 0.8836 0.3555 0.3047 +vn 0.4207 -0.8797 0.2218 +vn -0.4207 -0.8797 0.2218 +vn 0.2873 -0.5747 0.7663 +vn -0.2873 -0.5747 0.7663 +vn -0.6542 0.6019 0.4580 +vn 0.6542 0.6019 0.4580 +vn 0.1052 0.7892 0.6051 +vn -0.1052 0.7892 0.6051 +vn 0.7582 0.2916 0.5832 +vn -0.7582 0.2916 0.5832 +vn 0.3889 -0.7130 0.5834 +vn -0.3889 -0.7130 0.5834 +vn 0.0463 0.2314 0.9718 +vn -0.0463 0.2314 0.9718 +vn 0.0335 -0.4018 0.9151 +vn -0.0335 -0.4018 0.9151 +vn -0.4452 -0.1610 0.8809 +vn 0.4452 -0.1610 0.8809 +vn -0.2182 -0.4364 0.8729 +vn 0.2182 -0.4364 0.8729 +vn 0.4341 -0.1290 0.8916 +vn -0.4341 -0.1290 0.8916 +vn 0.3008 0.0501 0.9524 +vn -0.3008 0.0501 0.9524 +vn 0.8123 0.3010 0.4996 +vn -0.8123 0.3010 0.4996 +vn 0.8753 0.2574 0.4093 +vn -0.8753 0.2574 0.4093 +vn 0.9385 0.1601 0.3060 +vn -0.9385 0.1601 0.3060 +vn 0.2237 -0.6539 0.7227 +vn -0.2237 -0.6539 0.7227 +vn -0.1536 -0.1997 0.9677 +vn 0.1536 -0.1997 0.9677 +vn -0.2733 -0.1025 0.9565 +vn 0.2733 -0.1025 0.9565 +vn -0.0976 0.1952 0.9759 +vn 0.0976 0.1952 0.9759 +vn -0.1582 0.9494 0.2713 +vn 0.1582 0.9494 0.2713 +vn -0.6934 0.7082 0.1328 +vn 0.6934 0.7082 0.1328 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.3051 -0.9450 0.1181 +vn -0.3051 -0.9450 0.1181 +vn 0.0298 -0.2981 0.9541 +vn -0.0298 -0.2981 0.9541 +vn 0.1353 -0.3479 0.9277 +vn -0.1353 -0.3479 0.9277 +vn -0.5085 -0.2755 0.8158 +vn 0.5085 -0.2755 0.8158 +vn -0.3843 -0.0419 0.9223 +vn 0.3843 -0.0419 0.9223 +vn -0.2083 0.0374 0.9774 +vn 0.2083 0.0374 0.9774 +vn -0.5721 -0.4767 0.6674 +vn 0.5721 -0.4767 0.6674 +vn -0.1369 -0.7531 0.6435 +vn 0.1369 -0.7531 0.6435 +vn 0.4088 -0.6071 0.6814 +vn -0.4088 -0.6071 0.6814 +vn 0.5740 -0.4130 0.7070 +vn -0.5740 -0.4130 0.7070 +vn 0.5665 -0.0968 0.8183 +vn -0.5665 -0.0968 0.8183 +vn 0.5703 0.1180 0.8129 +vn -0.5703 0.1180 0.8129 +vn 0.4823 0.5621 0.6719 +vn -0.4823 0.5621 0.6719 +vn 0.2604 0.6114 0.7473 +vn -0.2604 0.6114 0.7473 +vn 0.1640 0.3607 0.9182 +vn -0.1640 0.3607 0.9182 +vn -0.0178 0.2495 0.9682 +vn 0.0178 0.2495 0.9682 +vn 0.3273 -0.4166 0.8481 +vn -0.3273 -0.4166 0.8481 +vn 0.2811 -0.2610 0.9235 +vn -0.2811 -0.2610 0.9235 +vn -0.2542 -0.6514 0.7149 +vn 0.2542 -0.6514 0.7149 +vn -0.0260 -0.8455 0.5333 +vn 0.0260 -0.8455 0.5333 +vn -0.3518 -0.2606 0.8991 +vn 0.3518 -0.2606 0.8991 +vn -0.3523 -0.0110 0.9358 +vn 0.3523 -0.0110 0.9358 +vn -0.1317 0.4608 0.8777 +vn 0.1317 0.4608 0.8777 +vn -0.0342 0.6159 0.7870 +vn 0.0342 0.6159 0.7870 +vn 0.3603 0.5836 0.7277 +vn -0.3603 0.5836 0.7277 +vn 0.4988 0.5300 0.6858 +vn -0.4988 0.5300 0.6858 +vn 0.6667 -0.3333 0.6667 +vn -0.6667 -0.3333 0.6667 +vn 0.8165 -0.0731 0.5727 +vn -0.8165 -0.0731 0.5727 +vn 0.7840 0.1161 0.6098 +vn -0.7840 0.1161 0.6098 +vn -0.5306 0.8111 -0.2461 +vn 0.5306 0.8111 -0.2461 +vn -0.8511 0.3695 -0.3730 +vn 0.8511 0.3695 -0.3730 +vn -0.2446 0.8675 -0.4331 +vn 0.2446 0.8675 -0.4331 +vn 0.5924 0.7465 -0.3030 +vn -0.5924 0.7465 -0.3030 +vn 0.3685 0.8758 -0.3118 +vn -0.3685 0.8758 -0.3118 +vn 0.2821 0.9151 -0.2880 +vn -0.2821 0.9151 -0.2880 +vn 0.8561 0.1340 -0.4991 +vn -0.8561 0.1340 -0.4991 +vn 0.5342 -0.7233 -0.4376 +vn -0.5342 -0.7233 -0.4376 +vn 0.3849 -0.8131 -0.4368 +vn -0.3849 -0.8131 -0.4368 +vn 0.2335 -0.5806 -0.7800 +vn -0.2335 -0.5806 -0.7800 +vn 0.2449 -0.0583 -0.9678 +vn -0.2449 -0.0583 -0.9678 +vn 0.1163 -0.4535 -0.8837 +vn -0.1163 -0.4535 -0.8837 +vn 0.1152 -0.9836 -0.1388 +vn -0.1152 -0.9836 -0.1388 +vn 0.1184 -0.9669 -0.2260 +vn -0.1184 -0.9669 -0.2260 +vn 0.9597 -0.0085 -0.2808 +vn -0.9597 -0.0085 -0.2808 +vn 0.9319 0.1629 -0.3242 +vn -0.9319 0.1629 -0.3242 +vn 0.1626 0.0207 -0.9865 +vn -0.1626 0.0207 -0.9865 +vn -0.0188 -0.2177 -0.9758 +vn 0.0188 -0.2177 -0.9758 +vn 0.7538 -0.2926 -0.5884 +vn -0.7538 -0.2926 -0.5884 +vn 0.9196 0.1379 -0.3678 +vn -0.9196 0.1379 -0.3678 +vn 0.9297 0.3127 -0.1944 +vn -0.9297 0.3127 -0.1944 +vn 0.9120 0.3376 -0.2329 +vn -0.9120 0.3376 -0.2329 +vn 0.9407 0.3338 -0.0607 +vn -0.9407 0.3338 -0.0607 +vn 0.1761 -0.8805 -0.4402 +vn -0.1761 -0.8805 -0.4402 +vn 0.3708 -0.4733 -0.7991 +vn -0.3708 -0.4733 -0.7991 +vn 0.3107 -0.8284 -0.4660 +vn -0.3107 -0.8284 -0.4660 +vn 0.2793 -0.9515 -0.1287 +vn -0.2793 -0.9515 -0.1287 +vn 0.3139 -0.9321 -0.1807 +vn -0.3139 -0.9321 -0.1807 +vn 0.9762 -0.2083 -0.0609 +vn -0.9762 -0.2083 -0.0609 +vn 0.8267 -0.5066 0.2447 +vn -0.8267 -0.5066 0.2447 +vn 0.3449 -0.1158 -0.9315 +vn -0.3449 -0.1158 -0.9315 +vn 0.1203 0.9644 0.2355 +vn -0.1203 0.9644 0.2355 +vn 0.1275 0.9744 -0.1851 +vn -0.1275 0.9744 -0.1851 +vn 0.3492 0.5947 -0.7241 +vn -0.3492 0.5947 -0.7241 +vn 0.4153 0.8981 -0.1449 +vn -0.4153 0.8981 -0.1449 +vn 0.1845 0.7036 0.6863 +vn -0.1845 0.7036 0.6863 +vn 0.6056 0.7794 0.1608 +vn -0.6056 0.7794 0.1608 +vn 0.7033 0.6806 -0.2053 +vn -0.7033 0.6806 -0.2053 +vn 0.6679 0.2007 -0.7166 +vn -0.6679 0.2007 -0.7166 +vn 0.4948 0.4342 -0.7528 +vn -0.4948 0.4342 -0.7528 +vn 0.6423 0.7459 -0.1761 +vn -0.6423 0.7459 -0.1761 +vn 0.7182 0.6788 0.1530 +vn -0.7182 0.6788 0.1530 +vn 0.7388 0.3972 0.5444 +vn -0.7388 0.3972 0.5444 +vn 0.3428 0.9261 -0.1579 +vn -0.3428 0.9261 -0.1579 +vn 0.2270 0.5740 0.7867 +vn -0.2270 0.5740 0.7867 +vn -0.1722 0.1046 -0.9795 +vn 0.1722 0.1046 -0.9795 +vn 0.0425 0.9150 0.4013 +vn -0.0425 0.9150 0.4013 +vn -0.1616 0.1847 0.9694 +vn 0.1616 0.1847 0.9694 +vn 0.9791 0.1973 0.0483 +vn -0.9791 0.1973 0.0483 +vn 0.9470 0.0918 0.3079 +vn -0.9470 0.0918 0.3079 +vn 0.9794 0.1905 -0.0661 +vn -0.9794 0.1905 -0.0661 +vn 0.9938 0.0312 -0.1070 +vn -0.9938 0.0312 -0.1070 +vn 0.7116 -0.7008 0.0501 +vn -0.7116 -0.7008 0.0501 +vn 0.3722 -0.9243 0.0847 +vn -0.3722 -0.9243 0.0847 +vn 0.4465 -0.8644 0.2310 +vn -0.4465 -0.8644 0.2310 +vn 0.6066 -0.7578 0.2405 +vn -0.6066 -0.7578 0.2405 +vn 0.7325 -0.6368 0.2407 +vn -0.7325 -0.6368 0.2407 +vn 0.2637 -0.4499 0.8533 +vn -0.2637 -0.4499 0.8533 +vn 0.5568 -0.3181 -0.7673 +vn -0.5568 -0.3181 -0.7673 +vn 0.5004 -0.2807 -0.8190 +vn -0.5004 -0.2807 -0.8190 +vn 0.3190 -0.8494 -0.4205 +vn -0.3190 -0.8494 -0.4205 +vn 0.7198 -0.6356 -0.2793 +vn -0.7198 -0.6356 -0.2793 +vn 0.4972 -0.4408 -0.7473 +vn -0.4972 -0.4408 -0.7473 +vn 0.3506 0.3807 0.8557 +vn -0.3506 0.3807 0.8557 +vn 0.4566 0.1715 0.8730 +vn -0.4566 0.1715 0.8730 +vn 0.2583 0.1055 0.9603 +vn -0.2583 0.1055 0.9603 +vn 0.2455 -0.0802 0.9661 +vn -0.2455 -0.0802 0.9661 +vn 0.4643 -0.0599 0.8837 +vn -0.4643 -0.0599 0.8837 +vn 0.6225 -0.3045 0.7210 +vn -0.6225 -0.3045 0.7210 +vn 0.4500 0.6590 0.6027 +vn -0.4500 0.6590 0.6027 +vn -0.2667 0.8309 0.4884 +vn 0.2667 0.8309 0.4884 +vn -0.8284 0.2291 0.5111 +vn 0.8284 0.2291 0.5111 +vn -0.5251 -0.3566 0.7727 +vn 0.5251 -0.3566 0.7727 +vn 0.4546 -0.5665 0.6873 +vn -0.4546 -0.5665 0.6873 +vn 0.6996 -0.4497 0.5552 +vn -0.6996 -0.4497 0.5552 +vn 0.7220 -0.6827 -0.1126 +vn -0.7220 -0.6827 -0.1126 +vn -0.1919 0.2860 0.9388 +vn 0.1919 0.2860 0.9388 +vn 0.9048 -0.3734 -0.2047 +vn -0.9048 -0.3734 -0.2047 +vn 0.1034 0.1551 0.9825 +vn -0.1034 0.1551 0.9825 +vn 0.0841 0.9318 0.3530 +vn -0.0841 0.9318 0.3530 +vn 0.6446 -0.0883 0.7594 +vn -0.6446 -0.0883 0.7594 +vn 0.4309 0.4740 0.7678 +vn -0.4309 0.4740 0.7678 +vn 0.8032 -0.4847 0.3462 +vn -0.8032 -0.4847 0.3462 +vn 0.5811 -0.4128 0.7014 +vn -0.5811 -0.4128 0.7014 +vn 0.5910 -0.4305 0.6822 +vn -0.5910 -0.4305 0.6822 +vn 0.9818 -0.1804 -0.0591 +vn -0.9818 -0.1804 -0.0591 +vn 0.9105 -0.3965 -0.1175 +vn -0.9105 -0.3965 -0.1175 +vn 0.9972 -0.0181 -0.0725 +vn -0.9972 -0.0181 -0.0725 +vn 0.7313 -0.6543 0.1925 +vn -0.7313 -0.6543 0.1925 +vn 0.7867 -0.6079 0.1073 +vn -0.7867 -0.6079 0.1073 +vn 0.7022 -0.7022 0.1170 +vn -0.7022 -0.7022 0.1170 +vn 0.1840 0.9816 -0.0511 +vn -0.1840 0.9816 -0.0511 +vn 0.9352 0.3301 0.1284 +vn -0.9352 0.3301 0.1284 +vn 0.6633 -0.7463 0.0553 +vn -0.6633 -0.7463 0.0553 +vn -0.0085 0.9970 0.0767 +vn 0.0085 0.9970 0.0767 +vn 0.6237 -0.7061 0.3354 +vn -0.6237 -0.7061 0.3354 +vn 0.2733 -0.8925 0.3587 +vn -0.2733 -0.8925 0.3587 +vn -0.8328 -0.5080 -0.2200 +vn 0.8328 -0.5080 -0.2200 +vn -0.8339 0.2377 -0.4981 +vn 0.8339 0.2377 -0.4981 +vn -0.5655 0.7847 -0.2539 +vn 0.5655 0.7847 -0.2539 +vn -0.0560 0.9962 0.0672 +vn 0.0560 0.9962 0.0672 +vn 0.1445 0.0222 0.9893 +vn -0.1445 0.0222 0.9893 +vn 0.3275 0.0645 0.9427 +vn -0.3275 0.0645 0.9427 +vn 0.3127 0.0232 0.9496 +vn -0.3127 0.0232 0.9496 +vn 0.1710 0.0274 0.9849 +vn -0.1710 0.0274 0.9849 +vn 0.3487 0.2849 0.8929 +vn -0.3487 0.2849 0.8929 +vn 0.4006 -0.0343 0.9156 +vn -0.4006 -0.0343 0.9156 +vn 0.2572 -0.0603 0.9645 +vn -0.2572 -0.0603 0.9645 +vn 0.0637 -0.0106 0.9979 +vn -0.0637 -0.0106 0.9979 +vn -0.3637 0.7039 0.6101 +vn 0.3637 0.7039 0.6101 +vn 0.6299 0.0355 0.7759 +vn -0.6299 0.0355 0.7759 +vn 0.4472 -0.2002 0.8717 +vn -0.4472 -0.2002 0.8717 +vn 0.5072 -0.2141 0.8348 +vn -0.5072 -0.2141 0.8348 +vn 0.5258 0.2619 0.8093 +vn -0.5258 0.2619 0.8093 +vn 0.2980 0.5802 0.7580 +vn -0.2980 0.5802 0.7580 +vn 0.0930 -0.9924 -0.0805 +vn -0.0930 -0.9924 -0.0805 +vn 0.5006 -0.8657 0.0080 +vn -0.5006 -0.8657 0.0080 +vn 0.9285 -0.2497 0.2748 +vn -0.9285 -0.2497 0.2748 +vn 0.8393 0.5424 -0.0378 +vn -0.8393 0.5424 -0.0378 +vn -0.2355 0.9367 -0.2589 +vn 0.2355 0.9367 -0.2589 +vn -0.4499 0.8838 -0.1285 +vn 0.4499 0.8838 -0.1285 +vn -0.5384 -0.0098 -0.8427 +vn 0.5384 -0.0098 -0.8427 +vn -0.1910 -0.0241 -0.9813 +vn 0.1910 -0.0241 -0.9813 +vn 0.4046 0.0266 -0.9141 +vn -0.4046 0.0266 -0.9141 +vn -0.7819 0.6231 0.0197 +vn 0.7819 0.6231 0.0197 +vn 0.5428 -0.2063 -0.8142 +vn -0.5428 -0.2063 -0.8142 +vn -0.2474 -0.9231 -0.2945 +vn 0.2474 -0.9231 -0.2945 +usemtl None +s off +f 47/1/1 1/2/1 3/3/1 45/4/1 +f 4/5/2 2/6/2 48/7/2 46/8/2 +f 45/4/3 3/3/3 5/9/3 43/10/3 +f 6/11/4 4/5/4 46/8/4 44/12/4 +f 3/3/5 9/13/5 7/14/5 5/9/5 +f 8/15/6 10/16/6 4/5/6 6/11/6 +f 1/2/7 11/17/7 9/13/7 3/3/7 +f 10/16/8 12/18/8 2/6/8 4/5/8 +f 11/17/9 13/19/9 15/20/9 9/13/9 +f 16/21/10 14/22/10 12/18/10 10/16/10 +f 9/13/11 15/20/11 17/23/11 7/14/11 +f 18/24/12 16/21/12 10/16/12 8/15/12 +f 15/20/13 21/25/13 19/26/13 17/23/13 +f 20/27/14 22/28/14 16/21/14 18/24/14 +f 13/19/15 23/29/15 21/25/15 15/20/15 +f 22/28/16 24/30/16 14/22/16 16/21/16 +f 23/29/17 25/31/17 27/32/17 21/25/17 +f 28/33/18 26/34/18 24/30/18 22/28/18 +f 21/25/19 27/32/19 29/35/19 19/26/19 +f 30/36/20 28/33/20 22/28/20 20/27/20 +f 27/32/21 33/37/21 31/38/21 29/35/21 +f 32/39/22 34/40/22 28/33/22 30/36/22 +f 25/31/23 35/41/23 33/37/23 27/32/23 +f 34/40/24 36/42/24 26/34/24 28/33/24 +f 35/41/25 37/43/25 39/44/25 33/37/25 +f 40/45/26 38/46/26 36/42/26 34/40/26 +f 33/37/27 39/44/27 41/47/27 31/38/27 +f 42/48/28 40/45/28 34/40/28 32/39/28 +f 39/44/29 45/4/29 43/10/29 41/47/29 +f 44/12/30 46/8/30 40/45/30 42/48/30 +f 37/43/31 47/1/31 45/4/31 39/44/31 +f 46/8/32 48/7/32 38/46/32 40/45/32 +f 47/1/33 37/43/33 51/49/33 49/50/33 +f 52/51/34 38/46/34 48/7/34 50/52/34 +f 37/43/35 35/41/35 53/53/35 51/49/35 +f 54/54/36 36/42/36 38/46/36 52/51/36 +f 35/41/37 25/31/37 55/55/37 53/53/37 +f 56/56/38 26/34/38 36/42/38 54/54/38 +f 25/31/39 23/29/39 57/57/39 55/55/39 +f 58/58/40 24/30/40 26/34/40 56/56/40 +f 23/29/41 13/19/41 59/59/41 57/57/41 +f 60/60/42 14/22/42 24/30/42 58/58/42 +f 13/19/43 11/17/43 63/61/43 59/59/43 +f 64/62/44 12/18/44 14/22/44 60/60/44 +f 11/17/45 1/2/45 65/63/45 63/61/45 +f 66/64/46 2/6/46 12/18/46 64/62/46 +f 1/2/47 47/1/47 49/50/47 65/63/47 +f 50/52/48 48/7/48 2/6/48 66/64/48 +f 61/65/49 65/63/49 49/50/49 +f 50/52/50 66/64/50 62/66/50 +f 63/61/51 65/63/51 61/65/51 +f 62/66/52 66/64/52 64/62/52 +f 61/65/53 59/59/53 63/61/53 +f 64/62/54 60/60/54 62/66/54 +f 61/65/55 57/57/55 59/59/55 +f 60/60/56 58/58/56 62/66/56 +f 61/65/57 55/55/57 57/57/57 +f 58/58/58 56/56/58 62/66/58 +f 61/65/59 53/53/59 55/55/59 +f 56/56/60 54/54/60 62/66/60 +f 61/65/61 51/49/61 53/53/61 +f 54/54/62 52/51/62 62/66/62 +f 61/65/63 49/50/63 51/49/63 +f 52/51/64 50/52/64 62/66/64 +f 89/67/65 174/68/65 176/69/65 91/70/65 +f 176/69/66 175/71/66 90/72/66 91/70/66 +f 87/73/67 172/74/67 174/68/67 89/67/67 +f 175/71/68 173/75/68 88/76/68 90/72/68 +f 85/77/69 170/78/69 172/74/69 87/73/69 +f 173/75/70 171/79/70 86/80/70 88/76/70 +f 83/81/71 168/82/71 170/78/71 85/77/71 +f 171/79/72 169/83/72 84/84/72 86/80/72 +f 81/85/73 166/86/73 168/82/73 83/81/73 +f 169/83/74 167/87/74 82/88/74 84/84/74 +f 79/89/75 92/90/75 146/91/75 164/92/75 +f 147/93/76 93/94/76 80/95/76 165/96/76 +f 92/90/77 94/97/77 148/98/77 146/91/77 +f 149/99/78 95/100/78 93/94/78 147/93/78 +f 94/97/79 96/101/79 150/102/79 148/98/79 +f 151/103/80 97/104/80 95/100/80 149/99/80 +f 96/101/81 98/105/81 152/106/81 150/102/81 +f 153/107/82 99/108/82 97/104/82 151/103/82 +f 98/105/83 100/109/83 154/110/83 152/106/83 +f 155/111/84 101/112/84 99/108/84 153/107/84 +f 100/109/85 102/113/85 156/114/85 154/110/85 +f 157/115/86 103/116/86 101/112/86 155/111/86 +f 102/113/87 104/117/87 158/118/87 156/114/87 +f 159/119/88 105/120/88 103/116/88 157/115/88 +f 104/117/89 106/121/89 160/122/89 158/118/89 +f 161/123/90 107/124/90 105/120/90 159/119/90 +f 106/121/91 108/125/91 162/126/91 160/122/91 +f 163/127/92 109/128/92 107/124/92 161/123/92 +f 108/125/93 67/129/93 68/130/93 162/126/93 +f 68/130/94 67/129/94 109/128/94 163/127/94 +f 110/131/95 128/132/95 160/122/95 162/126/95 +f 161/123/96 129/133/96 111/134/96 163/127/96 +f 128/132/97 179/135/97 158/118/97 160/122/97 +f 159/119/98 180/136/98 129/133/98 161/123/98 +f 126/137/99 156/114/99 158/118/99 179/135/99 +f 159/119/100 157/115/100 127/138/100 180/136/100 +f 124/139/101 154/110/101 156/114/101 126/137/101 +f 157/115/102 155/111/102 125/140/102 127/138/102 +f 122/141/103 152/106/103 154/110/103 124/139/103 +f 155/111/104 153/107/104 123/142/104 125/140/104 +f 120/143/105 150/102/105 152/106/105 122/141/105 +f 153/107/106 151/103/106 121/144/106 123/142/106 +f 118/145/107 148/98/107 150/102/107 120/143/107 +f 151/103/108 149/99/108 119/146/108 121/144/108 +f 116/147/109 146/91/109 148/98/109 118/145/109 +f 149/99/110 147/93/110 117/148/110 119/146/110 +f 114/149/111 164/92/111 146/91/111 116/147/111 +f 147/93/112 165/96/112 115/150/112 117/148/112 +f 114/149/113 181/151/113 177/152/113 164/92/113 +f 177/152/114 182/153/114 115/150/114 165/96/114 +f 110/131/115 162/126/115 68/130/115 112/154/115 +f 68/130/116 163/127/116 111/134/116 113/155/116 +f 112/154/117 68/130/117 178/156/117 183/157/117 +f 178/156/118 68/130/118 113/155/118 184/158/118 +f 177/152/119 181/151/119 183/157/119 178/156/119 +f 184/158/120 182/153/120 177/152/120 178/156/120 +f 135/159/121 137/160/121 176/69/121 174/68/121 +f 176/69/122 137/160/122 136/161/122 175/71/122 +f 133/162/123 135/159/123 174/68/123 172/74/123 +f 175/71/124 136/161/124 134/163/124 173/75/124 +f 131/164/125 133/162/125 172/74/125 170/78/125 +f 173/75/126 134/163/126 132/165/126 171/79/126 +f 166/86/127 187/166/127 185/167/127 168/82/127 +f 186/168/128 188/169/128 167/87/128 169/83/128 +f 131/164/129 170/78/129 168/82/129 185/167/129 +f 169/83/130 171/79/130 132/165/130 186/168/130 +f 144/170/131 190/171/131 189/172/131 187/166/131 +f 189/172/132 190/171/132 145/173/132 188/169/132 +f 185/167/133 187/166/133 189/172/133 69/174/133 +f 189/172/134 188/169/134 186/168/134 69/174/134 +f 130/175/135 131/164/135 185/167/135 69/174/135 +f 186/168/135 132/165/135 130/175/135 69/174/135 +f 142/176/136 193/177/136 191/178/136 144/170/136 +f 192/179/137 194/180/137 143/181/137 145/173/137 +f 140/182/138 195/183/138 193/177/138 142/176/138 +f 194/180/139 196/184/139 141/185/139 143/181/139 +f 139/186/140 197/187/140 195/183/140 140/182/140 +f 196/184/141 198/188/141 139/186/141 141/185/141 +f 138/189/142 71/190/142 197/187/142 139/186/142 +f 198/188/143 71/190/143 138/189/143 139/186/143 +f 190/171/144 144/170/144 191/178/144 70/191/144 +f 192/179/145 145/173/145 190/171/145 70/191/145 +f 70/191/146 191/178/146 206/192/146 208/193/146 +f 207/194/147 192/179/147 70/191/147 208/193/147 +f 71/190/148 199/195/148 200/196/148 197/187/148 +f 201/197/149 199/195/149 71/190/149 198/188/149 +f 197/187/150 200/196/150 202/198/150 195/183/150 +f 203/199/151 201/197/151 198/188/151 196/184/151 +f 195/183/152 202/198/152 204/200/152 193/177/152 +f 205/201/153 203/199/153 196/184/153 194/180/153 +f 193/177/154 204/200/154 206/192/154 191/178/154 +f 207/194/155 205/201/155 194/180/155 192/179/155 +f 199/195/156 204/200/156 202/198/156 200/196/156 +f 203/199/157 205/201/157 199/195/157 201/197/157 +f 199/195/158 208/193/158 206/192/158 204/200/158 +f 207/194/159 208/193/159 199/195/159 205/201/159 +f 139/186/160 140/182/160 164/92/160 177/152/160 +f 165/96/161 141/185/161 139/186/161 177/152/161 +f 140/182/162 142/176/162 211/202/162 164/92/162 +f 212/203/163 143/181/163 141/185/163 165/96/163 +f 142/176/164 144/170/164 213/204/164 211/202/164 +f 214/205/165 145/173/165 143/181/165 212/203/165 +f 144/170/166 187/166/166 166/86/166 213/204/166 +f 167/87/167 188/169/167 145/173/167 214/205/167 +f 81/85/168 209/206/168 213/204/168 166/86/168 +f 214/205/169 210/207/169 82/88/169 167/87/169 +f 209/206/170 215/208/170 211/202/170 213/204/170 +f 212/203/171 216/209/171 210/207/171 214/205/171 +f 79/89/172 164/92/172 211/202/172 215/208/172 +f 212/203/173 165/96/173 80/95/173 216/209/173 +f 131/164/174 130/175/174 72/210/174 222/211/174 +f 72/210/175 130/175/175 132/165/175 223/212/175 +f 133/162/176 131/164/176 222/211/176 220/213/176 +f 223/212/177 132/165/177 134/163/177 221/214/177 +f 135/159/178 133/162/178 220/213/178 218/215/178 +f 221/214/179 134/163/179 136/161/179 219/216/179 +f 137/160/180 135/159/180 218/215/180 217/217/180 +f 219/216/181 136/161/181 137/160/181 217/217/181 +f 217/217/182 218/215/182 229/218/182 231/219/182 +f 230/220/183 219/216/183 217/217/183 231/219/183 +f 218/215/184 220/213/184 227/221/184 229/218/184 +f 228/222/185 221/214/185 219/216/185 230/220/185 +f 220/213/186 222/211/186 225/223/186 227/221/186 +f 226/224/187 223/212/187 221/214/187 228/222/187 +f 222/211/188 72/210/188 224/225/188 225/223/188 +f 224/225/189 72/210/189 223/212/189 226/224/189 +f 224/225/190 231/219/190 229/218/190 225/223/190 +f 230/220/191 231/219/191 224/225/191 226/224/191 +f 225/223/192 229/218/192 227/221/192 +f 228/222/193 230/220/193 226/224/193 +f 183/157/194 181/151/194 234/226/194 232/227/194 +f 235/228/195 182/153/195 184/158/195 233/229/195 +f 112/154/196 183/157/196 232/227/196 254/230/196 +f 233/229/197 184/158/197 113/155/197 255/231/197 +f 110/131/198 112/154/198 254/230/198 256/232/198 +f 255/231/199 113/155/199 111/134/199 257/233/199 +f 181/151/200 114/149/200 252/234/200 234/226/200 +f 253/235/201 115/150/201 182/153/201 235/228/201 +f 114/149/202 116/147/202 250/236/202 252/234/202 +f 251/237/203 117/148/203 115/150/203 253/235/203 +f 116/147/204 118/145/204 248/238/204 250/236/204 +f 249/239/205 119/146/205 117/148/205 251/237/205 +f 118/145/206 120/143/206 246/240/206 248/238/206 +f 247/241/207 121/144/207 119/146/207 249/239/207 +f 120/143/208 122/141/208 244/242/208 246/240/208 +f 245/243/209 123/142/209 121/144/209 247/241/209 +f 122/141/210 124/139/210 242/244/210 244/242/210 +f 243/245/211 125/140/211 123/142/211 245/243/211 +f 124/139/212 126/137/212 240/246/212 242/244/212 +f 241/247/213 127/138/213 125/140/213 243/245/213 +f 126/137/214 179/135/214 236/248/214 240/246/214 +f 237/249/215 180/136/215 127/138/215 241/247/215 +f 179/135/216 128/132/216 238/250/216 236/248/216 +f 239/251/217 129/133/217 180/136/217 237/249/217 +f 128/132/218 110/131/218 256/232/218 238/250/218 +f 257/233/219 111/134/219 129/133/219 239/251/219 +f 238/250/220 256/232/220 258/252/220 276/253/220 +f 259/254/221 257/233/221 239/251/221 277/255/221 +f 236/248/222 238/250/222 276/253/222 278/256/222 +f 277/255/223 239/251/223 237/249/223 279/257/223 +f 240/246/224 236/248/224 278/256/224 274/258/224 +f 279/257/225 237/249/225 241/247/225 275/259/225 +f 242/244/226 240/246/226 274/258/226 272/260/226 +f 275/259/227 241/247/227 243/245/227 273/261/227 +f 244/242/228 242/244/228 272/260/228 270/262/228 +f 273/261/229 243/245/229 245/243/229 271/263/229 +f 246/240/230 244/242/230 270/262/230 268/264/230 +f 271/263/231 245/243/231 247/241/231 269/265/231 +f 248/238/232 246/240/232 268/264/232 266/266/232 +f 269/265/233 247/241/233 249/239/233 267/267/233 +f 250/236/234 248/238/234 266/266/234 264/268/234 +f 267/267/235 249/239/235 251/237/235 265/269/235 +f 252/234/236 250/236/236 264/268/236 262/270/236 +f 265/269/237 251/237/237 253/235/237 263/271/237 +f 234/226/238 252/234/238 262/270/238 280/272/238 +f 263/271/239 253/235/239 235/228/239 281/273/239 +f 256/232/240 254/230/240 260/274/240 258/252/240 +f 261/275/241 255/231/241 257/233/241 259/254/241 +f 254/230/242 232/227/242 282/276/242 260/274/242 +f 283/277/243 233/229/243 255/231/243 261/275/243 +f 232/227/244 234/226/244 280/272/244 282/276/244 +f 281/273/245 235/228/245 233/229/245 283/277/245 +f 67/129/246 108/125/246 284/278/246 73/279/246 +f 285/280/247 109/128/247 67/129/247 73/279/247 +f 108/125/248 106/121/248 286/281/248 284/278/248 +f 287/282/249 107/124/249 109/128/249 285/280/249 +f 106/121/250 104/117/250 288/283/250 286/281/250 +f 289/284/251 105/120/251 107/124/251 287/282/251 +f 104/117/252 102/113/252 290/285/252 288/283/252 +f 291/286/253 103/116/253 105/120/253 289/284/253 +f 102/113/254 100/109/254 292/287/254 290/285/254 +f 293/288/255 101/112/255 103/116/255 291/286/255 +f 100/109/256 98/105/256 294/289/256 292/287/256 +f 295/290/257 99/108/257 101/112/257 293/288/257 +f 98/105/258 96/101/258 296/291/258 294/289/258 +f 297/292/259 97/104/259 99/108/259 295/290/259 +f 96/101/260 94/97/260 298/293/260 296/291/260 +f 299/294/261 95/100/261 97/104/261 297/292/261 +f 94/97/262 92/90/262 300/295/262 298/293/262 +f 301/296/263 93/94/263 95/100/263 299/294/263 +f 308/297/264 309/298/264 328/299/264 338/300/264 +f 329/301/265 309/302/265 308/303/265 339/304/265 +f 307/305/266 308/297/266 338/300/266 336/306/266 +f 339/304/267 308/303/267 307/307/267 337/308/267 +f 306/309/268 307/305/268 336/306/268 340/310/268 +f 337/308/269 307/307/269 306/309/269 341/311/269 +f 89/67/270 91/70/270 306/309/270 340/310/270 +f 306/309/271 91/70/271 90/72/271 341/311/271 +f 87/73/272 89/67/272 340/310/272 334/312/272 +f 341/311/273 90/72/273 88/76/273 335/313/273 +f 85/77/274 87/73/274 334/312/274 330/314/274 +f 335/313/275 88/76/275 86/80/275 331/315/275 +f 83/81/276 85/77/276 330/314/276 332/316/276 +f 331/315/277 86/80/277 84/84/277 333/317/277 +f 330/314/278 336/306/278 338/300/278 332/316/278 +f 339/304/279 337/308/279 331/315/279 333/317/279 +f 330/314/280 334/312/280 340/310/280 336/306/280 +f 341/311/281 335/313/281 331/315/281 337/308/281 +f 326/318/282 332/316/282 338/300/282 328/299/282 +f 339/304/283 333/317/283 327/319/283 329/301/283 +f 81/85/284 83/81/284 332/316/284 326/318/284 +f 333/317/285 84/84/285 82/88/285 327/319/285 +f 209/206/286 342/320/286 344/321/286 215/208/286 +f 345/322/287 343/323/287 210/207/287 216/209/287 +f 81/85/288 326/318/288 342/320/288 209/206/288 +f 343/323/289 327/319/289 82/88/289 210/207/289 +f 79/89/290 215/208/290 344/321/290 346/324/290 +f 345/322/291 216/209/291 80/95/291 347/325/291 +f 79/89/292 346/324/292 300/295/292 92/90/292 +f 301/296/293 347/325/293 80/95/293 93/94/293 +f 77/326/294 324/327/294 352/328/294 304/329/294 +f 353/330/295 325/331/295 77/332/295 304/333/295 +f 304/329/296 352/328/296 350/334/296 78/335/296 +f 351/336/297 353/330/297 304/333/297 78/337/297 +f 78/335/298 350/334/298 348/338/298 305/339/298 +f 349/340/299 351/336/299 78/337/299 305/341/299 +f 305/339/300 348/338/300 328/299/300 309/298/300 +f 329/301/301 349/340/301 305/341/301 309/302/301 +f 326/318/302 328/299/302 348/338/302 342/320/302 +f 349/340/303 329/301/303 327/319/303 343/323/303 +f 296/291/304 298/293/304 318/342/304 310/343/304 +f 319/344/305 299/294/305 297/292/305 311/345/305 +f 76/346/306 316/347/306 324/327/306 77/326/306 +f 325/331/307 317/348/307 76/349/307 77/332/307 +f 302/350/308 358/351/308 356/352/308 303/353/308 +f 357/354/309 359/355/309 302/356/309 303/357/309 +f 303/353/310 356/352/310 354/358/310 75/359/310 +f 355/360/311 357/354/311 303/357/311 75/361/311 +f 75/359/312 354/358/312 316/347/312 76/346/312 +f 317/348/313 355/360/313 75/361/313 76/349/313 +f 292/362/314 294/289/314 362/363/314 364/364/314 +f 363/365/315 295/290/315 293/366/315 365/367/315 +f 364/364/316 362/363/316 368/368/316 366/369/316 +f 369/370/317 363/365/317 365/367/317 367/371/317 +f 366/369/318 368/368/318 370/372/318 372/373/318 +f 371/374/319 369/370/319 367/371/319 373/375/319 +f 372/373/320 370/372/320 376/376/320 374/377/320 +f 377/378/321 371/374/321 373/375/321 375/379/321 +f 314/380/322 378/381/322 374/377/322 376/376/322 +f 375/379/323 379/382/323 315/383/323 377/378/323 +f 316/347/324 354/358/324 374/377/324 378/381/324 +f 375/379/325 355/360/325 317/348/325 379/382/325 +f 354/358/326 356/352/326 372/373/326 374/377/326 +f 373/375/327 357/354/327 355/360/327 375/379/327 +f 356/352/328 358/351/328 366/369/328 372/373/328 +f 367/371/329 359/355/329 357/354/329 373/375/329 +f 358/351/330 360/384/330 364/364/330 366/369/330 +f 365/367/331 361/385/331 359/355/331 367/371/331 +f 290/386/332 292/362/332 364/364/332 360/384/332 +f 365/367/333 293/366/333 291/387/333 361/385/333 +f 74/388/334 360/384/334 358/351/334 302/350/334 +f 359/355/335 361/385/335 74/389/335 302/356/335 +f 284/390/336 286/391/336 288/392/336 290/386/336 +f 289/393/337 287/394/337 285/395/337 291/387/337 +f 284/390/338 290/386/338 360/384/338 74/388/338 +f 361/385/339 291/387/339 285/395/339 74/389/339 +f 73/396/340 284/390/340 74/388/340 +f 74/389/341 285/395/341 73/397/341 +f 294/289/342 296/291/342 310/343/342 362/363/342 +f 311/345/343 297/292/343 295/290/343 363/365/343 +f 310/343/344 312/398/344 368/368/344 362/363/344 +f 369/370/345 313/399/345 311/345/345 363/365/345 +f 312/398/346 382/400/346 370/372/346 368/368/346 +f 371/374/347 383/401/347 313/399/347 369/370/347 +f 314/380/348 376/376/348 370/372/348 382/400/348 +f 371/374/349 377/378/349 315/383/349 383/401/349 +f 348/338/350 350/334/350 386/402/350 384/403/350 +f 387/404/351 351/336/351 349/340/351 385/405/351 +f 318/342/352 384/403/352 386/402/352 320/406/352 +f 387/404/353 385/405/353 319/344/353 321/407/353 +f 298/293/354 300/295/354 384/403/354 318/342/354 +f 385/405/355 301/296/355 299/294/355 319/344/355 +f 300/295/356 344/321/356 342/320/356 384/403/356 +f 343/323/357 345/322/357 301/296/357 385/405/357 +f 342/320/358 348/338/358 384/403/358 +f 385/405/359 349/340/359 343/323/359 +f 300/295/360 346/324/360 344/321/360 +f 345/322/361 347/325/361 301/296/361 +f 314/380/362 322/408/362 380/409/362 378/381/362 +f 381/410/363 323/411/363 315/383/363 379/382/363 +f 316/347/364 378/381/364 380/409/364 324/327/364 +f 381/410/365 379/382/365 317/348/365 325/331/365 +f 320/406/366 386/402/366 380/409/366 322/408/366 +f 381/410/367 387/404/367 321/407/367 323/411/367 +f 350/334/368 352/328/368 380/409/368 386/402/368 +f 381/410/369 353/330/369 351/336/369 387/404/369 +f 324/327/370 380/409/370 352/328/370 +f 353/330/371 381/410/371 325/331/371 +f 400/412/372 388/413/372 414/414/372 402/415/372 +f 415/416/373 389/417/373 401/418/373 403/419/373 +f 400/412/374 402/415/374 404/420/374 398/421/374 +f 405/422/375 403/419/375 401/418/375 399/423/375 +f 398/421/376 404/420/376 406/424/376 396/425/376 +f 407/426/377 405/422/377 399/423/377 397/427/377 +f 396/425/378 406/424/378 408/428/378 394/429/378 +f 409/430/379 407/426/379 397/427/379 395/431/379 +f 394/429/380 408/428/380 410/432/380 392/433/380 +f 411/434/381 409/430/381 395/431/381 393/435/381 +f 392/433/382 410/432/382 412/436/382 390/437/382 +f 413/438/383 411/434/383 393/435/383 391/439/383 +f 410/432/384 420/440/384 418/441/384 412/436/384 +f 419/442/385 421/443/385 411/434/385 413/438/385 +f 408/428/386 422/444/386 420/440/386 410/432/386 +f 421/443/387 423/445/387 409/430/387 411/434/387 +f 406/424/388 424/446/388 422/444/388 408/428/388 +f 423/445/389 425/447/389 407/426/389 409/430/389 +f 404/420/390 426/448/390 424/446/390 406/424/390 +f 425/447/391 427/449/391 405/422/391 407/426/391 +f 402/415/392 428/450/392 426/448/392 404/420/392 +f 427/449/393 429/451/393 403/419/393 405/422/393 +f 402/415/394 414/414/394 416/452/394 428/450/394 +f 417/453/395 415/416/395 403/419/395 429/451/395 +f 318/342/396 320/406/396 444/454/396 442/455/396 +f 445/456/397 321/407/397 319/344/397 443/457/397 +f 320/458/398 390/437/398 412/436/398 444/459/398 +f 413/438/399 391/439/399 321/460/399 445/461/399 +f 310/343/400 318/342/400 442/455/400 312/398/400 +f 443/457/401 319/344/401 311/345/401 313/399/401 +f 382/462/402 430/463/402 414/414/402 388/413/402 +f 415/416/403 431/464/403 383/465/403 389/417/403 +f 412/436/404 418/441/404 440/466/404 444/459/404 +f 441/467/405 419/442/405 413/438/405 445/461/405 +f 438/468/406 446/469/406 444/459/406 440/466/406 +f 445/461/407 447/470/407 439/471/407 441/467/407 +f 434/472/408 446/469/408 438/468/408 436/473/408 +f 439/471/409 447/470/409 435/474/409 437/475/409 +f 432/476/410 448/477/410 446/469/410 434/472/410 +f 447/470/411 449/478/411 433/479/411 435/474/411 +f 430/463/412 448/477/412 432/476/412 450/480/412 +f 433/479/413 449/478/413 431/464/413 451/481/413 +f 414/414/414 430/463/414 450/480/414 416/452/414 +f 451/481/415 431/464/415 415/416/415 417/453/415 +f 312/398/416 448/482/416 430/483/416 382/400/416 +f 431/484/417 449/485/417 313/399/417 383/401/417 +f 312/398/418 442/455/418 446/486/418 448/482/418 +f 447/487/419 443/457/419 313/399/419 449/485/419 +f 442/455/420 444/454/420 446/486/420 +f 447/487/421 445/456/421 443/457/421 +f 416/452/422 450/480/422 452/488/422 476/489/422 +f 453/490/423 451/481/423 417/453/423 477/491/423 +f 450/480/424 432/476/424 462/492/424 452/488/424 +f 463/493/425 433/479/425 451/481/425 453/490/425 +f 432/476/426 434/472/426 460/494/426 462/492/426 +f 461/495/427 435/474/427 433/479/427 463/493/427 +f 434/472/428 436/473/428 458/496/428 460/494/428 +f 459/497/429 437/475/429 435/474/429 461/495/429 +f 436/473/430 438/468/430 456/498/430 458/496/430 +f 457/499/431 439/471/431 437/475/431 459/497/431 +f 438/468/432 440/466/432 454/500/432 456/498/432 +f 455/501/433 441/467/433 439/471/433 457/499/433 +f 440/466/434 418/441/434 474/502/434 454/500/434 +f 475/503/435 419/442/435 441/467/435 455/501/435 +f 428/450/436 416/452/436 476/489/436 464/504/436 +f 477/491/437 417/453/437 429/451/437 465/505/437 +f 426/448/438 428/450/438 464/504/438 466/506/438 +f 465/505/439 429/451/439 427/449/439 467/507/439 +f 424/446/440 426/448/440 466/506/440 468/508/440 +f 467/507/441 427/449/441 425/447/441 469/509/441 +f 422/444/442 424/446/442 468/508/442 470/510/442 +f 469/509/443 425/447/443 423/445/443 471/511/443 +f 420/440/444 422/444/444 470/510/444 472/512/444 +f 471/511/445 423/445/445 421/443/445 473/513/445 +f 418/441/446 420/440/446 472/512/446 474/502/446 +f 473/513/447 421/443/447 419/442/447 475/503/447 +f 458/496/448 456/498/448 480/514/448 478/515/448 +f 481/516/449 457/499/449 459/497/449 479/517/449 +f 478/515/450 480/514/450 482/518/450 484/519/450 +f 483/520/451 481/516/451 479/517/451 485/521/451 +f 484/519/452 482/518/452 488/522/452 486/523/452 +f 489/524/453 483/520/453 485/521/453 487/525/453 +f 486/523/454 488/522/454 490/526/454 492/527/454 +f 491/528/455 489/524/455 487/525/455 493/529/455 +f 464/504/456 476/489/456 486/523/456 492/527/456 +f 487/525/457 477/491/457 465/505/457 493/529/457 +f 452/488/458 484/519/458 486/523/458 476/489/458 +f 487/525/459 485/521/459 453/490/459 477/491/459 +f 452/488/460 462/492/460 478/515/460 484/519/460 +f 479/517/461 463/493/461 453/490/461 485/521/461 +f 458/496/462 478/515/462 462/492/462 460/494/462 +f 463/493/463 479/517/463 459/497/463 461/495/463 +f 454/500/464 474/502/464 480/514/464 456/498/464 +f 481/516/465 475/503/465 455/501/465 457/499/465 +f 472/512/466 482/518/466 480/514/466 474/502/466 +f 481/516/467 483/520/467 473/513/467 475/503/467 +f 470/510/468 488/522/468 482/518/468 472/512/468 +f 483/520/469 489/524/469 471/511/469 473/513/469 +f 468/508/470 490/526/470 488/522/470 470/510/470 +f 489/524/471 491/528/471 469/509/471 471/511/471 +f 466/506/472 492/527/472 490/526/472 468/508/472 +f 491/528/473 493/529/473 467/507/473 469/509/473 +f 464/504/474 492/527/474 466/506/474 +f 467/507/475 493/529/475 465/505/475 +f 392/433/476 390/437/476 504/530/476 502/531/476 +f 505/532/477 391/439/477 393/435/477 503/533/477 +f 394/429/478 392/433/478 502/531/478 500/534/478 +f 503/533/479 393/435/479 395/431/479 501/535/479 +f 396/425/480 394/429/480 500/534/480 498/536/480 +f 501/535/481 395/431/481 397/427/481 499/537/481 +f 398/538/482 396/425/482 498/536/482 496/539/482 +f 499/537/483 397/427/483 399/540/483 497/541/483 +f 400/542/484 398/538/484 496/539/484 494/543/484 +f 497/541/485 399/540/485 401/544/485 495/545/485 +f 388/546/486 400/542/486 494/543/486 506/547/486 +f 495/545/487 401/544/487 389/548/487 507/549/487 +f 494/543/488 502/531/488 504/530/488 506/547/488 +f 505/532/489 503/533/489 495/545/489 507/549/489 +f 494/543/490 496/539/490 500/534/490 502/531/490 +f 501/535/491 497/541/491 495/545/491 503/533/491 +f 496/539/492 498/536/492 500/534/492 +f 501/535/493 499/537/493 497/541/493 +f 314/380/494 382/400/494 388/550/494 506/551/494 +f 389/548/495 383/552/495 315/553/495 507/549/495 +f 314/554/496 506/547/496 504/530/496 322/555/496 +f 505/532/497 507/549/497 315/553/497 323/556/497 +f 320/458/498 322/555/498 504/530/498 390/437/498 +f 505/532/499 323/556/499 321/460/499 391/439/499 diff --git a/examples/robot.blend b/examples/robot.blend new file mode 100644 index 0000000000000000000000000000000000000000..7ce20f670ce8e2ca7e701d9aa63fa43503b90f87 GIT binary patch literal 808824 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

Zi_7Ri7@k`akXcOxZwv=Jvh1zia05u33xw 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

nuOwznXB^s3TqPC+1OY*y6#}wWT{DCx ztDOu=jIGgJ#9DRqBSLUv+9+wWbuc*Vk_mM!jE(%&_A{y^Wd{>EB1P0`+MqYo5Cuj;_>9X?XVd(C<1x1ap7 zjQ8fpERK8Awl6yc0YN|z@DMxU_YOuz7W zFS72Jo?m_cM3;lI>gA!Xf$`qDmGF4)kXk?Y&{LzRtH+Gh*43@BY!*}K^CIStZUV-8 z_kQD*mF3mv%(&+RPfrIn$!&#gVtr;>iO2A(@J+jQa?SM~`N2UvPWrvc@!s;S z@?5sTjJUaWZ15zeP74zKUgDSL_qJNAj^n+hliKoomo0uxyk0rBbo0UalKjnZ4J)~; z*|u(b!<)>zBSnr^HdeytY)cxiL`~U#SVyM$+sU+{N|E?Aa?ZM#x^6k&c4565@p0#- zsdIdrX~-u(K|l}?1ezl-LB37W6d?G!3`#6~yqA7N$nSL(<#oO>PWrvc@!qnG_c|E0 zj{*#n!Beqf-R}*)k67nnM%MA((IfKuz2~l6a7}+9-=eN`;P;k~mhs-k_LFQ+t+!>o zw>3u1ac(?kB}EVr1O$OF0_gPIcrSDs#|K({lP{`|zlO_5riRCR@qF*DNmaLvGU|bA zS)i_g@!ooU!sETpXe)_6FJkqJ`Mq32XzJAE`2N}{_8WX^TspR$81D^_|8l&SeniOc zb?+phkHD`nPWrvc@!qP8_ZsNx_yNOY@KmfwznA!RI^NrTVP3!YyuO7?Ry0;DdrInf z?~)Gu-jS!wc(3?v$u^X4Tky+=SC(@&`>7$Cf`A~feIelcz2?ZX`MnOM+iu<8ej6Is zF8(O#hw#{VhsaUb@_qG`C&H9|fq*=NB-u@*~*LmtsyFcB0 zLg)6;u3_b|t8$%mET)? zmptEVup@q<{?=(wqTfsW+8ytOosG&Uc~4t2p5-!b_WUQ>V{*;-sZ&3#=O&Op%eScU zJ!}70`nmCE%NtER`a=_!ervZ+G|xAbPciYxF(xkcn7H(8)#6vgLiSzpn?-v*z=FDsus&x_)- zD&HvXh)?2|l}}!;+vn4(Za^&kS=O_4u<-hrjGYE0UT=wCRz62isX~{W#yCpQ&D`52%jEVSSYBzf884CfFSe2PV!^LH+?=nQ-cV(aARq_` z0tp1vNU?d2P38|1$f!-u9U|tBZo*j1AFl3;&mYo{pnt2#(La<)*<9<9jJ_fsx12we z_eBh3b=*Szt*2r|j1TE=PFwuo-x{o;Q0JlLdhoEbQRN`-$@xP(g9?kupW{Bc$Fz%P z^M_f!IjuiS?U^3_vGHeXyW9D}pV;l+nYi~E6PN#F;_6RLJo*O{*CLaTCUM+){VQvi z?R%`}4@)~7rN4#Ea<}g|)VA4H@ zR1}|^#2<2WwlN<}{Ic>%Ke#A92Pew;=?Kk#y(NBG`Q-gfQG8bA{B(4-aeflNtbFpm zv?xAT37;MDN&H&z$@#;1SGPBR*fn?Q)orf6p@;uM<1sJiz@Udf22qdqj7~7)B{Kh& zc1_QgF8F1`$&6WsbThPAQ4s_L0YShZpt{1L%6UrO3g!>d*D~nZqaP2fH>daE59W9p z`}(n5cSFs+cJTh;@PhdKA^iyYx2*eE%^#L;m-i3rjU(s%3g!=qAN<=+<`2nxa{iF( zD7rctiR~bnj&1B~Hh;KN8Ry8^>b#-9fLued<&}3rlJ_g`WakY_HvZ1=@sFrRIQoc* zs}GsD{HTdbUo&ywhNs3fV{*tk$Vny;v{Ic@N z>vd6lmM6&h>DWs0$Ze-ViF^{jtbDTHEsD?8I|`rVsGakZ_+{mj{!>wWmNv`t8lCV- z{Ic>%Ke#YHrT=tvw$XodR6uk2v{aQIthyhP@|=rgw$3x4h4=6v1kCxU1S z0)oJHkAUj+hAPJ?7>b=gj9=IGO@W>BB+2y@l{)7Q8EXsB-EZKgyC_bygXGeSzzpQ-He=3U4 zdD4G%8~$|wEcqWB#Ci_8Z*Li77W#4jtKyq_tG&#J7i;plAReuemD<+In`mlnlm zd1rb4#u1wT{3L#@_~iUyb!l7khsT`Lcg>Q8SHC8jGUZrT-E5McCDeZs`aPkK7;HWX;Hk|YQS0)l`-0G-}YsQ}X39Tz`ji8Kr;Cot_`v}Y**6R~~|1hOmf#k_5jX{a}n{sp$ zxPIx>smm+7Ja*?P_Irnw#CGEQheL^NQz*yd=||AN#qr^XG95O+9>2!8<@}+nUuvMM z;|C0r!Bep!_|fx+9j;$WzjxKMJN96H?mARq_`0>0l1Ga>Z z3IEW~`ax@;sX zup@q<{?=(wqTfsWFs^H`rX3x(T(_To@8DqW@!ploJ9=Hje8xF+ZeQve77sT|tlMDu zD)D=p`(vT@)tDxJZzCr8aLv+WMMn@21Ox$%fa>*zD*G$3)p)O3wyHkf`}nheRb!t+ z6~?Wxj9=GUy)WW?in?Xr=e2&H@zMX@es3r1%~h|Czb`^RBINfvp9NUr*BH0-d*yu* z16>`zc)N6%dTL6n`@I&wcKu%1*{JN1_vHH`x7~WHo>PdI9=;c)&Lj#cahCT*9!}(~ z%{2aO^;i>^mzubAj){9uFmbJF_rKi4)p;f!nQvm6<$WFPvVD*B`y#`#{t+Qpaj0$c zn&GJ_5&WPX5x-W?>yS^jkD~ZoCC@K=MCIp`_+{mj=Xp_lj>_}P9q~#0vhvC6by0k- zj^z1BM`-@@llW!jll^XCd`kc6=xn3^Ty62o$|wD&qWByYK0D%*_+{m@Z2jP(_?#r` zlXb)=@yp65?`I0*Q@;1u8J`xvtbFpmv?xA%h0l)oBz~><K7;Hso5kNP>VMAPB?|*dpf- z19KkRDh{=6 zwpC9}iQotGhs3Yd{TunL+V)WtpCdAV=n<8lPvV!APoC#R@wrL(?1)d|mz7UmuZ!Zd zEc1sQ@k#tL^J)9tqWBz?@z0LtXlu6C_YETAL@ut;+K_A`oTrxfU{ zmz7W6&lJUH?_To!jUzO_e@pzb^2z(sqWG-sE_`;vC-G~=C+81W@0xr5aOsM^75!2E zb>?_jdX`ZCVTz4sh7uDxflWQ$Gjfa>FOm7Lv}-`NbipqhPI<XcV!gTQEwb*0Yhr1At<#`{`4T;U zXz_!8+s^zU{oYk?&FlBhoj=gGtpAwv`ui3wZ)cfhv+hR7#hn#O)NIK z>OQa9kF}ol`UI$JVBL*+eQ-pf<4Gx_A$hV&VNhbjI?H>%@yg2b>T_n?^MR+QW1Z#X zwz_sF)>Te!n9$#qaevPU~wu6)V#3C4Qayy(9bP_j^|^UbbS+K;LzZ zwab*Ey<2zhACe(&h# zbNjsuuU)nnpVVvjr<-l){94KeozJpvdn2cc-y3d2`TRKXd-LJdh61IJKs8kFjOuf?xZzjtuwQqJ${&0V~3L4Vf;{fqksS*d(+s^5F9 zYglNZ$9Lj2xv8w$0n^fd8%)3M2hZ=R+rx`Kcpuze#i7Je_TS$Tfp@m^SH@~s4v z;Rjvd-{0>YN`6N#xt(~jE<$o2w*MXnb*E$VK^m~b4r+#nwhq=dl zukG&}XzRgVdkosU4Y{~;LWw-^^jM$swR4T%JFcUriP8%hH-19Evd>!-J-+8dJ+xq+ z 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 literal 0 HcmV?d00001 diff --git a/examples/robot.blend1 b/examples/robot.blend1 new file mode 100644 index 0000000000000000000000000000000000000000..b8a15412807a5a36a7e1848566ca93881a0f00ba GIT binary patch literal 808824 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 literal 0 HcmV?d00001 diff --git a/examples/robot.mtl b/examples/robot.mtl new file mode 100644 index 0000000..8d5322e --- /dev/null +++ b/examples/robot.mtl @@ -0,0 +1,59 @@ +# Blender MTL File: 'robot.blend' +# Material Count: 3 + +newmtl Material +# Ns Specular Exponent +Ns 323.999994 +# Ka Ambient Reflectivity +Ka 1.000000 1.000000 1.000000 +# Kd Diffuse Reflectivity +Kd 0.800000 0.314507 0.070683 +# Ks Specular Reflectivity +Ks 0.500000 0.500000 0.500000 +# Ke Emission +Ke 0.000000 0.000000 0.000000 +# Ni Optical Density +Ni 1.450000 +# d dissolve factor +d 1.000000 +# illum illumination model +# Illumination Properties that are turned on in the +# model Property Editor +# 0 Color on and Ambient off +# 1 Color on and Ambient on +# 2 Highlight on +# 3 Reflection on and Ray trace on +# 4 Transparency: Glass on +# Reflection: Ray trace on +# 5 Reflection: Fresnel on and Ray trace on +# 6 Transparency: Refraction on +# Reflection: Fresnel off and Ray trace on +# 7 Transparency: Refraction on +# Reflection: Fresnel on and Ray trace on +# 8 Reflection on and Ray trace off +# 9 Transparency: Glass on +# Reflection: Ray trace off +# 10 Casts shadows onto invisible surfaces + +illum 2 + + +newmtl Material.001 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 1.000000 0.000000 0.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 + +newmtl Material.002 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.000000 0.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/examples/robot.obj b/examples/robot.obj new file mode 100644 index 0000000..db380da --- /dev/null +++ b/examples/robot.obj @@ -0,0 +1,377 @@ +# Blender v2.90.1 OBJ File: 'robot.blend' +# www.blender.org +mtllib robot.mtl +o Cube +v 1.000000 1.000000 -1.000000 +v 1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 1.000000 +v 1.000000 -1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +v -1.000000 -1.000000 -1.000000 +v -1.000000 1.000000 1.000000 +v -1.000000 -1.000000 1.000000 +v 0.396396 3.195775 0.396396 +v -0.396396 3.195775 0.396396 +v 0.396396 3.195775 -0.396396 +v -0.396396 3.195775 -0.396396 +v 0.707780 4.659433 0.707780 +v -0.707780 4.659433 0.707780 +v 0.707780 4.659433 -0.707780 +v -0.707780 4.659433 -0.707780 +v 0.707780 5.747853 0.707780 +v -0.707780 5.747853 0.707780 +v 0.707780 5.747853 -0.707780 +v -0.707780 5.747853 -0.707780 +v 0.363607 6.039236 0.363607 +v -0.363607 6.039236 0.363607 +v 0.363607 6.039236 -0.363607 +v -0.363607 6.039236 -0.363607 +v 0.363607 6.228965 0.363607 +v -0.363607 6.228965 0.363607 +v 0.363607 6.228965 -0.363607 +v -0.363607 6.228965 -0.363607 +v 0.527745 6.437937 0.527745 +v -0.527745 6.437937 0.527745 +v 0.527745 6.437937 -0.527745 +v -0.527745 6.437937 -0.527745 +v 0.581972 7.220059 0.581972 +v -0.581972 7.220059 0.581972 +v 0.581972 7.220059 -0.581972 +v -0.581972 7.220059 -0.581972 +v 0.285750 7.649150 0.285750 +v -0.285750 7.649150 0.285750 +v 0.285750 7.649150 -0.285750 +v -0.285750 7.649150 -0.285750 +v 0.980918 4.891058 -0.406536 +v 0.980918 4.891058 0.406536 +v 0.980918 5.516228 -0.406536 +v 0.980918 5.516228 0.406536 +v -0.980918 4.891058 0.406536 +v -0.980918 4.891058 -0.406536 +v -0.980918 5.516228 0.406536 +v -0.980918 5.516228 -0.406536 +v -1.280918 4.891058 0.406536 +v -1.280918 4.891058 -0.406536 +v -1.280918 5.516228 0.406536 +v -1.280918 5.516228 -0.406536 +v 1.280918 4.891058 -0.406536 +v 1.280918 4.891058 0.406536 +v 1.280918 5.516228 -0.406536 +v 1.280918 5.516228 0.406536 +v 1.039887 4.005651 -0.246717 +v 1.039887 4.005651 0.246717 +v -1.039887 4.005651 0.246717 +v -1.039887 4.005651 -0.246717 +v -1.221950 4.005651 0.246717 +v -1.221950 4.005651 -0.246717 +v 1.221950 4.005651 -0.246717 +v 1.221950 4.005651 0.246717 +v 0.980918 3.537906 -0.406536 +v 0.980918 3.356243 0.406536 +v -0.980918 3.356243 0.406536 +v -0.980918 3.537906 -0.406536 +v -1.280918 3.356243 0.406536 +v -1.280918 3.537906 -0.406536 +v 1.280918 3.537906 -0.406536 +v 1.280918 3.356243 0.406536 +v 0.980918 2.342852 -0.795716 +v 0.980918 2.342852 -0.481741 +v -0.980918 2.342852 -0.481741 +v -0.980918 2.342852 -0.795716 +v -1.280918 2.342852 -0.481741 +v -1.280918 2.342852 -0.795716 +v 1.280918 2.342852 -0.795716 +v 1.280918 2.342852 -0.481741 +v 0.980918 2.075831 -1.046264 +v 0.980918 1.921174 -0.773021 +v -0.980918 1.921174 -0.773021 +v -0.980918 2.075831 -1.046264 +v -1.280918 1.921174 -0.773021 +v -1.280918 2.075831 -1.046264 +v 1.280918 2.075831 -1.046264 +v 1.280918 1.921174 -0.773021 +v 1.055918 1.868141 -1.073623 +v 1.055918 1.790813 -0.937002 +v -1.055918 1.790813 -0.937002 +v -1.055918 1.868141 -1.073623 +v -1.205918 1.790813 -0.937002 +v -1.205918 1.868141 -1.073623 +v 1.205918 1.868141 -1.073623 +v 1.205918 1.790813 -0.937002 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.375000 0.250000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.750000 +vt 0.625000 0.000000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vn 0.0000 0.2651 -0.9642 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.2651 0.9642 +vn -0.9642 0.2651 0.0000 +vn 0.9642 0.2651 0.0000 +vn -0.6461 0.7632 0.0000 +vn 0.7408 0.0000 0.6717 +vn -0.7408 0.0000 -0.6717 +vn 0.0000 0.7632 0.6461 +vn 0.0000 0.7632 -0.6461 +vn 0.6461 0.7632 0.0000 +vn 0.0000 -0.6177 -0.7864 +vn 0.7864 -0.6177 0.0000 +vn -0.7864 -0.6177 0.0000 +vn 0.0000 -0.6177 0.7864 +vn 0.0000 0.5681 -0.8229 +vn 0.0000 -0.0692 0.9976 +vn 0.0000 1.0000 0.0000 +vn 0.8229 0.5681 0.0000 +vn -0.8229 0.5681 0.0000 +vn 0.0000 0.5681 0.8229 +vn 0.6468 -0.7627 0.0000 +vn 0.7408 0.0000 -0.6717 +vn 0.6468 0.7627 0.0000 +vn -0.6468 0.7627 0.0000 +vn -0.7408 0.0000 0.6717 +vn -0.6468 -0.7627 0.0000 +vn -0.9978 -0.0665 0.0000 +vn 0.9978 -0.0665 0.0000 +vn 0.0000 0.2390 0.9710 +vn 0.9944 0.1050 0.0146 +vn 0.0000 -0.1776 -0.9841 +vn 0.0000 -0.1776 0.9841 +vn 0.0000 -0.6592 0.7520 +vn 0.0000 0.3233 -0.9463 +vn -0.9944 0.1050 0.0146 +vn 0.0000 0.6843 -0.7292 +vn 0.0000 0.3097 -0.9508 +vn 0.0000 0.1306 -0.9914 +vn 0.9329 -0.3135 -0.1774 +vn 0.0000 -0.5684 0.8228 +vn 0.0000 -0.8703 -0.4926 +vn -0.9329 -0.3135 -0.1774 +vn 0.0000 -0.7828 0.6223 +vn -0.9976 -0.0692 0.0000 +vn 0.0000 -0.0692 -0.9976 +vn 0.9976 -0.0692 0.0000 +vn -0.9781 -0.2081 0.0000 +vn 0.0000 -0.2081 0.9781 +vn 0.0000 -0.2081 -0.9781 +vn 0.9781 -0.2081 0.0000 +usemtl Material +s off +f 1/1/1 5/2/1 12/3/1 11/4/1 +f 4/5/2 3/6/2 7/7/2 8/8/2 +f 8/9/3 7/10/3 5/2/3 6/11/3 +f 6/12/4 2/13/4 4/5/4 8/14/4 +f 2/13/5 1/1/5 3/6/5 4/5/5 +f 6/11/6 5/2/6 1/1/6 2/13/6 +f 7/7/7 3/6/7 9/15/7 10/16/7 +f 5/2/8 7/10/8 10/17/8 12/3/8 +f 3/6/9 1/1/9 11/4/9 9/15/9 +f 15/18/6 16/19/6 20/20/6 19/21/6 +f 20/20/10 18/22/10 22/23/10 24/24/10 +f 17/25/11 13/26/11 42/27/11 44/28/11 +f 20/20/12 16/19/12 46/29/12 48/30/12 +f 14/31/2 13/26/2 17/25/2 18/32/2 +f 22/33/2 21/34/2 25/35/2 26/36/2 +f 18/32/13 17/25/13 21/34/13 22/33/13 +f 19/21/14 20/20/14 24/24/14 23/37/14 +f 17/25/15 19/21/15 23/37/15 21/34/15 +f 27/38/16 28/39/16 32/40/16 31/41/16 +f 23/37/6 24/24/6 28/39/6 27/38/6 +f 21/34/5 23/37/5 27/38/5 25/35/5 +f 24/24/3 22/23/3 26/42/3 28/39/3 +f 25/35/17 27/38/17 31/41/17 29/43/17 +f 28/39/18 26/42/18 30/44/18 32/40/18 +f 26/36/19 25/35/19 29/43/19 30/45/19 +f 35/46/20 36/47/20 40/48/20 39/49/20 +f 30/45/21 29/43/21 33/50/21 34/51/21 +f 39/49/22 40/52/22 38/53/22 37/54/22 +f 33/50/23 35/46/23 39/49/23 37/54/23 +f 36/47/24 34/55/24 38/56/24 40/48/24 +f 34/51/25 33/50/25 37/54/25 38/57/25 +f 41/58/6 43/59/6 55/60/6 53/61/6 +f 13/26/26 15/18/26 41/58/26 42/27/26 +f 15/18/27 19/21/27 43/59/27 41/58/27 +f 19/21/28 17/25/28 44/28/28 43/59/28 +f 45/62/2 47/63/2 51/64/2 49/65/2 +f 18/22/29 20/20/29 48/30/29 47/66/29 +f 14/31/30 18/32/30 47/63/30 45/62/30 +f 16/19/31 14/67/31 45/68/31 46/29/31 +f 50/69/3 49/70/3 51/71/3 52/72/3 +f 47/66/22 48/30/22 52/72/22 51/71/22 +f 48/30/6 46/29/6 50/69/6 52/72/6 +f 42/27/32 41/58/32 57/73/32 58/74/32 +f 54/75/5 53/61/5 55/60/5 56/76/5 +f 53/61/33 54/75/33 64/77/33 63/78/33 +f 44/28/2 42/27/2 54/75/2 56/76/2 +f 43/59/22 44/28/22 56/76/22 55/60/22 +f 59/79/34 61/80/34 69/81/34 67/82/34 +f 63/78/35 64/77/35 72/83/35 71/84/35 +f 41/58/36 53/61/36 63/78/36 57/73/36 +f 49/70/32 50/69/32 62/85/32 61/86/32 +f 50/69/36 46/29/36 60/87/36 62/85/36 +f 45/62/37 49/65/37 61/80/37 59/79/37 +f 54/75/37 42/27/37 58/74/37 64/77/37 +f 46/29/33 45/68/33 59/88/33 60/87/33 +f 72/83/38 66/89/38 74/90/38 80/91/38 +f 66/89/3 65/92/3 73/93/3 74/90/3 +f 60/87/35 59/88/35 67/94/35 68/95/35 +f 57/73/39 63/78/39 71/84/39 65/92/39 +f 62/85/39 60/87/39 68/95/39 70/96/39 +f 61/86/40 62/85/40 70/96/40 69/97/40 +f 58/74/40 57/73/40 65/92/40 66/89/40 +f 64/77/34 58/74/34 66/89/34 72/83/34 +f 78/98/41 76/99/41 84/100/41 86/101/41 +f 73/93/41 79/102/41 87/103/41 81/104/41 +f 71/84/5 72/83/5 80/91/5 79/102/5 +f 67/82/38 69/81/38 77/105/38 75/106/38 +f 68/95/5 67/94/5 75/107/5 76/99/5 +f 65/92/42 71/84/42 79/102/42 73/93/42 +f 70/96/42 68/95/42 76/99/42 78/98/42 +f 69/97/3 70/96/3 78/98/3 77/108/3 +f 81/104/43 87/103/43 95/109/43 89/110/43 +f 84/100/44 83/111/44 91/112/44 92/113/44 +f 77/108/3 78/98/3 86/101/3 85/114/3 +f 74/90/3 73/93/3 81/104/3 82/115/3 +f 80/91/45 74/90/45 82/115/45 88/116/45 +f 79/102/5 80/91/5 88/116/5 87/103/5 +f 75/106/45 77/105/45 85/117/45 83/118/45 +f 76/99/5 75/107/5 83/111/5 84/100/5 +f 92/113/46 91/112/46 93/119/46 94/120/46 +f 90/121/46 89/110/46 95/109/46 96/122/46 +f 86/101/43 84/100/43 92/113/43 94/120/43 +f 85/114/47 86/101/47 94/120/47 93/119/47 +f 82/115/47 81/104/47 89/110/47 90/121/47 +f 88/116/48 82/115/48 90/121/48 96/122/48 +f 87/103/44 88/116/44 96/122/44 95/109/44 +f 83/118/48 85/117/48 93/123/48 91/124/48 +usemtl Material.001 +f 32/40/49 30/44/49 34/55/49 36/47/49 +f 31/41/50 32/40/50 36/47/50 35/46/50 +f 29/43/51 31/41/51 35/46/51 33/50/51 +usemtl Material.002 +f 12/3/52 10/17/52 14/67/52 16/19/52 +f 10/16/53 9/15/53 13/26/53 14/31/53 +f 11/4/54 12/3/54 16/19/54 15/18/54 +f 9/15/55 11/4/55 15/18/55 13/26/55 diff --git a/examples/robots.blend b/examples/robots.blend new file mode 100644 index 0000000000000000000000000000000000000000..c6e9c6e266fa3438e8bc8c1d9afdc43ab4c4030a GIT binary patch literal 882476 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 G{{4RkUA{~J literal 0 HcmV?d00001 diff --git a/examples/spaceship.blend b/examples/spaceship.blend new file mode 100644 index 0000000000000000000000000000000000000000..e8c8dd3300d0b93aced35d5e2ac3bc716f7adaa7 GIT binary patch literal 838472 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%0Af9&P;>g=@cES5>XolqV%S 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�OpQ?}ra~;G_KkUDyxw=*}PTz(+dhLhfGj zrgujDWkdjJu%=`Uc>s#RTr^C0yXdeL)z2hq5@Q0Al7UA2>GJ{OAIQT&tCcMuEc8;E?x zJHL4l$n#U`%UGUnC#lIh``uP~IXvY_E1dX_zj4Rz zE${IHk9$H9vT1tmN|W>KBa9e*2QlUWpGc1*sBUn*_^$_^q$a&?CwR z{mSrqs((XwA#MMf^@a52M(8n_@BfWb^)Znio$vonN{OZNg&Zy4Pmjmh+BYvfdQ-FL z_SQSrBM(f`PWRpKwG5^ii@{t}himV9E$A=Nf8u!o{VMuR^uHK~xW@x%?=z{b-$56D zucaX69>I^7O*XtIzt;l4ZH4UTau#~^ca9=?2F&`Z=%BuO(sO^Wr7QiX`JI+T-)rf7 z|G8Dk(_QGk-hV=G&?CwZI}zc?&O&W#gP;uNPa0mfLw#b3^sMFxSU9)EJ?Dzd}WDw@qH9@(__1 zSkI699KP2=^7H&&3qJ>;-9|eO0ik_&KZl_`$MX^3+221BivzP1hy!WgB$>k~6K_&;=JD|`XLvPSyPJ^-!WhbIE zE$h@f7(BnWxWb9c%=XGoJkMhNBYg1=N6!6nJ1)PUX7Gwr&sC?1^vL=6^~aK$^LaLz z_D*u%bAO>n=nZ;ooTl{XsFzC%jFyn?`IW+vQW3t9ig=eQ=3e#Oa;FMo-Pj}*UhCZn zi04_`bC8j4ApalX`@HWtqj;ry1o} z?`1@ID@8u65?)Yp-=f0MqlM>rC-iuooR{GBf22pQH_o~POg}wxT|__SrAJAv4}Ygd z=?!{Be+&Ie`Q1=x7^S-*OT*xBnFxPGYq$_kx8^MsE zh}QYeb#H#Ga{tIB1N`p^knQtWk9BV~uM7*h>8wq6u6sN1w==~$uA=vTlQ(|bb4`tR z&gFV$OkZ6Qyy=|jc_*I!m`LBU;QSr;jtmD+oBDd5o#v&l-?Wq4>*<7FOgIk_9HmDl z60LQFA0-?PKTdQ<5v|iDek5|wxAXsa>aSb&&M@*B|B+{g1;>?N*j)4Dxy{5w^FbrG z1c!e7m%KYBKE^!ct=)Iqj=)W+p*_W~HxUnlC+1_qyc_e0hy09FZqIAT3dl8dBlx|)@RnV_J2JIk>Y}V&Z~y16mXGecxnR`&#;%WUKd#{D z0h>e2gS?n3y*KWnJi1yQ$wmM9z3Pz%h27apoNSz3Z+86T?;}C?nl-j5;IG@YDyemE zfKTLe{oOl&_J^qFSiSBo@wzvj*VXIZq($jRD+ zHLUHV@fa!2B{4#5RqMDij+g7+qSveSE^6IM{Y`THNAw5Ibs+A%IRCD!djlU>Z&jZu z`ElnXPbjh0y#Wq*ZK^z=2YmOsH^2ceFkI#bdcZS`mxUC$U(2FMzyYs8;ej6T3I;jx z00+DcO5UIcJYM(44*3BNc#R_@pP*;qIr9S?@StDNGx3bYVx|E30SmLG10MK+>lD7C3;XcPAMn7BDZW7$_Kb2st|&j?O?*{$n;eUu|vpYLFi(x4-X3 zn!#bE$75-Lb&?w7K~IBJ81D(N?hWZC9eE@4=$v0ZDdoX5zFd$L^wXn#-J6#ly{X01 z?`<*MuJS}A+UdT#?oDb&nU<-h_SU_jzeN9u=LPhu?(qluVf3qJMs$OD?{Cok5I)!| z{cMr!Ws|LMJSxs7fS>a%+0QjrdG&XKOu`@ZpP+;K+PKk!USvvR83-8%+E+>53 ze64)XZqRu{oqx|>K#a0H=Z56X-f6wl(N9TL?9#W((v0>In)hKC&H@s~Uzq2> zd=2I+Fx~<@`&@6nNj^VUr}N}(dPF=4c-efw_*k4<13zbu8fUHd7#A_|b{yIR&_R39 zwytyZ+R3illD%Y;JaJx^dU^8Ty#Nw=gx;XX`X8%tma-F3l$Md*H(qY}713(VH{f^k zc-e2hsjsg~h2EgYwsWK&pA}v;qyiKcLeZfWw&9`ny7%y`%~g{_dEr4 z_kT8)r}1SYqHg`_<0xv|(7t)iQ%Gt&&a#}N4Ys0t)ty-%mENGoM%7M3zp_vl78=F_ zw&xxShb|O){0jlRtxC@8vAo>h5~q9U@onSBX?(>~^V1_Bxu5dVqkQh+^~IL_lh=c+}N~y`Mtr*%kF5p^njnT4%&C>#jWi9+Xqhskw}lI zk6!cm7<(k5-5b+bkJYEr`%N`|dXox~jD0GV7}3gKoWbX!!|`ny0>byAc9_|$l?a&k z^VuWY$SeNKB|*mLd-kt9`pUfM+B1WfM-0a$s;C!fCe+W|+R(hS7GHDK)MFxHSlmo%F&X;YlZdYm>NVT!v+zVM_;AO*-g^ zy&}x;g)<%$u=(|un?Bz&&UeoJ@uYVb-6dd|UVeQ_4ySQ`oW}T%fB30LzrB2D&c?}4 zO!|uP!K5D!etQy!3ulZb-V1V;r!-7Hr((gB*Y4jn$BtwpHhjz3-CT$OqTt zzPt6R+_5iRlzZs0OLAB5IXjnRnmhmM!*UP#?V-6p9dcyuOAjBF`_m7G=RULWgxq%* z9iLlpb0GJX!%oh9`^RVGzOiL=?vek@$zAZ~gxqD{I4yVI=A&|-zhhAD&rg1H%A>bz zpE5tEa!TpI_jsASc3J}MNDy4LAxmj)OkOd$H{Yl%GJ3tF?Bvm!)AF-NzT2_ z^Ge)wIDf1ub*Ci?^ZL~+0stR47if{4$uR>`+O$A0dJ2gKj;C^ zeLfT5fEQJGpa(qn`AmQVUXD7S3G{&H{w^WlfY+wV2YMFX%Z~300uFc$N}ix+;T`9| z103+m6`!C7yn;c;3G0IX00+Dr#V6%bw^(sHm1D;`g+rcN`fY++Z2YSHEN_FA^4tSX= zKhOi7Vf?SSgf6zs}@+&{!fgim} z;VZhphaI`)2YBGe)OlT?3w%HR0T2AZ_f-Ch57h5~t6zcq01y1=I*AXuz=s~<_*d{I zzS2MFZcz4Htm;7=zJdpSOvw#=0ME~U0B_=}?}|oYhwbDaQ}DnKsP7VkF8Gi6$xp!p zzZ~*Ybiu#7{et`fZ{jPxnS7{xeeo5%iLdG}=%W4e(|@^w2Yx`EQ(3O)0^hg%3Lf}T zX`IAWiv`@5{i(|1{q_kj1? zpJ+dyZoCJcq}GSer&IMAdW0?<_0sEnI;BVZ`E<~e-}!V%M;^)-dUT&pcRYQUwIh18 zpHJtdM{jB_PI_UG+g09JigsF`PbZbga^e0H{U!R(^6O>)iGH=s_589&jRzWB<0Gl+L49rWqSuSQ%j$RD zMqlqgp*QFe763aDVbAZfj@r#>9r-TnRuFgiavs|KUDh9wRsYBVCj(wK&MEeK;dM@f zH#Lt8dRY|LNB%A=>h~)wizLcG%|_pFU+{NX(Qcz1Z)=e4INEnSKf0f%%2oSr7dnqC z`24nq=^8}e&&x{P?Awl)<9Sp0ZTF~l{L(JA6tI+2vy#?42&#aVC*MqZ0B-k8II= z#k=V09>V>Ypkdd_E9C1a`7YzRm7MmVO!<4v?nXs2>+knI%OFU-?m z+=+1}=4})?vtOM}3LQb6h8%A`FOt1<*mljo3i-Sk_>D7V`_y<**V-x2fqi?^%CwTvZ`FPM9Np{NTpK-s+^9Bb{WqCENRamZqYsWzc z^*`r+4|pVG0t*?zX<#)mO{R#92J+{r2dW3%C1o#dH_Cv}o|EzZU-Fq(_T3pK^cx z?l)Jd_7zy(KH62U@B0jX>BO@P;}SuKp8uEtJ^#I$_Fx)c@$?eu5&e{x9=)l>)9-CD zTpu^s`r8;4fSTEM9mc%gfI|%VT$qv!DQ^-ww$DglPB)eW<5P@BF+RmQV2oR_9%h4U zeNnw@ofEUh^GlU<@py_YHY@digxz|z6@hTtL>`~QZ!D4HkMh6A#QUy}78U&==%5{~ zulE?Ac9i(%2=67ER$Kb3SME1)Z9DRClT`RTZ^60Oh0s2R9AjY$UkcIYwO1dxee)XENDcPg zbL62n=n?I7z0$7~;e77qn;yh7?BRB5eN|Bh)dx81~c3Y%p>Jee2t7LdWkAq2P zDKzK8+ji24;)`ip=>mx5`{|MEBKj$RJvyH=Jj}$(sF&QKK0xaXA=fJd(BZ2~J(<9Ba zcakpY4*c!RCcZ0r?>Bklw>{U?c;{R}XZq@j;7#XD&pYw-$3*&;1?TU$cVswt+SJ$c z1ZK;DXMX#se>Gq7`b|4|FXnW@FD9Ia2#(St6N%P3!jBRThaV@pqlnh&5Zric{*0+Ou zieGOc9-3auEI9L>n=ft|KkvqT;vxT=r`(=*S!N*k=T*njiGkzW_IBLM=5c41}QM!)HL!ucY ze_JKw!R48BL8YTS+unH1QJ&WO(?TeZLN|`TzcQa_kWBiQyXuh#h27apoot+4Z+86T z?<2v*d6R-UkMC`I_m{UerR{sW=~A*O;1^$VM()Qi7Y48X&5ou!#{99FiP|a9 zVV~>oUV5mudU_B(lp&O0$<`Pb>*fm{68omUHHr<4dzAOfD@e3s25oHm)>W zHYvP(;>5{I#x9wdon24Y=nJba=u@%^QoS%Qt7M`+yV?aqg*h$4I8$-S`X=|fTQsb@ zP;jX6+_TS4r5GDcNk`&_1Wk#-@d8fyB5V;;ciisrx)#hYVZI4~n1{l;JIp&_p2@wh ziSc;+_XznHl7A>Y5YV1i(G+>L#l=ha9mexb@MHgw^Gwlyb#1;0bTFRwruX$iSx(GL zbYY$X>+ay%&zIj%mbMq8)Nk%MBxAU5(aKrS*FrJH`H|P;%fqq5UTz|Jx=~L-3 z@|mGylfm9p1E16CDS)=)?>@BM(&IS_b_Yu@?l+)#g`by~ zmlX%pk0Post}Cxv>0jWDBv8I^7R#bbJAM|+s!Dkl%Q*jR+D(C7*a7Y1Z+pD`e$P9N z!sd$qD*c$!e@yMgZ@o>f4J!VL^zFFr`>veD0zTwinqfp^k{@>-hHN z&l?gC^aL>dxX)q%9PrBDlz5;AJi~ZGJjEbCzyUAzy2?-G3%r6sPCUQ?FXJ_d2YSHc zvsl<6KfnQR5A>w+weXzz0S&>Q4Tl%fCqj#&SFq}puV{4732qa;73*d zpbNSA%3r|)KL-94AHWA6ZvFuee58X9I`7E)EP_4rbkaEH^z};#LiLgxd z`^B1Q@vbs*HQ~0>+IHo~Jp=H&%FeHC|CGj!EKj%V>ucMgH|P;|0sTsO#PZ|LA~2@d z-g&vD<_zO3g10=z<^;*l(4h!z3ZXf?G#cvA+V&AfjLss6dBFQU18}_;W5g;9TC|~H&eHKBC&LZfD9_?ol zcK-xYU_8<#dGZiDfb9|yxNwWo8;aw_^~$G&qY7+>hF+?zt832HO!!c z`szuq7oA10Rmsy`^1j}GLT}I`$`AdDu;*C>2kz#yj+{ks9f&)8Ifv#xi{N^)>gyeF zGT>$7oMNvRTS%8~=S|HG)%(I+ANec-)bCfQ2o!ABd5EZ8oE{1A1)oKLb{p+DWPVmq$rp#GQtwsZ8D z?=Qmn)&J!3?z?Mmp*K^Hw*TzIT6@d&##wiO>8D4oi|D7k^eCzI-L<#So2f_D-$K7qemRAP(YO<` zG>j|?w}|jZ`z^`R?S2c!y1Pr=4!5H0cS4U>P(@K|sA+y_vymw-JD9xp&Vj~-nEXhg%pj;)~ve4;hf zHLnZ{xr^(!hI-HTZw6ym4rqFN`bT2TF;&sLe_tKWd+((4nwiE2!G+u3nZ7#s&Xre* z^dDv)Fz&mhwir%c;qdj#rTZFVW#^&(b^~RBiBB?B((b3oh{$r z^B$!~f=_?AG1!=Pd(-;)A2AP2$2>hYIJY%5_(t}5LE<5}<&y7jKj6(Fq3zdQ)kHir z-F02wxZt(X@sG~^ONe*~g*G1_{O{bxykpj9ZGY_>UpeE_b>&Z-Q2xx+1^?ZX_sJ>e zY#;lF>vw)<@;~!$f9;5!pU@iWsc8-Q58e9C&J&*=mVcVZ8tSgfgUhr1p=%xG865e0 zp1nLvFE$+IdFX+SW_d_v{mLb~UfK(e?Wb$PiUe;xqbRtv;mGFG7LIJ1TR5+YZ3;Bk z?OHX3@?g83Kv#t0ySj!N&#!%R4fT)=mJzKwqVajcHPl0sSwlT^Y^qp8T@+qkvZ}I9 zlJ1AU{e2DfvXa`0(j{Y!)hoq1@_xC7TDEm^uGp#qqWyEXfg-$V)+(MFn2zNahQnW=kF}K103)&_Nn!2s$2q?e%1_f z;sFkL4R1+2&;uTyM4{*RMR_g{q4|r<^Iq?7oyiB#O5A=XHF5Sr|;DDE*U)`69)FzPq#&TS9C2fT@oZ-Oa0um`{V z%U$0Di>hxzfiCg|9h3|C10MOufUoGnu22p)KHz~Ly+yWXpbLD+(Txvy;Kw$q_E7Nw zd_VpH5B$I#Du2ZX><#UnJAc3fzx;NUzv2VUW_`8|j?@!y_ zdP=P0hacT1=i{Rrqz^um^|?H}4hD2EuUP)17rhG$C0+I2Epo3j+)k!5MGv6fyJ7t( zd@%qE8h9dD?*;Uu88I7c9NQ$CHAK5#^@bk=n;B@9$^>IuPjZB z*6;4wZIz6|M!xMmoR#8rhjpYr<8OX$iCafHAZ>)f=T^I2B0bKgy215A?m%#2N@{W) zsW)XOeBhJ@`7ImeJ5zg3i1qkBu>*b&raGglO+qH;%$q%D+Pnobrp;e6XTg${B^Om( zP*PV>wQ|X_lA45wD)C$sBdZ`ejCiWEKij{51VwKnhT+FUB^LvGhW)~xfekyC;SGgG z_UB$tJ4OjOkv%)t(`Kg(NaG9KSiYY<&#|@hUiNIKX1}*6 zJMRLgD|IIPNes=PW!gV%`MLUC0N|2jj^|`All=^Jk?zAo%g>yEj}d_Z`45zd9zykQrK@(62vg-AAFm>-` zn>d}{88Ak4Lz_5T?qn5io4m?Avpa>p1ixsGb@m+3@-&QCXP&jf;YGK|_FPg+F^bnY z;ag`sI*re2Lc0AdJH~JQ-5Qb3e2V>WsvknX)VN;uOX#oM^T3!-#Qe6*N&cQlW##z} zK1nK_o)<@@Y@xdp!>i7gM?V&4cES&All@Wbv99$?po8`-@Fy>NHxx*YvHqU+vkHf> z4EgQp^eMagL`W5Ag{J^ERuITYarAOs=vmUP?J$juUC3VL&lk1DL5Wes24tj*% zpvOQ&>Cv-Ze)*;LtB+h4(Y{^op&+TjzPtV&dV?O(PD8(6zUG`9_~{W)+)w%IvG1Nm z54}N;kO%ZD!x7c4vcK*L!?>2-i7aiRw`}e;UO;#Fqg4H9@Teyaz$5~R^oaWC-L6`> zk4mxblgP5ifN=TPt+dIJ+tun*>G@lYpWdW&Te5)n`k~>NuPbw;cu_mdH5K%JKBLgO zKCu>`@%i3K$3avFv;?#Sv;?#Sv;?#Sv;?#Sv;?#Sv;?#Sv;?#Sv;?#Sv;?#S`jG^9 zmQl|a_9KPsqG}0f31|su31|su31|su31|su31|su31|su31|su31|s)Q34&CPn2i1 zSXrudkB5e=DB1(Su`0zDFVCCf{WI7vgZ(obZkPLKu)h=gWUy}r=knlu9S}Wee5Bx{VvGG-^Y4=(82oP!1p}pwahM( zl+=Ei&38M){@I9>A#}zgJF$Oe?*_u9{WI`A_gx$`@Mw}oNA}M^o__mhBsIBe-&act?&NHZmWzFDEy%b^Y+?z5l_AM#XyhH8}x|!?W~vOw4W`_rZ);lcH6>< z%RgBqU*n+{N)qQG+0Kulb3~^Y-%H^up01xBxjyp6?VG#3Y@!OuH%@1-a3H;_NXLhk2p{|xK`SZ9C<3NlHaXvG~i#S&j=VSVvcgY;^KA=bG;`2TRQX4QTB|sAPK3_4T>N+8R z_~nR2y9kbXq>nw<0 z`^8W!Prvg%y!PWdDfiBhsYj(Z=rQ`R)FbRfmQM5?%~naRa2uVSHh;^auqjh#r349oSx>%0$1%{iWM)9#I7=n;B@9%HJ0JL@Iazw35c<>c@UB76+V z4f`~wSpbeZ>_3$0YYDfgz%bxD#)ay8>!VVp6IB{;#JNOzYM9yrjCM zj{Cj#ToDkm<|K#ULGW>E1K4(0&+t9Kl8S;o!+v4UK!%;m@C}7VOUaW+GYq!p*LQQ+ zZqH8>Z|pWmPmG!Q7WRyEm8?8DUgnOK&mkh8zV9|Fr8R{wCnSg3vuAFXE+dh z{XWnAQg?C|2YO8Ac|w-I=l-HTLT}Jx`CC$t(621PQkrksD4uUQoMLb|?Mc4BmM)x+ zi+P+oIf2|T=^2xhe;~Cd9?s*vUXC#&m9Kbczvo@N*W>o>CmzqcUh{B$NsrJQ^oVvE z`jwKT_v%aU6nc~46J@cJ;nFaqkX*LH7|b9z=O@&ZNKj+<#O{;{EhhU(&Ih% z2eyWU+tn!9JK%p$ggE)wr?+waaJUmM|9Z#~L4l|dX{PVe(k0zRFKykychT=X_rxcE zn%o>db+n*!^8a2IJmHh?Ke4FchN+x>T;;zf-f`fVVEJ=XMEaBKC*_Su|8DS>nVCEJ zJGVa~{1XW0zxzL)NZ^r=h}Q9h{{zBd{AEP<>qKk0#E%@h`_0f1hYtxZ*xDLm{Cgii zxash%$F-bu+GysX`RjlAdGN=nk*1;7-oQLOabeb1&de@9BJ|B)O=%_`nlJzNWqB|C zdts>RKg08hhx`ej-15Zc(n-P1FHbo0gUc6B_(RM2O**^Xn6n3Z?J!-0v{On-Ry zF)#md=YO8~;qG@oJ$u*E_qP{roBPN7l9C@5{_C@|3z!FaF}L&v;Jx4Ejo|321(nS; zKc3r6G@1_@xh1&mjo0$-nD`je$XmPbwjHhar-k+uzurVN1Wm?2{{G5*qLI({{mFTK zZ$8;LyWTn{vqGs>Qo70{dZ0cab$2U)TZu@=Bzj~}_>ghXb zMSbAs8@uysr|d9%&-Hij0PDHu4;1GjwhTyMD%EhZ-*WC7g>Y_KIHQctvgHdyYzqqUXH>8Juu|{ET&2hfxn>`)<2}`~U2H3xFL(mG(_0fe{fxP#F+) zA_x}^5D1Uqk=#ipfs68p2}1nkHw?)nH|8aT@_GQCRuqXE_+2p9zMpP z37g*>!b;yOO_7RefF6)z!DV@12%}oKEhXs_s+ORo_=#b-G@S za3lKuh|h%kX^R~WdI&eHzoU%%ns75i;h=|bqdFYoL%8eqr!QBj_P$+6=pkIIE>DP$ zbm^Gf68=s+^bk&InfTzJ++w~HUlb=%PVwF3s{YA-Ulm;b8PNB9cLAJU=g4aDQ#ANmN7>xdWW z_l2i%6|@T&SE*eUZXb|u@Q?D~mZ!Ifi6i*#_{pM1q3@2LIPtZjPV&#q8Tp0!?l@%S zQ>wqU`d!aB2r^YiQhAWy!PD`e->7<*FTTI%Qc>w~m4{zCFXXRtAG&mc?y*td8@fTn zH7dqcw6xyO&3EuloOpylBg=Xz;CZ;flJIm76`ShK^~dan*gO2-5xfOF>T-c{qHc1&ZpGrOgo?QMf=@xU4BuX!4%55^bbxF_0au~;97zFx;(!`)Hzdi zy@T?)zkXT3xWpmO^&lSQkmdP$Q5MZS@2L|fx6seg6yCVN9hhmb?3eOKz0JCw9_^K=L0S*I7}x%ftv{m>UdI2x}dT%T?B-*&&a65Ig}I^V!y?CIm>b6eE-xY5MnFfg!k?TQoxOB~u4^`zBz?@#`* z|5Z5rgQ!OdhszzMgDrn?rs8$%8I>>Vl5_?*Xg%OiJT-0oV3&uby{mis+*^44U8LE* zVCB+PJ?R2?Vj29C!r?A)jc_2@=n>$c^9>xvYPvjVeBAhB%EMLN14~mCca1~$YEdGR zYgPB|%3skqkdJUMhj^J0hp%tW=!9Ls0r?Ja_*acXOu2}`L6`F--OH}*Uc0nsS@>p_ zZ%&eer5op5kbpx7nz%^x`2Yu08;u`_0oBLqDtr98z3^N~f2tz^2ankl z8+m|(&Ub*ruQd)DA2$LQhc(^(tCpmPp@4St0uj!QJFUMx0SEPTq>C-ULFYTb;pZ9$ zjgK3fi-T@A2l{$frFz^KrPg%sZ2YYWI0(}?^%3Bp^Bv%z+m|toj~k&MhvnU?SNASo z?kaoy=cLy31lFgX)$JyEef4CP@q+*dop0cPyN_vn;D_|%uxw@jy4BrRL#dAJTHn{7 zvWbn21@;3e00(6=s3&6o*pSf+0S?-30uE!p(d~t{uiTIZ2dWv|tI2+<7lg%?tXN0m z;e_&#WzU5G2c7Q#hkw)cgT}{Aj=@3MQ7hMUujr9)7fbrDUbCiWps#+ZSd>P|y{Y4` zCg6bgbSIeC8{nYx9pLaU8V8M!8@LV*z3T>6_O4B^tuIQWRsNDfP)%As~3a07T}=s z9pLaQjf2L=gix-F=P$natqUazOMBOn;oxfI@4rL8cV8}UMfD^}`)H`1)cFo@*r{>Q z_}KB2+rnX8U(b~*d#-Xd>iZWo63B^iOuu*EC(aWNB<;gl`eI*-xP$Vb^9>xz$Etp` zF^!KK(857hk?!>*|9MoeCMhLczfapyQ}lbctB(DX==|6(6tCr({{F!L2dxJj#(t^7 zxpBkq;vl+UGIb?1*YluKu}k9+S00eoG%~9)brKs%5M&7&e+yDpM z82G>s8Ns2ydyVL;PHiDB%BGInh9v3-Itja4DJUEodGAKO2pq~M>E}Y%pP>W@kA;Km zj7u<^+~5V-AC)zb6U%Tyc~E=DIe}uls2`B;0Eagy9Dt7-+{R&j|3L2=>bYN+K4V=n zQ2PQAsHbmWWkWsJ=%1vt`O3pf-9*>%2RP__2RNLfanR+$jbi@%OXkmCa>1O7=Px{O z&iQ0iYI8~$m(A@^=H4mZ|9)*p(VGn6Q2&i4J|4Of;Gpvz;Bbt_LF41bVk6LqAvGR$ z)Yb$$s-gBm=R3gRIE{nG$HgI99{Sh!Ef>24xQa3UMVYkykv#c7s^9(xqAXB(AZZ_t z*S-{S2jxNMJHX+M8V8M!8!(E)mA$LQ7Avk^od1$c+WuI+rg5OFzWSk|_Cn`7z@eyd z(D=A1iQO(;Md{ zI!yb#)LnUQ5(;0{IM4-Od1$1c7V{H;18xd@;D@wvSlU3tIUeoi293jU8V8d0k+q+8 zR0PI640?B~SI-9df9v_wLaIT3`{o(kqSR( z*a*|GP6_UZ_;EiZ6zMScYiuV}`+h_i=3D-=xKTa+kd7>M2Ex3sa&m$G=_BZR-o0i* z;SQX&B=JD=U@`9%^I$8(Y91`+$722~<{@J~Hs-@3O3d3lMKn6JKWvNmojCDx5^LX_ zs>MUU>!STdAS;_{a(+|oMkNt%T1okl^I&y6m~ZBdZ}1~sD&BFJ2U|E@#3kmz1~ORh zBlqtUYwg6o6phb=joV-3#Xb)fyn#oQ1C$fx?-bboWE-v(9Cr-Rs{v1`|^_6kbvY(4bL@e$>G2*b@ zIJdV-dL9>uiWblJPeex2)Vm&t_9_T!dR;@Izo&iC()Fv?WwHX}v)W!bm}+;`JvjN? zh0r9Nsj|m?&lDgN&Q!+f_pDA2=}|d{{|uo-*J&*gg{ThilJ)U1+P~|J^})QwZmV&={Xr6{G;c6CD>1sX7AhUpUFS^gX`pVN+-2TXot`) zVf`N3E39k5`Vy@3z`75*FAkbF{Bq%;c4 zed5|Bic!>+vJ5JBH156e43$f=FTfjkti4AOTXY&WP1 z|HD0!$CJd#Gxdc}cyOmnXVky$@+j=YGYhx0&`$@nL>!N#LieF|%EzOMjlLs5=~Xe; zdmhWj>wY^eMX){cpy%;fkus#$?PrQh^m!M|Iaki^P}82&B9k~}&-sgK6@uq{mQ#Na z{qa-H9XctbQh0U_`8RFcDEGdi@Z=816Ar;XMt~7u1Q-EE zfDvE>7y(9r5nu!u0Y-okU<4QeMt~96cMzanM(!`%clhR^*qeaSaXd`!*&_054D`{Tq@ zX&n({^>($spt{4i?gw{?mzW=ncrZV>c&9JEug+63>GdarQ^WrF+sG^DiFDH;*AYGZ zCJ|PwBZBmK2)lWqOU zZTd#oH}%i4{)C>#lK73=`jZp%`V%c}?Dix#@hI1y=yaxCf8y>pn{@%o9=rZTmtU0U z+GljVr0XZeom@-0)$nNicZ!o=)E9mz$`c)*R-%CNti5qUuBZB7Xk8rDAF2*<1I4v3 z)K;Ut_N}Ksd&Hw}J=mKjn)P7Hy=Svnet6n6?0-PmQyUGt*ZtnaSWvfWT)>mzw*!k## zADI2h_+zx&!XuerT+$?RWl5owTV67d!uKI51&>M zduZLq3J?D1u#a!~{Pu%pAOGCZGCw~*_=nqvPCL76_Q77P__R-!C1?LS;ZX8CV5tm6Dg`QBDRA_CTA|oox=jwnRN1a_LT%-F8 zf;+Udv`jv1N`ZFYHR+isc1NOvzFog*R5_-A=< zUr+zQ2|XJc{zBQ_joOT5-AiX&G2_(ko>NX)He*@GX{XIxI^&cxmM&Y?bHM#iPP@$~aXBIxqFKlztPLb}hQFP-qtw#qbxtCHH}PiExMO zjYtrAV$s64UeZ2)*-HAHpL^|Z-Fm{p(8#ro9waT&qn0>`N}V}{A>MPdVF90 z(`tXiU0V9$qI2|KL2L4nj*cJR9PD33*Ps38d!G2ib>s>k)LyiUQ%DEx4MB0#ey!3Y zoX&Bm^dlVf5N_mGDjecN;Oq7ehl3u%bv&)YAwGmF6n-jO9^4Ol2sfnhLwpE#-TvWl z&_lSk->CZ`K7>1Yzi>LChj2B0Kg4Ikh3^MFgxm0Qbw9*s!l|!@BY)6CxHcUQ@gdxG z`-j6p58*cG{2@Mso7NJ}AM_BeT+`{)_ch_d`GX$9q5L8~gcH3h!jzdH?UHtJ5_$*+ zJ;Vq9v=$SN_I#`8=i;R(pPy9E3G~5-TYd;v3SZOu2w(lUe$I5fCnqz55j*! zr62Jk{fNiCe^u)T;Wz61>vRCWxcpbOKEl^@IK*4jxVJgw7WhLS;j0=q#2ef{COq_m z@ONnbbvjW0xaA-BuWEgSFM@xa4&*y7JoFL1db`F?$BTT&g@=9+Uf&<_0zdaT4ASqE zzp8$o5HIo{8{T>Tin=^hb-bt-;?fU&q`#uuN2CM!M?7x%gFeFJI^sn*U;1fWwy4`* zjLVj9RqZn3LHViaa){@^eV%5DM*2F@S4{m%CyADAl6Y6UV8UyH{T!V5b>a&u2S{HH+VyriWlQ~cZL19 zX^cEy-&Bsv%D6`76dT&^oRhXK< zeQdi4FZ_i$j~IV_*OB@%?JDd!$S&_3RO25lV*g^XpWLg(UQ_goYRC0s5RVs$A3Ya` zdBRa_6T}X%ErlsEcEsFqtm3hJ-7T_zGmt0h@jNY|pH{ZbR6JH+pOVL)H_oFR&(rCQ z8_yg5ukKL)?Sh3DEttRX;`8P&qHo-+?Y?s5if;OBz40_nbf%3Y) z_G3KnMCZEF4*tsWe7zWtGvh!rCQNFfpRhwGJT3RzrFSi%A~w*q%3}=D$l$ALe)nbKCWbWhAPjy-moq7UWc1*_~19?`HoFWww?H0S^tc5C^>w( zu9uEVSDq`cX>GV(lI2;a7v;Hf+^o9wA@LvjT2oJd1$p~($sdbxLn=E*iyK1P_dd|} zB)BO*gah&&;80XJfKN9X;Bck*3RlmDB`f-R*Jt>OSD|o;4A*{c)^K(@mT4R=7bgh^ zlJ;RnF72~^cYuS=cYs5?!U6cWp@BnxrF&h^l2tud_q!VP{fj7E`xdZ`)B^`s+yTi!z3@ z(=m{MgX(d#L&UoS9CW?|9A2$)(D=A90EfPwH4Rw~3mXh)r{l5&9O&I9?GfOh^Bv&u zI*o(I$Bhp-sBf7q>mKNKHR}7%?de_9GthT+`@GCSgNWxP;P8q-GuaW~pz|HzaJ0rj zXO2tk?+bQ-vJJ%DICyl=vxQE#-V}F;}*ulj-v0% zBma;#4vlL<^O7tc}Ng-3>+zC@LcG82RO{s zIB0xoTf;a6-wPI_4viR6<6%e9cjYPnK0Au~H#(D@E2LM4xDi5mFuuj%-2G51gcYuQ)f7+$-DQ^qo zVAl^X)OY3QYaAAc{1F}`aS#r2+zuxaWPpRtH*i3(T^gU_L-9DMz8KX9fpAH3Jlf4k z8VB)tCy9f(=Oi(M-+aT#oR4=A4x{2S#u=vwT*d#wuD?;^jc&*b<}WHQ5#N-*QjK6O zaj$3bV?7^amau7ckw4@I`NMcB@{RbAKQlhncoy@_7t)LTAwS3;t|Q;IOD}yn%|{8I zW5MB??t%W*y#xJ?=8*D7WhIZJ+N#FmDSwN_4KVIKRhLhUf8*ZkS85An$pzg5J$);? zSK~@LIjq%iKg5swAr_>=+)wwkLm{QK??(?D=7IgQ2%iSiEOma$B;~9&S=7%#4LxP# zR#m_3UNfO^hjr)Leuj6NpNIK)n4ed>P0i24ygkgz!#qpOlf^teM2-1mGlkJW-(RLV zBo|D$M`BHQxBl;q2ix)^XWwR${WHCT z52ko*x_L0e2R1$r<~~tiz#Di(y1}pVpD(cg$u?Xo4AMNysoTl_Z{qj7_|aJ6t>Q-q z=2fDf6#kplW#_Nrag%89iAV9RYcW6Xf(aj$KS#BW*M2S@5wW-j#fbWd+&DVEu6Qh0 z^!z+6alKJFc7~pxcS1TItFLaH#|0u|c)ouk5{!J-OS=c6dg?FuwT>@7bSBknkQF^Y zyU^d$zG&(C)$7J-S!BDKEuyB*Og?wv@XSs*&y3pBDFOxD_e=pY;Y?+me(Q94Nbe@g ze}+(^>$Jv$LR5!$$@=&h?ca6A`e5E!%ftzV#S5O3*Om5!!qBU43cg=TvxFCaOx5SO zUcM=;KYHF*g86r(Z?A(T|L6~{lh-Mo)GnbNLc26_gKC%1USYmD=FemPJLaRyZ0JAj zqELNFWvOd%Cpgybp*wfApUf-oc>2|5JJTK%|p4h*XPdenh@dAaV zb_vpLm*{))(^`&@KNZgY8#mvWbm%^D?GnW}p`iBjA~%k)SF8D%!`G;JnUJ{Ns2tPn z(&%yN>a*IBjn`+AN6i~}tbSgX3(c?0$KWr=kH^6a6_1dS`Tx!F7`LC7;!(~22ai;y zi$%@jQq7~5jq-?vibwFP z@YAIAR9UWcT-ajMV^Emq8U!P*X-=)17 z@%XGzMta?TLd4VdZ%absO6OfL=iK=;@qM7TcXj`gtlP2`#$#W$N5psvm7TK%5s*ml zv2di6D9Kd)Pa!X5gaG5d8DZm)Y?*$LN&%5(gFUUB7_@StB@ zc~-TY+Ruw(r?O1Hwj=!Y(ylk^@~ov$-6M~nJnMAEm1j5cv?^)N#TPB4BHh=stk=Ds zQVrkJ4AKr3z>wBnfO+2RQdV7j^4{P>FvU{mK``+WHwM>!k6m)-b zBOSxj{N)+f8AL7y(9r z5nu!u0Y-okU<4QeMt~7u1Q-EEfDvE>sLzr63%MLH0*nA7zz8q`i~u9R2rvSS03*N% zFanGKBftnS0*pXf1k&^;PJPEM+dgy3Yq$URiI2&-ixhW@oB^q4QBLi&Zl}KermtA% z)jBd-7l(ClSQm%yn_;~izUPAVa9FpE@2nuw*NM5FCy7a#w6`j)i=*#mPHA~e&H$xV z#z)RY}APSw2>+hwJFtCD##FcKFxDAs);Ru6*4S-{6FK zDqg)Vt}xH>;t?{!Gf3e z(>;%Ehd0inTu-Ib8Mppq!~g|Z~mn-=QX~dYCP6ceOs@mI$01wYlleUXmmXl z$}h@u^h%B zN$gdoVx_<0@aP*8A61-`&uI{LXxH(&UeYoxuF$KN*UEh)YV(xD`8ZkZ`}@#$_KMTr9_$kl z7lzIgkFs9U>5QwFDsT9!Q2foVi(A;!zw(-%f>{?=FOf0V>aB}wv|d8_MR~@pQO@Dt zQ)H6eOXbLhT~i zDtLde?GGx?RgoL$KPmL6zCHT9f24XMbR7BU{gHFk0_`K9_7WiFD|g)aHInZ>`W;&z zo%ht1M_>1D`M&s}tDc|z_V3Q#I^i#WA^it^=M@j#`mKqj$%kAffMxvEq4~)TH0{^d$&%1*Dtn+G;H~Y$F6zkQ-61A z>6odPZ545Bz4^G;mtMBcl-PLO4AN~*_MC&{l_F8PyW{x5B=fUp35$&(8Cnh+fRPU)+gTi@~xjAdD~VI$JYOx@L1{T-*#;o{=>&8jxFzg z?&}Zr-FtiKk%NA=MZ~d1Y;02c&`q04e|&Otr--9drDEUt``$0#D{;1Soc5gJ&JLN? zJy?4Dw0CWJ<0T)M^>D{~X1{T0ZE5AN&*(%fAKv`vnSXcoXSQ7N{>x|o-`W31rjz?5w8vUSK!&+pDjV*do)ukj;s&WXwmBK<~(%Bg*{&w1kU^Jh;CYB*)@+4~$BZG?q1 zSDJB|v{5V*3X=-0ty5%#>bW{#$5Ce&3fJg&@Ze4@EiID|n^K@%(M@_L>RpgUo@Q;@ zc=+r|B43A`B&-wPa@`=ReZ#T5x38yv;DnwHslFKc;=^RdvhJlbu9$IZch4!OESs^c zp5e_6(=w4S$2BQ@>5SeW64QNPMtAhgZQ2B&UGtZR5+Bxa}oSZ z&gAps)C&der)z^0W)^;v>3zdh~7H}p%jzpQ&c z$xr2y_T>U^;BoA3#UuDt@mwZ&{NgsmIjL}2S4(00cKDOzQ(EB$55D3OJwKh{{cnC; zc;5v2d14l2+;_|u?IfOyjh=868@15F1S!}tw;iW=>^N8P2w6VySMs@m^xd=Gxm_3! z__*S6=(M@=y$8|_+xm3lJkonU(i!)jKX%p?q4%r{FPbN}b5a{Q$z7e?B-QoLSvs)t z%AR)WhODbs@8VrzQ<5JG1@RIhI8hS%jlSoj{08M&*K;W6h<{I!N%k|<^S<(|`mJbx zGF8~=Fa0*W+~04tr{p&&9jKSkK7mJs1HYm@7WGf3u&tHc-212P$LwG0I(*ar+5Wqm z$GXlI^#RohwC5`7oq57f2c4q>es!JNZ~Fc59Qr-;mXTQp>^QVjeY>cI)J4@Xf8zTl z(2u<754ukrj}#lCvtuqEo)3@1dR%1mE`R&dIut%Xc3`@GN*4{{@g|Wm*dNab1(|%qzf|u}Zftvx-~a9P!P4db^}xKvZ~H`Io2hr-zp!^%&&7Q`Jq7Wf%O-t0<$L-Vm(fuV4b@Y8{| z27dLt4vH&-g`K;vJ8$>y>#id`I^L-S{S|i1f{DIokuJvZNOeLz9_<)yH^sR(AH-v; zsDEI$>=c=y>InTQuy0Vmf^SXHUX%5aC%z`Xt02F|7woKQk{_2J!e^aOL-;ofa0nlJ z|49?e__^pF_JQYZ@mSc78T)IG9kUnh`(NLViSGMvW3o58!6SG>y*c*Z+K$ou%DfGZ ziF%Tbaj-|R-#?^$7bIIo*)gKhZ0h?Bhl&F0YyW)qs9Uxv4SU-W@ThqUc)VZn2!2(* zq|Lb17y(9r5nu!u z0Y-okU<4QeMt~7u1Q-EEKq8Q)KXLG@k8JzH>mJ;G`21-!FI*mt?DKx| z>s*2m-#bNuk*@*GH}Z#@ww61;bm?{QiIrNLzxj`U5PpO6Me7IFtsltxG)et-71qR_ z-qj`0{!6L;{J{wIi@$wU3BScX70J)orAk7larp_crhRH5t`nUB>PCdKYt!L+UFI}~wuXp|0Oh!v%p^&;l;ZVWa_0qfBThF$wR`u(KUL~vV z3QH4HS{Kmj2W~dzoA2Bt;G|x)pydP z=bV!LH>0PieTuVS;KWncJHg&4KG2l=Oo;od=k}?CzuAdPDl7VV4)y|x`o-STdM&jb zSF>(Pg?lfYL)=Iy{7UADU$orX_bwFn9Q=?j7c-oP^j!z8EExetfDx#V0DWUr9Hpbg zpGmqWI$BQ_Q{EG{(aqOB6T*S8vExzx!7hPSou3LpcGi$cDC~%@3%B?m zq#gHE+JreBQK=}T`>E>(?ReML)4slK7ReKYEPhmd?@C?Y*Z-pIx-yCj@iRl527V6- za`fXO&IUZpe(epbG&h~419sdg$_E{|F7}Amc5mgd%y#d}zAO6H_c#3JEVi>12bC%J zcu9+UCY4|2v-m1y_fGM~oGPBWN@Vv&(`@s#C)#ax`qH@>zjQdMXUV5qw;1t7Mt~7u z1Z)IEvoctsJxwQR!#CQ_D7&{PLc#8R>bd8I4LDeWv?EM*`|Vx|=exI#kJ?%LCr^{U z{??Z_tl#b(6gCNc)33c#Y(=T<6d7IQ&oprcKU{Khy3>OQsGhGw=rjD z&U`S4Xa9Ef+?srn-e3vkn0#*h<)f56Tb`xAJ9ns(qem)Pd5w~_*-93R`urR9`J>w&&9uFKEaWxkJIxB{L=D?`Z_N@ zhnP=8XT**Gua=5-;`s!AY57FEn-`yzf92=Xum%2HX*A#hpTI9IpRk|u;&X(bPf#SJ z%Om`jigtoe;Fp$9*ui=6+4e8|d>XdEpDT?9T;LPnJbtJ!18%g0{cv-N(M>pEpPAMf~$oD`?U`P1uUSpn6oli$pCfU7}jcoTS?0_F(=>CibT(EnAU$b`a z&~aJ&d*`lR-&YXpq)$PTvPx<4nlfa9ALu)2F2}iK85~-w?A|=r`9>39^R*|f7on8e z&!p>yA9^MqdE#f@mw}|YFP-6a(!hl!Bftpk8wl)a>!c?{t7%1qw)Lck)@ldy;lYzH zV4ikw9_yrGNBHbsz-=_(g53-J;_TkE>!e5K zWwm>|R(D^WPk-;rnz4J&9O+TjVF~QBftnS0!av%{@w%Ytdpju zF@ByyL97Wr#|Ws4tliuCvxe;6i!1BbT!A!Y zl(N|Rp6!F1uzQPdX1lk(J?1N4(Q|C~Mls2TYsRO6)foXsU>`=nvU{~*V7h*Hes7Spkb~?h zTGs|U!e{rw-fqV3t=z$OuK_-;tu-2O!R`fq&Dy=SZ)dlAd)M|fGtog7A5(^qvqE7? z6L#;=XY!xl>wA8UO|&P?PbExc9i^q~h97#S{PFx=g9V{u__fc&?Yk}m@gGKj5nu#T zAV6O|-Lt-f6w?fo&5Ps3JHJ=k5k9*YnGd(Ebe7r!CEfmBcYbe??Op|y#>?NnS}NKJ zyBGMy*}ZA!_l{kXeSWX7dugIW@2bW&Gm|E7)P^h+4vBf-q9}yU$TC-{aDT7A48cZA zC%L~j9ZvCBhsq{<7y(9r5vYfNXb%TV)X$plcaXyMn(zCclt{G8(RscFYG>^qsY`v& zJO_D={^Z}^EBdaR_zu$Whr-`Mf*s+rdx4Fr`zd#XX;`{;Z)AS&P2AtBFavJka%nI% zTI7P=ThsW(*}X~gdnulsB0li$eg`S;{)T%>P55|K*c+hLQaHQ&bmrL?T5AX^6((;M=IxjxQMww5;mXFK&d;-6;e4^dWi_f7)n9pYT1b%7x zENc5HFFuDKXFi+Z6Zoa&6LxT3d@lYL^Vtlaz%MPIc%R9O&t3n(d^W=;@Jq{QQNNew z#b*ceY3P*wQ$Cx>QqfM>x4_+j-H z9zQe;5PrU&(SVEiq3<98KeBHX)}#^ekor4FwI!MD-oBph{$>`8$l_zl5OP*19NL84 zTYf*=z5X)fD_8O7*zS$TCLO+}JhO`tU<4R}`Up@U!!(!uyWA^g@o1-7D-&x$jVn-5c1&lq1-Vq1aM-rU^a#gj3!VwnHBK1Hq2)*}b$!lR5%B zOXt)0lkDCK?+*kJg^X)!EfwvA-3$DhwR?9}vf91#y8Bl3tS!tqEtNaO=_tv9|?cRFm z@HIw&5!g2oFm`WYQb8_Hjlcf#(29oZof=@54sP2@@BN>-wSK^%4A5}X*|Az1Un)(yLS`Y zy^=BcC$6nE8gK=6ug0%gySMGyhV0%;dseQf3?Nb2q_lf|CT^SWWOCf{nXlf!c5i)q zEUt`&&$Hbd#v?nX$pw}*7y(9r5zq*TF2X%;KX?y2uy-M)$_wA$D{S~C_JiN`zVLqV zup@kSujz-UHiC|*OzQ8g-p6*Y!VdWP+FPRm7wlf(*Qnh~@$3|lf_Ha6c(GPebBjAG zX}AxcC*P6LQ=v2ahkWpuz11o1>CO!*H!6F!^=2hU-=^hqB`a^&{=ZYQ{3#`iAJTH8 zlDHe?Tkcn)<3;%%@BQE_ydNJR7t&X@QD<0c!b$wle(=DL%C{L`f-d4S`@y4pT3%u!n$OT0ZeUlNX;ukMi?r2u1zsN}~Z+P~U3&QuC?bOY`Eh?c2;JIBKN6 z1%63Bs7Ygm2YOM!p`j2ViG=9*K288gaeK7}1GiUaT`0hLl`@uW@E>TBYKg1H2 zWDnE$3hW5jw@5qP6ZchhK82^YA}o`}4=Z=`_@TlKxcS;!qX8H3L;Jx4KeBHX)`&;S z)ce5?Z_jM^_KEG_``XLhean!jY*H2tDZw&IZA(y?cVfQ`SG?( zG`krAMt~8hi-2ef2TQLJDw7hvgH#kcWZRLQ`P6gIi@nhYOOSQ%ATNgNwYYU5s$Dh~ zo)xb>pD1wK?YQkmIKSPCtI2YjP{9w{NFD6nX6DV6Z+7O*X*mUKjAqTTxi zwtE$Jz%N`b4W>qmT!G!I@oUuXrFeFV_`th6Z!YfshI>j)_;^X!Yxzd!iaX71mxaR4 zC#jfubL4v|{jrYf?aH2Q?b7o9Dp_5nWaUDAet|y!4lU;?Sze2t8n*zSC?9$8Im+{_K#`E(&y|*nc7jjfmzq!g zoae=7na33^vRoeFw^STHfnQoaQC~OCXEZJLnbz-ceQWRlf37qdaN+p`erfqcyPFrE zwMUpwaMVbB3;fdZ*{bcQy!b5gyc|Pk1MMg9OUq|f+rhc<$@7$(<5T08nos>clNX<5 zeqU*dPvDo9PrR4r#b?Jix&1VRx^@u!MguO`L%=VIPt2REJ=@^;;ey_kYa82mLw5h6 z4-n}m`Kl(y4{PVD{t_PlLK$gHGJcKWW^7%%M6;U_U<4R}x(J94`8{s@aN@*h109SR zirfTldo;mzBgcFC_~Fop!{djrBVgYmPXq_ts;;LTQd<$0N#lpr&+_=8!VI|i+FPRm z7umNoZw~m8eXFoWJW?jko1=Jk3RUnv-s6Yiazf*W?Q>pFNelIzD8K!P$*&AaJ@u!y zR*wT-u4Le2tS_|SvH5Z+fs4(1b%7xY}IyfUVL`&K4cbIHix#`QgQeMerfqE>i3zv z_#EMVjx4fl4sExk;_wOl((;M-(!BT_7Z;~hn_Bps);SdsKQ=L-dhsVl<+WDlb;q`~Kua13`uhHXx z*D5*mmr9NfDp|Q+pZ}mf|6wJ|A6K&W*GeMJV7y7ki}F40HQ6S)^z#Ei_Z$r=e5YPIkerDio+-HOUoyo^St=n!2K&0SvH5Z+fs4(1b%7x zM19>jpV73~XLj-Uz6FQPq3yO*v=j9$@Jq`l+TGmvIim{c0sE*DBfi zmr7ROr6i)ocoX79`5yQ2LtZ}t$c41awC%Q3v=jZ=Z5qF%_c!o~@{t#xi@ATrBFpB` zc3UbApTI9IpLovm;KyH`vfiwXIfCdLoTgQ~xT$G_ZiV*6b; zVIMxn_}O?w@d@MQyH4l$U<4QeMj#CWQ-soB=_v6x>HCLo7CQL;VYnWmIxEXDSn_@U zaNEcOB^oC&<1(Q*?R(hnK*=}8LUH-d2Z0hC)5LZBpbFdJ=4+psML0C`{X@iw{&?6C zuy2uex+mNUdkP8Mja1mtcgEHAox88wI(^CR%_I-&-o3ea7mpt*Y!p5UL%YodmPU(Q z#E)EmsPQBF)|69(8BE;26n1ZG%iHGB_}n){JcifsJ#F9Ig=F`(&*|&wwohkq%VLYN zYX^L76LxRy-E8;z%aB{9>igO5t&dMK#&(HjHzU9ZFamWE5Y4W#LzC>@=Dz!Fr@?Rc zl7_MYCWyn zU!!&}#j{hy3EnYp?uo}A7w=GXP@1C01pQ=?UJITQt+v0V?t2E}_U*TI-EW6iFIDzz z@dhPFw_hsf(G`EJ)FmB$9^rI>d|eJ>K)?hIn6aKrUpq@=f3U z27XE77T^=*BQHKjdEbqu_ym4w`NVUc7oTPRu0~UQ0>89;qP}jNPb;||=P*B?7Ao26 zTi}F8QhE8{$@k@tOmcF5s&jqV70*t^uhX6H)YTn#_N2{4Y_P7Gz zpfQR+$Gkar90T_klEzhnpBP7(P1h)`7<;kO9gM+@^Z22>C*~f}_~F#|Twdz095VZX zTYo!?<`lYqfvuRsR_{l-Q1i0ryU4I3VBaE7bWdZRP#ZxCibTo^wDeq`S&tPzitsprj&{VKEFySjT|pl9ugUA=1u`nvlEG8@0KcJDM(u#nv} zQkKE$$Jy?UmLIn~CHvX#O~$A`&S{D)>o5Y003$#M7`r!V-dw!hTL|pTbeQ_*&Cz-h zdk&Bj7u_THy=d)TZAav0_ukERuPIk?ZLQIOE3kVte$Cpw9UsnW_nzC=eMM$l7s)3X zYxlmc3A=anMz(wF+hcKMEPS5r-Y_27F|~_2yBPsSfDx#N05y7pC9-L8ppOxLlC+m= zoZSl>)Yh->j<3|(~o<;q=9)FiOSLdfPjQQ8F zBXYBQ?_s;w6tTFr)@Z;L*u5IRX6@cewGq3weNn?-7twaF@7X@83A?xWH*ELPGvDlw z?cQcF#FNUB5nu!ufkXsEKhR+5aG{pe-`m_e>2ST~+aHKhigwx46o>3ybq$2#e;q3}9s*bzRv7ucvamQq8QhGo(` zhuYt=-K#JIZsBriFg04_g53-J8nt^Vo}D5-@Q!uTbPqZ;+hm!Gb}aXBz|a}H1MPHjq+hM5ucfth4PUXpJTi($iN@_er2g> zC-?+@Y5Bx+o)@33ye`Nh3(u1)Eft4P;Fp$9)Yp0OIm+Lou*h>;Wrv^1$=7!(((yAI4?ds ze#m@+qeh-j;Fp$9ywBvt=LW8C4V?|tx4&Ry!9qs9~ME>eX*@rj!UDaR0<6mxB$>wML zvf&kNL+g}OzQhPH0*pWi0cr`G{k}+{?igI?cG43+Z_cbejfA3m1iw9J-keOQNY`LV z&6{)m_2$fBJ+svxuk8rfw-`4fmW+8qZ3G=rnKXV_t@8Mx!VdTmhVIX3z(w{geP0Cl zk$r2*YQRJ4b<#tdv)jF^+82nuff_!f$&2!2$MSkpu0lKpJ= zCSz0|=cMAw*BJpufDs4~5KZA=NlYTkdEQ)bKjHA(y`q%eWw)Jhd4pSi8 z#CIOoljJm^fFE?xXEq-5=0-mdo;L?O!e{rId<1ru#=-a#?cUF`-3uP$+fkzdS77&Q z{2H};DW07oQt*y>b6E4F(uBJjX}CA%;3Bh?)^pj%%$W}c^Y32YN>_|s(L1%}Eb^lq z(^cC|{-Fo;{I^diS^QTeTc1>N^ppC0Rmq`$(&ztK$;#)Hq`2syeAE6{h!^EM>%2Mj zZ56yP4wmlxm)@7wpZYL(x)K#7X0J?+({;srCw3E1{Ig!9GX-o>wDxUeg_#FK{ zk1-myTpr;!8gPM6;Fp$9)ZLBqi4^$d;vX=d1{v_@N}~Z6_ym4w`9vF>7oWpCM+X!M z>GBA_rJ|kS6Zoa&v#4#Uy!agB_R}H@{JGLnargv&Y59aroEM+P?{a->*m8M<-)O*v z=M(s)<#SZO+vLS(jrjycLV`b6S}NKJK7n6aKJkv47oTmP;^)(_(SQql0>30a zF^6vP?G274wlC~mzoLTMXOXdEiO0Av&*@^7{du(ys=gB*3qu)cOfr6r;b!XIbcL3+ z7y(9r5fBK7USl3hj4KJ##0C7IgK?Mf7)u=apfi@J?FiVnf*g6!J>gb$J)NeuA}o`} z5-U81PC*vn=4)>)740PZmgdj_KeBHX)}#>dkT{2q;@K%efOm`~QY`8~T*|j;ZMV^Y3w#2(}1EfwtqpTI9QpV}tQi_cy6 z^7CofvN^QfMguPJ3H;LXiFcd4_}p+G^9ha`c|L((YCiQlYF>Qq;`-Lm*+6{@{F3;@ zSYq3OZ<|N^hkZl5yNdsb$J~YIcVFGpmwguw6SM3>vHMYQ=~(yW85inH+1FEjzv?^T zu`s(H&+caYvSSvmck35czRCzN0*rt`fLcQA$Dz*p+TnWNv7+$yIw%u&oXfv1k-p#R z-+NrfL+xzv6XSTZ=q#lbYr3p-%Ql&=(>RNDo=#;trU`BQgj4pT!*)<(i84BIzwz0R z19k-LTcn-tY0ML9Bj|`qHNIumZSCBB-PY+#c5fzmSoiMDwNLT7ErlKM^R>4|11@_1 zq_ITcNA|748u3V(IF<;zcffG%mkJt)3|cfPZ}&Rnzgvbk{&$hdUa z*VTRV#4pOZo!31HKcp*)PnZYabvnlfBftnS0?7zWDjY~krK7~3NxC7A)|2(W->T}Q zh z2zG?e?lpO(d(sh=uHAdkj(2T6?d#iSkvu`j>KEAVRoDSP!=K^OXut)#7x=~5y|2At zmFA|CzUeF9%?wY40_@)6E3)?YUeMjQs;94gZtv=4NK`f%Yxf?fjKyrRsdvyqwh1ZV2j_}#NCV$jM&=Hlc-5crey_@Y` zg&pwowYNqCF4(;_jbEJIyW`Gvf!%xKw)GLam*UweA_ebQJAyHbM!w%lV&EuW~z8|M=#@XHF%o3wy&d4%6m(N6FQ{L=D?_Bby-$9P?kMHcvTrKRHV3H;LX z3A-vUK8N}Fw8(OKgx^we_ym4w`GkF(7oQvW`LxIaf3CDt96o_xT0U#~Jtr?d%b#a^ z$gt(|2*1&Q3+*THOUozTSM%a?=nKpzILi87D(zd1UlN}fSFApsbv~UQSL~{+?C)7^ zlA7KXJFfVKX2un7R{bbEE{12mG0FHfhMRd-(?1BT$p|n4`#b`oXOYJh<4VCaaREQ* zpdWTT_N1%+l{2oW?FiVnf*g6!J>gb$J)NeuA}o`}6{|e%q96-!^R>5@igwcbiu|st zcibi5A#oiE#j{hy3EnZTXzr-uy1V;G;#Tu(b8j@^q8YL7xS~Bid2EVt#mR_F%gQs# zo*n(Ql0&~zvh`zH-l1gqP9pQgBri2J{a(cI=yi|t>k)~ zi+Rl0LM7XCOMC*q)O_l;IWIno+(+6JpTI9IpRlp=;zqEY9R?dsh z#r%94Iy2h9vc63@hJp4I?>u?&Im~nDn&K1qrG7s3yK7#24&B4`tsyjfeGB}O_{11v z$7`~$UF=_FQrLh?b`eJ3p9_UI`c5X_K)#DrzOVXJc#JHr%%nTd_@%?i^zpd*$pw}* z7y(9r5l{$B6#{$Jsh&qOmSr%izgJx$7z;5W>bd-D7iq7$Lq#xmyhF!C_ppERG^G{m zzN~Zy>7g81=Vh2If2Ij#{17fY#@H$DrG9FyqU*1>UkBD;nSOfM5wLHOcDg6-tLlDA z&7jVwk%~dYJ6MXWUF7cqfkurVVdwrV744+=N!d@Y@gw`z^wS6UCyp_~?j8HYii~?S zU$AmRp`q`*A~Ul1pgiFu$>~kly{*50ZaVEXo#$R_c3PF&=4(&dYmHJDlm%U`a1Lo! zIdIEdp7=#MM_N=`_nf`{kS-T9oQL#X2d*p`0Y-okNJ4=3s;h_4G;t9>;SBB3oX1{u zup@kSuSutBuflCCT^%gBc5h^_y3g>Q24Ni0mfF&2zy-Uvs_~1nd(-Y!SG_i~-MfDE zz{=y-t?pji)4phFU-!Bmq%Eb4wR?|m!tSjc`$uW_a(|^=ezLn6zwDTW-yKpu1+2yh zFanH#>_s&Fz0?Fo`v+7X?3=|k>eE#HtEQfsIdi7&cT5YXzrUA49~K{l`2LB!58W%c zAEnjP-y6i@@9!NH`{y2YcA?PTsrqUIb?sO;7iVDelEfhm2;reMB~#yXd8xm0$m|Dh z{p~Em#`TN3xhwobEMbZHDX=4ab}#O$>U#=L9E7E7_qzSP6}Ed7WC3ob94kD5sih{I zuzP`DoZXwWR~`C$+a7Aj?p?R~>TtR;_+;_%J=-TVVfU7&D!Vt&{>o?`ZO*vAH;Rur zL*I6Za=xeHhjdZ;;r2=2b(3dyF#?PLBTx^47XCI#J$Qn?UTyd0-roy5!e{rIgi>2T zM^w6YZ=}EXUheNz*a5$|cGYN+3wCc+;}>W5rtR;o-JaF%y>R`q6+O9pi~7VS?B3BG zYMul4SNh6P`g4q5daV35ark*Ds++e{YTLUIkr%A7SYJEEVm9-3$EU?B2Bfy_HL| z+Pw?9SFRn1CM^A#*#6!breLLyO^>;ZzMkhfM9Ys`o|64+_a6WkN=>!?Vr?&v3r9U{C02BJcl57 zVDpmgi$fX^!lUfoPLU?{OSi5Kv4mw{_i8)BXZPa1s{W_&gl$+R*}cWjaeuGE47d@7 z?$2nz1-lpcHEZ|os%Ex(d)5}(7l=QN9J?W zvEXow03)yuA|Oo1!P4O(0;A*}Z}&eNY=gM^q--z4x)*tFQxpzV_B=z!liN8ox&EUW#X@h!niX?HP~zLe`r< zOXbnsGk)gG2j$oVg-`P>YWkkFeUyKq?Ag}iRDbU1$x2p^P_p$%C2K!bdZYiL3F$;zjw+x@UaSe$yNH8*YGHNMG4Tonfg7C-Fo3Wdc7c->Bz|CgL;u&!Bwd z#b*caXKUbZfKT9;mQOtAdGR^I``I?dC-6(lC+h3Q`LvSjaaQi-{Z9=ns2^QvG~hyg z3;fdZiFP+HK8Lx!1w}%-Ji>3OXeamterfrH{gfA<9sGP+WPv|dS}G2oz%MPIu!HmB zbL0W8Zw*^6kMJ7}xbS=ezqEYfeI_qHN4dTQMM8o7G%LK*_N#a1i`gn{V7T+5lKZG3t`&N)6 z54tDZs;;Ng)K-LL()eNJ9v(kbm;pCmduue{qW2Zr4<7iDeXFoWJW?j^2T$?r6sq9e z9Y3Tws1%cX81CIGs$A3?KTPw@Y57@dE9&CWdYtgvY8?@Se3tq9 z!xmB5`2>Dx`NVUc7oRom|7?m+;Fp$9)YpykX(iX=9O3%bLM8k23H;LXiFP+HK5NWp zQ+xuyw0y#T%8Sn`&!=jNPvDo9&!V=2^Wt-qzdzg*pTI9IpLn0ii_cxmXH$FvzqEYf zy)-XA$GE<2icjE|#3#lNH(cJ>_+k5^-sKJMz9GB+eEl&qn;1VV{-f$Y;qk9H8#>*2 z#xEUCS^9>o2b!IX03*N%*a(QGaImyMoY@P;4{2-#KbZ$=$36Sa$!qk7#(1J_{dn%X zA;w{mdit>3h8BkB1!r`xa>*ukpj`ojiUR6poDJD>Qxx{K&p-X8aJm zyW@x0N71BFxlj(=^W>*%^~MkPFUmb)#B&4Nf`}3|lUb@EZ-dP~QT-)O_l8H!nV0zs`JuBV#XtM@XXq7x)Bzsrl6QQ(k-y zJ;Z#1qel1yerfrvYCAYDKF78)pUvMD>DL&z`l)uXb%TVCkqVn9X|}$YcG$%9OESJ zeu_dJ{}W?1b$@S zHZy(*-rey-aSJNnkptx*azUIp!gta-=Z+1kOJ@9#;{LX!PtNKTWzUvhtK`s=YCN#= zw34kgC5Qf9$=Y-J`j7PWr<6prgdeRxM7${9<2`=3f%{hgxsch)x7@!}g&AtY}>}qry(@^^9lUY@`-jg zFFr@O|I^Uf!1D?G(((!WDK9>&U*+f15Ssn@1b%7xgdLn0pXIMHpUvP z@j1fd`-aX&>RXLpT0UF#dud*Lj&Xh46raE^iBF6lmjAJ#@xv1@=w7jQ*A#w~ahds?!8x+)zra)1t8t&-h`G9{>77Pm*Fz zO%vzw6HfU}IoJ-^zjWrz{?Y+E?mSC>@37?fy9B;5u=A_O7@DDYYoA9=kV)!Eg7D@4g$3ott3y21yG! zVE4j~@Y%hvw^jX5!KtkX%S5~Pb8Po2%z&G(y)_ze1$M8-uUWfy@lP|`z3cm%S}vkK zc@2zi-`N~)H9NWE7OtRsMCzT~5zz8q`i3kXDYOr*;P)q9X728$? z{k=~;_q^!)94tX5-bLDIrfy4GFJk)Af|z0NLdpw!g5BH9eskr!o%JHxj_}#N#%3WL z>4?fCySMUrwtE$Jz|WLP)6NqvTMl>esD3qx{uBC^`C4y`JP1N*4d5&p)puqQ!e1;zju$ z@AV=@p6?3Ch4hte)ESnVa1uXMj(}g%d>!zK@{t#xt($p%q+u#MpTI9IpLovm;7oRn@Z=2#1_@(6&?=yMvS>*L1P4Nl*((*Z~-%Io2a~H3NZi-Lfm&7OL&5gV_ z>-gcq?zPK$*Q~szr_nvF_Ef z{u=Ia#>hHzO{J3OSrX^N`^|mFL?>Ofc4g02Ta>Krr)1@2N)``Oa_Dtho~N&$qGao7 zN+Mc}Hz8h>@9`c#9OC{JKrW=OY@4!ZDF)+*z%S|j4Sb?}TM@@Jq`l+TFbPY~%f`n&K1qrR5X$Q(k-)|DNaH z7(%nRpTI9QpV|)2i_Z=Gd>T3%uy281T0SfKeI_qH$C%Hi_ym4w`NVr^UVJX*`nD-P zfnO4z7(X0ZnR)!Mcc6Qqr;vT0Ipj-@AId*CqvaV*j33s{RQ)A9{uS3or#sL1rNb#p z-;h(x*~IoJ`fZ!vB}EE)3zct>T@ z_+j-f9zQfijPUdQj0Rj7KLmbc-!?LS2)lRe*vh=`2vWZx;sM9Fmru@JxM*o#_qv`F z7xZ+m>ThJ5Wwq~y&+a|b6fEDZ-B0 zYilhP?S$P6{F=3UJKmAq?p?on-N3xQ?yI7yOLaz?ygn26EZ@oGDCIL&K7;Mvbaq)> zSySiP?yZkcGRDaTmNggwMt~7e2pGFJX}`I6ySEV7ndwlCw|nc@s4uwPd&gB5%6y{F zOnqNO=2)B`EUE8{xc+Q*FYE}P-8(q|m)ZzAqB5z!x5(cYQP2hW`Py4cMLS{l0>5VM z-d$&8wtH8uS+|-#sn_Tsi>>eZI=czGw|2+L$56jD+ikvbl>Qv!mmVv>4czEs!QmJI zMquAVV9&983HyWN2?*J}P@{I-)8C8B1%H307%l-=w4UAs3(TF8O^Uf2;n zyBGGh&)!v$4VIGZ-pb$dJO=}OTw7~2;DX%?{F=3U+s@By_pV;Ktfzfp&+6_CNK`f% zYxmA-!tNdVG~2y?J1nkj`OmZ6>&GQMw%HyA)@B44fqfZ)@vwWT&dPH5`+F&dI^Rmz zL+#!{_d9y7zf08J*3XX<>|WRrx!Jwk-)j*N*VbAp+8Nlr8oy@k-jP>iwtLs~boVth zu~%n7+P&u8$>ec%6LxR)Ze{mQXlgc*NsH^6FtNoGv&~zf@YKQI>_j+~71T#zJ==yd zV>Px;vu;X-dvBaW+(;?>N-};n9xi6~HFEo|tF!!<5nu!ufn)@xkV@$&@n@3iEcCQ9 zYE4!AJO|W8$#+v4e!F+u$O9$nzxB1v;^2eGg5YY|V3!kt)A!^ZMNC{;+#tNBHbsrAdE*cT~Fly$9`h*Vfa%zHJuC6NIdN zmiv3dI2!&8mqr6F*uB6n&hCBf4XboH?JOOzO@~uF)_77`G6IYMBanmuHHX;GLFxMJN19t2XZOyWIn%aD zlWr*Q=lh;C*}X9~FU3js2!8ImHpjjV(&L<`c;XHjx3U|J3T$4I;t1Kj)MwrHy1z6cCW$?_z{Ng&uG8} zyBGMy*}X~o!Ncw?zO^yCx6zLviG0XM%akGHOw7{poivx@T(S&SFJrqmT7KN}lt%TulrmS4t13s zf4%P@;k|Iw3DbI^vS)|7m8{NHvUQG<<+o^gx|Z)yvU-z}#dS&|TD;dGUX<_g{ti-k z8}IuM%vD)VU%qLM8Sta>9qofaTz+if)90-wMy zHJ{pk%8Sn-<`WbNX>(}1EfwtqpTI9QpV|)2i_a0}(;~~}&~{rY4xhj;EuVOw$&1eo z{Jvt5Wpik|Eft4P;Fp$9yqD(1=MaAf$s)_<&~{rY4xhj;iBF6lj=m=I_~F{_RXy$H z-riLW&YhF5#nE@;LSar5WLNxpk(b2>#<-!B?z}k)W~Ez?uc>d@mW+8qywMSrN#ln_-XBOo z7vSe>Z!Hz=Bz|THH}E6-R$)yF0S~j&&YP>$vVQ+_QSb7Bp0#;=|8uS>SUR_wJSUU_G1mIg~SC3%`<#pN$7$WcyvW?>ca0$p|n4j6f0s>DEdAx$IuD^I+>a zDGzK}asEZSP8xQE&+avNP&+_JRJwMryH2`zH?J2_*a1JcO$DY#i(G--tMQAod(*Cy zuFc5Y-#gIPvv$QmrQsDLva8qkY;`qZ_f{|B{@(gFny-9C&vAcm6q9VYhM!mVF#?PL zBTxqc(H`!3>qTTE9ZodadiGCVrFML8UN2IqI_pKW9pSTkjm<)B1RYW7+P#r=(s#1m ztFQxpzV_B=z!liN8oxNZH>tmu;@K%81@GgrUgQ->WQWb1k* zhptt!_?PkAMs%J+D$7pd`lIzTR@uWX~vu+)T;_@VjB zz%OaO4){d*$cxVro_}Q#m7P!EmzGaF=Xvp2V?LYW6Zoa&6ZLgoe2(#a*QWRcerfqc zyPFrEZCiQ0h#@q4eGB~3@>$XLQ(k;_@On!_X9M;S@Jq{QQQN_J@mXO$o8lArrR5Xv zGkNhj%zQS*C-6(lC*Di*;&YVwY>H3dm&7O5iMzN2-d8l6wtd6j7m4Cy&g@;^X92I2ez<+ocirTfU5o%DzzEbsU}E7wx}5lZ zkw53WxtR3oF*AAfMLTZ}b_DEOj2VWiVWBP!kTLwDX>g~tySbOC;G?W(0FoHSlS z>qUSc*|)y+B5CK%ZTOF@>qRc^*)XrK`>JrVviM{X@|n2veJ7J+mSwO~^4qIYy7h-etE@2JC0jb;A!mQ}*(FZ$KSl;5GN9b9>Hr36ZWSK4Cl9cb(2fkD)8x zKW{wBVKinw!w4_}dn*Ey3!(KQt(1>wJy|HYcJI4qzVB?(eWdyZx!*Fm(;xBcq<#0+ z@$MCNZ}L9N?wVxQwj+FYuQ5;1enzEh_qy}uYHasf#T4zVD=ii6gxw4L;_Tiu z^X6Iwk!X+KAmXPo?>7;_FD1fFV{nb03;mPl@SN~@f-S&?Fk*ZZ9(yhh7!O&zF6(&6 z#g&yySFP>o?{9QLm3#z!?aw);;*|v|VJHq!~XfUBRf{v(6dM_+~hSyUm z?0}!Iy)_ze;k^*}HS=D$Q$z~h-St%BQc$*WZ<2<4`>b-ueai}(_10674#oW~C~G-1 zr0m(DGnK5~s$`{K$y$e!qi@pJuhiEEl`P((B%(#X2jWHf9`E&3yLdhuAQ#eCwozwT zYQjnU$nQaD{F3Ig1$^rAkr$sE&OClTk7t0Z?0f>hw0z<@&x_CDvzSk?*~s$={L=D? z`Z_N@$N2d)bT&}m0>89;qTS7l&)V7id>TTt*SEkgEuXNT^5S#XZ055WK7n6aKC9Xe z&Wq2=9OknbK7n6aJ}dftCNDm#UCd`Qd;-6;eB!+{FFrfwF`v!w3H*}y#Q5RRA2ZJ@ zt*l>jMT4K-kvWs&hrV(AbDJ1HY`tFfm+<&koXwT)JmZ%Rr!4QD=6PlpBftnS0yYBF z5)PK=+d4RWV-@ba(s2D#@Q!&PzNn0!S1MO`MFY?ox<~MPv3`FCb_DEOa6v2?^Mu+6 zI-)XZ{IJU3-%-#7_z{Ng&r;D&j2{9&vTuFssgmZE!tNbz$vkgv<=V#g5TIO0lNaU5 z&SBXUEcNsd$zTr zWc58t4z1Pxl}gs;D_LHp{qIw9=v*ZcA?8^jUX<_go;NqTfX6L>dAyxyG~gnBXx<#~ zOB%NTpC})B@maly`2j>FFuFnGoQ`y3H;LXiTXM(K3loIHFQS$&tO|v zD%y$q7Wk#*v#Q(Oy!b4i&(Eh}3;em#Xut(NfnQoaVL#=?XB)Slph!rUNBAuj?F65| zFD;+2gLC8aJbpe6Tj0-?Mgy*ZPmNz%K5P1YCNDl0znS?2M~yt6z%MPIcrVS1&kfvu z8af-OZ-HMDpBO)^T%CFR@T!&l1C8#vL3xWEKRnOdZE3;bcgp^r@(rrLgvYKJowF~)u9GI)JoW6X^?-*iC-6(lC*EiB;&X)S+ot#gerfr{dud*LcCbCv z6raE^iBF6lR&UKZet1bw-$2iX_BmJf^mVW3u@als89RRXrY6P@i%V6136Fop)#>TZ zGk)oC%F;KK_Q7C1Mt~96=MWIzaNE~|56raE^EuW*>e#(o_5q>_K;uH9#=2P3jdGXoC^KY8s6Zoa&6Yn#5@mXPe zs3|^yUs^u#UYZx59X#K$DL#Q;5}z199Q{IrLURtjY*50&xiJiQ|VDHnY?Gq8vYL`+Ru(5OxIYTL3X`|SAI&#+Ud%^Egz@k z=+D&oq2DN3++Up^nyzH=1SOFqj5i@(l<)B#KP+?q3LqCUTluE(L*SS6{sul#KJwyo zahcao7(%o23H;LXiRU~oKC8UHlcBSL=M(s)XJC<>#|aU5nwF|LE47;&lp_nmXkd$)=X=_PSsraHe@@7(*& zxyw1{o_p@O_q`bZhAU57mu@b3u4%|~O!74TZA_lFe>m;GN4bAEyO`+nS~>zy_78{J zDx5o1=Ee(_cOljsqw$i){?~?luHof3_%}R0jU+a-aTRW0G&s=U!2eMWycPEkhZ4pA z%KgK2_t)+pnjc~Q?WW#8?0&ehe;6s(hUVG`!ywx~H2%@Q9n1cq$$eAoAJ+fhh1O=f z4`=@{X~^#0K2`nM?*DT8hp)N&kM!R3Q@szK;Pwko()-Fl?}IaE-{i_Q{od63 zhwB>es~O92ADMp3_e&lBHnx5 zjrR@BwGoCvwtr~+qklV={X>)crr1B+)f%~h`*8LTyX$D%f3N=Rx~<&);ES4G^BcXd zd{ys*>-9e2b-j20Mej{jy<4%i-(=;QesAji!}W_A>o?>1NPI-fhx>=dzm2WmOrEA6 zn@yez8uA>IJRSdrE6)jToNq39PPnik&#}nU_%~d6n!Vm^@;tX8&oRl<@o%{Dw0U=P z$+M|3e@5aQMLgU1H(Ys||FpT}xp-k?d`1EtnZHke$oMy0d72-*x#T%+aYLSCk*D!* zxbn31%;u8kU}Jnn;v9v&HU14(p0+OCT=MKbuQ5I&fsWkX8viyXPuoA7@X{#v4;S>L z5~KTo=?3=?&m6=4;hH9mvo!X+czha3Y$zJf4XD9^1_v4(sNuj{asM#d znu(hFzjFU@@UmTJe;Xc&#pBJ7F#mQ_?;mzI_75YC8sU0{|No)!kN$0>q@1()x4iZH z4;CEU7Q6Au%5<0S@>I?*BGcr)DfSPC-h$Njpp`qi_Xtnbd;2`SuRK%l z6VB25nnikVI>SAm;hwka-HJ8+wsK9shi-ewPvdKN7w6py9pb*Wah})X%7%PN55B(0Il)A%=BdD=MNT=HyhjL%4%Bb&+$4mGc|pGZN^?$EWdcxbn1lcXP>eu<`yxB+gNcPvhTkzU0Z&uNYGabuFF@o%{DoZ!}_n@gVkjqy1qc^dyV zCePF62f;3g!K^=_BJs0Uz!od>8t?}2wE460*=(w_oXO{cNpE;O?2Mu6I%^pFhb!Fv z@~XelxdB_(TfHYcKCPE2sUYI(+xs@QsmH&V{;U~6 zFcCqVHP2su3hO%%h(qzx=Y6tUxmi10)GzkzGtVHl zw`L~($CsH8?DUH^-H+P^=_k;`jsDFd9W)ph|1936DgAApF=fh>Hid_J?&CsU2V67# zuDkvi#u;zf?%LSY8$K4MYq8({skz|tAcVPQj>Z{}L6?S-ZGBJY&X}9&>Mqx3k2pP4 zU1yI-kF34*YsUJfESvp@>VMCmEbqQ+?^b>KMtvAupnTX82+uw_UhKht$tYD#1<9P7K6At$EJS@lot4@4G`eFGirhG%v6Mpif%y%p9dUdxq zqc^&hYpxQym2-lc^6Yv2z5V!o+N|8_Ti}m;9ZNIVKbjL>)YJOE!IQMVejUW|({Cr3 zZ70uo?ZCwU@xOHw-zeYBB~P+?bCqr7vW_>CZ}$nCroY4O%UH*!^=m_Sw!_Bn?o8DE z%|`laFK;H`CNv6%QG#nz*Nfk}{HGT_{=)aSZ@cBkySI(&JTykLe9Lz4z_Ts32)0rm z#w+4&4bop?-~IW6GFp7=tKqurIi$_be-jVM-_8AJ^U!!yG?W}SRsHJ^*L6JkFc0p7 z)!T*&s4Me#*mCu}yH`G5c>Z4>|JrfuCVVa%1ZN}fd+AxsYklz0-<>e)wjfx5Jf?~F z^yCMhyJo54JrK(>uXWua4}9fm;LW?}fHszQ@spQ4zV7)K=I?l}<^hj+t?PdB{nJ+5 z72>rLuloE$pS)vHh{wFv&;8_)&;J>CtnY#gwpcyxz`MS5>!Nt;S&s$5eUIEh z+2SaVv`5U_`mq@3?=P<2|DI(bZJW|g-iNfV zJfZzUXXzb&y-NGO|0L~Re@(4EZRNd>|LD?Bf9bsQUR{`m!g+bqpPs+(!Xo(M@>+?v zwByRp-g00~-t;e?*Y?@Hz~}#*8f&A>KEM8z={J5izTn7Dgn6x+_rNFpyw~T&9xwdI z=N?+TFvNRY^WL+Bd3SC%zwJ+5uYT#g%!yxm?>z^foOve9o345P_LQIZwFh^9e91?b zes!NyL%c6(-t8wck9--}Yd4X{OLJbDv(G;%Pc1J9t~melk3@Ln74cr06XFR^gW&Ry z5RdWzt?-_CSDYWxN*-$GwoQC;$F|pxn6>)PyA;mf_G3X{ zdHp}SK=S^8@!|5G(7c;I;^!&tO&>8@&ND;h)zbpcl~*|5%4442mTkY<)JFc@4IX^? zp|7?60Gzcv_KkUm!??LT>F<{xI`PYXp3bLB;KFwbub?X1L4 zo!y0r9oD*wc>kCF$fs^}*w!1IcR4S=$r5psu*cSYtbZcb$CjRf(&;yCgGwcbK^N>VK~G$-D?JX5H8a4KHk9x ztTYE_B*V~LV@ejf8p$ zvz5a#tuO4WwTI;yPuc*pZ!Cv>vhq2PJcqQ!8EpNy3sK+X@0>+vBnofxd}EI+-nkDD z)qW36apr0HT=S{;AnZ|#QpIwre`u@?=URM~{k#|zS-o>X!nnf2+rHd-R`>lPhTIj; zOi!F2!C%|sQpqRI1$(Ci?#rGR`^MLA7x=ti&W>HNxKnA*n-hC&_oTq5e&(#$dtOu8 z`!31FZur%yq89IZ$7Lb>{4STp;twy9{8z5eg|LtR>{I#JPbdFC%6xs_%VIA%*e|Da z&GoIHzIz8Lhw#t7beO=wja{v6=kF)*Pp;@{ePqwQ1or#F{#qaZ@xX0bTh}g;y8gQF zFI(^Xp~8M&a$X;Qf8@Eb?rT=bP@MXq#j*TVJBUj8w0@bty!z4BrMn#@IQg@-i>*IG z;hP@3Vfx>FVt;Ado}b(&?8|q4^~&^L{!rWh!YfZqAOHSl!C7^GHn#77OcVH+*Ds8H z^W+l*K55nYvH$mni2~ofWk+mPx576kPdj;+&mJQAtZUiF4;8rMmY<(|@mWU-Ozo+x zeYe0Yf48fi5y`@pZ6F-DJ>FOD zc;TcIu6o}a+V*Sk?aDp2ll%hs_9GAe)Kl9_K5-T~_{h^|#4Z^(OY*mUp)EG&1G@=4 z^^TdbN3T}+yd7r6zO$?1_`LOb{*E2?YTb6qe4#z?zIU}=^cRKM2IJ2a@7zANO+Wj9 zIr<1KkMOtud1map(^{qPKHq#9u?>fQ>L-HpZx76lZC_G&ALziJ+jf?EFM0B~P#=~8 z{>%lZNd8y<{g~F>URHR?p4-P>eSVVU`)%|4?(@W#g)bwYw?5C$KKZWJ#rNv?ntR$q zVSCO1{QNHtkb36>XW&-~{}f}*#v|dqKCk2PiH}ch{qbj2pV^mxDC&6h$F)D+Kkw-w zb!2y^lfI7mWBH=Ktz+xgmV}>iz(4=_eFA^1%BXtmrXhF-dhEx z%)USU8i9SA;OjQaFHLWt-`j#LhdQUHJ3gD=v zU#VEjZ_bwXT=;lL>|5_v{r7FPZ^NJd@<6QXwYcD4a#Asbe>?4b$s>=y_w6OIzdn5_ zU5Vg^Z!U=~|Gkcpj~#n{2){QKj~(;iG?B%}zja~kj*lw5`=pCvzwSFvrumn?uJy1S z-)wdMj~3-tqp~vF&DP-~B%NegEb= z<@@FQZjafq7ax91@E>0=Gxn8_Irz|-v6lBgBl$OXw#AlQr*QS}VzD#+@U-O97X9Ky zg&!-9Z{6`=<<&m}{_npu%ba!jqx-d<`-?>(Oy2X)mz^)u{;w~I{UZJaDgV}q=ZCOw zTYS6Cx&mjzzXbS5XXkx6`ttSL=C|3m^S%xA`~JAclNa{*P&lUk->jQkKjVCf-ji-_ zZQt=kk?F%bekg=LaNixR|Mcj|lK)cS))0O*ep~Amt9Oz7J8rl$glFD;LG0q(KM5bG zw|~4u;otxDqS(Ig|Dxm{+N%VnST3EI@So^u#b*Ge{A|= z_O-=ru@6?&Pdj+unX&VJr?4+;UkCQYc%1smlT!C2j7NigS^GNh{@&Zdv2f5scZU7- zW$o+0Av?^DefBsl|2K1H##T&HnCp(VCd3llIS;PcxbEN|<2a0aFjm8O2d^!0F-Ec# zE$?4Lam~l)tcDk3L@W=@kg{=;a#=p}x!&Cu z7uU*Mk8zF6daX^n1Lhiy>vpz-?O{9E9;O-JVBUea*fz#Bm`{AtG48=K4#Gt|jfZF* zY~NnE*f!FTC*yFj{k+)5y>YQFu1U!&wvlaP+sP}ooqc4RSRd=MzOxMCla9|=59?#O ztc!oFk1%5!tcUfnT;j40_K9Whii`EIK9+GXF6Nzyi+z3%u6N@)3m4l;S&#>Fak0;{ zagi5i;9`C3FY928h4_>q%bS3U^$=#gESqf@kBe<&Jc|7x4cps-i|uK~#roI=_La0O zhxnvB02g_~Hn3jeupHu(j_qZcY!AyN4cp1~ur2H_>tTK5(UG{wyQ6WD$4B8JZ;ru5 z{!@qeHyIc4h)=pHxX4$wjd)BmpLC?3h>L%e0n3<#i{-N(mc#Pcm*a6!=h|?wZ8SFI z(F|PF5B806J`or3h)=qca53L>>;%B<`&3-SBR=b98(9wVNp~DB%4iy{gK%--!}?e+ z>u<%?jO%1v#3MfG*dF2$pL8>Eu^!gPdS~Hk#zlIT(}s)r$Kql+#3vogZN^1>%HT9y zltTJ=(Jox<@B4Ah!qtb1y7E3;)U6CI;xWzq z0bH%PF2lusvcGIE`9Z#l zKd$Mx%D7I(^q=ZKm;5BZuENE3vc0TlIWFdtpDc&?ZMfJE;t`*I z1?#u-aJK)rH}c->FN~+Y8Pc0PvvaGgf817xr@C{jGeN_Pe_QKK?glq``8#;oq51#G8?H)YWgXekhLJwZ-!54V& z#U7mWV9L_kko91WEz2)^aK8t?&x4nH@YNnX=)u=}@J$|kn+LD(;Cnszeh+@ggI9X+ zCq4L45B{tNukzq8dhin-{1p#g@(4zgfwn3Wf>IL~GwCxPRH%NdD_1`^M~AF{@j~=lWCi zZaAaA-!Ur)crbqYR+-fVvN^gDH3ekWq@UQ##*NMHMrCE^gT$(DYMjGDm@8o5{ z;~Pi8=KC|dHPRYPZYC#_o9Va7v+3Mgxh=|PD?Ou_6s&z?rMGgn3feZg+@?%9|8FKY z>&Hm%CO4Cl$<4|!c@CaaE4SI1lKj8YJ*iyTa7S_Hrd!3yO5o&;FKDGJN=2P=mY@V$lL*luo z>gUsiss1@ViLMcjSs`f#ZMib47m3GTyhU)MG_LCA(=7s>y3P-FZV+HRkD&i4N8=Tp{y)6IuGg^1vj+77nxg3z9alWzsttAwR1S*`+nE}(|eP1 zz5W|t?T)YXjK)YBc`#ObD`?AL_LkM1w+y;puD9c(tAS%@n;nmuwRT$VcLJ=wx5}Mz z-UW@ZcD`=|cHG9X$i%)oa$k*CAFr<8Ser`gf!{(*?hQy1wSsO3J+IY*Y+{2+_JfqDcon2Zy zL^s5rU%uh{cOgMpfx85sF#j6)4L+C-yp8msR=;aww<=Ko7sDCr6#f1M@0t=|SUbXdH^Mlg;P9Zz-o*hH4$_Up6aP{z3Sg z77vU3_aL|*&;7X0P-W=8^!;04FWm9R=KaN4<&RM{Ev#Li&rFn3&7*Ujq{y+-Tf5-b zLGp-)Z6d!;<$A)bY2o*uz?{wa=g03yQjPg_)=u;5YVCy1`;@QA)8yOVrt&qp56-WZ z?}AE4X)GbnvC>DpXcPIa>wiaGyi@!-ylFPlAPm39c<`*ney?yrnJ-P^lxUaf18YBYv;!7w8_)t+q6LCYjSTovsS)mq{@kGHq&W* z9_f9o^ih4A-cF~}PtIHs##i3DZ4`eP-dzX|cD5e65{z@^$QqR*{$ z#!7GH@I*5GtWD`h-+k8~XRMn3_K>f&)0eNEabpb9{40~E$#?C5%Gc!Hl&O{Pj9jLa z$6?RHD5v1D(r-@rPMNaXjBzKuJ>+Zc^yM4zCX%no)8spNv73M0I3B!YgYs>jpD!om z|C@*k-YDeBcU1II1)F~SKKsnb;av$s&LcU{gjzqp=px?amJ@3iI zZxi`iJL}~82LIXQY4Tl_SNWRUoAR~tos~@`ik+j`;Z@0um40)|_wKvycyh(tM84L} zI{7;GMDwr7)8yOVtMWCu4;D5cU(BAP@uWlfj*@=!%J+#U$GuI~N7hbXzWo1Vls}Pt zO`ay-!BbSeCikXdt$gR4H9unUD4?;@M^)tO+x%O=`eyyD*U-ISd zyB>4)dD(1RADKK&zAH{w`I_7ZOSSS{SWM(fJ(*I8|4-W}{>DllRk`W?t7qqK_tg5g ziF~b{Cf^P1Bbhu+zT+0Fd`<36l?}^xG$z)U?`Y^ZuY3=DYSqbakM)tYb7S%~d76Az zEmZlM+#`M}bjldUE=w3Iy|rg^>>oWl_t>Xa-t~#*H#?_o_5V-ZX?MB5VC}U1quTaF z^RLO%@bkGhgf(%e%*8r8j-s)aUH!Up+hbqNgUD|Mqx~#@boC&u`q}efer%&L&rr zvz=Qr`8V~~$~ju+j80->rMI4J9yynuY7hTE=C|%XAU+qRu}&_SzDKlgt4AJsX!Xd$4yzu# z&pxa7-F4UHJMXYV+otZ(Zrg3wmU(weHH$hgL7k~1j;LOE*rC;V2OU&BX}|rdNAJCN zb?QF*R8QQ0ziRA|L#mSwIAC@2-g__K6zw?Y;DcB99e#MVAARgaUoRbhP&IkL{?#-0 z-KW}ydMDvJ7}s&Q-m~w%)zi?P*5>Bw^a&HH`|q~fnA&jplquEA$B(aGjxyhm>%F)# zaMSJd1J!+3Vs(YaRUC|C+El8h+{b^N>DRXq)P^YMH_4R7|Y?uYj8yz|b(lEs1BZ{KzUWOoxU$oodre*>=T zA=B&7|Gz_7SD|lZ)Uz0U-XC?b{{45}xq1%L?}H3Vz+qeV-VN=;H4g1P7=3}fHrj@3 zq2D*7-do*u3uJIJt{ZXPaPau*2hfgdQT~-EvxNFiN5A(*-Fxo1V|4-Qx(fAQ51r}5 z{Y*UH56{8>>H*MM@ZnA6Fb-q)mLrd>-VWa10iEYX_%`G*|0cjUU>sZr-J)Jxj&d(W z|7W89y>{54Iv0GPuH1sYUIU(80zSpirUP(MPpJ#rVJvS*8+qThFdSJ$JB z73j;^sQYN-H$x})L3`dz50+xAv(CHGS6=s^u6t*+Rqs3Ntm=K|o?E^5oO7yo&Y4ra z`NR{eAH?%(QO9zWIed1m!e@S+QL@M6@r z1iU>Tbzh46Ezpk-Lq@kl23LX?N$}?+)PEG(Hv#atJ@?pP{n@FLs~cbB|Tz&At2dmdyb4@iKk5^~Rm{C0vJaFT?x+ls%8-2V9_1_P@p$x7? z+b)5Qw6T6%N1}}rpaUC{|K;t+SFf9WTy^5nM^#UPycaKCT)pb5tE!JY@<{cmr=F^Q z;R|1=u2`|6n$2db?d|Q=i4!MQ4}uJ+TYEspl=W?}&ktbi-US&9qOKl1o5i}JA4j2m zM`9dosQw3YCsnUnbWHUa$bj{q3z=K}Pd@o%b=9g>)jRIEqq=nI(y;z!^q2MTiTck6 zfA0hDAB65w2d+c?c|4o#>OT_okKcXw4f20^{N1ash#y%!8ajA9bpDJp&Zrg&h3f6M z-(LObM?YG<@4ox0S6p#L^`eU|sYb`EK-I>VFek zytws%<=L~2svZgYNf>vnt*zB_pz}RFJ=JB)mQ^d2O0}b-qk8)3r&p(9emD$$-4{B} zd1!yg|Gm(+PeONCzwv)5>ThNJw4#u%7BeY(_l z_St7w&w@Ula>^;fn-=hxyr*sD{Bsb>zY6?*81+AdXLo}C*FgW$(7$P{AMHDOuRS*? zdu!8yd+oKH@@M^Q$I*b<4)*uhV~?#KgYqXpzgYL)82jw|E+~I**xwBLN}an2WB)_Y zOU~OI|C3lh+Ia9D8y?i9x9AoNG^ojbuKlsdkOWo+#j;MS4 z?Y67#)YMen8`tFRw}&m6uZ0vr>K?f~g2!2!lPK2!^FAl+Y=2+)k zx(D=}^BU(psT=ieyY05sCe&@$c1Z7mIbmPu-C@Ap{vGdV+gQE!9Ami+^)A2ey6dVX z*gndgyl4OS#~jSQv;KFXZ#$q4%qe00YzNcZqfI;Qv}1KQ;2Z>gS=qzAA8^0{ZHpEy zTK>7ueNM(5$H1&vvqUGz2Wtc7laL3jll)+tm`}ZgkF>$@KAg5(eDTH0Y5QniL)tZ0zlW@y@xO^^g~o2QR4?GJ4l88y;)JsoQX%|82=+a`|JAJtp?|l1nZT`*Q^5 z9~%d32law?$YxA^wtDODkbm0=)21yyt*veK| zzTu1I$es)EaA1B&Ts#T?n%fA19rE{1{4Whn4%VC2#kMn_=kM#AZ2iJnba$2}DuB*iX#rcdGbZ{UJ;CXb8?ZV}2^f@2t*Gl`7eh ze^14V8>+5z>zQK6jeCOw4GuIo@HgPV;6cyHcZb)zyHp9Iz0DgNnpnuzGC2z{elD z-$v26H#pGXK!XDf4m3E>;6Q@|4GuIo(BMFW0}T!|IMCq0{}v7~F2I<##UDNm*pCbF zc>#GAw>YfsIg)Ss$FhFD3F5|V$6}Oa@t;Egv+VW9Xgmm@{4L1l%gy{x>c;qI^;!8= z->QSPK5K{6$Nyw*jDJ?2m2dTRPjvAv*H5XB|GDcJ|ExYM-|Fi>KBc_j;WjIlnIL zm)vyRt@8i=9dpd4soyWV0XI0%;K19115KZKeHPC_thndv@?H7ANvlzx`A~M|U}N>} ziyf@t>_?U6pEh%2Wew-~wCCJ@l)Kl{bi4O)InU5PwDbo3Ls!m7{X_C+Q}~BAKdt$} zNY6{0lPhP+BlsT>>N%xplehnL$(zhiK3)TEaG=3~1_%C@9N5~Oh8xOm`R!=mLjV8j zJHCb7t=$zg`zU~;vwE9se)<Bdg~5b7YtKtqJ2!S-qUo%WotN`{#>1_tyZ)`?;ZM7GxVu|B z>^|tl!?|B;=?%_LuAKj=`Dxx$? zee0RIF}r*^!!x?>1xjb-J+V3#v&*M5JfmBGp3+%)pZWCUm|Z@d;ThdJ#}_N_V;?;% zW|vQAct+RnvsGrDn0w4GMo4cG4wv&*M5Jfmy6Kvs zGrF~|omSqumtJbM%cnCuqw9A1Y~_9HnP*z<^63mOq;u`G@;>wFPq*4tL+9{}Zl!Cd zm3P;Q6|HvpbcPqwIX&xkE+WIUP$NoveK1z*NSmy zr(QL54$tV;I(#edyU#s0-7cTb@QiL{QsutFl}B9v&+LTZ8QtK8N@wNKM*Q{9?~C1h z(=PaqN@QOQ&*)Ybl+McI9`3JxaY@YT4C`}vMmOQTN@wK-)%V9%e(dnrb%TTQf1n$k z;TheuK3AVBk9606aQhf|Q`1hvGrD!}S2`>2FMoP(>^Hy4LiT}thsEkMJfrKsTc8+VTV<0FsM^3&lNUDLHn zXXQQqrRlLXU;CQa7+>y&XLQ|;&gy;e@5jSlFK;z@7(Wfq=+@q*^;vnWi~9Mw&mLRT zPQx?0m3KP6xO&%q?|ZEe+}|uV&2OjS8QqE%N@wLkuUl`v>89yVKG9Y)ZVk`q*4?Uf zR^HEl))jm9o9_{x`t=!JNOyzMS$WTY=WNjxj`7l}DQk|K$z!8J^Ltx=Y(><&iJXeB*Q(^FCh;&*&!n zz0z5EO81Rc>Y7hyct*GKex`eMz_wj)5`nzf4eY-vC#UpuY9FO z&kWD##@(&;S$Uv|-G19`tv~wV4{PWQ&*<76ot5{2>$Zh%J~|zCzNVdqXLRfD(fX{s zd+xql{1DRnd@($uoA!{>S$UYBTR*;X<@Eab&+v?Ht>dSahw;HT5XLKtb&~{pRc9!hVufJYHXLv@}7`Z`4l1GrBddJ}b}gsoyp2ba)}%eacTO zFQTippKBbR(XDrUv3f%~R)#<0r{NjhI45^2&+N2PMRbN|bgS;wc3OFu!>049r!zdG zYyYs)S$XSU>y1_aav69c-vbQWX?RAr=AV?#%KPQdGqFGZq3;cJhG%q5-%&a%?>pZ< zOV-o%axgrjYyXDQS$PkCq9yk9*H6PdRx3ZlGrFd4DxH=0@^60ADn3>no#7eX;4`kB zu3q?&(_!OVl{b+b4A1CReb?3J>Lvegxc>T9wwJKU-SCWV?TbfB+{ViL(icyrooM~d zuYOfCZVk`q#=WF;Rvzo1-TlZz57p2ap3(I?IxFu#U%YrauiJ0iy@t;4jBd@(v_32E z<=^CDfB1bR_R7nJn*JG{(M?#VbXMNl?=6b`?5C;Ni$A`ohR*PeZtc&N&dP%y7^4sR zg~v{)p))+ATlY()v+{npc5Uk;|8Nw1&{J#Z4A1CR{z~brylbw$y7dzuKO*+%KOR#< zXLv@p*3nscl!J`jIzP+sjBeVmwLUBF)?03AeePS|YJF_gsv0>Mp3!yhqxb{XS1wj}YyEs=ct*E)SEaM^AaCf)i*K0!4A1D=cT+km zkFuj}!8)#npN402)1K9Mpp}RI2@Q44@1Nlr-MD9z&dU48M~;^G**|^mxEeac3+etv z>8w1CJFelle)Q`b=kScK-_>X3am_LKckg_|`pEE%ZjI}omB%&Cz4z?=tp zJFPt07S>n4?qB2ZjBfBdN@wM9E&br%|NR@*RfcDDP0u?zS02{kt&n}|kAHMQ4POk; z=oWup>8w1iji{sbezM^i-Jqkh@_zf@dC`||K0T*Keuigs{Xf?FtUShOfB$MJcI`FW z)X*88(KY?ZwbRuLyDRpLy6wx|@QiMnqqFiL_ZWBrpZAFxI>R%%{(sf_th}qP+%onr z&o4l{r`E4CJfmB?R_Uxfu@6J|S%znHD;=Gc$C%=6x9%3JUr!sJ(T#I-R^CS*I;7S2 zMa;e!p3$vxe6;e&!@s-sTCDqn8htT5qg&(R|5hIP&$wbeUkuOa);hUcd8|)-mwLPF z@QiMpOIvv%odTi#G(4l5=GtlXs=unfD@lznhG%puoW59jMpy4=8J^Kic+ttdW`D%? zJfivxFQof7rL*!P-@4YXo8a(_uIb;E&dQ5qUQ1_qM%V86Y2`UK;#Ny%ct&UYK2{!L zt)eGZukq9HjLyop@+@t1GiC+B%gAg$=x6eM)6<8!A2wswg6;&r_k3nPnJO1ksTrN+ z(fk+QL+!m?G>rYQ355@w#P@5*U8eW2Un2z0T&M)(Uq3)AcRb2w+Xl}XS@|mtpCsQu zw`OSnRJQL#ruBE-AM|^$hF5>L_E`Pao@o_rkF~R&u0FkL!W-N3EbImG$Y!>OSN|V} z*B-0i+GG5;cA}^^{Tp}0Q0;j}<^pREH%bRz9bS8^eru0aZtb-6hVF}xeq(zK*V@B$ z|L->5o_64w{P}4QleLX)y{j(Zaa)v+l>6Iq>#eug0)!Vo`-2$d6q_>Tsy05NKJarW zzTU9>9EM+M$@qE2Os+Fi!0W`#{GT1iUwCvTSE!UrOD112b-F5MR8N6^OF>g(cg+Is9zI&kKUNypxX|D|RZPenR0evykVsC1_6IE}B~woI z#EYqPs+h`krs6Cr%FpJ}IL&(_Y6kzOK|dQJMJTG~wG?v+R8sDaDlSQ_tW=&A^M$yy zza^|XC?GRcEN4Cc4m)Vg;W9V3TsGzDyF_&2+f#PQ5Uwl!8oWJ{QM>VhSzo zbhmf~rRU?7TrwXoR7%~Jok)Y7UUn%}Dq&)dS1K&puRq_LDi$-zR2=mc6UBj`C11>R zv7(m3Ks=Kxl@s7rz;rqT%R&VZDNLF;8FFAA`yWqql$K~#OCbRcQ>uy1rKuz_0`hOi41|5p+O0 zONHNwWU&)w(KUARG|+VvaHW=&1E^=QvrMhwtv68=3MA2*a*!$H1C&}!6au6m^qxd% zX;8|NOVn-$LB%^OMJj7cvX}v-BvbqiO5ORsrKy3S2km2Vg}kc8B(}4d%0fkZ!IgYD zl}+^o6iTn?zUnq>Duy-Tzh>_bS`tZc6e`40NmMEqmrOxn0%w+`RO=uS;Xu&BT3gb^ zd=G0O5y!&h0R9D)4ho+9@pm1sa@9$+dSWrTX4vo%yPk|B_VUz;mLSNB4bhwnt zX4%os08nSpBc+zuj8ZDKG)U(=E2VfcJF@U7OF=g*LmVa~n<)ZhvF|}dh=!QKMUCr zI}U{cESz~mZW%nw^dy2zr37)dbY?RJ^pbEsoi3$B>BNc!iEN=e5tQ;^fpC!h&39Y^ z#S9W0+fd24b~{XleT{P1_XywhJX!3Ecjk*Zj1y=J?Ipy_%yKc4V2(>BQ-!h&7CsY> zLyFG4GAl>1X1%;}e^5x2N*J$2SWC8_9fXYJj{mqNfN)AdzF6+g$F-ZuVxrH9mGX+i z3X0(315oiy8YRkYAUN;Tcru@+7%&?0Y49Sz;ACFFs{+yA%VDch z`5-iarOp)8GF^m$&K32JR*3+D60%iOgU*4@Y>;1yF_y(>%B1?@sR76vJq*gUIg)Qi z2akhnVt`Uj>-7=d6i-j>Kgo$D?F%VZ|4jL~r(gN0?h-42%LewQwFx}xv9E#k5 z;IrMLCn}D(R4j%b=qmSYHWxDYhj6yVIM383%848X#CwBu;|VfGJ5shf(j$!%7!0 zAmulg>Vjbd4|FPZBdrB^L8Uiz3NWu-0v*Tifc!2aaRH4BI*OPa<49@yG^v(A8k|p; zC_9lQ?ii{8yq09XN6m%ymzde0pv}@7+a=?yAj}B*x-*^K@qDF>i79|T6LbVi1GwIB zyD>fFv*|=9ryJft#v6uAf%m>dQSLx06;hqd>d6!ZMaHV)rqjF|LaHZIX1Y63O!5xB zH5zfcq`E{;2cMx_LkEb7L>>YZOkyN4vU$hI#|c-d+0ba-`ACho6ql{^NPCl*l$o(K zlUr(cmj!38tDAWk8LsTEVxkuYotfE8TFNBPnTCEylhT<~R(ezJgEirk5@HPbK0?b< zxr)>V09iTaiCPdyaHiwrEjr@v@oubk&`a1Z5wwibNwBBzV`TnJ!*9f}Rv*n0rF^=K z*$(3{k;Gi!3UJmw-vRT?0$m!livL;)3Z()4iOXn@t4lD_oj@sjZ`u#fTEu9rG;|2v)z8zymjzv$`&k4S(S2L7jxQ zrz_qb;3u2ttmG0!PVGqLJInCqO9HBuM`l+7o)+hmc%ml{*Eq;wg2h^vYlxsX7w?-S zzmw&6iu@kS-=0)IRuC{>AnhSQ73VraIN@Y;LOr2!5r}xP370HG6+iD$v*n1$-XZ6?T}wi zb(naIT?4{*SQ*Sj;?e<-@&YLBB>upU%%?DDAbp5lVfcp*g4c%C0`$hI5M1a4CVq@5 zwj`C5q(GEaM9ZIX)G=hahL>%R6#Z|ga#sT8CGmLXTPc3 zQ^;k=2|N*#(w)fWG4T{IRm71^mrbNGm3W;AXd3o1uW&Fwv9g4`H`{Rcz=qMv&ktNKB_FFwe;hI_J0+CY>1!(=rOh-!KAk1DWGE z=}NFvNMISBC#9^9=i#u>AQ(m=(=U1vR;v1o#=361HiIo)Ie3a?HSlC0bQ{0WZTxm{ zR>ZQcSj0eJM$iSZmzaZbg$YX7-jibdAcLt2x zb)yTgRp6QWIO4NuPG=UXqCOiY2?5MaDt8z0S=xM->v?!=R2I7PZm6O;-T94?^=+Ys& z5Wr?&fmq=>5B&zq(#Ijd&`D{bKXEJ{3b}HrBEP+8OevqO=&cv)9C*|fz4gi>w<5m? zb1lum^i|xwmo9x7ZYx-eh=6zmmO^|2!IS;~Ha!>g1>IP|7CV${3U#D<;jBUkT=Xdf zeb47~R&B9``NSodtHt3_EmpA9lh1RljAdN5Gf^nH*_-hecwzy{mL7rINuZ(JN&K1Y z`pGqe>#KlJvRoy=uLL<5_ep2-eHat?Lb6N?GLpEm<46RDsqZpVmAbLk3DivYfoiB^F z(m}8)f%PNIMsz_91emjljwS>o2%{`5Z_x@SxzeWpc0&#DPYtvGWu0G@o<4qCN(`;!r89xm$WD zMNFM7JyL&5k2Fee6^t24(<-#|fbC#k51n_~AD5I4f^qCwOVXu;0IWl>2^@6{6tGv= zr~${czyr8mWUlga7D#huvFx)$}w2s+;kvRAhafQC+GGC<@`t%f6z(W25qA0od_T3ANZ0S$v02%kYt zg#pn9b;?*{iLXd+=OBLVlyuy&qS0?Q8A2`S%I#(4uHUV=nup!n-xd{?m$$ry_qgtmL)MuO01 z57(_NGPAZ|iG)(2TQZ-(%p=9)5f~6Ud~_n^?7;b-`!b9m=MngwG!era(eNmXfj2yq z037a^rnwYG0G2nzyHbcmW2CT$7}8)8BCMr>9(1rc5Eo%+S6m;!B(_X=rP2ckw#%v& z%EN}RK$IqWgNmp=1A&|Fv3xIz_dt8bAP|a@NQ!ipY5+l{Q`&QxhQ#7ZP!?u`BOaPS zX99gp_0oc1XrPKNgxR^nr@Kg*oY+C6*%;cR78%5FB4CMhJY$aIJOgjL+_XOHjjE`}St!dL7~P3XQN}xgco#f6?(?uRFC!sq?I;5pT8q(%JrVJFTi|7) zfAA#aKS6JSU(gQ&hF|*oTo}`)#WgQXMGr8U!e9qI!XqdF%{L>;!dXOZ$y24qj1H-k zv2LLkpn)S!#WKe+QVuG$tsOdM5R9*2nVFIU^)*OitKjBQSYPynf1rzfi%6;F`t zbS2j*laPeq)H@SLMwt=$J)FLTC2Vn0oe_aJ5V%d3aobT6{H;%iTR7Z8$#jB|E;tpY zl{r|ZW1`VLgveTmWvkDWIkAv%`+p2umof4JPHH7=cooWo&_c<`V7UWLPa`sk6$OV1 z+|x?`LIrgTF{*EADpi=x9T{~CWzJFXtOBN61<#O8G8mq@VlilMX2{&4zL1-pWO9UI zb5=vF3vD=z2^>r{FIXjDpw*kmBCK_No-#?o91$4r?Q%0uyfaIClFR3Musf2*pmEcR zu8sWs4tNPk>{{y+o$H;gcL_E2E`i3#x)9-hyT>I@b_S!#N=-kaGre@`Ig{#in<_+G zGl(34hbXuYt#h0H@Tpqzov8$70J*85fgQlIQ}hZ3zl`O%`jLIm61e?XPtbdmRUS6E z<9!H*g0YMS5X6eZ1voSrO(XJD%s=9aIA-8xTa3l_C5YJd z!2>{0p;*9j2IhWgnAwq7%3XGDdIOSpB^?m1H{CuN%N9Q;+;hRqm>8(dl3sI*2|hh1 zA909vW`Xr`zyS7x(N2k;x#>nXWi5fNA39f(DHDRE%6Wk;IIV6fCV#jOoL@@RNIB=^ z{MeRGdTHY21c@XL5`^v$ymc=nD;)?N-Nz&L z-bp7)Di`UBxaZJ*XKG-gH6$4ZMX{@y>qTt0MK;vn8sO9dcQl}G-g?PfBH@Th4qB+5 zE@KRyhXRj}kz+*gCHR%=!g&=3vu4g587>-N96FK-cY_1YFb)?YscbnRD-l>roo2Ke z_3AJP5rNbFdYvlH5~Rix=t-q8j$OJCpC}8BMU|>hF1(;MzgHt_XanjhIR|rCdQ?2-4_x2kbr!7SJ#<(GJ6vh}Ll)p6`+A$sW6ly+K+(wATu3WYZd z=|e>vXX!-=zu~=8r;!9)lwDQ|e8QNm8{3&u7E3kp5<4?IIRwdL zA0M8N#3RUddIz5W4evoXBK&;qLG3VlJp z$u-B75~eF2x6lC+Iz8&N;33WfC=CpI2_fwQLxnDqf>=IIw#fV-2kfLe30d~xSee8x z<%WWnkr4^;QEIa42{N7JG4ptcJe`#TO&?< z;N-t5jmcAI zU`(+P4Hp8CCUrKBQ(c%VaJohO{uXt$*mhk4CW@1on9QFk{9$MaC$6|KfpgB#vzSO6 zm!qW|z?kC6MVFAnMJ+l!ke5f#ahOj42IiANq8HlJL#@)-;6&~Op?vNm%+i^q6zJ-a zwj8^Xu-q;(QNk%nhIlZ0cV-ZH470KCNRLDgo~053h4LMdyDmM7mT%avGDn^uBht>V$H--n zOIjyUE?Fpot#pJ17KRIi-GA9|$m;$qm2MK09N_~TT7YTmg@x$I@XVMFXL8PiR1f5= zkW`0io#Y6KW}{kRn0S_=40x0k!-Kg7-lpW?Fdj4wwNQm5Craw7M$Rduz*G)N4nEu{ zA=w9&PEbC@jO(IoXiBy~h{v&SQ#jE?ssTH~aahEmt)M%fUy8#9ZXMzbbqjP0;}{#Q zEntc%C6;wu&-E;@lRAY??9o6284ON#4M z$#NNdYhkwz?^u|Jf~0EqhH>3AXE2fL4%NTOWuIOOi~-br72wniymBp8>5@OI5V3sB6^HDO-M`dYpj@32aeZS zHYM806F0JEQV8wUE~ksBOBGVCkQrDDpuads5~mkWKIv%#oLBBbm*uR3m_OKmIekDq z20WRwrh`$J9*selb?ggDl&ukw7I08!4(UUu_OwL}qI%&=CZSYpyLP|`WA4*nxdwA2 zAfrYao`|Hl+Qq7Z-XTux@?<#fE~BS}!y`E18xYV)Ax}zRxkK7==ZvpCv)UFwHhd&C zrYp;q4akNv4o+*Ca0NsSLVU@Nzen)7^{ZR@obALq!9Fl}#BqXA!3{zQt_UBvTUbK4 z1SPO}LiVY!yYwg^N{0Q!|q2c?cqwfqU}J2E&*&EX;mHu%{FIklY5;()nHqw`-trMb6%ljdT;Cg+4>~D2p8)YEc#j z7Iy({%8>+5IjZxDB{6ea(mhaJtk)8-RXk7~Pb7QknIy6EC5|U7s9RX~4=lryM$R}Q zlPQpCG_I?XnXSIa88j6z3Gnay92hV}urOsTlE`zI6!b84ik`dnsFD%zt}fUI{v%i4}h*4sK%Q1xt~dlgpGBGF;9nVgc3>+B+cd1&P!`_%J+ZW9fM| zkx2b`wm|ltWr@avJjjsU%V^4(lS{KH;S_}Q3^`PsP83h&89sR`p*Zx5F%G`(&{-%g zMEFwKq!zIz*I`nvyYl&@su#sIA1uIt z(DPkb6BRL^7Q6T(XC(3v0uCDBbQ0F9GIUCa#{wNPl)IZFN;tR^B;bKzg_p>?!&5qO zGoGI{qq`1|t~V+2L|JJ2WHR*(p-Oy&cOO?3Tb=e@|-QRG#8J1%?2JvHFZN z$-bEb-z(hrW})Et)YQVr6AXN{8`7qR8=QaBeuonRsmDa9Ec zo#ZJXS`M*@c)3VMi1@^Dd;f(C$oMk1xEa6(A!b>a3*?H+!eiwj5buZMP=dYX5oSKo zb3k4=i3QCoF~v>91(O zgl1Iy`s3L@yyhUKrzMtw6MwXxlEdOBF2VUO7u?d=2Hjz`sB@QwLve_!jG&yP#bBmOilA=R6_$=Y3LZ;J2 zg)z9`d&n;|09#vF<7=uySu8nzD(p|XiyUd192|MAu}A=ugwr@=u?>Ar3>XKgA*e6Zs1fHZJ1@$a?~$8m8lG?U`9nW z2_fn50nW=p&!MeQ1^E43VDO|Wcx>K?hUrkOc`D%poNu%PCCOAr1!j?kM20v7&7r2d zkCG$Xj_5MZ4+T9`R-AyX@RYs_ZHt+gR=Ca~u+NvXlu5L$5*UD8RoO~TA|KbI4?0i~ zBEvR6Ptjv7?Dnw`*%OUykxYFzB?9I62wwBkPhx|fp1o@kvSGiN;Co(v0>(v7v>^Tk z#l(veanrXj7)&gkCdan~P}mxjt|NuH1sGoX`CNw-Q}nqRBTXg=Nt|0GA`mrFJL>w$S1ceE z87~^|6816fCRAKnK_yTJH$H5#q#IpG*&;kq!I1(4+1N{E1QwjKX@uQ;X(|q@BJv}% zp<@~P2(xPE3)~vZX1{PQ#`$s(BBCVp)DWH+z*0>G=WHr%7Mx~GeuPRncWe&lRNb4i zx+W7&%VSx%&?9H#qSsulKVttRoQ>BQc*r8$g5ju+(;jg3Z|h1;UWf6WPYw&^wjzF_=T^w;g&}B&2vWW3W4G0tNP=}-uB;XlptiNEi;68EF z3=)#eL}zD3I9``8=Otic^fe+ZXf$|Rn?!sXHeDj_eD8v;3w@0&qTA+`P#IL$u!aij z)R+gK88zG)F+6zt5wb)fE)0$p6PPQNv-i>;O!!f)SX0P$Bi^7W2@BNdIHuXtnoKrS zJT$t%Zi%gN7FPsSlN(+z3@(SOKb%>Sc^ZP`dtP*3B>1D|gO-|pjQB1%dycc(y2&H< z$I}RH8T~>#XiL-Oa^(!I8r0e>%onz7F~g-VP&z@A@9A^vad7Q+;^o^GcI91_Pmfbybk^;Ehe>CSoV}*DqLjQ5@O$xD|4tS zzMOHwj87kh2YzKV$oVuk8Nk92!kETbaVI)y3n$U%!)grg;c>H1UR_39k`b^dSL8*j z?1mO0#=yKJq$)KDR)p`iaV0k@Pg){KHT@U1GDnN5d8QKumOehiWa(6s12+b|ti?); zf#8g>6h251=jOSb#7hI}?bAx?5K*@|d{tg}s`65WhwZ@`K8ZHb%fWimG||%y9Zqh) z47>$nR2jGjuB#Yiu@aawwMg!{R25<2)caB~a5%XQ??@y{i5*9Y)sVnTM2OlM{2`wV zF?|h*r|*_nd36m^J6o3tpBj#1xD|U|pA15Z=~(H}!PN*mIQ0NA-a-v1G;dcp=mJ#LK{u zmu|lQ(ued0`oWP55E-FD-L!Dt(31YLygf9_S)th`v zrD9kyVOg(-uShW`GQ>>j>J;7#Tt%kwSs1)l4Eu}i;vQ8d?1A5Q1@s2gf73lr^>a9f}CMtuVS^0C~V# zYg5q?0XV175yNCEdPX|LC*T}+<}qNsqVgTCXh$BV`Ee5*t0yW!St?eLoHNAblYK@UHU^QkC9CyFo<7k&N_7*8_ph8f>ZVs#<_d(B&2S5ZRe@C%Fq zE)CGfvNkaab>^Xg;Fv5*!dJ$1MKIJ8=U7WQG@T)d{{S4p9LQJntSXPIJh&;ZGrI*| zIDgr4qrf+NLrTk)mq@HQ%aoX(*wS#ZQqw8J*Exlr4yPhaNTK0{Go_!4E2g?IxMZr7 ziA^*dTC!Bv^Boug=2bbEV_vXAK$mec7;L{w%m-az(>+pz4|QcF=RN7WV*ol8aQhU9 z7Hd9SL-$&o*jFi4zdfgEXmWTGPd-T(QMw6Vred*UShkC1$Qva&c@Y`==v|p*J$d&) zKsg}bBAEJ6j|_1Cm7BRNkuS zSP4_EC>l<uZe+}#iD&kY243qulm=Vvx#qZO~A zbXd%dAWu*84l%k9LP_(a#c?(g=bhAvL3juUO=Re~FFbN17f03k%g;XHCX0O9d`_4M zw8N0_M`S{Gh~Gp+J_4Ea3se1q550uX#$OH=EKQ&@JadjoIM*ecuPz5~3G^Yw$k1PnaA9&RgHBk2^ z%T|SGh&-1T8JSG7#G1lGdAeRd0rMfciygib@G2s@f+alXNQ`(4j{3BYMAu=S^ipJ( zq5RYnQnJm+4MOJ)vn2W0pH7mJ1h=`Ey+OXFBTGJs^2fWm+p2buW0=Lk zIm9o%mc&3GE9NWE#NpyuqG>_09LH<;a<~v@Mwmd)`OXhLO71jE}S`!&hDSaxqqD68pp%Orfl&cH{%A znt}5a+7KSb0|JgU<|@#q7SsW=1A7gHM!j5I3U|F&ngoZXL^-|Ap(iheA*KvlFK5tY zf0AaCSs0ulHq&A%z;`*-P9GQ>-Tba7c#D|_#-CsM#1b9O2Ly#fn;B%mw#!r_y`@6u zagqss3=U0eM{tUzs{+lJy>kw8*inpWLW~d58cm|jawbF?p|IEyoM7x+$}f(%yUrBo zj0G~0&%uLIy))@pW!GllYbvIBO-1uNyI+weFcBEc4&#}yXm9#X^sD>1}ATBmW zkp$FNDcy`o*2qisA;3ve5~zrG4pqC`Gf^MqNQ$Fa)11x3op48IaYPY|%Z!vFbx6v} z&>SdwR5KE_PvwKWvi4MLP1oXZ(8HU&O8;XVihW3`K4u?-}_NLB=OV0#xPsK@2d&?yN5$9V^(}9n0kwek~9Rd-_fbRFa4I!DHv}bFQoqD601Ozg%m7_*bZ3aBu-8Pl z8j(|+uGN~wnNfE{BRcuGn?7c&OIs-mq%Z~5ato?3OV>hmNr~HrdGIFWV<%w-q zBhv(BrAt6pp@bst$pphJ0em*w4m2Nf`IhRBAX+>ug}e;eRP@sDOYEqSbb~wJd@MWQ z5w%Mu#L8=e$0b5cMrGWLB2V=d{_t^FEAg1?qBzz#Nt$v<0!|CQAYzzFyoSI=@#9ut zCIVwH;dME3#3{;?QijY!;G1Z=hfPSi<~FsNfzTqi>G_H%llq=;9%qii6kijpNq7Ps65w3ok;nCym*CfI8i0lYbj_cUeB?VJcBOOVKXPB5EmL5 z;)k(77er$(yd=*Wcu8)Ndr1j;_-UR@kS#@RvMZAn*Okkxy0WEtwdD&ImK>sJUSV3BROldq-vr=6}Lp%xV8{(PUf(Bb0pR72my_QDjAJ-x`8AY_}v14-qK_Q&B#d%8k z3^&m&M~<7;W?Zjeh@#!Wp4!t+y%`3^4EW!;+)!vt%iyR139 zhQcia#D2I;kfpc8DgNrgCY;g&~vfyrk_F*lfg*K)i$Bn-JDZQvN>~)*`8}`*m1heu%Dq z2Q&`fPXIM09)Hk;$+~BuIdCDia0z8;M7j7e8_rA8D2)(9K9bGZe28q;JVdq<;al88 z(Nypj6U*Gd<4D##Ste_G*1!N8-@DKS4&R+*Zm355uT3QGRFfO|>rVfo4C)rtFUmkP z35x`d9IWT16r2{vX)X0>xODcM2T9_iN%dLAOnJqPg&>X)$M+u-Jb7M|mKW^99De=4 zOYmHa+vk-6=sZde72NP_+!2GY|4dF-7@|9B;UWn*PT_`$t-ZYr`RWeo7_8Jc8ER9t z2>7~6&UH)(T)GyCPr^b3jg}(Jkry>;Q?>MNr_O~Y&@9WSMbrPKN|%sQi)Dmpy35IF z0`Xq{7dEWb&s3YiT=J8fAsr$#OIf=y6RMM0#%@m;s~x;ofg`p-nQ<-nhd57;fSjmk9S0sr%mA`~Yb;42a`%L0I@3J^9bVCe%|Y==}z z0^*IwC6lpv;Pe?I0^hCUAsvRXaS}iRd14ym1tEzv=@tgcmi9AX$#??J$KVTi^l2>z zpF;8Dl=*@q!GA^M=et~4_No<j#w&!8}3tx>@D9e#3aM7s$(*d7XpK12R#@UKi}V?cOZTa zPO9L0SPIJvv6AcFz!cam8D#Y689)ppaR=2+O%^f%F7aP*)GBVUY#2#Jz0gw}iG&Hl z7LxdPbR76@r}$NfMk z8_K~iJ*GhMaXyD0MaPfAlSicj+y-|bv$q3>J9|=a_5y$|!Y6{}U~o?W`cKeB88_}j z7YxL}`;gT?w}}2fW9I=_Wp)1lb8l`E5Jgl(+^DFCi{YM-FqJ?gEN4tefCwQWAuRW( zTKB42TesG2apPzm)rwk2t$Ww4b=Ep+9skewdCvRZdqeQ|Cw%XF_8!l9&U4P;yi_W; zWhpn#6H5`RY`*bT7vIB_FfyB?QTk0q#y;ds-VTDr%;BskeZ?_QE%~i^+d4LtZ`OFD z_jv3}-T0K%Zd!}oIAAtrM&TMA8!FHz^rUYX`e`|eo;qgBTp{eNE)zMkCP7KxZs*iq z3yF%N)M6oWKC!lrwywTy$C}dSN~P<;sA!x%`$J>lB)N&~`qkcMz~um{x6a12kcK6a z5;8~DzguSNMtFGViP*6ZL$>qI1g*CnX3jA_vrnGXXO!0F7L$~fsLfu>=C0bwvT`xG zI0-8mjb+CzS$wgdNgh}3LKK_b6QY-5l55^g zUWR!(YG*?)@J^;$$`xKaYrAK*nCNJVqi~@SA#=I8kIp*ju6L4ryz_>}F%pDrBVpkT zd+j!GLd=F?^%?1t6K+Xwk(q{nXVn&(+O~rY9=g3JZd@d%3sZgCZuH#eT$cl)Xgqz^ z1Jo*air1v3yWVCKr?q4!+|1O$>V0dt*l}K#7x&3&3e9j{Bwbo3Hv&LWu+~UqfeZYr zlQaCQ>vm~xO;;J%(ZmkYEd`1Zs!pOxjN=^ewZXzVuwD3;QhYvf8G)2<#Zksb1gdSN zLOZc)bNO*jy76iUMbBobu}n>#P0Ke^h*UHM#1C7pTr`6mfQx$=Iiby6w(OyOWT7wP z9esILVpPlJ@+SNhoseesE}W&4x>1u3oVJBnleo9IGAWA_;T)IQc5w%^G#)h@cHU_$ z8i!pTomPjG2;F4?`QSEY?&2TFW&BY}g8gvG8)$RP=*;9Wt4Vb8iUVP25**<{LCO|hw`i0XN}I#%5K3Oh-b^%`Yj>Wr8J>b<5n&V_(j;0j#WGvL zE!i_-MAy+F_%2D(*r=62Xm~xs#kJ_RoeeFOII@DE{3KZ<8b?Z}gC%!Rpe(S^(e9W7 zSK1K^3|%PHW)~Y6RP)GJTDkLJXa{XlLo1_|4e9iC-EU>a5~4eBFjK!ZCtK0!O2~xy zDrH=FK|*nIB4ENZ)4WjAt|w~jW_qW|bP0-0cnl2sri+OA$Zl9%>R#4N+oQpJ7Zyph zp6o;{7XlRlCP}iuH=-FL72pbcrN$pH8K_6&B%m12dD>A6Hn^Fg?c~}(y%=F(D5->? zPc!0AtSa1GbBHYL%O16!I<@@{CDtyc@?{J!@lsRVk>JCQQ6zBWlKa|3dw37@)FI{u z+nPn8OTRh~mBj%v4Ri!u_UUR)>C9t%<9CSt4%KvG1GS%&Ny4#Z8Ivg#s9LMi(o&CT zrUz_|$<|_NUQHJ>O!q*D-$)==CL(J_-^OIKKcRRjP3UeCVM}OcZDchxg(-<{FRlpD zNb-vQ3;i_D_@zdc<)>A%l2~ir2u=aFd*<~blqB+Gy|h*vZLYF$%N-|e!JJ0PXodx? zv_)>xs99b}dN8?>yI#poCV6#4Qc4rhJUG?16Ij#fZeT`{R+q+_QN@fHW>nhAu^AOD z3bA2?mMsnYB`4U%w^Txygc@MHoj>*^Vu3O+V7O?sVeoInb;K8o4_JgF{FrdL+1y*q91y6c%&#sB)*1B4^ zv|Dkymey)FycZbxu1a)nvT}%2a5svAl5~76BadGnqGd6AW*P<5|8+5m_&hAk+w|xX z`%e0${rdx|$m~U}p5oxbbuRo+&J>{)JIzrOHn$sMBpa2CuU=;uU)e|l8E7KrLyc+D zpxoqA>EJ3It*`@EmcS~cCUD}Tg%s)*L-a^4-Nr9Y`Bj;&H~vv};00%lgmw~-${Ushk$ZOpSS!7!f)&&`=L*nW8cN<8DSbEhSW{arDk zV}3M3wZ9(GYvi>!euqHrGDM7Je75vac2Jp8;xL-Ao|0kXOc5x|e3n5`7v2k9FKKDl z^U@&mpphR)sG8bDsipFHLMju5=R_yM{x&Gf%vCZ&?JG~KeOEHR>P}!C0*&I9G(gy- zHZ-Y2M3oOCRD|)m@`skAuUgnCq{|*3l#4_i!?dGJOjzuK*%)IgYvZO;Gw{*g_Q^N| zn%A|@aDVW}&27EjJ|-O6F?~#TIy8uzrqgk;5YsY^<;3zu+jweku@DgpDKdxw6}m|S zZ4XVeEj4wz8!Pji1H2Id?fwCG)c#>Wh+C1qH(pKv4pysF+*ab zvS^wua!2Gw(`=ebycwm5YhUL^wLON(=}wWkMu7OMU#&{HCEuH;wB9@iTAutRK%d@y z1Rx?H*rjws9kO5VI0I#nXV11ZQDYV;G5t5$m@i)yjmZ4;$Av8pRs2<|Z zL}R@19{EnDCN9bAXtst(LHM_Bk$q#JGoaBV@}zN(dob-;CY1IS6I6N8q9ImZCDNzU zrLl7;#mV)ZWLAXQRJ3Cf#7`!mOzk)g`L{Is+RYkJUa5tzhWD|y+SU0MqiV!VMG_5( z&4k&ZyQg^Q1*ZoNWupk86c;z9SG%H-ohd!;q&A_ZpdKABEu(^?N>AZvg3=*dKV^*F z1bY?&8_CAaD8TVDn}XoTGxTxmDHMQCXtK*VO+WkV z=K$WjmW1n*#I7Iflg32fXCBfW@0@% z-_4>&u&OX0dZ|I?I;5a2p{IHR9?tpZutb%@-J)VO`}0aQc3BpsH+{CbFqL;G5z@(J zG;zn@&TaTr4m_3@d$Apym~=E3nRYEAl~@w)>LU9!y9?v_aqQyzBz zwM`Yej!-KBI(^#${WwF+U&&5%+-wdD01kq$kmGwhkiRze#bvWGlI+SB7D&1Zh7aqz zmS!soSZn^3iI>;>7XMl?K$XWE-sDWo6cvf`OfGcSsIKm({w>E^SIL>xk?ngWJ8qF5 zo@l4f>L3^;UIZ57TUwInJ$V-u0Y% zVPci!qwBpkQU|;$%w^`SZMxCCfu9b3(siIK7};Fm9Qc9W7>(EJ3~?>+Iq_qXYOEXS zQ!Kjdwj|BmzQ9$>X`py1wNwa5y%8cdwVOI--Q3fMbRFZ~~bhx4@E1gk_?p zljsWqFdEEA2A;g;!Rz@$dAu3Y&n7aSE#M+uE#GYoH3$AIx8U-MkyAfm(crLXNLV~L zEFPkbnp*VsaUJH;VOKxf8Z9h<=`FP3+9g_#Q>410C)E2^5QCG>?+vsLqk62}VMh(2 zG&Be+n`t$H5hSy}Q4bmo0*MJ)$7?!(`N^m|hYcl7GB%$};R6ed3wwR1sadIqGed#H zR%FbyNrqLi^jae8%YA&>Y{v;5Q;}=*f;QXRWSRFg8Sd@s;Rc4fRMR2` zdaCoJv`>%R8gDr&oXB9wD|Oo|6PczJLWTDd%ZYuTd7+)bglD-6)Ns~Vvbvoqt)B5CrX zTE@pSip0px+D_K>TxV}WHCk*LH83zS5-Z-z->V0iN>P+56lVscqa0+2_*&2=x)vo; zv&f35NhACY8&)bkfCP7snGPDAR%{dftOkwDY>IKRnucw===5+`h@Ih=DM$rPU@T=D zL7A7$ttKZi!c608-FF_n6&OU{m}sj?eVNmQ1^XI=+GaAp{MvySs~n}wD+H+6K+v*JVS(eZd3-L}#Sj;3oh zOHw6gX1p|Us~DkEjgP#E)nW$H)GAIP@ELh+gVPG`G}T6HYJu`6Zz^j$2cI(SYT0tI zki|w};~`ZKg*6vL_1NS%tbjATbmZ$%A>`qcNiZ5Vws7c zNQzGby3aV##HliEG%~CgNXdwEWkyK_Mt!Wps8b-eb0#67#ETgwxi2#0x`jfIN?4)3 z;P7anaZDn^5lmqgMt&Q)ZZ?CsU<<=k(BL}V3(0EF?AT${re@n)NJ?9KUW{3OjfkHK zrOpcS;uLFd^;6=Ap#&N$|N7wQ&L0gL1vUZgar`~p^)gj z%g5;KD7Ov)cSLgVNSe#c&it1U7UI`fLY03t%k)`ikuSQHh0Wi1zE=EBcEz<`hus>P;XZy9 zo5gFCEM8q}CSuW8%7uQ+AT|$E$D%4=6q+&jU#FaU_hXy^ADHan`J$w_iLovzB!5NC z(&!dslVZ_x^)R8Eok%ww17;M^a$D&WVk@SsF!jl`>Pg45R|JYO+{p!1!6-gIig!cU z`?c&VW?Do|lh-RGs2(SXt-TrUZ&6n5x`85-qz!2QTO1jm>8)uO8<84he(VLFygT|B zTNnAs&PdB*n%0c0W9mg`$a$^vVAiHe4JSO1Kt+j+u+ar=x)hM1B`2|o4vWl+Tysf# zr%Nqu5s@r< zC&MHQMP^GKMqs0>1*#kh!uIh+oj14;Gu(w)$(&%v7Gfdljvnl^EUTTJJX&Wjk7%n) z?{_cO`(tr(pcQMVkbSaFa_dBg=$60#R*QuA%sPp3MSVS60W_bu!$e#KYP*S!IWxbc zt?y`Ai~x_AB9=7UmDD~S+2doca7xlc3_QK8t3@ZJZw;A2l@ZZy4ie242|#hfjD*uD zDj_}dLl3USfCe99FefxY?YdC1Y{pw@nF=llr-x-`q6@JbyBeW>*mj7IF^lSEwwC#} zh^^X8Hq}^rF`!iW2tRZ z$GQ(%dj!md2y_gMl%rz%fFS*{VS%+($_2)G;Kzfq~geq4-o%QJI?4zu?qiY2A`# zk~~v0Gv!h;z7~@l#6D#e>dA5C+fa7fK$@bR8b%T?pZFX^n z$RA_9z0e{SAXJ8~UZDS3DHtt+ypGcEYBPq<$lElYpL#-3GGZYN6g__6U~Z7JQ;<$t zsXJ?5GVbcyW4r9kuw@VP2Ex2yh~!nYl(Kye4R>sO82RWmK7XNvwIoBmi^fU`a@aDlR=;3YfzHwZ z9fkY`(^m%~Au0rvW?>3#4x4R3dSi60@XqAMDixOU?BpUVjZ(gae6X+fZ72J{!Sufc zGdXNBGqk}Uj#7ubQxk_`#xY~;DNHIwPb5bJ5o{9jEHJXW8&$DPR3>i%|2<|szce%% zR7++h!+fY*&?HuH$8;@Hkx2G-r74`#)wEP8+}@S!aohW#ln~;=GZ}e!CC#T2`i^g* zYbV*qF>f6j3%w=g^>|JikLX7m^>hsx1Dd^;86O}>mRrf_8fRK1DfU$MjNv|TufOiJ z6#1+HJ0V!xXHj~rR_UyXlD?XV4vGlXYSI%I_up%sB)3JqTQcb}@mNXIgq%$rpS4Ls zNXjjZctMM9Gn~#TJMXWW-1H>oC~I+eGl?k**UL^t=i(7gtjFN32BO-A?x>CxlISdx z-f?Mn;0mhZwBwG32Q(6Bc#h!3Elahu#nxzAQ#<+);)!nwx^dBu+n?a)uTZiIB)q(ns(XMvJ!^wEE&ohITeTD&_FFY(;ROHLlPZmfV zRa2$re!Cn8=^4lcj-khTO60@E?6q1+HwaXNa2uV^k~rfzW{6_@Wscw+&rA!+gcem^ zQ7bEHwS4l*wnZNt3zky@+nF=%s6urvOvGmhVJoVvmW& zY05TT`(SNHhtrWsL(4>x*O(nHbU-<^j(W{<(|Kyluc;hZpiCl(yvAgyn-B~3xFbhM znj}oD;o55;Eq1H^Xyx^1E1D%yUd123CU&o36kbM7$(d94MH{guQe1Zln>1gUGgGBU zsxnVDew985MNXtTx6u-;n{e5`H3HA(Pm6)(0Kpy^vl_~L_DMZkCyLgoVVKo!Z+{zM z$E!Um1QuIJVp)8)9k15H0zX-hM4eXKQE45^+Z3lhTiJ*e1{eY9briWdo5xOEZx?r0m&2 zr4ZEoxRyOE!o6K%PKHsnLggZJC~+z~L*!?Xy`!c5Rge6{SJY;)H5U((#AkbSv9XT1 z!HYvIrG=A@u_%pGBp!}uSa*l;e4%At4E*}2B%gK~S^K@vn=|7josevPBox|rHtcQI zN5*AQfCbutW=h`0m9jfMA`-W-53=5+`IT@w0rIlo#p_-FQ}Vb~6u#HLyN}??1=opQO_A6dDp%ceAY*^I9bQ z;fAF3=J~RD&y~ut#MZ2IVn5Mr#=$mZ=2|(UF};PA2~0Qo82)(s%;nOEb}@6l39gFa z;)mp6FiDct3?jGC3odF9heFRn0GiMi)y!@)Xq>)P8IAoWlV}k&5+G3Ru?Y9kk)f93 zH#VD^$ah{)!3Kp&$=D#ErIPnmXS*g>u_U7w88C=5WKi_(x-C(RVA2)g@L*f@^b)KV zSK98UZVIuBsCgd>i6`AB=-hT&;i+IEYnZ?m*aeXq-8IdcK`a4UP!sfmKb}Z+OKS@| zm)j(ZTq+@v82SK8j<>)*qkz28x*VgLA)EzY9E*%KmAR)@Nsf^pt`whM^6kb}VTjRf zCfqu1dEG($XiCTkG=<|MAM+_An$9kw_p78N3ZhX4nRbeoQAJ8mh26(YXG$W%8AAD5 zr!X8)C<@d?eJp{}735D^qUW5Jwhh}5hh|_^>L?=ZPs9>L3{8t9n!Y3fYU?CK&N~)d z49;v~!>Tt0=XtXXg>R88I3#gChYZ<}pdb_r+!Eb7<1vv4i_t9D$+T7@P3?@1B}<@E zAunu{NrOP(+Bi$z0L%dsuQt3mEMUTm1ZW~t(Cn=3#3+#fl@?pYI@pV;4fBerwUg>E zmufH|YG@Fos~nbKI;XfF>%u)vh>b9jqqP;F^^6ATvJ$I_j*&ts# zL&nH)lOx7_*IMa7*~TSJq9yau!~`bcFUT*SWDRFZU%o|4$Z1-*QbaF>RjQqGJ%8=O z$xM%SMF>wBaP2H%Ip06t;NuzsipKdpH=2ozBilsEc-bZdFBFqCdo_RdudLXy*G>t2 zhrI@CwhN$~Y|kYb9ekNa5=8nDqVEu^>DP0AiE6+E1-yRgAhX$LSGB`4N-etogstbMX3P$} zaFKUI-)(C49WjakPb9I}z&F(MK16-T8e@^|#*L?lUzJC)VBAD$JC;fTR;SOm|B2jyhnH25SRqs`C{```m`qWPV+TI!5h6 z)*GFTX%$@=<61j)sKq95 zQwvR6Ir_-433_`h?n28b&fbMhG9na(1(Cu9&UVni-uhD6@1(L%Mnm7SPjuF~6ODMl zaekGNgtl#%O6*-4Gv3Zb6ZB=OE&fFrvvE;qB0hMbzO_#KCPr7TXly;Q3+HM{T^J_~ zg<0E{%AN*~A*Qy-Cem8&*jguZ9iwz~WO9;4CP@UE6Z7tT+$b_~QC6-AiP!h|EyJRn zJThzPuJpSaRUx~m1KZeSgS;#0k8x|obCYbU&Cr%tBu&hvamCfFZ0J!i(IgH=h;6X4 zi+52;K$pi*3rt*Ng1ff6oJ^?*s>_vH) zwQ;}2*EhCr;=)v>j5~|!Nz+?c4QaNS(Sa`6r)ECWsHpIw6jMSjB?Ed&rlxJs7Bw*y zPSz%xWJ%>)6G=$*oWEYs#K4<4vno-(hAKTtcQ*1nCW479Nsq>>Bn>9Lm1=aY1*8-d zC=D`-4M}*KS);(fUS)BE7`QvZr|mdN_OsLdD^VY>UooCTOuA|o4n)*B)ve;N4y1*L z$PC@LVk&hMIn@Gv5s$fvN1aGBs70DP=kK~wG#$+;IRxV#oWOE*lwF4Of}4a-U4b9t zgJGn{=Mr5EDoV*SMW#vA!b9sy+rWm*7Q4cDE*=`)j-l2$hqPN8K;TgD1|uhXxPiec zLzI$;0NaU@@GD)<(`nZ?A~eE%rt`T5g85fFbu7)by*Rz873z>sXAcguhlJTf2@J|W zL1B_t4`Cq;ZyPiJ4iTHidXXgS+Ynr6;pBl`dMwlUh#oDaPzUv@epe?6P_r8WK%Hv0=lx7=^}(B?cE=emELjZA)IfYG+Y6^IITYkU z#9>kyfcxiM!YD(@l*Nh5qKvVzE+)D+6pFAwL(=`sRKi}3tT^hVplTAsPN_(YyGl)B zm*mNMdtw+%pvbJKBoc>|q^|Bvv`JuIK#8dpWK6HAVF_4hw2r9K`EGg+EE=ZT->L;3oK07gFF~A8Um1E+jsBZOwJ;(rGNA>RBtt0Ylrt zg+(GtSIkmBhoN*w`B9iN$u$~UyCkMI$ERf^wg{eCfw3_V=fdgHF!ADhg~_3|bh3*H zR=edvnI+zsjR#YZ+IYhW{1+>9vZfTeh6KXEWJF=|WzShRtJ%&_T)o5V)Ji#)DWevQ zD6Nsa-D{4FQ>05@>5Wl44(q#X1x}$GC0S1Mktmx{Cj~BTwltk6u%bX*?KH8Wm=1pJ*fbljzFi>1|;d2M{}g%ygU{nq-1xj>~f_3-m*by*#iL z$(=|b7_(OEbMy>fan&w~`{Ko`FU}ZDHK1ww@*Bup&&&ufQ)G&%G+%09)w9wj(u|an zU5({gh^1>;^Fmkq&J&K!9msNv3F(`4+Oo0Q6yw;G8Wd7B?Ga9_H!Wx!TAbxkQoaRR zSK2PJPb=0m<8bZ9>>4xSbikolVzNfH9dMO^Q$@}~j$=J#z%5wT6>LzCNhnBrGDp{%^ev1|?`OF80YhaE(W2HNR&zc4YK1Ma z79+I%!dv4)M~+N^bUJnG9Wz;N+hI5{jdTLjdKYO-n

    0 0 0 6 0 1 2 0 2 2 1 3 14 1 4 3 1 5 7 2 6 28 2 7 5 2 8 1 3 9 7 3 10 5 3 11 3 4 12 26 4 13 2 4 14 2 5 15 12 5 16 13 5 17 13 6 18 22 6 19 14 6 20 13 7 21 20 7 22 21 7 23 0 8 24 8 8 25 10 8 26 4 9 27 9 9 28 5 9 29 6 10 30 11 10 31 12 10 32 1 11 33 9 11 34 8 11 35 0 12 36 15 12 37 4 12 38 3 13 39 11 13 40 7 13 41 18 14 42 43 14 43 23 14 44 17 15 45 36 15 46 16 15 47 10 16 48 16 16 49 18 16 50 14 17 51 19 17 52 11 17 53 15 18 54 17 18 55 9 18 56 12 19 57 19 19 58 20 19 59 8 20 60 17 20 61 16 20 62 10 21 63 23 21 64 15 21 65 24 22 66 27 22 67 25 22 68 0 23 69 25 23 70 1 23 71 1 24 72 27 24 73 3 24 74 0 25 75 26 25 76 24 25 77 31 26 78 34 26 79 30 26 80 4 27 81 30 27 82 6 27 83 4 28 84 28 28 85 31 28 86 6 29 87 29 29 88 7 29 89 34 30 90 32 30 91 33 30 92 30 31 93 33 31 94 29 31 95 31 32 96 32 32 97 35 32 98 29 33 99 32 33 100 28 33 101 41 34 102 39 34 103 42 34 104 43 35 105 36 35 106 37 35 107 20 14 108 41 14 109 21 14 110 21 22 111 42 22 112 22 22 113 16 22 114 38 22 115 18 22 116 22 15 117 39 15 118 19 15 119 37 35 120 50 35 121 43 35 122 39 15 123 44 15 124 19 15 125 51 36 126 55 36 127 59 36 128 49 37 129 53 37 130 57 37 131 40 34 132 48 34 133 39 34 134 43 14 135 46 14 136 23 14 137 20 14 138 49 14 139 40 14 140 17 15 141 51 15 142 37 15 143 23 34 144 47 34 145 17 34 146 19 35 147 45 35 148 20 35 149 59 38 150 66 38 151 58 38 152 58 39 153 62 39 154 54 39 155 49 40 156 56 40 157 48 40 158 45 41 159 52 41 160 53 41 161 48 42 162 52 42 163 44 42 164 50 43 165 54 43 166 46 43 167 50 44 168 59 44 169 58 44 170 46 45 171 55 45 172 47 45 173 62 30 174 67 30 175 63 30 176 60 30 177 65 30 178 61 30 179 54 46 180 63 46 181 55 46 182 53 39 183 65 39 184 57 39 185 55 47 186 67 47 187 59 47 188 57 46 189 64 46 190 56 46 191 52 38 192 61 38 193 53 38 194 56 47 195 60 47 196 52 47 197 0 48 198 4 48 199 6 48 200 2 49 201 13 49 202 14 49 203 7 50 204 29 50 205 28 50 206 1 51 207 3 51 208 7 51 209 3 52 210 27 52 211 26 52 212 2 53 213 6 53 214 12 53 215 13 54 216 21 54 217 22 54 218 13 55 219 12 55 220 20 55 221 0 56 222 1 56 223 8 56 224 4 57 225 15 57 226 9 57 227 6 58 228 7 58 229 11 58 230 1 59 231 5 59 232 9 59 233 0 60 234 10 60 235 15 60 236 3 61 237 14 61 238 11 61 239 18 14 240 38 14 241 43 14 242 17 15 243 37 15 244 36 15 245 10 62 246 8 62 247 16 62 248 14 63 249 22 63 250 19 63 251 15 64 252 23 64 253 17 64 254 12 65 255 11 65 256 19 65 257 8 66 258 9 66 259 17 66 260 10 67 261 18 67 262 23 67 263 24 22 264 26 22 265 27 22 266 0 68 267 24 68 268 25 68 269 1 69 270 25 69 271 27 69 272 0 70 273 2 70 274 26 70 275 31 71 276 35 71 277 34 71 278 4 72 279 31 72 280 30 72 281 4 73 282 5 73 283 28 73 284 6 74 285 30 74 286 29 74 287 34 30 288 35 30 289 32 30 290 30 75 291 34 75 292 33 75 293 31 76 294 28 76 295 32 76 296 29 77 297 33 77 298 32 77 299 41 34 300 40 34 301 39 34 302 43 35 303 38 35 304 36 35 305 20 14 306 40 14 307 41 14 308 21 22 309 41 22 310 42 22 311 16 22 312 36 22 313 38 22 314 22 15 315 42 15 316 39 15 317 37 35 318 51 35 319 50 35 320 39 15 321 48 15 322 44 15 323 51 42 324 47 42 325 55 42 326 49 43 327 45 43 328 53 43 329 40 34 330 49 34 331 48 34 332 43 14 333 50 14 334 46 14 335 20 14 336 45 14 337 49 14 338 17 15 339 47 15 340 51 15 341 23 34 342 46 34 343 47 34 344 19 35 345 44 35 346 45 35 347 59 78 348 67 78 349 66 78 350 58 79 351 66 79 352 62 79 353 49 80 354 57 80 355 56 80 356 45 81 357 44 81 358 52 81 359 48 36 360 56 36 361 52 36 362 50 37 363 58 37 364 54 37 365 50 82 366 51 82 367 59 82 368 46 83 369 54 83 370 55 83 371 62 30 372 66 30 373 67 30 374 60 30 375 64 30 376 65 30 377 54 84 378 62 84 379 63 84 380 53 79 381 61 79 382 65 79 383 55 85 384 63 85 385 67 85 386 57 84 387 65 84 388 64 84 389 52 78 390 60 78 391 61 78 392 56 85 393 64 85 394 60 85 395

    + + + + + + + + 0.6859207 -0.3240135 0.6515582 7.358891 0.7276763 0.3054208 -0.6141704 -6.925791 0 0.8953956 0.4452714 4.958309 0 0 0 1 + + + + -0.2908646 -0.7711008 0.5663932 4.076245 0.9551712 -0.1998834 0.2183912 1.005454 -0.05518906 0.6045247 0.7946723 5.903862 0 0 0 1 + + + + 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/spaceship.mtl b/examples/spaceship.mtl new file mode 100644 index 0000000..171bfcd --- /dev/null +++ b/examples/spaceship.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'spaceship.blend' +# Material Count: 1 + +newmtl Material +Ns 323.999994 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd spaceship_uv.psd diff --git a/examples/spaceship.obj b/examples/spaceship.obj new file mode 100644 index 0000000..c9325bc --- /dev/null +++ b/examples/spaceship.obj @@ -0,0 +1,432 @@ +# Blender v2.90.1 OBJ File: 'spaceship.blend' +# www.blender.org +mtllib spaceship.mtl +o SpaceShip_Cube +v -0.050800 -0.042935 0.032930 +v -0.050800 0.042935 0.019082 +v -0.050800 -0.042935 -0.042935 +v -0.050800 0.042935 -0.023071 +v 0.247451 -0.022926 0.032930 +v 0.247451 0.022926 0.023071 +v 0.247451 -0.022926 -0.032930 +v 0.247451 0.022926 -0.023071 +v -0.042935 -0.007477 0.050532 +v 0.223038 -0.007477 0.050532 +v -0.042935 -0.030576 0.050532 +v 0.223038 -0.007477 -0.050532 +v 0.223038 -0.030576 -0.050532 +v -0.042935 -0.030576 -0.050532 +v -0.042935 -0.007477 -0.050532 +v 0.223038 -0.030576 0.050532 +v -0.108820 -0.078745 0.224275 +v 0.049143 -0.078745 0.224275 +v -0.108820 -0.083764 0.224275 +v 0.049143 -0.078745 -0.224275 +v 0.049143 -0.083764 -0.224275 +v -0.108820 -0.083764 -0.224275 +v -0.108820 -0.078745 -0.224275 +v 0.049143 -0.083764 0.224275 +v -0.089841 -0.008713 0.030597 +v -0.089841 0.008713 0.030597 +v -0.089841 -0.008713 -0.030597 +v -0.089841 0.008713 -0.030597 +v 0.298773 0.011864 0.022926 +v 0.298773 0.011864 -0.022926 +v 0.298773 -0.018683 -0.022926 +v 0.298773 -0.018683 0.022926 +v 0.328190 -0.004551 0.011885 +v 0.328190 -0.004551 -0.011885 +v 0.328190 -0.014516 -0.011885 +v 0.328190 -0.014516 0.011885 +v -0.108820 -0.078745 0.229831 +v 0.049143 -0.078745 0.229831 +v -0.108820 -0.083764 0.229831 +v 0.049143 -0.078745 -0.229831 +v 0.049143 -0.083764 -0.229831 +v -0.108820 -0.083764 -0.229831 +v -0.108820 -0.078745 -0.229831 +v 0.049143 -0.083764 0.229831 +v 0.199522 -0.078745 -0.224275 +v 0.199522 -0.083764 -0.224275 +v 0.199522 -0.083764 0.224275 +v 0.199522 -0.078745 0.224275 +v 0.199522 -0.078745 -0.229831 +v 0.199522 -0.083764 -0.229831 +v 0.199522 -0.083764 0.229831 +v 0.199522 -0.078745 0.229831 +v 0.204048 -0.076236 -0.221498 +v 0.204048 -0.086274 -0.221498 +v 0.204048 -0.086274 0.221498 +v 0.204048 -0.076236 0.221498 +v 0.204048 -0.076236 -0.232609 +v 0.204048 -0.086274 -0.232609 +v 0.204048 -0.086274 0.232609 +v 0.204048 -0.076236 0.232609 +v 0.213703 -0.078745 -0.224275 +v 0.213703 -0.083764 -0.224275 +v 0.213703 -0.083764 0.224275 +v 0.213703 -0.078745 0.224275 +v 0.213703 -0.078745 -0.229831 +v 0.213703 -0.083764 -0.229831 +v 0.213703 -0.083764 0.229831 +v 0.213703 -0.078745 0.229831 +vt 0.468824 0.313296 +vt 0.099856 0.235435 +vt 0.468824 0.223730 +vt 0.769216 0.222017 +vt 0.811329 0.236291 +vt 0.849311 0.292540 +vt 0.988374 0.777047 +vt 0.931838 0.838552 +vt 0.931314 0.777047 +vt 0.936581 0.424216 +vt 0.274456 0.549235 +vt 0.226131 0.610752 +vt 0.226081 0.590190 +vt 0.130004 0.214692 +vt 0.459198 0.214701 +vt 0.786521 0.222736 +vt 0.845920 0.008576 +vt 0.344764 0.009831 +vt 0.540275 0.009837 +vt 0.069160 0.615883 +vt 0.118616 0.612715 +vt 0.094213 0.626925 +vt 0.867099 0.723584 +vt 0.882852 0.689098 +vt 0.924327 0.722185 +vt 0.012170 0.643373 +vt 0.028512 0.673086 +vt 0.000000 0.671272 +vt 0.924327 0.381859 +vt 0.860601 0.386231 +vt 0.130004 0.334007 +vt 0.099856 0.313190 +vt 0.069160 1.000000 +vt 0.069160 0.647117 +vt 0.540275 0.539396 +vt 0.344764 0.545949 +vt 0.344764 0.539391 +vt 0.753235 0.576329 +vt 0.761907 0.762006 +vt 0.755038 0.762091 +vt 0.147507 0.821091 +vt 0.142205 0.824179 +vt 0.543083 0.069077 +vt 0.760678 0.185764 +vt 0.540275 0.381859 +vt 0.854374 0.691278 +vt 0.768095 0.446190 +vt 0.151047 0.559585 +vt 0.177499 0.770946 +vt 0.171752 0.773194 +vt 0.543310 0.694640 +vt 0.459198 0.334016 +vt 0.320856 0.549235 +vt 0.299288 0.620796 +vt 0.299288 0.549261 +vt 0.226081 0.549235 +vt 0.178382 0.612135 +vt 0.177499 0.591594 +vt 1.000000 0.381859 +vt 0.988708 0.424216 +vt 0.517446 0.238132 +vt 0.517446 0.310378 +vt 0.036373 0.301356 +vt 0.000000 0.260237 +vt 0.036373 0.247224 +vt 0.914994 0.781713 +vt 0.877334 0.784597 +vt 0.059762 0.585798 +vt 0.333190 0.549235 +vt 0.320856 0.577299 +vt 0.320856 0.549235 +vt 0.022057 0.583399 +vt 0.042379 0.550018 +vt 0.898002 0.820040 +vt 0.885717 0.820981 +vt 0.988538 0.838552 +vt 0.946219 0.874854 +vt 0.858640 0.000000 +vt 0.852366 0.186483 +vt 0.852431 0.000000 +vt 0.866435 0.180323 +vt 0.874144 0.000000 +vt 0.872642 0.180310 +vt 0.540275 0.003278 +vt 0.840530 0.005631 +vt 0.849311 0.002945 +vt 0.145745 0.829726 +vt 0.762346 0.000000 +vt 0.767548 0.185795 +vt 0.865005 0.351976 +vt 0.759090 0.362608 +vt 0.758388 0.399400 +vt 0.748169 0.394465 +vt 0.761907 0.394294 +vt 0.158641 0.003267 +vt 0.153017 0.013117 +vt 0.153017 0.000000 +vt 0.858575 0.186483 +vt 0.852304 0.364013 +vt 0.158641 0.539386 +vt 0.344764 0.003273 +vt 0.760105 0.576243 +vt 0.283719 0.549236 +vt 0.277448 0.726765 +vt 0.277510 0.549235 +vt 0.287971 0.737071 +vt 0.296002 0.565422 +vt 0.294178 0.737071 +vt 0.861729 0.356311 +vt 0.871078 0.368150 +vt 0.864870 0.368163 +vt 0.153017 0.549235 +vt 0.141089 0.539385 +vt 0.153017 0.536118 +vt 0.858512 0.364013 +vt 0.849311 0.369389 +vt 0.286873 0.561094 +vt 0.299288 0.561094 +vt 0.765960 0.362639 +vt 0.755477 0.367653 +vt 0.158641 0.545944 +vt 0.874144 0.356285 +vt 0.283657 0.726765 +vt 0.274456 0.732141 +vt 0.345614 0.549235 +vt 0.339402 0.555794 +vt 0.339402 0.549235 +vt 0.333190 0.555794 +vt 0.339402 0.549235 +vt 0.339402 0.555794 +vt 0.286873 0.732141 +vt 0.277442 0.743506 +vt 0.141089 0.003267 +vt 0.758227 0.382724 +vt 0.858507 0.380754 +vt 0.852298 0.380754 +vt 0.296174 0.549235 +vt 0.769216 0.367716 +vt 0.758941 0.379285 +vt 0.274456 0.651335 +vt 0.151047 0.549235 +vt 0.006488 0.986377 +vt 0.540275 0.545955 +vt 0.761907 0.446664 +vt 0.177499 0.549235 +vt 0.540275 0.381859 +vt 0.320856 0.620771 +vt 0.226081 0.651231 +vt 0.924327 0.381859 +vt 0.000000 0.288300 +vt 0.333190 0.577299 +vt 0.030080 0.549235 +vt 0.975613 0.874854 +vt 0.867936 0.000013 +vt 0.843921 0.000000 +vt 0.151047 0.826638 +vt 0.769216 0.000031 +vt 0.871213 0.351963 +vt 0.751519 0.399485 +vt 0.158641 0.009826 +vt 0.289795 0.565422 +vt 0.141089 0.545944 +vt 0.861729 0.369389 +vt 0.345614 0.555794 +vt 0.333190 0.549235 +vt 0.283651 0.743506 +vt 0.141089 0.009826 +vt 0.751357 0.382809 +vt 0.289967 0.549236 +vt 0.765810 0.379316 +vn -0.0669 0.9978 0.0000 +vn 0.8905 -0.1025 0.4433 +vn -0.2107 -0.9776 0.0000 +vn -0.0669 -0.9978 0.0000 +vn 0.3013 0.0000 0.9535 +vn 0.0000 0.5237 0.8519 +vn 0.9350 0.0000 -0.3546 +vn 0.0000 0.9562 -0.2927 +vn 0.9130 0.0000 -0.4080 +vn -0.6423 -0.1611 -0.7494 +vn -0.5848 0.0000 0.8111 +vn 0.0000 -0.5293 -0.8484 +vn -0.0634 0.9444 0.3226 +vn -0.0436 -0.6501 0.7586 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.9350 0.0000 0.3546 +vn 0.0000 -0.9252 0.3795 +vn -0.7068 0.0000 -0.7074 +vn -0.7068 0.0000 0.7074 +vn 0.0000 -0.9252 -0.3795 +vn 0.0000 0.9562 0.2927 +vn 1.0000 0.0000 0.0000 +vn -0.2829 0.0000 -0.9592 +vn 0.6592 -0.7520 0.0000 +vn 0.6592 0.7520 0.0000 +vn -0.1403 0.9901 0.0000 +vn -0.0824 0.9966 0.0000 +vn -0.1913 0.0000 -0.9815 +vn -0.0480 -0.2100 0.9765 +vn -1.0000 0.0000 0.0000 +vn -0.3514 0.0000 0.9362 +vn -0.3514 0.0000 -0.9362 +vn -0.4873 -0.8732 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.4849 -0.8746 0.0000 +vn 0.4849 0.8746 0.0000 +vn -0.2765 0.0000 -0.9610 +vn -0.2516 0.9678 0.0000 +vn 0.5231 0.0000 0.8523 +vn 0.5231 0.0000 -0.8523 +vn -0.2765 0.0000 0.9610 +vn -0.2516 -0.9678 0.0000 +vn 0.6947 0.0000 0.7193 +vn 0.0097 -0.2254 0.9742 +vn -0.0518 0.9401 -0.3368 +vn 0.9463 -0.0515 -0.3192 +vn -0.5848 0.0000 -0.8111 +vn -0.6423 -0.1611 0.7494 +vn -0.0338 -0.6548 -0.7550 +vn 0.0000 0.8184 -0.5746 +vn 0.0000 -0.4784 0.8782 +vn -0.0803 -0.1587 -0.9841 +vn -0.0480 -0.2100 -0.9765 +vn -0.1913 0.0000 0.9815 +usemtl Material +s off +f 1/1/1 7/2/1 3/3/1 +f 3/4/2 15/5/2 4/6/2 +f 8/7/3 29/8/3 6/9/3 +f 2/10/4 8/7/4 6/9/4 +f 3/11/5 28/12/5 27/13/5 +f 3/3/6 13/14/6 14/15/6 +f 14/16/7 23/17/7 15/5/7 +f 14/15/8 21/18/8 22/19/8 +f 1/20/9 9/21/9 11/22/9 +f 5/23/10 10/24/10 6/25/10 +f 7/26/11 12/27/11 13/28/11 +f 2/29/12 10/24/12 9/30/12 +f 1/1/13 16/31/13 5/32/13 +f 4/33/14 12/27/14 8/34/14 +f 19/35/15 44/36/15 24/37/15 +f 18/38/16 37/39/16 17/40/16 +f 11/22/17 17/41/17 19/42/17 +f 15/43/18 20/44/18 12/45/18 +f 16/46/19 18/47/19 10/24/19 +f 13/48/20 20/49/20 21/50/20 +f 9/51/21 18/38/21 17/40/21 +f 11/52/22 24/37/22 16/31/22 +f 25/53/23 28/54/23 26/55/23 +f 2/56/24 25/57/24 26/58/24 +f 2/10/25 28/59/25 4/60/25 +f 1/1/26 27/61/26 25/62/26 +f 32/63/27 35/64/27 31/65/27 +f 7/2/28 32/63/28 31/65/28 +f 5/23/29 29/66/29 32/67/29 +f 7/26/30 30/68/30 8/34/30 +f 35/69/31 33/70/31 34/71/31 +f 31/72/32 34/73/32 30/68/32 +f 32/67/33 33/74/33 36/75/33 +f 30/76/34 33/77/34 29/8/34 +f 42/78/35 40/79/35 43/80/35 +f 44/81/36 37/82/36 38/83/36 +f 21/18/15 42/84/15 22/19/15 +f 22/85/23 43/86/23 23/17/23 +f 17/41/23 39/87/23 19/42/23 +f 23/88/16 40/89/16 20/44/16 +f 38/83/36 51/90/36 44/81/36 +f 40/89/16 45/91/16 20/44/16 +f 52/92/37 56/93/37 60/94/37 +f 50/95/38 54/96/38 58/97/38 +f 41/98/35 49/99/35 40/79/35 +f 44/36/15 47/100/15 24/37/15 +f 21/18/15 50/95/15 41/101/15 +f 18/38/16 52/92/16 38/102/16 +f 24/103/35 48/104/35 18/105/35 +f 20/106/36 46/107/36 21/108/36 +f 59/109/39 68/110/39 67/111/39 +f 59/112/40 63/113/40 55/114/40 +f 50/115/41 57/116/41 49/99/41 +f 46/107/42 53/117/42 54/118/42 +f 49/119/37 53/120/37 45/91/37 +f 51/121/38 55/114/38 47/100/38 +f 51/90/42 60/122/42 59/109/42 +f 47/123/41 56/124/41 48/104/41 +f 63/125/31 68/126/31 64/127/31 +f 61/128/31 66/129/31 62/130/31 +f 55/131/43 64/132/43 56/124/43 +f 54/96/40 66/133/40 58/97/40 +f 56/93/44 68/134/44 60/94/44 +f 57/116/43 66/135/43 65/136/43 +f 53/117/39 62/137/39 54/118/39 +f 57/138/44 61/139/44 53/120/44 +f 1/1/1 5/32/1 7/2/1 +f 3/4/45 14/16/45 15/5/45 +f 8/7/3 30/76/3 29/8/3 +f 2/10/4 4/60/4 8/7/4 +f 3/11/46 4/140/46 28/12/46 +f 3/3/47 7/2/47 13/14/47 +f 14/16/7 22/85/7 23/17/7 +f 14/15/8 13/14/8 21/18/8 +f 1/20/48 2/141/48 9/21/48 +f 5/23/49 16/46/49 10/24/49 +f 7/26/50 8/34/50 12/27/50 +f 2/29/51 6/25/51 10/24/51 +f 1/1/52 11/52/52 16/31/52 +f 4/33/53 15/142/53 12/27/53 +f 19/35/15 39/143/15 44/36/15 +f 18/38/16 38/102/16 37/39/16 +f 11/22/17 9/21/17 17/41/17 +f 15/43/18 23/88/18 20/44/18 +f 16/46/19 24/144/19 18/47/19 +f 13/48/20 12/145/20 20/49/20 +f 9/51/21 10/146/21 18/38/21 +f 11/52/22 19/35/22 24/37/22 +f 25/53/23 27/147/23 28/54/23 +f 2/56/54 1/148/54 25/57/54 +f 2/10/25 26/149/25 28/59/25 +f 1/1/26 3/3/26 27/61/26 +f 32/63/27 36/150/27 35/64/27 +f 7/2/28 5/32/28 32/63/28 +f 5/23/55 6/25/55 29/66/55 +f 7/26/56 31/72/56 30/68/56 +f 35/69/31 36/151/31 33/70/31 +f 31/72/32 35/152/32 34/73/32 +f 32/67/33 29/66/33 33/74/33 +f 30/76/34 34/153/34 33/77/34 +f 42/78/35 41/98/35 40/79/35 +f 44/81/36 39/154/36 37/82/36 +f 21/18/15 41/101/15 42/84/15 +f 22/85/23 42/155/23 43/86/23 +f 17/41/23 37/156/23 39/87/23 +f 23/88/16 43/157/16 40/89/16 +f 38/83/36 52/158/36 51/90/36 +f 40/89/16 49/119/16 45/91/16 +f 52/92/37 48/159/37 56/93/37 +f 50/95/38 46/160/38 54/96/38 +f 41/98/35 50/115/35 49/99/35 +f 44/36/15 51/121/15 47/100/15 +f 21/18/15 46/160/15 50/95/15 +f 18/38/16 48/159/16 52/92/16 +f 24/103/35 47/123/35 48/104/35 +f 20/106/36 45/161/36 46/107/36 +f 59/109/39 60/122/39 68/110/39 +f 59/112/40 67/162/40 63/113/40 +f 50/115/41 58/163/41 57/116/41 +f 46/107/42 45/161/42 53/117/42 +f 49/119/37 57/138/37 53/120/37 +f 51/121/38 59/112/38 55/114/38 +f 51/90/42 52/158/42 60/122/42 +f 47/123/41 55/131/41 56/124/41 +f 63/125/31 67/164/31 68/126/31 +f 61/128/31 65/165/31 66/129/31 +f 55/131/43 63/166/43 64/132/43 +f 54/96/40 62/167/40 66/133/40 +f 56/93/44 64/168/44 68/134/44 +f 57/116/43 58/163/43 66/135/43 +f 53/117/39 61/169/39 62/137/39 +f 57/138/44 65/170/44 61/139/44 diff --git a/examples/spaceship.x3d b/examples/spaceship.x3d new file mode 100644 index 0000000..c3c23e0 --- /dev/null +++ b/examples/spaceship.x3d @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/spaceship_uv.jpg b/examples/spaceship_uv.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ca04d5d8a3ba6ec8d1ec9d2c181e071a25825a9 GIT binary patch literal 749353 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�Sa9tVVo*jJ&83 z?`iw>Ccu129=*e;D`kcsbUM0CTt(eOC) zLpQ7k4UdzEZde~09w!mquzoZ=P9nNt188`hM0CT3(eOBl3*5wg8g&i^?bm433!{4p z=#gflhu(&E$4NvFy&DaWlZbv;4_Y245&f_}v^*B^;3#%opdZ$cmPZhuWEBRdq9Znd zrpKZ#aVmOZ!)SYKDk?^YG0AN@Vw1nk$(VvhLu2s@;&~A1J2vz{m>^PL?3hkGOST?2 zsnP-Hjdi2_5qL>NZ>$IHkCTYrSRdLSClS4|ezZSMB6?#3Xn&kU^u~tK{y2#zxS=%S zqvr{Rp2isLKL+(_#7EEL=x7j)dSmiN1xY(f7SSM3WjsO_(I`+QqCeKdhk+^){joki z4m63wBnSPmem)LViRh0F@Nu9@M1O3Uj{{ZWL2eO^`BdtMsB=2)fKiY#K*~6Ht{kO5 zPuA6>^yNuk17)Xqhc7~e=c4@GLvpU--`$$L%l&tomjC7cyG6_2|JxZqzCV0_sO^as z4|tcIQ5+P(d+aj*J*?$-rT-q#TN;ju0D3l+AQqeQ9qL6-oyw`OP z(_N$TrTkrxST`H~jz#GZ3Vcr?L=2NlvZ<=s8}utLfR z(jy9KTxjr^LORRkJ)uxWIpt>xNpRXC+kp5iKuDU`=K z<(xwKDJj)6F{zNkLW2tm=_i78Q6b$gG?-IJ_i_yu6-pGuD1E~UB_k9#s*ui8-aW&| z719}@0lvj-4sbfyX`uo7iWcbvC-tLku}EpI0-6?!a+s@tmc^nB2^H`i4vX|5S7BmK zA?*_?EGncyp#mBg3-~@r>)J5wYm;`7zzX(@jz?}erY+30ZTadyBv)vmZXdpKTib8; zoK-KYzf&1h@qae;${+E#`te2*Z!7cpJQL5aGJ3wqzGObPv)kDhShe!}3R537#s2*Z zz{ng$PG4r?`6BZEqM7E@k@zW1O8%07{1U;QqZBc!aBlKbifgXQIAd^Ka} z`LnNL^3?dMCe^1>8HeFR-#fk^Xu##i1GRov)(=?qbg6Gwo0`jOC3}oZF70WLF|M_+ z#V8$UQPdXx^8anWqvUT?X8!LYc6~qie(+tM;I$>o7twJTwB(vU3yF@$2^h6(a?k+djMD^@>m)d+D@A(J zkmGDoF5*773NF!MQ?<&^N${w)z@}TT2PJVZ{We-CjFm zT}+93rJhQxHbr#xoU%l2qKoL3vVfN9Ev>c-%pzK%pSz||-|X$nmf|hPTep5!=^qE` z$>94gww(xm;6gnfOs$FfQR0M44j(2?x=`OlndeJeJ9Pl@NAZ-O_q&Kc>f`69>;jeg z3703uTaLGGYq$GG%i#@_Mt%%#N9pPDI+>Ucjs+uHWM&d`!O`I38g(i$8$2C+VhvQv zH$Ml`A)k6GF^;Iwr4^!5OZ}Xt-KoT^8MD;N_vWR}nQ==I+LxC)Z^rIgQVYv1taCZm zUm4zEm-o$hV#wuPGoCo)@}6<0o<|P(@1%2y5tn?=CXTr1(2-YGKE>|4(PFvYfB3ji zXl%E~>i?6aG$tH$PoX z(gK~bE0A+wb_FV{@m&`M^KQV<|8^jdzUsf10y#DbPpf$>2Ub`{qpbv%*pyH6ec;D| zalO|C#xA*(l24^J6-QIxowIC^ZE>`Df|_D67wQM>wKY=R^L5i9zm@gN%`P|JJ0gC4 zKdjCVAELMON?u(iZ+?V6&#SH}2ho=H`zgK;Rv8CJ5Oaq;js^3fg?|+LGmq=r{~oa?PJri;l+$7`1G2&;a9%(*%?2Bsi!mMS9YZ<7`nb;y$+u zF419AwaU*)@Tj)s>m+!jZ}Tm4raKGn`b#?-=ws6kZwejH1)gJB7y9|Yv+Uw!pnK)- zrH}OY_3qE>Q_p48zrD%?fgXn|sCjz>%$h*Z)2T-94an(;tCe~RTIT{JoAe*{kbfGw z8=Q-*81dj5MJ|kUQGSPAxJDs^(u#AAK@PRB#W~M_%fP?lI!eysHcQT<+#0u1k@|Ua zNL#%*#CzjPl>1a*C)>;BTuR_V;2pMy&AX&b2XXmvbu-X*S z)pN=cxrr{KTgn1jrnj`(E-;H|iGJ>yLVdHhFI$SY9Be_*Y2?S?c9fnTuakj!HpU`aWM%?$Y?M8&QKtg4_|VJ~YoJoT`8kjd`P5T^aYT(S ztq_%3>gP1=P6cMon59;}H!pS0j9ZG(zP!|VGj`XKT3Bvjoy)QQ%J2@myl=(>LoV-{ z@xURM_l!IBJaWi?C!Gt7xa4~_aKuH2j=Zw+DR$qD7R&Yi!^ed}W4k?8|DPkzcdI`kQW1s5HZVYD+dWmEF=$(L2g6Q=|CY?wppD0&mjK^Y6+Th+?ugJOT@ z=a4U@kWM#Fn&%NS=Qn|_&0qG>rmCC%AlQ}r)|%>N^>_b>ne$6t>R?16f>xh}34|!G|4D!9GjQX`HxmPkK)Q!)jwV( zJ>efG5T5Y;;QPUk0Y3)(7`VA(Kpsr;k6Q6#P>$J8^;i_mJg?<%v9G|HhuDeWq|w@w zf7HtNfgcA?`bVuCEsorQ?QAcuZ|Yh9s1-kQmfxOT-{t1(ySgJrH&Wfal4a~4wVL8P zMg5~=SMT_of7Hr9YK0TtqT_6D(^dy<*Cx&DXp`4bDF3LHXgtN{{cB%-rNxqe)XF{z zLYoo&qgLWrnSa!Z?%l9kUjL|-?F;{?)#R!VRJk4P5{IMwqgMK6aC(E?SO>8DqgJ#m zMT;}uN1*(pR^*>I5!?BP&8`&HKWZhGOUd*8Q7iRwghEHv+zxB`N3A~2$CmUr@QrXB z%Rg!*-nbnB|EQJheRKq_{t+!4wfgVbud*8R`GWNuQGOL^>H!n^`{&r_Ta9|zQVr7{%1V@jD3Uu`v!iB zM^OHmNu|HO!Tz};?d#@Wlp@mW+5gJ^HLGV|SDt^$zRB)lb)fzW{7(=4RR@{B&;Ee@ z5%?SV^KaOnuz!Q+kN97I%>Ed^)4xAs|2u#FjD4H^pX~o)|A7VZubKZ(f3@JDpMS;f zW#7SXf64A)|2O-8@X-JNFP^`|Z}iY#>rEP^)AN@+^)G=VH!|W$0i~kKJ@u&D-K7WcbYC`G#AxiZ3Sp!P-5Ac5j|DAq{-y~J05hq0eVd!`H z*y+E===pvAzx|uwwlM-vDDfNdi{B*W_t@`p+VAqbq(;BTeg|~=_j`!VdLEM^J}FMA zPShb{#Up;B)PKR_m|~eQ^_)|3$@r!SC$!)uu7AZj{}p}`^)B{X{NMis>HivD`yC2+tqmH!Al(;go;N{vCgsK>1U4H~uy8=if5> z`FAFz$x4+xe+tUCA?M%Y`3pS%-mK|=fuBVGb38=*bN=toIp<$MvmYW3A3;3!;D3tE zNAd3wUibeT8vh|8fui9L&=xh|AN{0%^iaHsIHbP>mxx0Vx8nETWB&`D-^TMT>wlsU z&H3|N4nC14_y}!3l#lT9w@?ZqSCJ~Ic1h50c4-io)I#E@l+?T>R%$2pu>ZEXrBszd zxlt{kdh@&HBmbhGY8{lni<+ZyQ!S(Ccfc>{^cQJE|NoBi5d9AkGv7w^+|A>L+LJ%w zG4uzl{%!Wjn#M@V7&&wId#uCp>}3C4eJGyECd0wHx@4oCyqkThwmFhE27B8Zmg_3= z8TPPGRW)|Sjj>o~aL$e40CEUL)7imrYeUwJVTgT7C>LvQnsj40!agZgJnNQzLecTG z8^f5Q<1sge^NNm#-59169S^!O%s_-xa-SQ+f}&)~jbWL6A|%|n%RRaB)P{z4+>N~qT>r8(x6(wOv0sUP%8sU7i3sTp%kS%jy{O@OC& zy2a-rdD<%_74%Apw|b>S+r3gEon9%SUayqqm{&?;(krEY&?}{O#4Dv{%qyiT>zcBF zGVn-%s|Va%y+E$^N=XI1QsS*%DbaSXlt`ynN>|t`CDiMc(wOv0sUP%8sU7i3sTuQ1 zsmi*h%)`~?CZG)7bt{8;YCgPD;;mjO(RQztNT*jySJ*2h)a#Yf9P>(POnRl%j(DZi zjCrM0WnEL|;OTM`;Az*l2B$qlz~SAT)o@P)idO3uas2KD<$6Ql@e|DN{MuOrF4b8Qkr94 zDUC_5l=?xhl-d!ml$tTGl&Y+2%0;-k+yr>~{roa`ov~j%)yV$wId+kna#xOuU3*89 z6$fIRC*JD9vz=AcWKY#q7**#fpJ=-~PggH^lFgha(&^5VX#!7sobz;rU3lJL6^(-@ z>MF7|<0LE8>&_Ez2Tv@-d75J`Ja3ZD$LlIuQ=F%9(4D8N7vrn3+6j_XJL1lhX#!7g z7w4%NbK!}T&gr^}V4Cw(W!-t=ok!~`M(QV77Uk>0l7Py_k-Ca-q!3G23@l9|HSw)pGM5R7O zvLc=CJfRqP+T)z3E9}mb4j!TiyFmGbdR=(lCY>>sjfFT*bIhG5+6kW46z6G7y6_}P z=MO2urb$-)pgT_}2ACR&`fTumqdAhP%mcg}Y~8zmc*dI6r+IElhrpg2#wwKz|--Q<~I>{C6;6rI$`lo#nV z`6gNA-!6w9adPtRj>*~8YjS4Ttu@B_WV-RE-ptK0i}{n$a9v&NNW3=U&EA+a*{2Y5 zBP(^4ofoPe_hzpjG}$k(%BoCo1ua3OK<>387JEgqAGrrJRR!2<#w>QjU^_3N);2%p ztxQ$cWS?fAsvlXOT?p5O<6f?rLNM9vq29W>%`1~ejmnO(Mora6RNv5_Bj3X(nFiE( znk+@#h_^zc6a9}W8qKp`cqWrIGU-$_(iLj1uQ~37r<*J|GvKXcqZ9p$DNNQjGzHr` z!@aS=vDy<(cq(YZ(H_^LbSg$_op@%`q2}eJQ(Uy& z#>LxL>X@NMC172>fc181ut=v3GaBHdU|Pe)TY+oJXt=JhiK9No7}RW!YB;0eBE3UT zK{5>)%rXh}+PF{*xNw(>!(3GD7$&G&(;BWhY2%_W4{fK0YmQCB$Bn0*^6Cd|T&4lI z!FmlBZ3nJBuHkA&OdR_AHDk-v#%j1s(*=45j+*k?qdewn=siO*2V8S(8O5MBBbd6Z z$xhLGQG-=wZ5TJNDXrlelNl=YF-2Sk)xw5lnqXaPT!TfzfW^81i*%wCNJ|BVaU(Y_ z9MNE@AYe@yCkzz|FIqAVxaK6B5^Hwim@z?Re#RjUJvSQ`?F4MFUWF}Fe*(DHw1$h* zd)*Y5ZUSzsM#F`A$EkO4)+sOAZsMp>$S$D_!b-J=xOgjI?Qsnj>9k>uWL;BQ!x;_d z5eT*CoZ`B|HZDTuwZ>K43WfAJDsv4N>a}s{AaI=#4c8nyS6A6UBNU8JtkOeVnLtcs zRl&ZB-jD{2cAlkD*KmzV8`n4pT(VKarJI0j%4oRy5gQi?12|`f+-D_3If&{ z_l9+mah*{oj2Rf+WosuXY|Jvi@0kYlT`4x9B-w^CP+>WWY2awsq(S(NW;b3ZCqC`aM>yiXEXrUl+kdJP8*kM<%RH& zQg{Xh^>Nf>jFBAnb%iY)w=bB|V9hbWT2m6%8JS~nQK;91p@pm;ftu}64HxaifOVvv zclJ;WCayVV<3eO!xJ$#OX`tH~*KmzV8y9Z{F4?T&et}h8T3N`R9NM`xykY&_s1!7? zLP6V->j$kIn6W_Rp=NL!tKYYN!{)6!hfZb}R&qv8$&KFn5iPgc5i_@CICcctWvkTe zDp@EtTX);t>ojKkP_K>TrnSaTv2|}6(fTbG_&bbMvFtGAs-c@>HagP; zxt)=W_-)H#w4Rc%!>sAq#iutmc+CQUrrJ~9?<(JA)HbW>ejFt+eNY*RA`vECta zA^J$XO*IR&e$dXLIf)zw>(LA3z0$#YM+Onri416{?#Q5)rX?t7p+dA18I0AOLL{$H zP7ZvE1%dAkY51Bk8=r2X@`C&t>fLI1gEau(9@X$wSrd=uu_g=oO&MgsJO6418z}V< z)dS%9i=7-W4oz)%BiT>ohnJ)#AMpCYgHXY=i?(Z9W_|5;Zs2qU&*SnbEFF3kz|9hFxJZL-cN7XE258ZJ_&SEB8b8iQ2AoHr85)0hyg22EHHB7y#W`-kCQY7mCUJ z8V8YIdlY`F$~rRqF}oERj`apFQI1fX^ z-C7^XjD*qkapZ_GF>*{cYdO{r${bT-gA#PCA9UpS0K2s@YK(+Y?;JTAb(CYcOUto# z#LSToqem!MXuPF(@nQCfs^+LM*x4|n-3+@42WRQsflNca zj!Yk+Oc6Hi4bxVpoe^Y;!X`bN(#VugLYTg+%F0Z;STCH}K*7j|33houhPfexPqKZ| znJ3M3e2DN>vpkPrkvXPVs~JFOMjUEBK?R;d1f6&0hyq8BXcy-dE!8Y(PNF>u6;m`K zu~qz;jG!}=;m#pM5I39VK#<{Jqcg*bOcSWd#`mc^hb+T1?~tJ}oSo$+5kkGe(~c~e zk)s@YL&%ZOq>&>rB1zG_G|#cC7dgh7soE^58E&QsLQFQDP%``pwctF*&Zw4SyjA8H zZ$*wH^tR#SDO<jRe9;V{&W6Lz zJVU)a&jv%wGt$ZP{D4)~jv!OsoYm9#&DQf39zh7pL(VLt?YTNcOSWpkoK!WP*%g*q zBE}Fy)W^V^#*yb16gi?Y1}~w=hjyaKx#_7O&vT?+%QMs~^NhDsp6zku8R~W9xmAYI zK1ZI+xI}8knq`($H&N!zv|f>Hgylv9Wy!;ckJ89=%uf8y*_AYVYZLEWZ0GTWMs85a z`yncRo_RQ;W!{+NnWxygS~LjAok9u~$y6A*M<2zz;YjT>Jo`AJi&{J^NlJJ0hLC;Z zAkV%vj_mmqxv6{Yh|E3|H_({?YbJb^8%hTJ}|0nSG{#vS-E#R5$eK zNq1!49D^XE>RIlZcPaX)QGDB(cN*^-bZJIv7Zul>Lq0t3K~Xd3Df*n5^D;;_ip+P5 z#xd5Kpv+HhMHrIbsawapOI~?5$8vSZyOpA_X3W;yXjrOS*BND1%k}JYFLC`-W>mJm zp@?{xU|dFT7i92V2UN6}#mO{$L}3X7sD436X9PlOY1~Tg!MqaveoIq^Z9H~quwr

    hTRkQ) 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∈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

      ;cE1{qU%*jeR{B7+a=_VMe_SD! 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 Pj~nIbo6qi#uA;@i0yWVp literal 0 HcmV?d00001 diff --git a/examples/spaceship_uv.png b/examples/spaceship_uv.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e92b13a8458e9494d503a9d392890d15074206 GIT binary patch literal 31240 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 Zp@Q-@!+T`ox!Z}&H?6l{m&fLu`acD8Y*7FJ literal 0 HcmV?d00001 diff --git a/examples/spaceship_uv.psd b/examples/spaceship_uv.psd new file mode 100644 index 0000000000000000000000000000000000000000..7d6d426dd6201eb9c5ee3ab9148d7489df9959a7 GIT binary patch literal 744061 zcmeFa2S60b^ETWIDCQhbJusbTKm-I8MO2Ju&U&IAEGux5T)@OB$C=K^88KrHNKjD` z3>d+T2@n%1l98Ol&inMt&L$Sb-~Ge;exIx?Gd=ZGRaaH_bXWI`{fAAON(6-a(IN!@ z=x-gO$rUYJ+ke=Y@mgKkvnE`b{F}Yjg`N*QJ;;2ii^?c<0t7_IEzKP#=TASga&>4>-HPa+rXr6A0v}q zx`urW2I%+cuWw+a*T=xLkBO;qKV9ihr@{4bG)Qc-z;w#+ky3FuGwWpM=H_CmufJr; zlHN;<6ov0w$kF;KnE;2z*uD#hh_7*xj>Myl&(KqPbM_(PtMkvF$xQiWF)og_NA_tM9 z$jQwWI0Lmf7dvM+XIDGtDn!aIS1A}i89!boTdls1j%r1_x{X*26G%;}7U?=|nTtq& zipbU3T`UxhSd6O3?FzFEf^<_0vB=8JSv<|z*_V8cF!ee?|a=oy+!Gc+(Y>}P6htcM`!(?@{`N2$VNyt9q{f@R7) z`b{%1Ff{^?zKT2)C{=kNoNcV!tZKwXkye3^jnH&~v)IwfZLpP#i-Wz;ipHM)VkaAE zM9Ew`NMBB>fR|l2wQzQD7DHLlV533$>WbB(##mTP5<4%jcMuJBoib{e?wAo4CI$mc zO!N$U8z{0-pi|3dxUk6`cjZw6UvD#RhFSxgX%P- zVKsid=@=(hH!D#(0Tz?K&02luy0>Is|BL|dWOa}HimtL#siFu z7O=6V43}#rWz9`ix%|N-jQRej8WySzKQ(Tc){6eu}J(aet@^F zaO)SLQ&=E&cGR_Zw6YcHyExhEx;g89wcF#WtH9%bu&%CFi~n7`*;w~6=-;m|dJZE) z13hCS99j1<5$Tx>u<46#)>t&a2)C+#7jH)WO%40=cdY-Vc$2qPp`DeJt;lAuK3^@q z;QuAJ)vVY5kKI;zpz;5@+qnKlx!dRORw}m%j#Oc!&E6@vQjFs=@ZDTBv677DySZeh zsL8>1bJfI3GMew^l9{3=2j9(A6D!GRzMD&CikcjJH&;!pB%}FmE}1E6a`4?;HL;S6 z=DWFMrl`rmcXQRmN-~=7=8~DBCI{cmRTC@8Xug|EW{R2|d^cB3tR$oPZZ4TAYI5-1 zTs5(hjOM$!WTvRe!FO}j#7Z)n@8*)3q9zB`nya4tsa%m09>raPXKo4m)UGLgYFE%4 zU-YS7?g`-fE@FEpw~6jsdVWuo=(LKHV3lR)H*&jKkMH{woQSV%n=88yyX z{f9ZYIZ5?zVC`=2;AZc{vc&beEVae>*<(5T45U0X^zbFOPcsGkOk|(>b;b48l+wb* z&55rvOkypTolLQH9WOhv5Ib4OPn_K3C*!OgTxC}#*t#v2os4jF7%n@3)#a>*2^ZQ* z4Z&8A5ImA;0d3fax2M?X>e@KFTMu#mKs984Mv0v&l?`*KOgBtyGi|z)+sMvS9B3rS zeug>N=&CE9;_BeWmQPyhFl361yxwAw5Rd%ffmb{kEsdc`wv$}>7^26N7=NkSWSnRL z$3{i$G-nsJVy6lnxbjJ2;gH#s1N+lND0X(4i6`wQ(Rj9ZvgOU!h+dciorXEPxj8#J zI6K)&Ar1H|R0W0dhJ5)Hds{oj3-$R6&`m~9TbAY*P6sj?e+BqR|FW&_C-zz+sZjhe z|C6xsrkTl>HEb|VY~|#Nr`JSI!ev|}wq&pTi0_7IHezB$oX|{M@K=n6;zWdG8OKA* zn5ArrZ-fKGuxEtW2sl0+*mL@TKX=|xcK#!)TU+IG%{=zJF8hryj!QT09RT&H1olV3 z*13Q^9!>NYEWi~9eAni#N=pv!*()nC#1#Sg72iA!)mwlLK~}=@EXFyZZJAN~qnSc4 ztG&ehn`^8sC~Gu-!q!epgFWN48)X_pxL

      M)X-8z3ti7@1 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

      (K#qKH@l1&PB&NCBciaQcO59& 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

      xoo2* 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 h9Zt zx?I;$l!F>X=+pB;u^v?)bgern`2g3NitFMJ zl>~7MC(DPf!Xh@rPMj=U?8_KCq}~@}E=pHM&d6hego3!wA-%vrby`mtH#b}fGd&7c zG1!5lNtDw#3TbxWVCJv~WaK;wiJb|@cJF4p~ zB`vxR2n!^=8LOTkUB?<*{1BmL`E|0o)E;kUC%bu+?1(ZnyHFe#t!j2pk&V7yt5nLx zLN07S8Jbyy0rZ{%63EDYhD99vW0&!QMa@h#jgGf>Qt3Bc@rUBEPV{#2a+xUngiYzW zFvVUbXz3zu(jrP9Mu&-k=@=SK8%I<>S|?pf@mcaPvG+-#^rNqg|3L5sZ~m|0pSbg3 zAW9WEeg}peK!)s;du5V{s zuV+hF+3`eIYfR05wi%KVs?9jjNHe5J+64laC$?0`=0X}G+!a4dH^*ta@>N0XjfpwqRL{*r69Q`WG zU~gk!ty~c%4mUG4ucWI7nnBLbPvLVMbmx-tT{l&ZR)SPW>AvHQC3@dcuNCfkrI{g* zhYPwV*<;k?6~W~Ed8U=1x0#VD94lpbgt#yC^1*A-VuHxl$T4F!o`;%9LbCeG$3qLl zJd{%IPnrc^%tbeAjqQ8Jr6`^$zA?CX(0y(VjwUDL3TH=lFxFL?r75q%Uu>3rVM17L zQR%K{Tvu1a0wHjGV4Ig0!1cWqSG#v|8zWlIDlD>>Frzw-PVfji&)}`dIc^k_$-uc* z*ui_Klx3pW!b1Hn55e1yl>eGc!B5eS$# zO*`U!E)14q8}cqYwvo{%PaZe}%TR8k+KMq?bQ=EtpJ zyq+aq4oVWEu6#iunam`ij5tSJL_WCQ+f|_+EM-GDc3V6}FZu~Kp2I8Ue5HUeKjp1P zmJ$h>E)A$R(3IpsscK`68@xlL=t+k=&U=lF1z8LV6bTe$vgcgTRatqN`!90hLQ4Iw z%h4!f&ct`gs*|E4&j{{lu+)#p0(pv#im!M`OwkI2-4&F&O0xERye%TROICb2*MqN5 zK7FSO;x*)|tWk5)KC+0dS#7!e(dMn@Y#c2N*=k1L52pkNw<1P-%!w4H(0i9S18{JW zJ?BFi@`LN?FP^iWrp15XrL^qDs35p}C9Gjs6JoLPBZnW-PUUXFdaybp1e}$hv4u!& zVaUH=wc6b58q@L@^^@t-VcGPtIf(QI#FsMep&fUCpjZO=Us% zm^L(OE=tbhAf|EB=ekUc>QP`t>0Ysh9%f!W#rBbyCX2N~5XT;_cHc|pSVnh{*Rh5P zs{rdy#VW?E=q&5HtK28pbYRgbwtq=1$00_qhaGHY;+Ke;!CF7=OSw zDkz1<%0I*-zk`ED90G+%Jg~&-^>XVyq7{l!LAYQY2mi@=x*oHJKc>Czr&@S=kmTpM zo=`DIbJT**8|i5K9ZF%Q=6ac#4^otcG!>Knf2!W>Nv`7D*Unt4W>r_$u4;F;ceT}B z(N@JSyL6(v>uAS0#SV!0sxNfozR}hCbIjz~W*!8_7%T}Z93BQ~Rp@?kK%L?vYJV(s_NOGQYCm~HvlLQMZgXC_4J*r?(y7oPq;fpVQ~Bz2ec)XHFvd?HH`|p)=xeN>^|n!8Iw!^=^00zrkfhTT!1&n~B8K{NcOu?v1RMjsi+J-IgwLrVQU{{8MwK>u(&Sh{jIqpiAb%H^h9LmTI{bg zNk(EG4r#jHj{+*DAigMq);KM3Gz~}NG?z#i_MXOO-N@&%ixP$b5ZhgI{I{eC1vH%0M#Qp zyUa3DCTmU_2l1zV{T?Y?m&^@KOxX;0G(b*enFZ6LUXIU$zhBtD+>f`bfkK5eCU$>^g}={ zR`e1>6?4{LsQx9^L|}b7OnqVN289wCZzoNl#DNg+^*E$`=rM% zWFUnzGE$_Ark_vq(?H}zWSCFU3_5k*I1_NPx=Nvua@aDK3s2IYyAAU1;fLd-3Iw&f zNikbyQ(+Mgzy{|pr#nc){e%*i;IvcD1kpvl{uFw?>jcz^l`p5W;Zr&*RCcHH3IEKx z%k?(}KyDmRF9i{WCBgc%NV9=-bmhAdBLj&6iT8x*)IrZqR$rlx{)EV8_tUc$yv7K{ zWLDK9Pij&&xmc-HKytif};Z`%jLrKrxZB*hM$bH z2N=F|`#?I44(XT}T_sK(B^=#T-fqRgftn><%Tw*>lkQzM+Pk`i^pkbL=yZE9okR!H z!>w}2|L3s8DHgy=ikaXI1`@AK?U)CHh-8F1hN{5)|`C(}}ZFfsgSoB?Z>wWG@i-==uTT+8hiKsxOF>zX!#& zbHM_2<4IkM#8<*Go~bM0XDd6-GZN;- zchU*-rtC#)ekJkN#aHjSt=?JuB|jP?<*bx_5yi)~SXC29d_q=zp~*{4JTHa~1?$YT+grdr=(j!_Cx@4~x%pA%V;PUP(3^2#6TxChU}=0$WJaEy7Iw6}93s zEM`g^h$q>>N}Hq*5tTn7QRf-f(%v9A?33YFv5kPGft_cZa*!Vk} zq|sKmHc$Ik=P51#aP#7@G^u%$;bJ(KOF`INmkY0`Low>t^rz_KAytfhaP}qX@bVRC z{yf251g>$7d!5w@#g9U%rWD*A49}~|Sm=Nm`vjmx)KB6n;1mXiknk{n9_JbiSG-mk zS~J84xoQ5`OgXq1BulpnG>ei-@Z%@x1d^qHv%FHo+lLACsP5C)5M75FmAtBGs^RUhJ73AfHbgr-WXgwz)a(V}}evW3^w zr4e-S>60k*HiM4P$1OS(;$$%4)A|S3H@MZ;OE2^Php?4CDF-Q~MLwWsHJ#F-VC*A~ zy^5hPVfc3wuL#2RV`2LIol6(osvF#^OidU+g~1#ReVHIajq!PdujD!pFg_o0AP5ua z7~OkSM`WUz!vy+k!s#ixQ3;5v2`B!cK=~9jLNeiKY@As*oewz-g!#jNn2WdS#Ln3v zOrU!Ox=bLn7Pk0N52==tV)6*HToy);#yB`(DIVX%CE5`ur)uU7Weaz04vdI^K-~SxO-jBs7l3 z+m&6^en?{M-}nN;468#4X6N^P`Q6Cl}q!t#knaNGzhIA4JO8*zX9}W0QGH?Z+NQY`xpv6_PF#>P;+? z%o;BtY%I`ri3w8-?OcbJlYZ?^wajBfsGh(GA7%*pz}Pk!yW(4zV!2kH!Y3T*7_s3oiO28p^=j`Hfsta{mB*0htIh#yuN|u6+c# zx<{SNKaQY3O4MzbLAW7GJ3&SSU*p}1$X!bEN$P*V{nv1Hv>=$zBOeiPZd`EyN>xIM zoK`MqeJ=(WH%CuN7bS33yBTNYj;MCy71)xi-^JzO5!Vi9Ruf@VcZ`8+ZgkI~(&#R{ zS*XR7TE%aNA!VPiEqY6FLu|a3I))j3b{E`b1b%^7v>BJVFUf}Q;e(m8sP!%TAkOm+YLH=3 zg9za6QA&`#+pw-hUaQA14LOEP2^W$CO_*U$n~V1bbe*$3FJAg5izv$?8eKfcUJZHy zjb_b8hnML;A^%w9rIb8%&?NUkWpvJgo;^flXAp4M6Ivn@H>r1yIxc!Tbqr)?6b*}C zdJzrB$cPF8*vI|HNeZr#K|2~5cUGq6gWbn4q$;nmJGC!R3q;Qnrm}!S7hx7F;g3^JOfqejIwtgX;zUWG!N_{|SH0KApoUQcrJy><}>&oC*=i)W`t@DVqaCrrZoe+~*=|0Xgk; z05W#R1S~!2vfK%SkLSn=v5ex%w7KN?@N*pG%*iv@b%bO^|BN~NQ;;sBtXiP6+}Kmf zipeV|hS_2p!bozHD&6b=Ex7UbFzMN+S>imKAV^u<^Tw>e{GphYlsQ4hay)umnci(t z2~WfQc`WUyQL`~IB;&5|5sRIpzsvBgBuQC-21Vo}5=tIwBc)PGNr#npgq;=^YcfvF z;{z#<$>%6r0W1JWlyN1F4^WWcx*4?L+(~-@MB5-P`M}wWZp4?WwZ`f-?asPhfBgochme>T z1@3Khs9z*Qa2%qiJKYX;j(@9{RWS*pV- zHjttl%P%s(Mg)-a(N+hrYwysYzArXu%t~TZ1ja|-V@qa!lI&vwMR6uyT=l&^quWOQ z+aWpxs5j>OQf*WI^bXrWKET50=2&~&O{UfL@!$b{wwyTgN%A7Q)1Zr)QPrchx}B=K z$@#XQ(yCk?RgVnT5)302i|Ui_!xs2n_#*@E(v1#6L`%eP62%x}}4 z@uB*s-JU!?EvQe2NRG3AsOgV%o(jkhEfQyC00K-B$HK1Ka z0*`ATE_<6Cfq7)Yf$MK{oN77*1FP<)-V_qm{n;!|szwKS^cG*u3OfCLP}u`o2WVXx zH`5SAo&&SMYEQtazM&EOSe#jLWIu_rUko|Yr#hMfn{=C^qdZFhabo-5WZSph|M;}t zNB#}l9X=6iLMSW^1>gK?fYQD1*%(wCR6ogZ3*``%2bK5957JU5+##)f;ZvbTgd$su zMRMkQs2~{KnoTaVURSKzQd_^#akRbklO*F;B^x5udck7VdL7{v8!Q$~2Yg>RJA|R( z`U3mtYFI1+kB^p)1y<>kBjR*igCWUQ7q?$r>E#4~0Z?Fl$>>Nt1m9%Su)g7>^!Rp+ZP1k^7Eul8Ck1}k| z|Ls*?YCF>nSSfo-Ju3;OAVGr2z8lgw6uA~^QDqZ)6S0#kunA!9N2uiWlr{S*Vu`u= zZI{E+9Fc+q3tbq1C?SBu2vCv3B$uWlVN(=Fr48(Tc5iT~2u8nD$QdbbcT=>5<1EI+ zzxX|zWE>h`F6Hqj-gCo72X8fF@FQKC+x1_E_Z)degJ!sC;W+X$|GPsR?-FOAWud8b zPpq95*nNCtpGT{8b&I>W;Jeux_3`sq4>Mm)!Ig z$!h|ORozCnG`l8K{ecx!L-uVCY89x4qgxx@y~L3qhUWF3swrrU;#u|R3OioPmvV<^<=V3qyU$2$}V9;1uAP>(8~JItmf>S99iks zXnc;~3pazR)7(c z$vl5Ng<*8^$^~ZEacvGL`lDEPBWBJe%hKU17Xm6z`U)=TZ^W7kEF7Rr@_z=_8dxpX zg!UYrOkuS+HX7>(QpA1$>}P_#;a)VktQsy&V?{XW&mk z-GzujnO!pb(oZfL%e7wAfEg?fFf=yA{F4FJ1g2xIwjRgL%)q3+8H}t|-{ucd#RV45 z5X3S;A`Cv-7K4xTxakW|r7Vn(j?=gH9yw3#ockH9KO+ zlE!p@W(8K_Hgs)1REZL-5T&pm>rh6Vz5hw*SN?f@HoV=iCISnkj5+`8kR@>?!w4{D z2S+ge{CVga4`Ifl=;y2=+uZY#$;KK9EL@|+DnFO9FxAEgaqT_l@IfJ~#JQ8N3YDFQ ztfXGed1K)TBLuFie#L=B+>)mL3jwwo*aDJWTaUpOC=z3^4DUOJAvf1=#MDkK8g2?4 zV!7+Pod<3B(Y%=ZFQzb6OHimYTMzY|^@mfy{)7&}SB-E66q-5i_|CPH4Tc+0W)bVX zI~!;?@0k3X0*xxcs9ez4dW_bfH%7~A!u{w>l5ZEG#SQJX0T@3c$2NC11s)DG7Qjm> zPlkJCciIkgPRDeIYkQ-+!(}d|d^~3He6QjNxUDJF10a3_%FXjP^-|!G-Nq`|yuvFh z%&dT5Wru)Q_N;Ax8$?bmKVnkn`?ZKd@)atjq`+B#Ewn18E;<;?U`tBF>BXrh(RPL? zl6+No6Rg`#*Zxl2S7)<^aVz&4xZ=FDdxMbBU&=oBy)}c1#Vp@8giyPPcvfT7wc#5h$K3Yxg(+Yd z?0A0ac~PoiU`0h25R_ z;2lGbEAmDZP={2EAjP-2TR8Vzq-;p&5r?r$jWtEB;_T=P>QgE{QLC8II|HkFBFXdY zT$ZSFW=2~`i7DE{yqW9{Y|?4}n9%>%m~D(CEr*b2v&aYee#9pBt`w>$GFy}EhNb?0uksgA&d+1$Map3^g?l5P|9{RU1?zmR zpZss@`ZUxjzX_EiFi99;ZR|^#_y94Sy_&2_jdKYGDvCZrZ74VO+=}Y$4xa>qg@7;f(5Y8_saBxjL)(wp)~LlHZCTcHnAdU`z|Z*q{fLXyrBUE|C*ID- zxX6RLyI&b7Y#WDDCUwMc73@syb6E^G6bnHn!pu^^GBAC#=3Z1KSt{f-9!-fTBUsL;_!>N0L;{pK0?_D`i zY!&Sv$5I%lPHbEUFuaGPjH8L0A^3r>(~@>oxQ!jddPUK6KN-EEBVVi|-+qehXe}L2 zLD&p4u6JnoO~{6n&x9!{N5=|?y3koFT7anr%$v4aPNW#}^)QVQ5}VrK_Q|4)mxR?` z$A039p+h^6aF~~nAX|l+4k!!*q~^XGP~>}KTA|8*t6(mW-7+`V$qJ!IEmW5k5=U&r zgn{hTzMtqrEsXb45LqLh`oCegcSs4t1A^EraUlI3h8PD<9M428f1=78= zjpV+B^X@RU<4sf@IX!SvAS@9l!wwPCH06y$HAQha)smt6L5h*=;MRuVIjnC*gJ5m2 ztso9pC~qNVh)Bw^5e|$u`;}+HjQ=p@Af=Ih9}b6l3+e;wiXcmLJ4ma-P(z|rlvep0 zLYX~jKiMXlRD;bjnK_>ohmt-@6p zMhtt@wV_PP5Ja$pZ(_*LMUv* zyc&ALIe}f^^8mq6Es;f>aO&$*kcoU3GTd~&*BQmla5syLv~nFXJe(1j)TdGoCJ@9F z85QYBKSE@P+!a)4%fIsu3Lp3ICQLkc)3k_5R_ z4Pyg_%v?@RJJcPsn(rsc#OCyuDTg(MFkop9_~!H_=97?Smjiy)SZ zU_TyF&FQZUL(j>7#CjNVX2$O&4ui^HotCQ&dO~zcDQoSkq5V_5jvGB=?aLg!T`y5y z898@%6Mn%Rl~vE?D&e&okxI~rpV~QerR>LTs`-1?niml{tAiWvP68(AsoywgIYG-w zZ!J6F!B5z9Jx9wA*||%%H%>O(4{sg(zV(je+b;R6@;C%}(SO>kJkRexa<}@E{+9Ho z=yiy%-Ko1wzkHm(i3;EFOJX3_-y%a-CUj&E;*NlgQ7)Sc{yP2qQJY}jg`cmzCBf8R z5B=chQ^ZF^lY8{@xzLYCY#v<*Kd;@Q7hQ0*As<)0pK^QTs3dYy{D)Zuo|3cHot!lw zZZ9<0%lacIp+Kcp8cc)+58*FH+|l5qyM>PsXGmTf{=SNShY;DP2CdNGA2tW{bJxF> zZ%)qWViFBoD43ug%RA4{Yy0aDAiekN$L(7Q_~DqrG7c|HcRIN8$E7A-l5uzWubL z3_ltUEhg-F2lrXu!URkd21FXT;fH^?Nr$ z3$mCF@qqpMeRCtL+U65qIUVJKCLy@iQ({)hXwQ9yGR}6`&@b z3czSGgBExLqsb$R@2L`KkiRG~{k9tL@jk>@a~lG5Ir=8K*%rb9rZz36ytSBq+Wfp2 z3y#uapMJmkHmUk$X(Q{0O<2oJKD%?V!`E){kh(wG{Ri)5jfx7_(Yw;BJ#0l)ZcV|X ziUrHlH|)&I+^>VtR7n%vOQGgpZ7VgM%8@^XWMW)hr(sq zdUL}za$ZH~SUhKzHoDatQ{p>nl($Cnw<{K*j%HnXp-L0h~Qs0g1wO!dQYvYdlenH^hc>Pb*DtF zc-V})8`(Zi5N!Fh<3KY?&?7AfQ=!G$KVpSKZD^cHZnQC=Z*wSK>=W-Q+;fEIbZC^N zmcm0wu{~;3QzPDp^J*`&I?PHiZ-h0Pq7jkGd}Zpb(W+&wate!LL38GA4qM?XV12%) zN404+hSwUe(g$iau}68G(iag(G^z|6aUlcS!FviIj*0uBt|u>LZ3yf6H)8A#>8p$Q za9G-dR@m(I60~7KaI}e0!FWn+E!t|q+WsQB!A3!`&L~%F9T9=FP)0b#kohwe+a6|h z@780gcVKNU5dPqL!&bV&Vl=i!9U77Os5rZmYBXz&vNU3G)2K0Qgpr%Y`hmrY^FCu7 zkxE%>GqIak);lDnuuK#O4X|QQIs5q-Kd0g_FY~b;QPR)drFY8bK+z2sg%-qRk6^4W z;C20!emvtsX3Hlu*`)?+{;Z|V@0YH(x99g$vPctmsRna;dmb|Bxgms?w>Fi#>^*2S zKWx;&T3nAlvXlZkM()@$`WsEAtw~H1su<9u5t=BQ;dwe=KdB}YG@)o1OO|Ut5Nx}M z2c|q{w5%5SVT&rN7-v0&{JNH2UmkSVKuIB z$%&J$RI9YK>OiD-m@;ZS2nF zP}dtX+GJ#Hh^kiu1C((*+sD-@| zzI+zMmptb!J*9EKR`fUQSFRtL9A^#uOB3^RHBtSYSvy;OMd+AoS)=0L^+M;>s6A{n zL8B>roHU|NwA08=TQj>-*HXz^PiTgoQWjcF_~8iWuhH0ARo_y? z`_h9Zr_SkNcGIm|q1G`=Ppc7St?j6FRu9TsleG_OO@B=bUG!;*gd>k@AF&3rbgqNd znnnFJS|1np>M`RFNk*MzLv_7jD;z}3(l7LwIgJA+F{IQvwQ5mbS<{jdAKKWv$u74toEv7WNsnsf0FshxifARBJLu6N*!@xX}rLXB33My#&=^yrNY! zY&H9Uw$QIJgg=XHL=jN~E6};-Nn7Bj&|ut>!v8`VHNT(o`n@t_RZ?QPaFJ+B*Re*G zC-pL)tId39gP<(kuQhW{ZKh~L;g&d}(hrTMtx^1xtR0`JQDfL>;(pCB>MYT!O)JW- z#H?_&BGCG%dpbDHXhSxLI>&=rf79$gZ)xvD_)>)^sz+);1yrPF?^%1JPkE58wp5e* zv{JuO0}^o*K!FmX+M@ir`K*?~&nbepw>Hu9rh8Z;>bt66JgEH_ou$9CLJ7Re2xrLA zm^PGzd>i5RqOIzadJx6GLz{afpRL6hEn?y~y4ljxtZHkrj+zBTOwmFYZdyss>fOxD zy48J})!VD$9?HivltSbg4QdJ$ycOf@51Vk?fwmDV^fX7CS(Vq*s(y|&ZOw{Sxo6SZ zQQbU!ROc?O&x<5fxDuVCo*r7SQqELPkB50`2BCR;pk$+JX!QZ_aA!AGH4R#kBo`S`bTsxBM0nWGJR2`Qf=JcjaUXt1R$jVO*r z-*T@=OueTz)b-Oaa30A2QEQYYQ#8Rof&LngzQiA2cZc1ptm$|4duryTzaP6DUz`4#H?vc?5N)&M{lJFjuX#QSEiD=XX%WRaZ^F=SWxDX!{2fnY#Zf=7c60scs*& zoOnd`4PNB9nozYYZ8AZVZk=!8I(l<8k^1o}A6CVS-qd0~rY2MeOPjPdGPRhWw4vC5 z3LeR_9?>M!JL+$@)oiVzL91Ie9hsmkHWtDAoY$8NTPdZ3e!hm3Z&x_V0YTNS^bn5M zBe!ZImWWz(vwHmxIItrRNzCh5qsk5~=(p8~qEcz2sarJ0vryIZ>hxn^xv?J?cM8rgld)~IufCa^~Z*S!snJL^&1Mmcl3X=}wD zVLBrn)T3(QQJ9kRH>=f@roR==<};xV&oBQ@tky%N!XrchBK_!Tv195BseKPNKRAGVph znc0t`!*fP>&aCu!*7R;3Ypse0w5Io|5%sk+be}RYZwm7tEoX{Gl*>n2-N*`HA3>?C@)+&}KxZjs_cL*~=qckzw7hq7!gQB~CZEw6 zYgCVPjayFvP^<>lEDp^+=e2Lp!YO5GHTD8pn>3I^ zjEFU9Q$O65-{L`6S=ab|^#&~(9ZK9RuS2q;E=jB(VGK6wDK)ZMGkymrX4MbV`_O3G z8tLff=4eDZF_8i+@wb6ks~oPYy4$W+&0(v~4O(g0QCgLFArw~>ih4w&iOp`Wqmn46 z3v06~v^m9cxL%8m)yk1^LZk38dp>jhD5Ic8uCIL1!ZtlA8nzm{-qu={MwE5=n9YuL zc&z)f8muAlGvnXnXzn&#X)nZMX0O*WizYwqY79Q1fsPkkw$rgTRXn{MF02vv6KND^ zG-r*b98VdcYq(OdD36kqs5>`gM#Uk>0!Q8>=t8U0yuo#>HMSHi08_NWl_R^dZsQqy znM@T$%w%3ylj5++gqmove$G;(4VQ!vfWQi8TPmrM>k;Qv@UN+vA2w@Urv+Lkx8D{7 zA9o7nR%e~(RCx}Aj%m6SBa_?KgzLvy;ah1jA6k6D z`>2gJl~XJT8d0|IsOCCCdD~OT?<1)$4yoPyqp~taQT1Xu{pT%h6_}+pxuy zT4;J=5}l(7=ThPjSlKMUDQknpgth%L(rwtNbB$K=XqLy2cdZ(Qhx8^iAxsL-%m(~N zAZe2cZNB1l|G-LS67w8xw^6+Y<)N{X7z>){&MhUQ|J+`M-&gJTQv|rW7X6|M6GmezCz@13lQYcR-`kpxX~FR5j+}kG1|Nt8gyU~LHd?Abqpl5GjQw5< zUV*Wi`k!+<4x_-xA>wJUmY|)Ce<4u~5q)zWF>4K)?n}K#=M)VjnRp z_j@aC=6=tLUoP+ry~p$^GG8 zb%SC1npyZ;qywviR9E~XcLOcV@ z_&h7_dA9>|8SnE<5*5GKrfqE|Jr82xQoCJY3xrDIfadJ8L!oypV;cEEqjNm{HxepY zjIwTQlRHg-0$u%v^T-YtH*tIMcpbl!SCWP$U!C|k&q(H9Xps?aLX$3lm33}*AhAfLV#I12(2%PSTK9Q zv-)-8X`6|Ie!!pA@3jcetK-abeon`+`tkD~KaVn2rZC0N{aV7N9)TaBJKXh4DndQN zvbY1AL9Rh^z^cKxf5RO86>^4C1|NsJtf<0$%@Bdlc(@L}ale#kvBH|w zmt8dLS$6y$Q!UGr8OB<}c~D7*@mqRo4JIQ+kkDXm(w`wl!hXIA%Y_0?d}rn7Q@=zI zA^Djgoy{(j?{fFfSsLgg@q{)_Wcc(OR+_ZcL~@!o`7JIx*6s3#uhj^X6pfZ-?a*Z{ zsWAK2{X)`fG)n{St}@ToXx17qDG{*|OR^;srmOv&fW3UoO^r3K!B#rUcTBNgNGwH@ zOfhOdaPZOO+rk>4DOI_N#^9X0?&rjs7P$kY!`&dnb>g{M>WwSK0K&8prZh?CUg6`y znDS!ij1FZj@~TWs+|LPg&qR50%!m|gxm65ScBvQ<%k@nFb$%gXSKxj*m8EnO9F8<& z0daEQKTu%=w6m^SKO`y8oy<)=}R_Mbe72L}DV?;>)}u>mbgFm}QZ4 zyPVbC6z(bh@SUKXD0VxL1rm>aQoI6Y=6~gog@j%>UNWh;)df)#Qrv9^rJ`3YSwXBIJ%=I!3kM~U~H&m~|_C*=|Wux(cilJ*W^oH&bOY z1lZLG)9XdNKHY49^-1*$xL4|CI0D--eNkOVYx$yjiXOMe(N6_-gRERh;%r9u-ccBY z&Yw-ni;mmJSqwc)rKCYxa2&rJ|I#hqz-%}CP=v`yPRnyaLzhjn44)#2$&N>KYwJf*P+FBm8C2Ifj1Z3T=s5 zb(p+THu+8LWN<5RUBkHZS1B#M#wY6$3NP*je56`g+|xu%1JMwoQrwZ@SRbEkspk1}uNmVnfqCtxXBkp7m1to|Zb^WVU1U%~E5 zNf35c6n$4GugmsDn6kAhdxr0jxmwh=QO_pDmK$dzg|y6}H4KiM`Bs+PRqRv#^3m5u zi45hag^XchanQo@5Yt6hHr)8tDri8;7oFrTCZry%T4>{=TCJ+GiJ+|_-J{D(ua{h5 zyF6A+a;3Dff~wK8GDdfL)-x1B9Tb<*mP!Az;1fv{g6AY*nX0AB896qhGF$NoN4svJ zK)={_fngk$X#d!3C{H5-7^WUofD3(Hi$up12S*+1B+29j^nF5fMWi%2!#fQUO9O^W zN796L=KYTDMZ^~}(el4g`3k}<>~oCN*e6OZQB<8DUHUr7))1DL=tOy7*hEh9ZloVvSvXvzf|ximTgGu#`Q^ka8sH#ZY=VBp?xd z>?quJshGzS`97H?*Qg<9E+!*-OgxjcU7KlaPeK#sNo-qsR8^1C&cH@EX3y$zB9_kq z>!1Inp2eu}ERFzdT)d02Gx&z*LO^T2%ce8#CbWC26h%C9G08Wgo&xghY3S-ajXhjX z!-j*^wv^>zm~am0608NcV9#3hOOv{9B{aV923at%2h==;%3 z29tb-DBP%$BMpaWDtp#Wdls6Ho<*Q2s)r|bSw^OV%x+$c>+kepYksNfGn(l=66JC+ zYZ`Zu77e>sc@6Ku|MbKxp^4E_uELY5;Tej~CL)<>KT*NDI@5@47*q$>h66# zW4%3No)TQWxMFvO)^VUKdCsq4zWTz#MP^OZi%|InaE@xgQC9`0^c^Zsc2v5a!TZ2f zUJjud{YoWyDnycwy9zVT*O4L%$VbF$QAPeKHr_0?|e?WglkPxwQm2XZ-PBtK3yhNfVWb^LF5)>VuXX z<9TN}d7ao6iS2hal+K0-%2gTN>?FZ0n$F^gPO(P|w$i%v5NI4wiq^QNQUs{p?9+ zVEK;{xVJ7)4;dA+#5CF$=69eZ~?Q*|yoB5gyX}=ihLfgLf z&ldVLbA~_8AZ{|n92yq8Jg?CYbRt9<5bQSUdRuf!HaU`Bl{+v?-wQ+#;H>S79D)s(eHWFhohQ!ia4Me9Q^(v20DFM~wtOn5wK-?Fqd% zXkO3_eZQen9r<<|8>XJjTE1D=@BE^ZdQZPzy|dJ+*D2as}*Gm-!JQx^BZE1t|l0L9)u15#VRoM|`B) z+u4c$lbQ$^*OS0pX#{x6zrn3YN7>!BA*SN+{`U^P~4hvt3~oj=yKz0E}w|d zl_+IOz;i^MFs4JU#>7B{fNKFe^?wI0p(r>}qWU(jkAqr)>dHnXuI3F+M-@IjSdW4# ztaiz0aUyfkacq#Dnr$Em+01Nf!*HZ0m?d8h^=Y(6QiOOy)6sM8{^J>I@pYH|0iufR z35^_|Djwwt$kIOY<;!Gzq0B4;&6y8PY;hcuhl|RcZ&(63+u>^V91EqYzZ;%ItjDLA zp0~5H*<(~eh@D5zaXA%ErHfo{V^5OMjWRk}&hQ$jt(;BB(O|BWT4>4C+iP&dI-6vh zWL-4uSs&Y1J`tWpJPv0AH?@Op&aPjMc_*LQuV*#>Kw4!~>67hUEb~^_FCvADM~ihv zEsE=l9A64j5^{?Ty%^g&TVSSAOrOL_f%$~m&zU4g#l?12bnPu|P5bm5BENXf zW$oOjNtNf!a0g?ObZp=X)Eta5Q4MjqP^P+-i!${^MmKIW?Oh0~;|a%k0xBaRKX{Oo zz@kfAkF%BW40)dwkG4(5h+6IAq{Ji02i91r)_9c9os#C=u;DAUcu7wG`u6zOU>^%? z{AxCCy33C!q~i{B!S7XgT=5#g=SfJVbT8R-WUWXbUMzI!j^#(9^}!0 zY`-gCl=573kMTR~phPsVDH)XDzU>&?(A_EO#I=Wx_#i5)Ab?R(t*`1L3l!el@X&wa z6LM8~%5*vo&hW@@WDDA(KK6yfEWX6y2c_IMxX;inME%pmEPAwOSmslelUFS2bi$hS zusGktQrtw{?N(5vzZMp|)qL(G-)%Z^I&9;&Hp+KWJD+?b>{w_AHZHg%^(zy%{ z_7ENl5JP9NjhyQ-UvM4pT^3!^MlR7ot#y#*NUt9RiJp{yN3OKdm=01-6e1xX^q>25 zKrUS?3v^KepX)et9Cq0I#9UxMq0$>`UKz52p0T$+5TIl4$a@y4mNF5DK>Ngz`0`GL zq#wff$$Q6u5f=m#Vlp0qf*QA-sfLA`YfOd;vk+ znd@b`7Ax-IpRH&Qk&@13OW6!bZ_UaVCK8LxG$UJ(SRIsl+&Yd^#Q%vskV6tit!-eV<$#RkyDX3`7j3pUOyeW9n0$=T=?XM;)Q zJ&QIfyb0IkZ!j}51FOZFtra=QNu@2zyYDzJGx}e$p<>=Zw+?8m7koklw9susPe!0S zZz+T`w@*Um4Z&9%yaQab%ePUAmNURxC<6>P@JiF**pm~k&C-w%$OfDp2KZ6AF0;B~ zlt6XR+|0#b8v3#uWcZZUqc@jo3{9E24z|plzELx@>>|a0j&bCmS-9z=$VRbwQj3){ zX7JvAskN_@re^5X^t#XY@;Q`yzOarc3#g-uV$YKp%zLyki?dX%-|96Ar`Qxa#(O%N z1wAYDeiK6?yHz*RZ93fsfN}-O&YNC}t}=L;IY!QLFuwrz3M2&678P0G&QW5Z9r~FlYMcx|AFQer1=xcXduA z)969*+k#JddY#`Tc=G_$z-<+Ly}|p^F)2#IXwR$XsA4z(pigj`K(2lTei<`9{}uXG z_91o91YUhxUf2SK3*3ak`@qQrSM~1bCRre52z4sHCxZtvfPYi5z~Hthw#DYZ18)j` zwV569aT()r{g*Z{y4k@^A7|S-BFC@=nw55o--ho-jlaS8Yv4C(sA)@X9-ykKVAq8ojq*pC zeD!}ENu4|rxOO!cFAVrpNX7(!$YPtEum>z1(uCfklIQWwGNF0qa#3gg9Oq*sEVI5$ z0VFRS*kJ+SFDv|)?|}c>;C8`%i$sh;3VV$9|s;`U*cHL zM@FWxtMuDvHVeJZ&?>$~#UPD4-%oi` zEKjlJmC0cT)J(#VsB3#%>9>ad#?UB3lz0ZN^i9=wrt51DYu>#~mhH{5M6IIVX47KS z!4+@^0oM5z-Ieh$denp75dC*XKR=*PP^3a?Eb7jb=yY8dy{YumEuvory;;$?%S7Z_ z!2LKPQ~O1;qI)*|JjP~M5&QSXJ~v>K4Qf`dwP3Y_`Bs^K5=t3FByMi^6 zLFXT%xEYy@JY!M(d91MTi%s~k_OOM*7^nxcVrGS>@2>p3 z*d&v)aph^OLYd5V6|-aaZ>Zd2#HC(*5dLF@^E{=2A>U-=Qv-6x$WspT+&+bD7mp&G zh^2x}oov|a=(qMX-@w<$3I)C>xK{xjSzT3y?HkB98~Jl1qg~|>5KORK08ElI;N~$? zmW@miO*Sn$MtveFL=s;GDm}CIkuiiH1(D{Ou1LR^M8C!8pAG2bo)cZ5#AP>O`1QwV zlX*6wY;bg&=xdm7HD;U{Td`ED$AY87AdKmIER(;R7yMR(e>#BA8oV9>Z>e-T7u9M+ zpAnq$3&+^#GP!nA!T!eDr|?^*ATkC%W)MR@k0$_M1z_?MSU{f)z*Lk}bQp(Q!&bm5 z1`F)`Z5)@~IE92oBUV^N z0m}vdbn-!BT;c;!Fd1i14TZ|u9=a&9tmkYHvLNS#zTMC#2j~e^$6*74JZ0o1uKnTs zEwszru2b(SIz7*ck52pY`}CLX(<($EpdvI+$dSl@H1bCSGIijIM)TYS!NpdJc#r8b z1qcOh7BGIRUCHRJt=DM zb{#ND*JI(Ms`vs>IbIoNo{?kk=Zu=j!O$1i5^*r}Nra%TjqJl~indIDt45xO>>5ud z?f$L|lwT*+xsb1fNxga(|6{soxK9-Z3A z(#Bj$moxEud_euNKnMmK8RA516L3S|KO6Yp18{pE{$mtnxSfNFrzgCe`M7B4)rQtZ z6O|$x77GLRqWlq=0&E43NZABk5&AAezh`KaC`#KCd=O27&L0xGaYCQ}33a+}WG-sp zR_&%fU%~Sq-J-@EX9^n_-IlHiI~MzHW4}9KSB*X8VUHQRN9D6J$%$MJ=kL(Tt;&4n zNK(<9Q`QknTX6o7l`B`8=K16t;KVnCkWt3ZT;g2rb>CUl zEwf)@Q+OPBS<}#Q>vu-yN)$}kJ+bdKwr)vr(`ZilJ^ULAGTkm67P_fv;2slty`ksu zLF%C0XM5+ru##GuFY+X18a0dr#%_y!pRtb(*kgOTTP2d{_JpyO7~txUCGW9p|DuQMn#b+t|<854F2{2KDUQJMg-HlT_cCWbqj{>2o1!}e>p`j z_yS;G=kH{1=CVSRE4YNwD2r4g`iOB+m$+kq3dfdDIdVjOZc9pJ9#Nk+{7L7BI>5FZ zRNDBo*kKniE~9rN`8@Iz!!@A48~E@5%#{d$C#jC_rVPCFz9iGb$-AtAI|ZgRYI^k3 z9g{3}w)t@#jO&VO^P}i{%srtWF!Z4TnvywN_=ckx`P)axMsPU35lx03zf-#RDtLDI zXv>|z#1z4UGq3Nz6$ z8b7G@0$Ks1*&f!T9LFevnjk-FWC;zzQ`ou0mhy|!s%r2axSG%6frIEeKHf6U;!2XM0GsAi#xA8uA`E1Af>K<}_@?~>j(qQi#8 z5a~cf@bG?t5&Z~}Agx*CIztNnxWRV~;GLb_7j<^Wi#K=FeTnClj=S>TMQ_!@_$|?!_`O~JnCQB4t?cg?ef?e1`|$U3 z+Q9#)6B8?aKgu-&v?vK4&qH70KR~aD{)Exr8qlk6aU;`mfv%4k92bQ)oBNaF2%ft| z$8e`%r}K(?V!iLvQipF#bDsDlL=0vD@h`*iRaJ`+(gsc0KyAd(3@>^dNny;r=Ri z+t_McBq+pJ^lv4UT>3KrQH0Z}X^~Gd_`_R1q>hE@>7M-Jjh-y*G~U;9Feq%s5-s zum$7SjITJ(2#Xp=FZF*Mz5?V3)@Oz3h-&{q#xU`pHU8@Z{@jl4Gg6CBc8y-4^S*Ge zIzNApX%)bWm|i&&XqenC{R6mWy~#?w6zrndj0AhzYsTiqOWVbs^z?n?9rb-JXVAL) zOL8XUNp8On(avnLMgx*nepyhcG$^kk#= zM2A?cz+U3tBnW`Z_!!JdQj7F8V9$%a$=F+rjj}efjnaCk%5=SIbcJ*H^4-bX$zRx? zGLtB*T=RjX;wc%qmK9ZJ=vcQC^kPFdg+`9^K{pT3R8j^#MdYfR7FzaPe-~g^yjSR- z>1++Ufg;a9fHotzebgSxrwsY@x+3(;hJJZ~Zg1=UORDmx>~$v``&AAl%eO}6`gox#MhtI^}gWo z|K)i78U7;T+qeY=n!I!k21eFQ=$b;%xy!?fLoq6w2K4Hi6z4!)20mtR{97!NJCh@v zAMQg`##u%jxO^^k|E9hMaE&?}AnUf$6q^m9^osTS#Q}NxP0E-cyFNqaiY!}b-MFia z`(Fg0z{LSYAUxcH{EU_u5OL)$f>_~zT!H}EuH~q|Fd%nCme?XxYVKX-Vv#h7*!q(? z-M$Yw8GFuCDhOD?QTK+%0=9A)PzVqQmO{W!#YXF9Jf1f;x)tTk9+#?2uS@R<-6W`k zGrX~v#O9b*p+Y355MKtpsQDfdFoqlltw~R}8$y%y1p2uFnj&bANm|kC2}5hP`NAE^ zVLr`YA^U0MV;uE5gu-RX5Mh{M_c0)GFH<6HMOcnbV4odeXAL{4jL6n|?mR*kY~B4) z*y>-AT-;;8-MzTLqXJw-U3lC`%Qdh%r-6-yeZ#QN46t)=P+$oW^?BEz6`-zR(0M@# zEhC7gM<4-FlI8;qu0H|*_@pQ3cI)Vq11PupJS@GKSVHbo#~_1Op17^s#2hy! z$jD4n3?I(z0_~8ig-m z_v~w#-b^{B?|GlCx0HLandma)4fX`!wFZODG7Y!e)gMdQTd8x1>I*skKx8tHQGJbk znUNzcqE4L}W-gN{*ISn`X%}5NnvW>3-7ccT3L4_1A2lelvTE3-13P9|$)&QtIXRGM zERfvP8D4OiLIidh=VqbaSXkOkf#4kC0Wi_!ZeC#Q>5Rl91Mu`#s#EGlAFdOoyByNk zEQEEd{x0x;VXsH)8mBJq;zFZd$oOwvj%~W!Xc3Xfou{h^Jn$}|fEe(727h<}=W?aL zOV|Ah;rM|v^6>d_D8EVgHNr=o9I}yc{!#APSZLMD8TB8&24>*{BoKF$iNEA3;_o;9 zL&is!iC-1J9?|>!hvE~b$c}NN`0I^7K2Nkr6#LTq^uN_8|Nq7ZqqUMkdORRE?{a#8 zIgsiP4jxc_l?#$Mq4NS0_5d7nY#lcy`;n6m@B%Sm7Hut#Z1zZ!Pe&-cf(;S-9`)?e z@mchd9uOj>|1o#~S4Np3W9=D4=7-9bBg26G;|4vUVo#8JgatjHE5+1w9}ZHML2?D6 zYS^CGnz=w!-}Qk3c<$Bi-=yzS&rH-+*f-fa49jiSq)xF@^bkC?M%BNX#2TA#S)`eA zqlbK%&j^Ws6y)Cx$$HDb(*3J84Z2$TNKhS8eBpX^b%U63KWPw$fhZsMn~DD~s0i~y zgE80o&y;6mV_1?(iMvSX`v>STLn~>O(08GAx~jYDl6~w5{{WroAT3Zq6>lLYGb;uF z=N48{0rxKW(H4;tN;!1l-s1Y-2K3e|T?%z6!*W^{s3YQ)W87)v@- zUdpkO&@d1OY?KV@utvOU$Pf*EpCM&l*wVdM=W_Zwa#DT84#qPUuTAzQf)XbvJq;)u<|4au zLm#+cnau2fC+s4kql)m5`6`{%s zFN%Fb!Aibn#1Q-ZmjSV5#3=`{eNt(7cuo*Ue-N`FrdtoSsO4zEASgZrQ?{_DyM-kQ zjL4`V?)jdSy19Fgwh@@z!3+}*xrC8Hdj{oqTmy^xXnuJs|-4`V+KLh58pq8 zJ>P9y^rjJ!wUL}-hcdM6Us2}w$)3cxt5KO^&E_bC%Mc69d7e2&UKjpE)d0}63PI0z z4X~6crDR&2tFUCQS(fFf;eH3x6(7^DP+8TRWg~O}2vI8U!kH!=+J)AY&=~ zc|dJ%?%pL`^*meC$Heo=bmZ!WZ5mdg8Ii1`c9Qf2LNZD^0@u+j9cKwPMgxb4=Q|CI ze#0#kI0H~sA?H7VyqW`6!T(kr?mvWj4Yx^jGNOu(`}!`;JEb@jh%aZk5bx3m;1Kfs zrvbS7a`(^DQ{j$@dnra2WX*4r-3ZBtWuRHF^ITtJZf9&t3^Al!l;NXQ3Vni18j?o% zLmP`b2IT3NyLU?BkcKpi;YGFzU-*r<72~cm&EF2W{9C55N2>v695DlQxq%*}h#rAM ztn(iS;EsVOBfxWjv4kRRel2j@z(hIeyux2M<+(0Uut~+?StPn+O7U@uw-NZH_4sxJ zqfO;s>i$Wh25>t@j&uxfQFaA`H#`wUq)}r9fI5RJLs>$jerf}8>wr4< zQumLNIp20+5^I9Q`K3BLFQi*fKYPl$Xlm$Ngn>khUWbKo&z}_l?g{}L0+nwuto-1c zgq`wqc7!uJb_bN#UnDyd!>*&R3K3&;!7RALnur+=WF;BuJn2_T!dHf@mfXz)=)|V( z?UFp-As>M%Sjn{nb(u%iTP>7%9SN;s$)Y==5mKO0TmoC*80QFH5crgVZyJDG0!#2* zKu(_Gpu+KVIl5ZphLO2HCqq1CUu6@B4v;LDkpXRsK>h7WO-pgn_PgU>W`1cC}mJOkn!ql+UhACXDGm?6Kgp59NREsb*r(5XyZ00Lry!IMR_g%J4jm%Arcn zSHg7p$1ro~j`6rrGy}Fuaq!X3DgkHeBFTBezAM2#0}8S7cS!9g#24D z>}tcVLxxE;;3J-3vZ8!-B%9?~)BTLxn_};NtpU+B;upHN$aMrT|D}s`DD{~u)Xl!} z)_~IOh}fmxg@-A7+~{No5Q<>L5XOAXfLJx+WCU>xVoxapmnS8vnU^xW;(wQ*jT28NdvAs*={`bO+d> z<8EC*hM?u&84^{6O8{@8CdR))vMsnFea*Dnxa94{YwOp2#SIFUw zN=4SqZ>*cY9Wck9@7~yr$?Bhwe#tdzKTo!^t^8BJCH+gz8FQ?ZBTm7HXq>l>592*c zOO8Ul`L~Ar%>X%TNK*P+XURg){jkR5+GBpahJ9Zaj=0SltfK%)J_B8n@1RUl5Xoi+ z{m!7j9zf@w?-E;-Ep=g59COH+9b*!GiZu}V(Z;EP0SL=8q8ayhM^G8}T`fQ_81z>_ z<7qnn9LyL8(1;GCD1OG=V9dNo$`(?n9dnx#yT^SzuH%E^{N$_ByN96UU#7%~=ek5# zjmA@`^JvRIPq6;QPw0n|yB6lu(1xeHGD&0tT}sloJcSM9MmptqLxl_fA_a22;&qZ6 zXs+0uj5q!S_HH_$y~t`KEV5ln4jYsLDPWPXG>P7~wR9la#f>;wPH}Y}psNB1)BLrF^BB!9zEJvkX&Y4nj72R1 z#mH%A*Cx(&Gvj!W>E(wt6v#VQ$kUs+ELO8mDApD$ynp`E0#C1qPEdZkeuSW=D$@(x4f^9n!=dExrdO`e#wn44 zuQ!@U50}pM^+GH-Hiz+!tUPYsSAk~&{G4dowE`T)hpjS&^RejruTwZ@18zDeWyP@oIJ-eE z$#4g`RBw?Bm#Nf}Y*rT8^s|zq9ut^6V56zUY~^8Gm{+iWGi2vlozB7~i`Y7f+*27X zb{gdXj|!Lt`3?#VDg}FQm^5dFlTHwNj@BBN&Zcyh0QBFc^u6>E%*?_;_A}~oj7w>E zKMol3#bW}H2N*Q!7^Nt55={ck?}nYEb4!bh3k#jr4_sj<2}dk!>HU&<_Ngd76cceg zfN_?HsR|fi1m^?${Sbz6sO6&eZpjqHW=}HMg|%;&1;&II4?vuwVy;#QAk0^Q{xAeN ztW=pgmv=9*t|Eo!Dv2n@sN9esag=qWwKUN%QXC^={w~0fiNLN&VV{vctAOMT>0XW8 zUfxg}7iJr}nyd>n(wk#qhX*u{yD>_6pdqcHUAsc7Xd;^*BG*8|&8r%Ly96GVW1OVw z9ZAhG!NLQc4*dLG;IWgyyKaToj!LJKoN9Ct&V~H72yi!pI4?0jY-_NhKQTeV10sfr zm}5>LBE%qGze4QmIEX~&Q?{dn+FRLtJXzEkWsp_1**FTeg3uW$j3Bm|n7<1|+d3OJ ztPqo`%`b}BEmznC=cV07C4in9L-^wbq~uRbJn#UBNh;>=0+4;3F5Z{|KbJykq0kDX z;DyN!S@o1OZC^X-vHD0E*2%E`5+f(XfHuwgT1pJ)#N-zd=W+a7Kvb z%`~og*a`8{hk9QW8KJ_5dO&}CKZSA@0DAihRIvpaB?wt0Yt-g=R4d~7QWPh>N42z~ zfhwvGMmDoR#g`NFcj5gxv_So1O64FY85Sl`3jxKq=NAlsxHE7q)PU$b_4Yl1WaJB6 zyiYNI7q}d-;NG#qRftHKL+V~5r?9W4R;-j>&n2XR`K}-`M+PQNxR}cQfypTl=ATxW zGU}O4fqBHV!Uii_JuN`0Ko=%l>*xtlWI7E{oP{xQw*ks&73iHSP)b_(OZ2T5p=w?+ z^DJ~>IV-HrA=Q9=M;uvt0~SANTzV(PagAy`ifgW=I=sZ zF?@i%X9cUYDlaQ$feKBUReX85$yluPw!sP}y~40>iz9DDz$(T8-$%e=r2+ew6|Ah8 zk-m1sjV!!AgWJfF86~L10wq-qdPEfYP6CvWj2L%KfFj|5-kUiZEk{uU8i+|EjIv+U(fxwRSs9qm=#TqTCMMPY$Jd(&$93KJp6A}%JF&FT z5CI7gzJ>^98uy-0pL6e7e&@FxD*9;5 z#2jHB#ImbZpsHKZAIcG`ryMp4^#ae_Er=|vp1D{bcgM_q#(b>Fl=rteewUG0H@ z!pN5GsY~^7XG}!_&I5R&K?N6f@=pq9RPPvHj!q1YCHKGlSFz-v=P zKtQ8Oppfsvaa%-CSnJHxS&a_0yCF%om<0R#o{{XR$&{! zya#R-LCzN*xKbat#y|`<0H1CG6_MogQ_Vf0t(}{c;%ykD>4VE2NeEJee{F(%Ss%B= zNX$zhpJ^a%B34H{j@M3Cm!dENDKs^~x-riqL@2_aHsRrl9^o$I=MckKHi?`E zs!%{FYZBWH(K`|Tvk8^>fe8O2U(YQ@eZEQ6+~z7!O92BXFP)xs%!2&IwXVA9-XgR? z7&$Qc7ep9Egr}6JZZ_%*4Jym0d6r7kij0q^e+T2oyp&A{AQWAlh^U$fPuT>ih!Xzh zkr-EbpfAQq6nq3!vw%=hji7)zh>umOJVPd;K15zO<*5X{L@41Bs(oA+Q#TrQVUtQ& zzO56~mno!!fCMi{d7-*3#1ur98CBM5Cl@x~eyjW17>j+G%D&XZ%8%CqSX~8Cr>fD^ zm8aTD9*cVn)DBOz$0(mWPql}OjI*XtElama4nVb$*mJFO%BRsot?RCi zp=%AgqzOg1wOY+pPKi-{MOkhrt^!oMU0+WdL2|(KNE=_PV&ob_E^Q*ql54eU%oa10 zmsh@v$6)3vH9>4y%5Y-(Qn@s#38B8!O zZ9x~loOCDX)6tOg4`N!zptc6R(tz3uwJe5`I+@15+=Pw-HNW*h@#mwwD|INUt7I2k z;g8;@!&b{R4XUlBOJnK^qpoUFC4_q8Yz07A<-N-nm%acrMUrK{NrTiD_O%VDE&EGi zC`q}g>gpJZwOnFz#q0#+e)i)t--S1Tm?ou88PjBtbq%ITD2rp}GGo5dWU2?rQQA5W z@0|%MtWv$$zz#iBJxx|x-(Z>~wJ2sTHRhTolkJDqNu7t?ID0F={HlZAS@mF=3zo@r z8yZZL_+E;cON_a;$yDM&_s6y=cEP9~K) zif@IN(Uo>Is7Lhi>6rSQQMWd!WEeAT6FVCkzfb>2o}!w8ya~J`uVFMe^+SG?1p;c_KzGFyziAazOdB%<)epB%F)UjA|iGTHwCiFk%yWq&(rlnTxT~7y6(gT2G z_3&|553Bs)2JWmrJ{;qIXSjn++%(}T3d+H=3vraLgTJREow}vXPbo_5ArX!=famn_ zp&0mE1HRe>mH`H(HqDmhXpMRfrbH4to>9=5Ma%t0=QG@ZQqL2V>sD#yi~L;YOZI*?N`lBJ_YKSg(g^53@+e z2UPlK19n~?ABbTO8SF?5!yS{IUx_7A!Cx=q&4TqApLNUUj{!lc94LIO!FpRCe;u=a zW31O2tm&|3kSt0{gO$W%b=3=wyo0Iw7(UZ#<*!uwcmwv1KK?3(J!r7k8!#fVaa(3G z&3CO(h}3AwA(f?OPbc^16{3(L)Da+mDaMHg@?CxWWsH2lkVj)=%B4Fibmc1!5A=xoe3Z(J+uq`9F?mLE^}bJE zbf)pW@9X1z@%R41zV~GE%*t|pk7k#0aHbLM;@nMq+xXbn<&I@N9$gfj-_FbAE1|(+Ov?isiyppSQ5Dv#JcSK9;TE9+f)RfPAQr_r#F< z400xhu<#HfO&`I!p7+2DMnk3Wk!^NsU{ab7_7!lN;xZA-rE zd3pfDv9HBR2S{ixIMLZx<%!Nz|Or4fMFQwnO9~KZeX81zRQ#O=?TSABD5m|?Xm2Gn;;XK( z8%y=!Vma+Oe0iWpib1UBF(%0jqikT5f46}Pao_p(nD!H+olj`Iew^S4J4HgpY7LJt ze~GK;4dkYcfFa-y1$?gouDs!|Ea78c^} z?8@+z?y!tH&f%DX?W#+>e-ZCe%vT4zEKD&I~=}% z-iV}RmH;oEav5yX&S~4 z8qDt*^P_}0r%o~(itf4^oDT2#2qbm{|TardpEU6r?Ab#`gUN@jFKRBqm-KPZ=8+8fs$*5Oa#A z1cnP<@%(K{#D7$~JwDP36b#`}HUNK9f~P@#61WuDfs9EI`yU z{(z=GzR+O(Q$2-ps-Cb2OyPxEFhO4ivjh<`Zt`M1%gm~i^Wb4qrgC?wa>OeGG}ZBY z4dAzR8c|=uWAglf=+O>Kn@8ahcnlA$2xCmA#>1v1p5{=3l>wUC_}vEZAFZ`=r=+b+ z_4uQW(=ugn!zRVN#vwv@jLCbMFDQGOP4L7igENKkI}O~oQ0UPsHhUhEJwE>7m^24& z8Z@2g(~;$o!kXh*w)7C549hgdZ#P(XdGAd8$En*VB6Ss{*l-afod1Y`HIQYeyh|r9 z$q*!vDTmKDK;N`B;(9;1$Y%6Q>JQ9Rk7EZR|2$2*XxTHBBN_&g$S_P9{8kIYyfKM~ z5QLQvNQc#C@^N0G4s>uz=*(lYG@p0ra3dMd#4;uDn=Py>R-^46hH>Ttxhg8M&5c6C zc$4O(l6wrAB_+K}#}3K3Cz`2$&$ZB4^5_&hJPm(jw!=)5Ra{S9864O&9_QrTE8oKcT6!H?)-YG)eXH(GFv zMR2=3j&v>>>+}GL$#i#s8B{k_GR!fnW1dw&k!omyD{;jjP2YQ_1<8B^a?9sV5`!~U@97qtccI(^ZZWkHkad~`cbvgaz^~>! ztwpkEBj~GgwpAc*7}_4am{Tn@CRr-C*V9-FO@gqcLbKVUJW}S&F|2127x~jPkF?DV zk-{MN3VE^xNnZoG&m)-{dErcNe#LNAkf?re+{fV+5l@LM<0I&7BSvsAOw;k6Xkjub z!rbqfto?c;a%Ql6m0d8k8bvIV$dXls5)J!$+J2F^V3?-mJ>J4ZRS5HdXKE8etrYyH z#mwblqWm#q8A6~$f^mACOl7SY8y(57?w+Bh=eAMZl}ZGv)5< zExdP)cgXV;cV=^)1gP=fA*1m?wcyfy`nZU6YCzLe5cW$259wXM)&fMvqk@M$un$pc z)clr|(94a0tnwYB(FYnv8M=bbQ&t^KmqOStNYm^dX+a_kgCt>-+FYefsM(L<0UVE1J(ugQy1)V$`Pjz_o7AB5uRFcGvFjL?(FS1`S5q}Oy zr7=ehEssT3j4lr}^(gVZ08O8}zXizt5g=(d1uV<8*MJJ!aAknzoQvdvK0B;(Xri^+ z6u89o0<>TEwE%JI0Z6`7fW(GtTBL#&eqDse#)hfZcnFqbo@ccpoEM(eb#DugT{k>7 z@bJRPJ|Eg*^A!YLh{~{(SZ&Er!*be zv__aMD4XoIwV=GqBi2tMcog-JE6$ul)F$DT4_aGOSTD;*Oo-WV7cEG%1tfzAF})LXlc3MmSrMb zx!)G+jV<@TYWK4tZ@J$@17cUX-vovYE%zU^`;pFC?lnPq*;{RixRgs_(T zO*SI%l>1F%xvu4Y@BAkTt=V1^&4?=HeiPW%w%otZ_((V{_nUM`&?xtt%($lI{=IfT z3wz7`CY%xx%Kav?zS4649=o5Fw&i}4jfwW;ev_D2x7@$m?q`K+x!)vnLOHqLi8 z_wTa%S%6yZw_O2In%r-Dg_m3I-)Z-2HE2E`+ldf>$^EuJS=n+w_BCcNsfL>O+ZKrM zO76Ff(TbM)w{s+|Hj^#4Z>kY;$Dz7z7AJv|$1c&$e3QU!+j+L!yRnwzUfmjzQLlOD zR@+jx+_<5Zi3;2ok=3tx+ZNTfw^`Hm1P*72)LY{3x#8oH0q(F4nq4U?z4UKQ*K>YfAOHHR{_p?Uzq+%ZJ9VEpH(06b zV0XA){`FV%_v`ubcj&j~_xj(icZ2Rm_c=EkIjhFMpKtt(x|`h1?ho88{5P9xv$*mH z{M^dVA5dbH9P0lSW!bpa_IfBxUwVE+;1Kjz;r@UMREaJTd6i|$X!S@dUao||xAaeu5|HST@2WK9o^`HJe4)x3Yr?Ou$+Bo0;Mfnq&p%TK`4kH7DWwERnU*B5yTU*_+Bi4pPd-QT&t<+nfMZ*#e-C#CCO*@WOJ%M@rtKa?`cZ~9U^<4CXlIJu*DLp|wkuS%!_zK^on*WLY`z0%(w&?k& z=3?lxYW-jNUfucU?rXfIzv8Fv{@Q(=|LXj%zvZ{{h#wUJ!`!w)ks(W)Y|6XjavEN_!0jv_+8IkPe}j&5}*Il{SSWr z%DzK&`x?K^i`y%*+M(y;pMY<*p28o|Z`H>?$Jp>ad^UYO`F$4SWDcW6|G$OblF>AW zcQVU*`yBqg*{+S+eRFKosfBhY`7KB;E@u3ISS@6z|q=Jy)^zuA8KJa>_QhQDa0P&t2Hqgni$xiX8H zWEMX+^D~QCVAOsSU*T!$8GqH@_FuYh@XY_3f4|}WhUfp6{QN0z@~gc4|Ka|p z`+wa3<^B)G&^PGce@Acl2S(Ii@!Q|?`+w(ef5Y$UN$OK#e8c_k?*F9B|K$G~5r59N z5t7btU*o54cj*4VrliX1zi${%Oi}eMf5UHoYrp?3|JPstff9esZ+}PGuXEjhn@E4d z9ir(@Pt)K2#_sa9`#a-{qI>><|LZsX)we)*{k`!;_&Ps&3SYAxtEcj}R&(9`zwv|O zmcRYI{r@j{PJc!Hzs|q@8R%cNPUA@J)oA(}pEN^G@vp{`e-;{Je(Y<+sE2D*>F4iw zcK^V?YWbIKH0a8obN^S3qq=Ey>WS*x_4(^u)4%$w{?kZOD^xRGS4q7MKLbqhS6vZ7 zzw1ujm6Xya)z_EQ-_=|67uDU*6(VX}|2L=_<@31q4XgM6=l*Y-do*A8xkC48R`?6< z)sxU){{o_TU**bI`MXw>uP`^Lzi7so;y*w4=)OOI_;~E*BLYN%!H~i^qE6FNysTK*ki^NACeX1ZAhY)~)at&3k zmt1@;UnZvw!a7jSRvY{e*Q)P$C?}&8KKWF^RUCKEE(RzkU{(IZHTFo+2-N)~%DMch zf~#r98&Jcj%yB})pT77C?OZYj8t7Hq9W{XERGx>&jD zA_fRi&tXb%#eZrkxQRw=G-~f#x>#+!xS3u^Y86r6#(?0u|GA|k7YE7i3-ujco7H-4 z3p>Wup86iv0@weYmV#WYyzHqLQU1H^cUvxQCEX86tD(NHYeQFEBMXnZQ!lv<7*F48 zDY%V%vWq>H%ndZ8_2PCKve2j>b0VqhzPqI$*9Kqo)XTa!tM%dz8uDB%#S^HYws-yC zZz;&N$}?n#aoD+C_Fr1A?4%J3YQad3JhTvpuDUk-q}8*cCj4tlv0XIb37uRClD1b{ zukEG}IvzwckZO{Xy-kVmJ9ly(5339FEQuT!d}<; zq^=EJb*=pq)iSCq(8a;4E-DF9rz<_JYyDSUi$2u&O^-aQi#@Fu_c;^*1=s(au5^F; z3aW&DxoLBy_~|QBFi?}Q{Gu+lUv+U99Y@J^F4VQcRoALK=t`6xS)_~Et1eb})}5|* zG1ppO1aD{vwGR(-$$z{u$W)#S%F8$b+ReJER1Zoop5<~~;~3!Ny`6UuyU)>rD5|W~ z#p+cTi)aFQmM`mC<*IA#C>wc}t8{JXs%uPwVIk;$Mb`$ex|T%?%i~<5YyDSUi%$5* zxlR{*S}*Q(sH;gDw_aB`BDvWH9ZGJGa-%Lax-@fq@DkmUvA|K&yxQJPx?V_%Zg4qt zo*eX@$%f1QeO0UgJlxH?FWbDYgEaDG*Y^1vd#1TeCLO)v@2+6j;DK+|-BI&ycRhxJ zE~!v*6Sv>klX2->dV?=9gms12u#FPQkYw4o83)(#ybMLTiCb>$Nr&l7W}7cC_^MhK zaeB_DN=$r+vs;wGjF_LAxMk>?G^d}Z_V^-N*LY()8LnxX*QvY#~2&CnZQG zmrcFuOY~qjD~AXclo(D*uqt7(j5xEIGo2|jdc!r2dZmy0G8}HF_q#`BDlKK&Q38); zqR}(;{5;CExl}e2p7v#mm?nFbcbGDbDT(hHz}*i!^Y{tM+&+54G(I^(b$fv#8Wj4yZ_fQe+eQ(+P45t3j`}yctCTQ-<@WqYCrF zt18r!6xt|nH8p2nJ>PgW6xidipwpoa>F)02Zq{Smz^y5}>!~l4iz&Mm!##cKux>53 z+}eSefCe0_=f}!j8H_hw)tf|?pFo%k%de?GdrN@IR)S2`gg5H>@oHBlbR=b`<0y=WFXIda>tM%JENUq>?Y?Vhhv0_rM4^+NXeogdl0IDT zP}fH>u4kaC5x6+vi}bJ6`078!vGHzJ@--CdI;=Wn8Q!WBkv}zme-9!J{p+;uA8xt- z#^d#No)}favvc$YMga$#4frx-V^;sFyrDwXmO{7EgMFnkU1eOA)HFhg+kLU(D(hlr zRjSfbYTjG%8JT=ZH@wKY-9;5GBt^Hl2$LfI zf}L1s@)7Qm*r4>LCtvpihF&|R7*Is5>Pz&(Aosoi*#xka8Ct$dSV=p_WuTF%#X95Y zBoW^lJeWJ~j1iR=tyg{^MASqmGj)jS>0MlIs$DQH2e_hVc%MW_Xm-P*adV6qdcivC zhaeJZ583%f*_Rc)*fD0~)Y_rWhmDuVz>w{Y%MU)UP8(G|{xslDTu#c$$k5?u6ah3u zh+(sdL*5QCq5oOyzn>uOH6>2!pkucBLe7TloMhB9B5|*F*tV-w-yQ^Z3JX!@S@t|r zOG}ih2~uq~1e;l3bQr>@%^Qu5z?!A!fMvmAry+DNKJFsYPV*e<^*a@MP4VJW*1IV^)KaTG)3S3YCPZ#6;F2-!%A4!F zg#1|jP6he13z_uJ0G>=)WwZtua}0{60QdI=fq@9xI9!0;2=V6bv%U)oaOW)@ib z^G;1h5uP}%6c?xx{Z&h=|J9tdg#qaw;7b3rstvQb9CJUzkfj@2_hsjV=3Rvo99!Oh=Z z7K`pY$u-(nzw2w2Llmb=R+61HMcT3EPe!ESwikwPz^y97Bv5_3mZ@|`suu|o=oKx6 z2C&{wh9s%7_lA$djJOb?37L^ztK25-{`-^NKi_mKW_o65rVzbC+%~RJA=aV6H>h19 zaJl}iQZ)=Gss{Ch2@LYg$@n1ZW#WyJRw0)ES*LyVqEcn2N)?k*J0*e81#!sI>pWK1 z@TEZUcrC4(70P?0?HIb7$91`|t+2rM5cE)_5Y4=J&*+`voim}5h;x;rOmV7T?|zlc z-mT+TY8>m_DB5v|z^HIsZx*kkTjO%sBUG^zIjVR_nwg&Op-7};OThs;beqeJ;ZilA zQpmwQuTsyPW0iePdZ6leDa5+pQs~yhgeKv}934V_Qz>>2!v|DHb?;*;)o!I~q0WJ6 z)N&bH*ZC3H3^%NnW?ifd8_;mgV#g%*rM zYU%6L6fIy_n-%$TA(h=37i20-Ge-2jfhhCZ^qmnvZHB~p2v|->I_VV zOwPDGSzcyTn+UVX_@K7K&KJkJAChk=Db8*~vokXuQ#I~LQ%ZjJ3SYFkmSvm-x&C5Y z5I2I5^iRGZl4bf$KlBm)n6w#}6Ds=6_->pOLNZV_?!G1-^tc7l@9{6X*?&>CtCtWu zP5?rZ#tqBY5s!$FtXPf0HzH1`OE9RJ!I?L%k89a|xt8S!5f|ioN7x@U0Jva;1e7)a zcSRaoMk&Ym{buhXi#drLEhnXJmx(DWB4I zU1bk69z0%Njj}jsg+y=qvU>=m>?n^;Zip8WcV|*~Z}YLC8EcfrQ!K<;Ir(PPJd(## zlE){v+QNb)@!15jvk5_C*MQ)<7NW@VkbN$f%GV{DdsZaT9OoJq9Gr36H~&NXdjmDpF;eZ57=Ks?i>sQ||GccJq|e6t z8YGhhPLLs?k}aSz=>;-gg6G-$9o;ya`>qJiot^_BDy(XcrlFSblMSw!A*POm!xQIa zk<`iy^Y#vHYeyo84ms!FD9{>N<0=K0=9n7tOL!7aqai{`E2+#1#_p^yANK}!+oQ^0 z*`Y|dl1Qu(?dal5VOUz-nB%bng?RfVBy%qf$4E;p!N0X*kvt)fb7oGYb<&xCi1{Jy za!jYP+-RA@Z!}~-zQC}dc&Y|g!r3U z)f4d}4Y3OuaeP}HoqmqTlXu$<5E&JE`TB^+L<;`XR^HKr+q-4hh z$0FFZU0z)QsbrKHz}FGUA{>1Mk56qE-v+c%Pwq`x+DWqgt&(ZFziZD9r_zvkNh6U9 zIiji8vd`$a&?J>JE9$PQ>L5>5&d@j_A<>>9gCWK01z=hvGb9jRHPIxrE-hccgdq>{ z(U&z213e;{*iP0`*0*+vGVCdbM7aoM9kS#utq8$vHuz-vw?^rJnsR29w&RxMTS6#0 zYIUoI2ufWrfri-1j8bLebQ`B1X;OXPQ;4~g;axWN<1a<(bEfp|w$)Sl}`;iPJ-I z?x!~Eh><0-xuE*6RT$hK_n*Ung5l_2jfA^th!t#s`a}m?Jhh8G$yf`ioLSFqKANo0 z3xr~)(!D3{JfuoRNcSWhQA5l*Mq*+2)^_k}ZX=A)I?mI`d zNn#VO#^IqF67{%1{erj+Yn-H{7E(FGvIdFHo{dq}ZE+7eq5T=kDxq**4Y9^8Q0EAd z;?+6?J#t@KrIbu1)bgtNDVQJwlXjGDaC6*^PJs$$p=uQi$JUTIM`Kl)uxTH%F6Rz5 zQ02^4p_nr{uSc6%*S%gnDJY%M&J^9dIJ;`LFm(y@22ou!B09>gHTQ$H`gB~=a< zGJ)`s4cTJRX*+O}WO~Q!kJ$rUE^X)R z2ZNB|$y#;5LX&)Dpj0!vB?y6;QnG#|;hv>&KYC9Zy6R7m99)#kZDYIgw7M+&foN{% zO8a>Ga(PgzP|k#-NOT#JgS%SP zF5jdClxk+5_AAUNMN#%?DtnQqtXb#-*@?RE;kmN`DDgi??azormMv==(-8}*P(-an zqj*kFMv8ZuX9p2b(F*o#n~Od&i{icfg*j=2YV_`)tPju#Nj0Ap3SGQfC{fWsES1qHd*$)4kI618&;iOl z!KO;991%%w@IGGtM^bK;lnB+$dRCpk!}e6c?9BwGB&2GD{BNXSA`t2z)7zscHd)}L z>UQ1t^D;kV(lxJv-Sp7s#3FHvwQmF3Og$N25n;0;fz{I=$LBlRX8df}Iv zzL+u19byj~`R6r|NcN!Sts@X92337p?=qSo&gDDrUga@8Tuaw%QKL5v1L~Lmf?Bti z);_Osgoesq-x{=gcTpotoQ85`jMG5t!JUCfhj>m8@mTz-CY9x{Y3?OvC~Mt5D*1v~ z7~8CMtMMC)S=GpruvJ+Zt~~?lFa>`@V|=e-4(NG+!E=e(z?ye}N#O-kMWSM(c`uV2 zs{Adg^%f6`O(g)&S#t9fvWFN!nDW|6gEcqM^za(OXQ zl?;p8Y0@Qb2~?{iOmPpY4(e0vH)ll;ftRA)8u%&???nyIJSW0x_$?Q0R5bFLMO9t} zo{215Mb+#zX1NEbhfPmqR=Uc={N*A8$lN3j(dLDMp?||Jl3Gfbpv!;Tv#RU}Ju8?B z1bdyK_G^Z)pQ2FX^gn_U=_0)qr6l`G7rjJD$AR_M%q4=|A(%r+N!56aWhcGe=T3Rr z@UJQBrz(V#;_v7a7i#7!74#mVQwYZvSFKz`)Sg7Y7*-`IgkUVI1;LK;;(kStT$T=& zF4tydALZS?S3B#Qi9b_ek>)3MOKRpq!KOS6`8VPeXJAUMHxY<-jPdfz8Y(rDoGP$} z-m77wre39TkH}KC^F<8}zC&|Ljewedy&%5JvgkRK7QIE)iVev0J ztrr>e9;L;LMZ#KQO?;jJJr{n*NaP`lh~X27^`1k4MY=yY9y~^0c(;bI2n|913FAbCe%JXcgm5&D5w9bb_UtfE28%_qIT!I~t@B zoifxFov9x;jLve3(!Vy&Q@s7RYp?s3odPTlQakN>l1M&R{GL?@J#&OooRys4ZV!BQ z?8vG@P=3%z3wZbEYXmmZG(d%Antlivwx&HH)>MOK$3%6I(c4|)t0ey*l=!9JB&ebD zh`Lybg5EQ{`(>Jdh+|XZIv*n#&<)&e^+K5)VLH2#2Q_ufTIZ0HWU770P*2kn-a=C4 z&84xD;^74rd4>+~CIL;>v~%=;6>y@@)2v4nm!A0- z)rNhhOsE|s#GDr-6x@5t0lCri_Mx!F*y~$`mSR@4k{Jv;W9lJM#yo}MK?c!oNKOx` zi23?NBaa&6S>F6PBsevQ<*I+BCe-jZsSBy34rGT2DV|M=qg&{7{f}Ac=Xl#^CAaAn z$ph$R&3eHDGJgafKn6ILY!V%?YrZo~Ak5Bm;>Q!n;8`RsdpQUxLk3AdpsWOQ1K0hp z_As;$heNg<-cA4Oaa-^h9f{IU80UG~_6FK%H3dxjD%B-?fIdgKPO3iOIn1l9*NP`C zpRT_aV^F%#gP%$;bP;?R)h5=s>M9=U0}Lh7Q4t|D-7tTMITH-qzR}ReLQ)|j;po5% zjPwG_<(b-M-!O#J?$t)Zz{#09no>QAsTnOR!zxoo4|#1;Cua6an0q=Q4WFrzWP+x# zR?hMuOszSmgWj+n(O>?MX_?iU9ga>WcT-2=#-Wd*|2}J=7nxm8*EV3hrg1Em{jX3Z zH~ApzSTq&{r0H`R55sVV`j%~gPBL(}Brw7u>BY|(Y$2mjDZZlqAYEaXl3gR%_=AL! zwRB;Her4+fLW1jgyh)JSe02490orK}_#} z5JxgPUt(U6kkHnpqmdVl^b)<`WDSQ1wNU%QwW`#}Lugs)4HxUyE9YRLG&46 zqLz_Nd3%_kUbn8kEI|z(t1U*JzQS_vahzdxU0H|!B8}W(h3poacDqW}_j4`;x(aBdPnCp&~ zUqlCDbqSxcL8q{64&74szL9m3^_gjQjPB)bNg(LI>E16Vkl<+ee7KR>^=Zv&QnYY$ zmnSeIK#=j1cyCus2nVfOuQmcs{Av6wkJp}OQQZXQnL2gMy(dbCr!c2=WN;)J(@_rd zf`np=6^2u-7|UELs$sA{Axu^nH}#wivUdf_dyoRpF(>;>5T82`KNRc%OxbJV_TVIp zKiEleBIAs|P!DG~x-J}BJ5o2+>m3=A1&=AiMK;0gv+le$#<1RF8pR)a*Nid@?)zPa3WGlQ_*Mc0D^Z8e)h*BsF z?T_2Tnn(ZLkT8bPn970lZ0!ZcmDQ%YNaHGZ&M13a6ry&wx-jKN31*k|-Hi#RinM^2 zz&TNdjZ$9Xhtyfa>~>jgkEM3kt0El(@?pZ-VcmCg!osx9cuBu0R@GR2OX;r46G%6i zRLe3M*CwAc>88=KR^@n>SKMpQzPOp#km$=>66PRY47fa=7jwv%#bq|SPK!DIeI)hv zfqKS~;V9OP8d|D&W|J|J)37zPvBpA6|K6H_`w8s8ANFm52Ms)Jg&%IGL>~J-;&vt^ zh}`mvwJPV$!HR4_`M&z?K~inp2bt2hC-j~RT8}Z=3*T?}+)Bx(oSqAPRCIR@3nFx~ zDqXFy$NoO%>cyn$*yWh!cO>v`qzGIs-xIsX*wHFKNRJCX^ZSVBL3lf(G)0c@|LCE` zc*$S4Cw?rOY?$m!*hS)2Lt2J~{k-;7i+hv)BK)+FM_j>(6zG6|w^xZL& zg`Xv0SHeU?P0LxnK^8Y6$-bf?jAI|b=>}9bvPc>kynv+LN57ra4-ZC$&Ypy&1ON== zOJcQ)wbq955wSYNV)o}WMwDM;)hJ<*+l!&IH(_KYVFcw5#bBmAa zW)2uaW`CWztFDDT2tt@a`_iB)3+YaQcuACS9Mtt|S3Nf4+> zGfAgJLZHVVP9Rle2nH&MVMENsh>>#B_Zs3b&*By|8ZgF=@uCt29+q_MBMGB|`KXs= za3S-DK}ck!6>#nzZJwr76*M)1;2}^>Aab{Kov$U3A$F)EA!Bb5TQH+^q2goY?Gj|- zZq3^>@!3Iaz{bUahw+P9W}Wu+1jC{p)fi=qnRkrRvD?J^**k?9Gt4}6P{JrDN`hHp z{q9TEcacUV9?p6p!Iiqw%wx!EKy~Ob$r*Tf`}g6O=X!(|0%8pCG&i{pz?25PC>g6+dIVIGNl} zCmbD6XT#`a2J;4bJBoeQ!P_ZRa?*XzB$VtiDfHysiuJG{3_5)V z(FRdEj4~5F_84_xn=zhHp0oaYHlZL7vLY~&USU8B;wDj*GLqH{gA)>!nUY@)0@>Mm z0>Pt`4t&lai;0zBv&l$WgOFi}aa5#zE?O%@>TYSCdX9L6G&RXGN=y_T_{|1{=^Y_s zU2VN;!LrLZDy5KdrgP&LpS6KydA3u6;XU3?G;7PmbD~m>8@!I+~)*wXHJBaq4nAW}Q*$!fv9P zV4k$jD?N`JL~2L%#H7to+RWTw6s7ZKr#$=R7~`_ot43YO86bEk#(m`p>$>kI6oxh0 zK1B;`Wn3F(I@(YM(h6y5Cch{386gAglQ{Jwfjp*;TfUG$29KlW(>Rhn!5Bq6u-PXs z7h~KQQ;aMaR3%Krw@0npUQ8(c$I5QVKqKth{;>G|OMn)Y9K9@-- zzqfAtenMe0!#dMeV;w3k5e1XyNhZySU4}sm-IZW|tA2}JBYwKw$I%$_ z7&_7W_ZS9sr$*82#p28q$6d2Sn>8hLttOa9tml51U~tz%QK&(*hpE9hJVrWq?j>Oc zzUNNqZEqJxhlGtKoQJLRew1+9k9$2~?_Q>c^{l0ArpeU4P>?P`T$Z)P7zyDa-*rDp z5U3d0_u+ese!g7@RzL>P3qo{!&z6>{_=UKG?IdI884;rIxigXvaIGo3EPp5`h+lHDeCWz7VuS3& z$->3HjIl%NeKF>sbY)znS-ia7h=2&kAQUbZ(y6Z{LsGg7#k%4oRF>DB&6E$$8ZWY3{A=DY6 zS)M%?tv~GvtnJ#71zUj`fLXZi+&lT(A%~F1ml%bFBMLEO1i{U|IP|h4M)usAOJvX;Hd}^f7GVIrr+@@9 zvY%lQ$Nrc#UhsT9Q%R%a?VPLho387h#ABW4Y~|%MQTQ>N(#v6ry-d*1Mcl7Nls=3O z69dx;G@3S!sD89gx|FV$$iu|mCxz0FzB2Z0!Kcpsui+oND`7{J$#-;g^_8pD(XsK# zmIs7tmmcwc{Ds>6xc>KQYh`#FTUO89#5@G^HtY4tZ_%F4;M0$0lH)mCm?#(T$8M()gmqFx6rSv-7|7^g z(RX6X#aS^k8|QJJ5qi6NhmbCfnr4zL2C-yuzk~obZ)i6KAvXe{_uBMAtr%q*0Uk3_ z^qLZ){pekKt1}kXQG53_8HfN#BX|OcF?h1}vb{K%Lu+N{9^JvVUTsTP*zrVnX-v&~ zsUDINs>wKAOEaWM+64laC$?0`=0X}G+#R>2jpMXk-#3Nm05RQ-HxZ|5DF&1gdQR4s z0}T4nj;@u}emdbiYDPHyuo7|#5Ck=bWFe?G39S3fCaOaBN%X5MgPpaWwQ@xmKU~k) zyppaQtOt2NKZT1p=*}hOv-g*emxEMD>Eg-SQoZk}(+X!_uV={P;exig>@lkHiePfS zo@piMtY@SO$4VINLF9@cxYjmKq=*}t9STfF8YPm z*y2K$qIjn3Z2#hZckLP+P0qv>&JFKmtgAFjQ$dAqs`vTAgs}WlrLzlNHe0hm2pk{S z<`o2R#W&+>ch23;h?cVoi|ozJsE(r(Jc7>C|10DiHw%+V&*etg!MmuGWun-^Lj4Yn z;O$4se@&*~Z%SgAT29;&Ii|-wCMx#3kzb2b!4^~{l!ZV90wyl<9PvIE2FtMxd6%2L zkolOBr)pF6$;5@ zCJAN4Ip!kr!F4{M3bkV?8^p2O;wd`OPq6VES|#Tz1%&x2?-gVzk&x-qfI0(BNgkA{ z)J9zYgCa%GIoxsHtz|68qF30Pe;X9JS3**WrW?ADfLas+Vk+Xh~zF=_T^kVzCMNYZ&VPkAy;9I8cF-e zBDQALmGVcMc!jfZv@ql<8GS#T5**x$81XSDQkX*LL*n$n!A1764`nFyucyCw&Uzj# z{`)SaWiLhr!R@PH4Z#{0i;W*S{E&9a4-3|g)fpk+Bl#Iyh}0H_{0ghp=6ZIvmcM8^ znLa&^eN9?4(r?GCA?no|2=yf5-CJyblMp2wl4dP8(Dr)vwjv!cEOBa^2eIp$fs{si zBWfDT0;mn?$F(cDM-cwqFtDPW$t#* zGBK)Mffc3SiZ%EI^XhrFkHj=ttQCSd_HaG-ePoVhbO!|;YnZS)V0}icu9y{l#JcXv zzZ0w*SahE4UlPl4h|%j|uhuj1OGM3Ju-Bcdt;KI309F=^Kj0e`ltN<_9;eA~J;5bLI^KMT zQkdy+y~fN3Dat{bj7i-%>;z=)!0kYJyRiWi_~b*T5O&)=>vZ!q9&WH0x$EmefZs%n zlCi$5%p~%K_&uHLU0fRCASwx)i>+Sgny>Ld%tHB80Obae{LR??8VNaq&d5mJzoXl} z$L1jkt3vjRJnB3zQR`!2cu!11tM=Iq>ZOqKGMm%nDy%eTl2fZJtm1pMeMztt5>@vi ztJQmrSGXfap>UkX25nMl&0SZ_8bpL033{IZ_6U9J0>XD3frWHYdC5?h8n19m6II%z zZpvUP$E0pd3QW9Dvi)`ySlJ5*)X7YDnQ`r5A2;73Q?I>6l&Qh(o9n?%!i~i^4BR|0 zqxC<`0)6o_TRxNSRzObMLTZ(ts3+raZH!^7pN29$fHEn{5vPQ#olmJo#RuJ`U;~E{ ztwnq;tilsh{f9l<3_Jo0n5KLI?9)6C`4dtm`>@MJiUU*-(B&F)6N}phw<3@?@&TUa zR+en-I^~tYE5~z+C2ZtrhJl;)5QFOzwcm<6f{0X_nI4bqOojDzMm?oz9u8r;LC^^( zAA@+KOti+Sh@)=U8O5KEx^ zEnCxMPhb#Q7Dz0Hc^uZ~QcI$FNL@~q_A|W+q%`+cf#`&ESk1G~iq!5&A2&i>n9@M8 z%7<&}sTs(X6;uFSu|w+hxawLU$XJZ3P^aF&Nb;+rP9HQwR`w^TF}$sz+}woC!{Eseh$Tv8~%;4E{Nq{ndY;F5`D@9HqTDEfJ0STXkoF(D1aKp ztPz8XiY+QVFVK(&z1<9cVKxJVj1e(-b*~Hh`k1n z>IJcSJnLK|^o6Ax6hdUQnJ|F@8$ztt(;@9fj=}x66PIf@O(ce^5+avE1Ie9{Cq=ku z{QA^C4Ma>tivASNK&H+brw2}2M=A8h9F~kLxfiL=g9bU?cya7hfgo0wNoGrL%FV?B zFy(@~s1CE?9$bkFaH=t<2k)Ywv=BMp4SUq<%{QmL;X>^dI(EeU3H!{PyY!bFAU7S* zSPa4oOB3r$A`N-cq2_zTM+OoPB--h_(=c*&ec)TF=x6b4b~jx#=QW;CL}XPdG)}kY z>~Fp{b}ybYj*UTm>7e#n)BaJ9e;&TgI>uBLV&WKvljd+?>QnHX-Hlhq-UAG8y1F;+ zM*Fo*48JW-2_YQWQ`Ti@4ZXp&g@s}ehVDDg4rv5B{#hes1{;#D07g}egBa3yEK5}f9&fgt z9Z(wYZ=Ja0iZ5xR7(EnsoNaP^jJ~5;U;-n14#!6~?jf$q#*j&MnK;?sAh-^HVvf2| zuZ~3uW@Q(dzU4^VZ#E0{1w(a!ig0g;LBv>Vjad$ew}fFlRZ_suT2`Dzn#}XB#T{m& z^hGnjtLd$Vtv=widT0KZ+|*6TSs}d~!N*k?RXxo3xU2@bGL7nA%qt8+Iq0jytdl+v zug5L?ZHi9l1~nVWj}s0daLlbM#L?V}Td5m~i1X=Xp(rjp=N&UMV5wlJ1FV(#2`1A5!!qairSuPii>Hi`z;j?6v`HV2*F@}vRQ|c;VBo811 zUot1?LIpEH_i}MK4>wg}ewe$I0|{LAUln9Cg+s)2PQs2UO0dOjx>}h2-y&ALiN;KU z15qz4SYd?(B3#q_3bqJLFd6(noD!UzT$Muk6Vp|7R6;2*P&=Ti64&^EF?9UHD$xn9Y=q6$TbUxVk6$9)_Bz$?&ojsQ*0A zSp=@{-`sjeCzPNQN-?Hj?%?sPQN+S9nC`Ox&7-~-Qvtg$Ft~*K{_`xyV7UAb6`?f) z{~$NW$8yZU#Gtu!tw2KvsW?BLjXRJu{i|e^!r$I^pr>`7##H$4h(T^1i5cYd?nYx0 zwmK$L1N8u^zQJPe`w!t%!_jJ)f;gJUI#BURj+Jn841{Z{q)JHRA~Ch-9FBBuovPH1 z3_f@Uf!=!1LF%|#n?j5XHu+Q@=lBLU@FU4(!L7Khj1zJYQ!2y*28^cj+7xu3X4@+t z`T~l7*Yk=X96#o}&!Zf=;HLf9t)XkexCsV*)Yqj44>g|82HuhzevIdHiVcD9K!>T` z8f}sBX7(NEw{><;;ZGERIDk9xbpmB$P&>hdosn^d;0&K)GvNCV7iL9kwPR=R;5*R6 z0)0Usq!yO=&Hz$ZOp1sjOmkQmHR@*Lgr!o^C1d6!ZvyB zF=t4L;@pT5#X-T+w9j`Ry18skXB@|U*zEJmI_BckJ?>=&DcWe_j2q;7L2i1>;x{Cb5zZKOZV^Hr?UiGw@vYM! z>fpB^!_E!!=boACX532^m;mubwD5yaF&ldv?s_aTTUEaMDWnK@t{5{&AY~yf$^tYnoR_mH?jB6-h0Q>&1a9tp24G%_o~Umwx{dj6IRg=I&jFEU z#-wh7DWlHq7V|}YDzD+H>-z@-swz~}mv(*kG5NN~T3MaXo~wIa30`LaZ!G5FlcG6v zhk*TPTyPCp7xxsp;NTW?f$6rOKHU|5&VrZL7BrmxaXmfk3ibMc>c}jJH)r61LnUzS3(Mcxs>^l3C>NIAAmxY z5F!T^3tHNR0>;gvri6>)IIGo+z4EZAcH$M-f-611;o%|24yOk2Fe*8ofh*5?$c$3ewl zo#`a6S~oogX9+khg~laD%yl0``RV&2;%v_j&#j=-!9^yRd@R=KqFw{s<~Xrk;KdAc zT7Y-}xhnE5w~vRrN7ZeAp0RcSmsme}p`CBv2^RM?SHghFdCm)XVP-6M^)T1Z`(%+##u&_tl<3k*c`HTK{fO&EY+Zo62l#L$gss zqM~~ni3tZf_5xLR0ilYLD}!j0vhxl5VU9vVMd-x1P_)37>0g-Cx*q@*iVqZ+e6G7AcK_MgMn=;O94&lQD9!zfH1u_1E z(%h5C&?JvzS@)z8B(fawF(&m8@!J_4L>^N-ToC5=)_z}8y>QYE+IYJuSJ~cpD@T#) z!67vmj+X-7k;>71A?CH)Q8%xOH}oP}b8I;Ko5VhO8+5uhtT*2NF?NKRC1e(585)`I zc#&zkFM`OKdJK$q*^+Qb#O@beYE})K&Vd-IZ|?&+jK`2SDue`6GY>G4vN%Ab%gx{s zk8_ZMVI6$34;w11+RqS4D|M)k#P) zZys%BR#3!vy!=qzg7@wRXL^qOMB*BI_kn_?8JlIvY=%Jnvn=obtG0FqubPHQ^=GppgI#3v; zviWH(bw;)ggO3_$@1Wi{Ixf*R<_~VM733ruMmLMG$Jt~WU2h~`FwT+_rOwuuvpOYJ zOm!+Bt>x`h-c9zm<1wws(NU$)U=_hoVlk-Bw!&ufzOYAn+#T~B0`=5o?<$VUmzlv? zo|cd5F*3VJYsM+nPpds~d>T;a8c4RYK^s%Y1Y%;FwbesEbE#fz_;j;dAQezOR0e~s zj_fA^zMv3`BKm~bWG9O!lyQ)K5;n(Iu&Oat({9gXrq3y33zL5ssMn*)!9|e@k$ePP zBpeDD2GaS2_5}iXTp!cr*b0YZ9+7b1#^*bBHN!XqEAOUS3W@CgEEZ>!qk}kl^RH$E zz1<3G3joalG^Y(SQv*bt1HHgIL$BTtM)?1OP9drmt<}tLupYr|A4;y3xN3rx9I&FnN}QQZ z)qtTbAvbXlrdXVB36x%HGu;hXA$?voD+nehL7d1wZqV2ixe8)Y#|q>od?%Z*9$@YU zMDkM18d}4&MBn_V#%5_2o`N_FeUgAkA%MXMP@c^sho&;a#we6ZQ>=Yrl<=4hb+5^Y}zNr{+6&13ZHpbZBlZc;C0P{S`el!wm|@mY@D# zYv5>0l!BIqrqn%=R$5?>@REZpQmreAw8^bzR)1HSAiIUZiIBb@KlxE0vk|u(k;ELA zt`7;skufjO!NqQ#$GG9un#11{sUQ;DffCxcM@bVsVVt=VTvAu(*o1{Q!z$rkm2`*A-`nE zob`t15*YEswog9mY3;nV>ojeA?qgrI z?iHGrKM<_qVfbXy&!3H9D4hbu0<-G4DjO7i6zf5znM?I6lHof(@u)1}E10A|6szB} zFo4p@pYyDluquoRtvTA6!m6-sG}g5e#I6N4Pp}Pcxy{SU;X;OGYa@~y9sPwEg=Wsl z?#ZenbEoZr&w+Y?DF$J7()3H8y=*L3S*{0Wu*k!Z*qG*D^sq88ZF9BsI8J5;Ch^T+ zM6Cu@K7<|4voMA*E#oA@!$;cU;bS~52f2kY3+1C@_pP-@##7tpz6tBs%rOkeYyfK_ zW)+v&to(^!Lmq~ZMt5J-gcUdqU5gJ{q6Eu@G3+zil;LL|eAd@1yHu|YYd5SO&q64p z&o6GUG+jwC0*v0l7L3nt`Ks|H^jHM_jAdk-wN!JmvD!Tg(TCN4P;V10zBYDyHm&Y(=OOUHGOAq;+_2E3QUm`>BRzr*dxpIax zzBASOl;PSHS;Tm+4S5>IJ39XgPa{h(A{R849;5Y98>3~_;cmE4&sOu$qCTy)9vCf> zVVg6XJP!jJ17Ky$lj2^{owfp9(l*^;+Me%z;Zk>yJ|4ArcC5qUaN8wU4}jPWNH@=4 zN(Ij&x{Xn=s>y4Un^}&Dl@$VBTfo>3?t{p#CmN&sL<8X|#9I*L^GcJF4(oMW zfsB$?)JG^v+cnCZUd^zUWXhZZBFI|jZdf$pMi4xy5aJizf2~JNr$S6*bz6b#L~_J0 zO2N9%W&1i%Ziao@HGm=0VOPkbueJN zo;;9f7#Bm4zZTUY?t)&w-c!0rwN-Jp_86ohn;CVP&+F+^ewPU$Qa!b@8(9J)?w_RG zBj^E}pcE{)@6abpj6hamZR$!a)-dknTmzRMm2__q0{RQ-B`sqH5sO~FsR1E(5&o>k zC~3hrMuxr}P#3y@VbJ3R{YynD`jL0UdiUm-@;cim*LMk}8&ejq)EK#F-Z(>-%FsF} z8&HVB=?#n%&r;~!@ekh8;J7?3B7r)jdztlZ6;jg_N%@?*LeN&R`o%s{lN-E4$mZDgt4(ZW?}*;AoIT?_`+IqQ;l|jw5F46iBr6XO) z$LPA5@py4Y4Kh;~*x0dewH%jOR`?M|R(YU39!fxo#?HQ&N_^W4*SWEwqC-=OHRTgg z+XASW``o|N?XXbZ(&I9oO2V$76dAPQp~RRll=ge(H1??I&Ner6Kc-tF7l))}Y0qK) zkj(&g#yfA|AazL;nBMWX3nEP9UfkWI2o#o$12L04VweiH#rnB4iW`!JFek!Hlflw6 zgK*~MdTL@Qlg>y=1j;ewNQon>C6TvFBHx1{Oatwp=jMs3E4mpt(#NlgSBFUj9V4?O z;tN&%H;$AT9c@cxFM-^Qt{a!FLe7Y?A3-Eag_y=eF%e+|%^4YAy=4nefHt-O)HBF= z;15t;XXD*f4?bJCbE|r`A=*Qu7q($tdm+oCN-WAX?ipi2=~%5l6e=-(MD*;MnoMMJup%*Su&k8Duho{e_$N4DT>3c zmI&RGF-CI-r#5)YVQDQA1Y?6`h3T+K*~&D7M^c)FFj3y@QJe`q{#49imS*-l)p*pa z5g!;=I9VdwL7L_tH6&6+X_Rje%JfNlh&E9tKOLjk?tmh2AvQOy#L{904y2nvCdejh z7%!(1hJAEg1?jl&jvO0p<*veGM6pL+8`7jSKsY-DWi)w!Ow+gro27d8xfsOr1@v}e zMS4M2I_wx9<1!hva)vkxA-4(js;>?E1Xh8!JOo9xrY!t~V_Tn`Ok}%|;%2y|GV+_@ zY!)eLWjf^Xut%U%pN~1HK$xb8sED8R0z5-xt{_8OI!ZX(Ei8>axp7Q6y$8#t`t;i| zhfZA74%o-{q-Mx7B!_{bUT0n^`ey@%$Xs?#TT~s>n(raV#QOBRF^4h5WW?GV8}5FO zIE8oV}+l|!~S4Pa;gScOCMrAQzanD;Lr-U4tS}D-u3p|OvnCXrJXWTu!geXPu zTI2pA@*R`NZWXBb0*_lC(Cu#gUfww|qjT$FqlBCZN|CJd+}^dP^cb`E9^G8M7l$9V z84P3JV5&2WDL*Qi%^l}=7wpMBnp2_=ZZF#HL8@M#<8R;1_%L(#h*{EA{rCO?f&XZjx_v8IF#tI*UI2wc;7~We4_vd{?h06;bFn;*+SZG zFX(nm02E+dWReXV_w&SAV0FK1rvy<<`}u-By1zW1Q62=E-Y0$c*+ZYkfScwX?(cue zU8%6lAE-Ts;@OIH$oC~EXpcVHDAI#Pl|FYsWoSgyPiT^r8MHFteEBt0+-wT0bbrIlr{G; zfnEtetpCgg!d|*ICHey^G5C_%c~KS|qQq|9KX9K!{WeJ>6OAH_Wjddoxj4+*uJ9$L z;85*x+GU0Ea@SE?DOGKhA}hDL;34^fWvLr_<|~}9NU1?96{-|EQ^dV4UuYlw9J5&| zvNA+_D9b3X!q+o*~NURBu#?uc=Vh3XT3;z6d3R z^`F{P;CsmP%`#+VX3->aV=;lN$S!?LpPYpluob>%yisO&6Ad^b&p-0Lx}lHg5xLjp zvw*(_g>ou{Sjd*3>dWlsg<#W>S(!pT6e3YFQp-^l>bF9{&!v+{p=xyZLXm z!ui*=qi>`^$5g7gOWuK#_e-29IR$D(jbfbL$nxHs6btPxhIpF(&l z^OniCMyZOG%E&E>0nMJf+$e>ufbn@uUsa`4H&$z`N+(sSXQ$#iB`-1|QK+L)hyxi| z4vxuzIKuCTyq+}5%HY;>oN4SAl2_+q!(nJArO?@{5tLy-u(gR0!T6TQN>o*XvHec{ z$MzKD>x^(U;_wKhgd)O8hRkO&wmrq@-l4B4{sL`t4)+H))+nVTEIK1AG)y5PALVCv zMumo~P?|yvZVLVX?7eA_8%LJs=@EfM0$>uE4X~5kK@LeQn`s5x)EYC>XtoQPmDV-Ddk$w@Ol#?pvk%z9s4wbx=G-g7 ziKIyE@BcgkKvGGT)YY|JHddu>l86ZZg-3+@^XJdsdtPc5!pKc$-EY3)JkJ!SNVyIx zGj#*LtanRFVVTG#1+ZfGIlFucmy>arhdHQQAAj77HRx0RbY;uo|{Yy*dc_6w=((r?Kvnk*eo=F zwYV65Vj%@ojM%XT`Wr=NSdoY#WHF#f$rn*H!<$sTctAy_QiP;obXm6jK(MXHADHx< zVM8T4nNsP^q4E^3cBU zF+b~~RN7Z>58VsR4Z->u{>l`Jm^=MhXk|LB%-qNIO!(X#sapS8M6>2dYw6O31G#20ywKJc;{=I1J+{5!L3ZuKRuW3Jx{WuMRk9ao`Bv(Quu z^|8iDA@W2!?On}!`d2E|XQcx2W74Iqm~E+Rp=A9psf8X^6k3G);bi7t-I0~*Su2nC zv8PQ=eWRP%PPZzBT1P8AqC%v#wyD-J-Kf)wocFZ)^w*ToMxPc)IQa#QBUWG*l^ein zO{e}Et&fd+b(`L2B%_Wopt@?a6bnSO(l2zIIeHJw#E??os8qj|N`|wm)x^Y=Lp)!$`Ar%H4;wWXb;iCnz&Y;A!@JpQ3d7cV4nHHQt zNp=IPb(6vi*13An!XtMh4V zsK-=_bl+|YkrrX`Ta}u+n)r+t>ETCIB-<=9nc$CS^ zA-f~WkP>ni!tHJA)dzGVl7IU$4@y2;i7Awb@ZT8j$h}6dwjy)MS%AkBCA8tDrR3~+ zfR0;?lwME0`VIQD70X)Y zo>41DcJugF1NW2rp89k$Bp(zw%g-wO}^&TvBAJXbA-h`DJT%re4s?Mve zdfaH%J*)$Dle3CPBI_C|FY3oa#Fpir>Lq9&<>Mp8R9(<4Glw#aC4_uV<~F29LxatA zP>AGc)GfVKV(LScA+Mia1M`8-->Q#Nq>m!lC(vJ`?sxdP!tHR&=+htQdUEE)*H5{N zwKz-qL{ye?|D(IosTXlim2mTjY437-RVZo}>Zeej3%E=4CW*9AL#G9lAdeO$Dl7CX z{VJjjPF1TrG=lK9dbkC7roN%IE}^YjYNNsm_2>6d#g$i0*E6Nd-C^Sg4Vk?EO6G(n z87gldxtzE~$4VaLJryBqSzKf)MTU!f3pb!AR}rZn%lNQLUQ}0S-lHO92aAjJ-$B!& zeNu*G14?)#%X&x=pYLd7we@Bz6(*%_S97F+(%I+)`+T& zu5=To*OPBoL(Ji|=w|8h_cLKf9uk;0V1@E))S-8&5J{!tLVdTZ9ZHV5ITXUUiDrmw zS_#BTMQimuJ5{RGELE{m(?V{g=OO3~TX}a#p()D=g<5Al+R9{o84D(%Eu!aer>T@7 z#0@1(0YS_g6h5U55rfPQ-6&`l>bXq~n2*fZp&l^jW9D)^)T-fSDpTH|N7~Mm$Bk(d z*~7Bf%(zX>x4UECFa_8bRm<=0yfw%*D>G@M=^j?d_N%o*1GlLG2dLoMx52SzJ*rzb zb51wIO0h?n=1ALgtAf83rsU3BRjMzbl%A>QV`ecyghQ&EvW#e@P3qEHRV3XkGUZma zV!1!M3PngFk4Gh4dL6G)W!&5?>e5>%b%i|18wNlxw>eHK5i2Pc5b%$t}xA^vtmeWTe(&eL2 zMco_uX@$aVdZJA#RA?5OYK6)Kb-DoxO;#a3S>GnQ;Zj1BoObH$avN1D)hyM23w@x0 z+pCLMNyUhaW;89JOsAF6-bu(Q6}mjG-Ocm>#u1dt9&W>)0O%~ajx99YCAv%RPId1M z%rM;rzQ|`(#tIcfsjqqq2Tc4;)+61 z3@J2qvD@UxB+Bf<%1rWQ4$~cORA-~NGG&~qw{Va#pSHf6x1d69MDd`RRk~ByEH&ju z>uVhpBCX3o20QxUp5a9*Fq^>7R8VJX?k>F49*En_x>4OMoOWnf@8DAkXnMhBI|Ejx zhm~F?7gmVtY z0?OjQwe*3ao`lwp$)91!T?3`;o`a#j4CGQqnl z7Bq|X-=Gd!B(~o=1TM_)ncVtt_#KtO&q@!)7^&1|dZr`pdh4Ay!;&UiL(s??qYlRqjc@-)R#N(Saq}X_@CiafCDQ% z9rrPcu(xj`T#R&UmgrLnHBU^Ub11^R6h8!dHr=n!%3v{}Z!bc+H46<~r=Hy1!EK1U zR*u5$dJ>A@CdJCkg{&Weq)f_}`I5)ImYz%_=05ChqkIjDL!&40E-0csw-k(ikv$66 z_t^D)IJmlg>O~eNjNCGUsG1Zgv0@p%!^1aA%(zxPKSQ1$uAimr`KW4fl&1j61L)E0 zq&d4;Vvb6vSstYWP$|+{Y*B}%3@v*dex#C56v_J{U(s@ZV|_lN1g}SXRPkJl;5bs%Q03>|8sW7;Vtmy5b+c^52u|}@K#MZMD)$M#VjjOc1QIb z1BWRf$;1tjRFuHcC&ZSCx?gRTne!WZd?Uj>^c*t|6ERCirVJvHGHL9ybmX^cSaJP* zj#2kttGg>%jhjIs(tmAGKZe1$y;i=)LFUa`FsW5ys+E|AJFUXx9cBsq6!6gGH{&Ub zv3Qx$ima9dUf(flZd*FL?NDPpOu zP~SBY5CNtRH-|zbf5D%DZhV{`_oiEexs2y|y%uKM%2ce(w16AYamn2-w*_1!S%7Bl zvqr9WbYltyNuh7J`_&RE9T;WZl!fjH4hmHD1oM$KE-JG)_Bz^{64Iy*aCwg|ry|-$ zM^8idT&1UxtAxsg`5=4^owcpVjH@M2^qRPybT|ZTn0>%8ktJ*Sm?rQ=@P*Klalv-f;Rdq%r3zCbO4 z)XQl_Cd_WTeyXn5V1VaFWj@cub>-L93b44(YrC-jR}x4$mPAR2>y(=WR|r{aDKKJ& z2-b|7{osVVQliBYYxXR1;jDme$Mu+M>7KMO`WlM|`S>-Sq^4G2S||?^3e1@ne1(sM zT|NoRg&atT9V!%&;WN0fRivUKlGBvwT;e*W z3=i|;YZbyIMWHcSJG5C#EX+>2D=rYl^8!(L~^ zPK^b&!B#lSw=}UUB$mQyG%<2NF!532TS6b8C|SAj#$cX1_ab~vv+Myfz}_JEb+U3Z zR_#@Y0fZSw=u;z|vy_huqc0Fcb95-@A+NgdiMt3#_f*(Pj2WI{{caL3t79x1;>&fy zg9fgUu*)H@T7ms1Yx#1G&F9lq zmZO8-8dPB<&vLa@ig;frLUwnoD_^11F*Tk%xjdLIiGV;XF7$Y?$3&jel!w< zS;C6cMIt=dq6-3f)tlI}AKwbfjADZWnIZ5vsAVsKnfjm8$U@KBHXgfr0onBpS61*DG*@C>6=O-~+k%po zo*@Cvqc(Dho6mQy4W zLW52*=#R0h6^V#IlMOEwwF(tNz|K^u6b^O;-1Mp;k54sAV1ruE7jQ4t&Tu%kWBMYy zkoxjz)f7E$qoba3>;{>?l)%}P_Prx92$erp>l$_JK2B$-Vk#vJ(wyVCviGQKaMZ92 zrtFR32H1R*EKLModgBMH}6E>%!6VlEh@(}DiF)`{~;SFJWRa*S0k-9Mcu?6Vd_F5gj>c+IOIkRJZ9jEfq7c(1Q+3?##f3)sW*ql z_=BlqdwmkIXVV{k7KwJ*T7>}JXO5s1nFwHdJmwMZl+)WT&7_NJ2uRU9jM1h&)b zp2^eWdnBr|YYgxv$nlCXBDf&@hF3rN5)FwRsxWb-4Dt&Z$>8SUx{`4RFH=~0flpS& z6<*v^tdXi`u}>2|4R}L{N^(bD$Gqq`)IL$&c|cJzgY)!GZO8*$S%gC!an+gyze4>f zS|!a}SHFPdoyTD*9FqRl0a^7$u6CY)S-FJKm6RZitSI`fNL-hVi!fztRrCzsA$7T^ z6{8-jW&2$(Z&FB$9GcC`aWhZKk~@iUD!91&-EKTXnQ9?pXjn|NuslRm(RCTF_i`mP zAmocmvKJFlk5c_;M;_{0E!8PtFoKJ&h@>Xx_09l^r2)gGBWOY+^A<<-Li`J9Xq{ImeFg3o z_BkdO7$s)N6GVbDvb{8yV3wWhWNvaW)Y8nZM2OlE}yIsoXF-N>lYRr`i$eGi% z$+}H6vsQ5xnz7vpO_)0|Z0S}#x|K!-2Er+JuPQTQtvO)*3$E0?cq`nCDF6c(&!XrI zzTr3Cp|x|EL8sSE)#$BM6w%Dnwa!vll|!E04PBkPF^21I*l@7g<~q0;CY-I>1Z&6* z*}W!RsnjiOI>o&}mR+7mbV8qKHj47g&Ws3=oJ~vz`hGYwg-Jez7jBqO6NZB~mECKd z-3!e}_rg&W)g!=nSw^O9v~C`Z?eFwpv#(V48MX8(fpY1HKFxBFIt`;&*KD4H|I-~i za7_%y(s}OG=2f9q>0o`L7dCG9QFvBhuh@#u4d(5+Y43dJY8s%-T&>{=y z3Z4sQ(_Vwj&}mvtSPfD65;#*e;HayDlll&or=wfCp20_eE4>^-GyIiO^5pR(?R9xt zTu?-c3?Uy8uURGeC)s!zk=yGlz0tU+rjm zO1(sG+-QA=YpI!TEREwmue+r1yKuT^n@?DgnTOcy#D!tGyJP9Ff%9ysfwF1jfnT|| z5s-ATF0O*G5p~Cl8;7^zA@aC-y##T8K^;>3Y147rQVa5s@@fh zL_ybwsyE9C3+au7ER+>*WFy0<)Lillp*(ccYEpw_FURjCoyE0lwy!)947_k=iQ;26 zhTrGlV>X6ArllQRuBBdIB|d?I+TOQHqtqQ}o;*blx(L!1Pux-@eT=MY=$6(XF>ip^ z8=V2n#hODw>=+KAGG9f2SOvvck%-H=7XNj zBnUdT0O%jXmPWfA+dAk1H4jsJRr9$b(-caggXNDR>Nj<#o>l1#bpLJ~_vU))cB5jJ zn1S|%xgRaBNbtAoStjrxi%})_zAarX;tQZ43`W@z-o*$md9*|G3df6!fsHM#3-oU{ zNR@x=;bynO9l_u%R>+&F_%1&Mr_Qb@v`b&@7V|ZEr6bu;8`_R&{Om`crp@qkCgLWQ zO`~Bk%JUc_o{onoF9f@ds$LOYl1&Rq%d{NWLESTW;&THwq2>l7)|PP~^ZZcer+$3u z7!~P3Bat$-l+y6WJfE;7_!yGl@0V3SN7_6h;|1>}Aqld~=qyk!VY^7e-ooq%%n|gc z@Ip6=W*jInj|NpfA_*A6S~kxcyU_D7C&0(DH3L0rvR?;Nmh~RHLvM)d(-WQN;$KA>gcNK@??*Lgpn;T+VYJa8w#V2g6k^+Q87eVsR?Bue$VF$H_ObWh zQWsSi7Lij%#(_v}koVt#;>pgdRg^fr@+xkNhQ{DawJ}f&Jz#5U9o^_f>~FCPr3APu z8N7TAN&gTlS#2FZLU3WwOXsKV>EEYHyRHx|x>w z*xLj;8xWx!?~5Y&MfofwA6&cqC zRw%kV0JEVC;1RNK4=9oZ#V7o=atsy?OxKs3C0K$@02tqq-^Y;SK~_=a8h$U9T^}$8 zU4dDewUxg*uUcU08<5);DqFxVcd37ih%Vaekb;zgJS15abRodMVjKxV?cUB%1enl7 zz$`rp%$7!g`+}A1inN>2Z56W0?GTv#c9**}LvRr^A8$m1s2e5qdCH8Y? zPzoTMe|?cPH#~VAJ{zdW8C&99A@*$8uHV?WVJycfI0D^!wAL{~gi}}Wso8XxG!wB- zWy|WUY2#wLrN;X`m&JBm#1K-e7|{$oZ#5dxcIkv9w_3r+LxvdoE01<1Qg<-aXOAGs zf&wEOJ8-DJmS?oM&vRM#NBb^DU|ILygJ5Nux!-LQw_x0!Eb$~%x%4%gPlV`7q%y_f zIV4XQ%^_W&VW2|5HHV$zN1lr-3X3RVaTVLgLCr&TT}H*PW+k(uJf9wHfPyNlM#*q= zYU;FO+8{l(ql6%2Ftecz!;$V_mV7O!&p>-5M2I_-9W`g~KkjiJYu#PJR=kSr4y81o zD(dDA$kGwy%h6izP#3KXG;=;QvC&>k9xm(}I6)Uk+Xz>%`J=zP%DttYfu~GEo;L zyVpVc%6t92@W)|p;QH1u%-QzK5ziE)w&-4^YYD3i^CLuiXS;YR>=&Wj#lz7eZ!L_9 zqfB2iQWDamB|R9!J40Y9pN;RtOo8^q;uml41KnpDF)A*yt)dHSH8gG3eenF^J{MHd zhiX0CXC`|v)@lRx;xgnM3{znNaXHjQb}JXAile;Us8qIR!L5!vyvH3-8FBex1xW!c z+O+jOhBEG<)o1ymt&%aKP&io2aSP&s^{$j_JnT##mgZfu*O%+(A({Q_+q1p~dyi+c zu4eB|d->so^qvEq2{y?+E_-`&MIcLw6^s6Wbm-{Da7>f&fNEwYsW`bWnJ^;GzFS zd$m**kfzfyafU~HBSX+e)p0~P%;IBAeo)GT68jmtp>X5~K8pd`Gb~$E)grH07SE>oGFR_)_A_bd*Dfd=d>)p3w??C+cRyNO8NTk(`x|k0pOSgVrkflxC@1 ziUoG>9tsdcXSRZztI}RrI^esEx>^OfLt8Le;t*(8 zuvXBX8)Rda9k3b^UPF(^pv*0c2WlNt=~BugtO-t{k>XJVc(VtSB8a8;3_C;`Hjn=b zGRL?B#w8XuC@YIIxMo2Z8D1Su%%BH1nrXVRAXq0%yqD3?hHx=L(49b_2`I&95f3z zV>hxK3WBD+p6F^mJ-H!uJZ&DEE9}O;LtWM@PjTBrurgs9+YSt6IHP zYZOkgNp#HWX?F+cSwe3yF(k5^bTiea(iH$GSD=Wy)G;&NAb>tli^CD~3%De?q}J!xAln28+?_`oeP6>5Gzm_}ldl83r0 zVF}L$J*BmbO4jHRuZ-z6^egSfXlDmE<2{D0omv<+N3+}p@hk9MxA8AD{%rWA0&3cr z8w9AVD%f@5hu!>?$ya|dC3RYnU};xv@l?VmLoy}+L>9y3RJ+00b~WfFN_igLDic~j zTh40EpJslHgr(JYkpL->4(zZ1a4^rAZ-HNBaNFQQmG9rFW#^ps%&lM%p+|1lki$j{ zzzN6$-U~d$zQnYi#;IkcnVQVm^j067dAZ*jY()I4jejz({0^;BJ0dcT-9x>D)MBCM z8d}M>$QY#e&i7NC6x~y7t;(da1F9uqNYu7HE_aQgPZ%0yh!oGj6~3wb&Q$%p9cp)r zh_by^mZ(Y8+iY6Ab#NJ$g8*xOi|)$%FnU;pUK0J+Mn9g=r;?;XYAotbpXgLw8@(y@ z(`}+(0KJ^odzXpG^#c!j5t$k<%6aXx84O}n`|Sn`v{Pg zUE~u7x#-?jlr=HFu%}aRGi#aUAW(i_p^Iw&5u4pmYuo&*D)tS={xV@#wri2ULt8Ts zY?2Rk8oHKBp_h$*A@qvo%O(7ZkOKI+nIWeOUjbe=@`0R8*i9><-)MAsX}B5aJ<&G# zGocQH@7yeWX_wUDw}ch8MU6q{gj2ChyDD^Vt`UCHbi{Yy%>7_zAsAB2;6=JTWmhJ1^W z4=3aSBlkJTb2iImJG&d^a^A3S4$m4L@%WWl{@jqzw-56n!@Btw4)2V=IUMS%VU3|@00i~l@S>OA1#PiKFCS{YZZWr zPoM*Rnt;hDDeo{Qw}#Dwl@Au!!8@5QyIv9rxsfspgV^}t7BPW3S#K-62iiE;9%1h^ z>_Nk#w=wLqCdClMJbbbxR*}PUCU~v3zh+$g15q$}&!9?jm9;T+RAgDt86adqP78gP zp${bJsmhMS00g)9JQteh7oZs5C=n_ zLhhfrGVMj=ipcj`jrS#F zw&XOgxqcaega(`nUj|HMk7jK|X=5&>%Bko>KA?VPaKT_8L!78@0xk)BpMgJ0z?IFc zAEPM49oQy+dfdxtkE4d3ZfI>Zk!b4-JhHMQVGT z55j4nJGTp6+N;n1k}5r7WHxGGSM9PsUnbzB8`V2!F@*t)YD?FI9f|#bu|G)IJ;v?} zU{5i2mCR>d1ShgNTyVE$ZauVTrX+c_IYk}OwFT#o4lU(M(>z}L2J(YO-kXqTY?32F zMo#0iM8E)40_fR%htQIsl2)z*hZ@@XDfDDII_QTC{eFTbHUA3J zk+DzC*)C`QEVT|(FR0eD@7DARDJ`>K&6;p8@Gdn&$FAQg%_~tbVOPa|*x1@7#mzu- z>fFe`P>`v1ZimoiH3K(a=y`^o!y2R}+9M3_oS`T6tG#F?DOD<9BrtYG>_?2fCt*+7 zIJ{gUiE2+ZwgLlOaenPXy6ruhr+~yYfv2xzfd^fCY7Vya)>I{pYH8?#(2p8=cYI8tQ+2LLN~E4soiDsc^M@k9iWaCe@Ts%I&R|?d??&2!N-N z9pCjCcx;~})3db?=mqx*Ols74>Zd&>>Ff;iy_y&o<<%B+qwmr7gnrV{+Y>Y?bC&Q8 zyD{=tb`p)?SolUX8M^mg>E4sz+2o_5#UeKZc}TCQ3-2)QNqSh&gF-)L=xs52Jz!oB z$%>3ypvtM>8C7|%apy8D6|$NX^N(DBn(WwE#bjSt$S~&wTNd_d!)`S!+7}kI#ga_a zc=9gQc+m3qjXqP`Tf0|UD>@e|ewucqQJ3iCLeJD&VMUW{alB>FJwiWYXr&foqc3bR z>+v%~0oF>2&{R3dJPp^S?-Th)Hr|o8kXaLdbO+n{7cQW*4@=`$lU~imLO*Nh%?Y|< z=)M5-z%Jq>Tn9sG(LE*j^!ub$O4Cg%+3uLB)9lpFD;68kB$dHCaM7iJKWFewF?=14 zVW_{LquoL)X{#$4`T|2wgIbX0JIJ%s$G54!fR@8(M-}T)nrReHO^}~AvV;ciDU4iV zOZjEds>k3}bc-l_vi5$>&}8)0R0DP?4?F1EO7|9;82XMpOB#8mGEBrq1fOs44GElR zIkH(OwWuT)a!{wp{B99v6My{nGnb?`O8b`lDt{^zj|<-@4`?{z-@!%mT;< z@n1InnuI@NEqTz;fIs2I>ju<4Og$!g{sAdINGRTWg_@Rm!Mt+lHh(Nhq-4v`BWBm% z*1m%Mim_KG>;YpJ!;gpexG#|&gfErcqheQ#t-@KHLV~>hl?yiVhNyRu?3MOP439l# zOzc;Uy~^0st8)!`*BEf9ckVsWXIpTT(Z`H_A?iUXEuDw@(Y`n84<5mKl7<9kV{!;` zRpDPVd_BQW5nj45i`7$&KaUwpCU~UAxD`DpRfQx|ym!oLP6qGpV1onz)Qo2J){ZJ^ z{1up#3Yj4waV5Q`d9FV(*nz8vIm)~APQ zifSih3=@BW@mD1LIctVrms)&a*ywpGA7ma@1=M}=`>OkS%t4Fpq1x`6u~}+imd8{^^I*gP>``M&qS=@v zM|9w!;BOjyc>4{0Q2(S=UL`U<)>cN)<0pq5Jcx-x9? z^0O7;X%o4(48AOZ_Y1Cp2(O9C`;P7qQT0^#py(x|{|IEr@)~_c|H=RlP`K4!pb%uNGk4<($ccL>I@xecYt<<}Ktyl&W z0>puZ5OAs3Xx+SzH;s*MMS8Orq$*SE+=oJ!aq3_WZ|pI#nWp8*5Xmeg=mI^e_8#Ie zh8zd2Mo+a%LKF1_`i%rl614e}R@8c`q1D=g%-yvee40lg2Q!e5QCJZhU#u$E2T|qi5M=&Zs zMo_B?y4ouGN&;n9pJ$~P<4eeX>KJ5LmB(-EPBD9pNicNCu0l%*nW37p%dw5H+@XS6 zML_Rm{c;R^SGc}_I!611llw`RyF<9S!bP2h0c@NN=VppHfO7%!P=pA72epEL7_E4f zFBy=}#qK`ONaRq%9z$AmZvP#%ZMDbfY$0#;G{HPk&rH80$r4LvP{hFinJy=l5x7}# zz0>rI3AayNNt-Wty#kZHIJ_OI>wH}A5=%rh+}jzPa#5Ho;nL2`qjyOyok^7l`^hpE zAmM@<@no8}sLC%S=*qif??co;9@yuwuWH?~-`yto^v9`m5HPN#sx!MH>fRZ26#Er> zu^8_%MHi1 zPoo`mUEyFzg6&Ec9ad29C;hxZk(E7$EjzGN3@f?R72I0eTGP8ga+7Cx$fYtN*anN6 znPO>ZYy$~`(})Mac$d3Dfw8CaCZ0>cGnSK`Qak#voiNp9lEz>mtef zEyB+hJ{(9R8*%6FW}l6r{$f{3^@pz)GqfKG#2#hhkGZ_~Ta5pV@zG_XW#Sh@YTx;> z`1mO@V%#kLJmdEc;w=(JL2e)Q?=N+Ydp{Vh6%=iNYkk;(>F}c(G^lFs6G1ge2{JdTsuzkGjnqo`VIazTgT?s&XOx6_sKh&0|4((zl#O9b zDkaNBLO-6Mrx;p6tGK=kt=U!4-B8=ii0~BX)Bw@~6;%EfT4bij0ASuiPs*^o3%-XHW90;Kbgh^rG2J|4}$dUqLoftkhV%Y4P}wG1PH-h0mD%CasCbak74A!@mBqvN zOIJP4&~y-gKADbO(XeI1$~7aDb<}2(0gjNoB~5{gXqJw-1Ouaiy~p#t21dVO7YY^w zP*ov!ehPUy6Rb>djVe6y4C*!9GTzCEDk>fn*Q?zr#36%!Io$<+my!p2m*;yDaL=OQ z`=qDBog(g!F}fgYuBmN6NIokA%{n zG@0G+M3~3gI7uhO;%+=!NjXT#gf1Bj;uT*BEdIO7b_zY0x5_*t4dIa{q&c98- z0|uTJ0-ggHODNLjDuF8o#>+|b6%LoRa-AVzlaj;JNwmk5{NvFFDAyTZ+C!HQEh7ny)i2RXwCY#zDAI}`8}fhBBC zA|fH{m8ODU)z%{*pVK=gP!Ro`Kf)1C6$8Ah!a#8zqx!I!6h4$=iWhe|@40+OLZ0=` z@ZHi{0rz8Uko^gHW8}hfOzC*NS=ki~UJCFaB8(a<0MwbNGNdIm>LGg(wr67Do$g0cTnn0&69KK7E z=Ue0>P&q5PenDO8dDT`OWl&Q>%UCk%cIpku(J0D+%`lB~I4=l%*ub|W;C_K6cupZF z4>M6=dfEst7rA6)_RmS-PdTEr33vxcmdnV1w#7>Ui&KHH-hKJz82k3{of13LHag;h z0`nU_#ASk34T=puRZimwDk%O8h;xiC4!?XvCJtkU{K9H_lOa)@Cciy=htyUo+5>b@ zP}hA~ZEekv8faZLYbO0s@^B%`F>slei_Gt2Gcl-lWxg?ivMm}5=|~(!cpgFJP^RZg zVY<%wm^rk^cvQ-o0ox6+KFxM1P|XCdkT93`RPW7vLqe^*J$$>w4bXuvT*$-;`8Q

      4u$)43lcWN8C$eMfn<#Y}U$}_Ge_@6npmT4T!E0y)}HBmW}{+9(AE6r9tWvRdd96 zvq5QhMC?)@z{8Z?Yjh$6a78epcVoUTA@&$?S_p9p#HvCDF0QSqx!?socMq(T4D~_L z@7u(hLC$W#QkRx(RmrcdlGi548E*~WI-Jr@cC(1o=fk?95hodu)giJ%%ZDLkDWBGv zVfiG=af=+wfZC16k#SXx{x=D5z<`AM56{6!k!3c1k!m>Gc#Km~6@wYT6mhDO*0$&l zaDa-txgP1AmVa$XR24P>yoIC;ME2)U2Fo}{8FK6e-Jc!FWdlje`zpg;Et1q)vb4BD zCU0aavTB~NYF?8tr@T3Q^Ke8||5WLhY@>EjZ8gKni@KKZFD=g4!b(@jEEo~Z;;rMu z1OZ)33x#^}lZL!HLC!KHA^rWwh(gf*u*PKDV=kV}xGxJwRG|+RQGg_$fsSeIpo^d& zg3S#2twFC!pmW|F#=Hw-iHXhX&vFecuoSObwC6&5ux0AYDXG_(9YAgGM{uHd1k z4Eige(F`j72F!>Bpvjt$qWBr}LSuG{q-Y_z+R?U|u?H+4_iFkeKR>Ni>Dj$g@|7`h z>Kns&SanBzsPkyc7uB%-MK9?>$z5}EDrvw|T$v;?jxIUrTLFm;w2XAv@q}_0z9I&) zz2Xg$8)&ZBos8G}683H?ps~nuBaAX!N)GQLn}%z$XrKSgyXKG-0K?%FW}_!$ncL|#k`rVez0uo#ScgLG$*7R zhC_}VNAsabFV>HX)x>zp&s^#PIbz`O5Mg)LqJ9G%#X^=b-_$TSTYG>Ow+HHVBPmX3 zZ^H40dQqh=Y2rko`*c(=+J;>=RY+~FH99c46@xKtJgvr$5L8p8d4ao0KTjJDC5I=y zv_j9 z7Ki-Y$k&*O;>7;NMk883!Y4VQ-J+l0#xzDsaF@4mA>x>*88;%Mv?S*atl&eXu8!b@ zJI&aU%H+CxXZ8=AZ^@G+@t{dI`KsQkpC@BDD?8!lc9jNDw4+KG^rB5pQuZfDawT{g1U#Mrp9UJ^{kQv73*U)@ zU?&mjG=u<~PRD3}F%t=n&7pTdRvtGP^Z-wJ_&1_y)bel?ABM^p&c~weSH*DV2JCcB z$cm!_Fn5ETli?0>uGmj3Tq<9vb#%xg8-G?})FT{|6E>P!#8B?v3+)Q_)lGJ~e_&wf z{84NjS@x+6M+Zt>9v)^e3-TT08kF<)Uf*br2`8Pv*Bq@i${ma8bOGqs#Pm(n5zNe? zZH#B+<>-~t?*77Kh!>A=Ku$1d)DcRNuOylTm|r(5N#({yM~8+6`v2Tz))8<-$ClnN znP;DhL2OnfgPrgDwpn0=dvO9{9u={* zf(K!~0(5N?o~t0D2%~aIg2a*5kqD=7EgsRPp8* z__-8PbA^^81rN+19pd}j=nxU*3I_!diMow&0#1k+&LWO^B02}eTUtcf;E(~RCGy_b z%~NXuI7eWSANxb;5t?@c(d5`aHipB9W1fjp1oPGwvud$xro!R+fTy(g3+a{Pm)5gg z)dZ7HFEy>yy0S+S!W!ZAn;LS;(S6Rk8R}eXtjJEU~N+F24y@)^Dsb9*f=z z_Kp_TmZxcmDD-^qa)e(di*R7agq?|rz(a{YjqvwPpxErA-2NDfh7I)27F6^1kSriv zgN~4Aju2@z)3~<6j*FK*)IL#Ugz_KiN&VaxLzxQzy{iS4Z$U}{LgvXDR+t_YvaEc` zi<8=;T3XUTCDjKbo0+GwmJ@NzKR=TesK1S=OynfPd;{u7K=JLlf)^m}Ot|K1fOnp1 z`=LNG@_8<+PZ7sFmkAc!yIWkji1;?7>Xp)R`zou)O6d*Qgw!)X5Jcuk&twrUB6GiI zG7E%xPm3v|p4k*=M>H#Ju(H)t0;CdjVZybF?iEF*Qx9daFv9QFLz%4ty|)D=rA2VQ zzV#?nwJTblxh^z1gw;Hx$7A0YN0wfXWt}w2y&q%Q*&6J9O{^vlFb9z6G%9Qt5$*~k z$Hyd~xf1TMdZX_NA&aypvO*kj%vY3#2=V@yhzUm%FZ_;pXyjA_4+Y*TfAq?OT){tX zo`({k7~#g7Kv^V@a(iMZPS`*nXhCJilZMT_kT)5!j>{_;0UOWjn1Q0BtFF7nk&WNi zm1X^iW4^8!KEOWM!YZsPkQFmSh9o5h@{Zh z+9r%v(meH5{oEE)vHd}PtVNYG>X12BAEaTSJ@NcN1FZ%rBF6Q4=vGm*?&qPe>F3rM zy2GH4H=ziAvp0;|Qi-f?X_6XHKuiK*6#b%#ZV^O_m7e*!er}1Gm{h6g6ETzJ2=gG; zx>`R}H7nXfIl}amVU0qqz%w@sq7_!pT%ezuW9BwvKG|Z*``aA9i!!q*h*Td7X1Ba& z6P=t)J^-C~FHqpKU?&@VXQc5b)3> zP{R$&*wtOu?Y zLCzN*_>O+Aje#uK0DQg$R78@`Pc^zvQ#&^%!`lEzvj>+wk`SZ_|Jnq(NI%!aNS2pC z&Tk@35UU}6gx5}?peT$$22BZASM@wXgd+TD6CSSU5$-ZxhOi6O=yyHl`hGw(B)`@epY2>_6g#yZ0 zldRnky%XU-n^1`#i10u1^;~1rms(WGHrEfe7|?ODvgujF%*kI|$!130{%%N_AJrQV>~YR9UN?T-f~cTiut(Sk{-R>}xHo{CF*Z)%Bz5RMeXaS*oq% zvAD-T&3mf7M)}-%s=ef8F_pD&sIRxE+62BNyL=`M+(%MJQQ z3yN}UwHj4Ui9y|>EH@O_4^*>VUr*~na=`RR>tBmwECKmv9Fk-NDET77*nK#$Ftkaz0*C@#F4yQ zJ=28MJ28_atuWtiGHq^4J-bMH%d;~RWV8dW{I;VqAy+-qWai=~(2(4f#w%}ul)6L-VDyh-*YO{U5Hw`1laW4_a3;`c~rf@x_B3ixu; zoS^q&A?FX&w6sBO3|iWR+6eVl3?+3k55K4d9RzBA>w)6W2l-ZNP*hjRE;z$M@6%zU z<+3K##?m)q>O!L~Zc(L#`o-CP0AYpiE?->Q0?-smmbsHUsSWJQn@}6}--w|k<)*4j zVkoQSQk(m2oq*iWzJF#5cms%OTIz+yG#%vKCet*O1u^q2V=iqm)q>+PB(sW|P1ej1gT1JRiH zXDHX}^I3Kh(vE*MG?tDLUf=uLt5K}+WhIo82XAqS2dyZ zLz%=8!3h1Ryi4s!;vXY6Zv$dgM4QU3YZ7gu_d-m3*@&xSBCG89A~JlyG_yk~%VdIv z#Q5JYCoH)dd5=Kcc>)+_3q%^2$dR!Z-tl9 zlr}V}@9F3BG4(~Gu5D4tFlN>!W;Q(hHvJ)eifRV(Ch(5HHjCfbB-$MRxtREZ5!bbd z^YBoWC%N=@W}Ybhv?LaAbj%HjIjCBi!C_OAY37J$W9EEgu5U8QA0@YJDWbqewx}hE zs2paaBAS=B*+n)tiDorCMu#wTU!4)Kf9?Swn7W zA#tKN1G5xQJvsV04GF&w?6=Ay1$4IRX-2VaO{kg7o{XW-7<6+J8Yet6wK1*qdW9@N za+MWXum))14`#aC-UOOq?}-@rv;nuoK>PtZK;nvBQ=AY}?KNsdEZJiQ&qW90NDVVE z?q~wd{P=hbe9C}ZTR^l8bDxu8Nso;#O&h}hkGrHYLgHb}W1BH_XA}B~zSd(g^htwm zYeCOr6-SJSxE?rMr1)jA<`grHHioG^U;|2gb}y5h+{bUlgM2ITbb=I zX+h*c=N3wMMir|9J|e>ICh(wsJ`w{TH{gyKh$keo;K-e?p;phkf(E3d2LQ?H;p46z zR{1?m+^72aaEyD*a64PLNy7CjC>XtS?r6{q7M0l?WJfxow#lS}m zxT^&$0}P5?l9uIYnOY7@i6nG9prA90mU~d;-*4hR)6WNE+#`nD-NOACT$s^#z*4=E zz(=emhe40$4XSz%2(Y)w`&>UChnl8+j&W<5jjm=mBrARtq~k%px7{SLqL$ zu*3R!e++xbVDH5++%cK?6&Vs0{Iv*g7FM6}S+{)tEFdVA1BE|qvX1EIeKG4nW4+&G z^}?D-vM3o1-XR{VP|G>;4yI~Ve5Uo3_p03kww@ zHCS|LWvQWFa(_06LW(d)fV@YHeNE(1{k$he-fzecVr0s7bobMg8x9Zj=q)8J@6%4( zcwCcy8DgrZ-_|&Anou?mK>M5AFZJ{8n0udbKa9Dg%lGjh_=8Jp<{J;bS&IrCZl<;i znAxq6i-?emfs-_!pqx>)e=FX{P5f8-`P&$Oui-yR-bBEvM09>BhgWzMWO}in6Qz(X zEWq)=m1pK6g^OgSau|5pqL=Ry?UN?_n10?B!|yTpz635eEquaz{3GCV&ia%(=+4@d z3&+Ohja*QjJ9luPGJE#)>80M@o}SZ_8l9(8jj-XPRA!$4Ik#oWGm@+Kox0J1=6%1` z&pYG$-fj2YpS-iOoZq9NVg}A6qFtQ(pSasdwR(E6Q8`_1lp2Muo_s!=Wk;SU!o6rK z9-#-2HpC6o^19g_q91JD>>K^OBfi;h?Peb*H=CO$Vk9+M>I#FGTo9Smitu4CiF3OO ze%j<5*U#Hy&Rxd&B;kxzSh;YOmn`h-Q&omoAIny7n@SyOLQd%CZ879dgB*w<3_OHL z(?)`qal+ARKtowRvAn1B?^w9^hSuK^ImijFNhR#AtC|MX$drLQt2a2*lGQ|DTdu@u+I{h{Nuyw zp<0yYW4-87xX2XpOn*rM0=X@^Rcm;J`Ac2JZXh>p6bu2c z7x2p_kRR8_yqk=7#CWgZE}{NwQL-8xUZ4;1yQEpV+{J{tPN=V9)Ejuq>dEU$m|Gy{0g}*=eu09|W+z%<6Yv@VkHnZFO0bhL%q&jdHetUu*f$A`_A48Uk^?EN;B(m8v{J)YVkyOP zT>VP0Z)2Dl#ZES1*BI=00>ceMc~exJD!J-&*uF6cDmxs$fPN84$t(e$ih*XhJJAGQ zZNL)=uxz!9Q!3)p>M9_$s|oFgXI2P2`(^ONSBQB!W}1cZc$0aRF;6DUxiym6P?SHi z7||V${Msjn=FN9OdV;h(XXFc&gPpgknI-g_Ch}K?{5C=26Dyh=>&tp?S&&+&h;aA{ ziHYSTfS54OCwG_swTEZeQ zg%4`M1f?{~5=6+jv17GPB&&ALgU6aOmAhD#BVHMxnU23~0x#2UM5Tm>@H|fRXx`H1 zQTRM~bPrY$s)$qLv8E-SWGKPP0L^TCvuOZJS(Cef3y*vOc~r*lR~bsi4Y!R z@?Pc!Wlu8!PncnO#H{G+bNL>IT=|*rAA8*- z`ZsD1NUEn;2Otda<@0(&CcrWCy6eTjpf1_^f*)eh%TmfX7N4PhNCZn+vIVib5UQX1xQV%xdTjN zx~Y(14yn%atOANuLsMLdD+X!y-UDq&uK{v;(}qCmG`4ICZT%&-8nWq=_-rF$)tT8x)04@S?kxi-PT@XW&dK^qSN1aB9- zH<0c62$9yYE9v9p6#$kMMe>0)DXkIeYnvfpm+{QFySI&Z)Ofo+PjP1^>!d)9Jcf?O z3)O&2^C@u>?bLu~sUYl^3hvgoe!mTfjz!!g|fhl|75o0PWkdQijyuk;a( z<|ULhx+?vJ-V{1}iDuIy&KIB=ba%D^y+x-0SEPbBu>#wAlT&_1_t^I z%udfV<0C=7FwLU7qm7AU8UmZx!g=9YUAMOJn03Qr0uL`7DtkJjh+Ht%F*degyi+90B|Mn~2)!e$RvsddP?`04s0*teVjYv< zTOih5H?%>#3nWW)bg6X5rFQz@RaM#V)<^{_1^hU8d~dl zO*JE`lDZ#v_$w(Gar^$hH7*PC)mL@3vr%DS}e`Ym=n zBW>IDrW+IO$@Qi&FKN4evt7>!)posU=7e%`z3J#{Yf z?X*@+R}eUyCQ|PWf6c%BcI=|D)nl&sqVEf-i*xVh*fcC$kh?Z_lwZUtO!}Lj{PM4V@za0!N2ved-~Ffmz#(7L z^e=w$SHC>tnEQ7>`!7HH$tn%d z;{X25S&omtT35~df&Wc+(|=%zA9{y>{ppzYEYR!Kd|Id_{KjinBvh|0QZC$Ir(fakT@vndW=>He) zPvd_wD*R#oZprC$^ONh&Y(HnVtv`e${_mUV-@BeM`2yend6Td5$MW}g$MEl8v+tJu z{_o)rapk$j{p8%A#(#aaq}_h^?>~+IXUfYT^7~BL`a{aLu2tV?{rcDV*Pq7!@Aiy8 zmLo0seC`@0*PYpZ&TLzM2ub|kH`Bj&J!A3(zW?(kU*(VG@9&P`-@j(xE&Ki7!yn?x zWQ;$@-)}co)Q>kV8u#DA#`5}!aYrs{Omys>#?t!9Gp>85v84X(8OIhi7Ef?&QT@~z z*DY?mGr_Ti_0wlux1{m*caAM>yjgFYaoy6!8+CWav1N?~6C8WJKK>0XZ@f0a5m&!> z9PQo4tMxOFt!TVbZ`3atcb$%%u3tLt*viJs6COKNziixf^~Ou}iH?0+zkJ+vs~RuX z&pfue@k0G%{fcqd>DY<-mE(@BY0RJS*zx+W#$C6z@qB%vW8c)T8h72g#&h*EkF9S! zTmQO#^|nsL|Z*jM#mk2|)p@$`hpzO4Ud+;y88Pu0&nwz=_S{b>E# zao0_BY)j*b`WN-<#$BglN9xy)JGQm)_=Lv}*KZhi-L}SK^)rucZ#-K6ynf@j>n1w3 zqwz@nv-(ZruKQy@rsp`b&i{WM`#$ePsg){%L*Xgva;Q*ENr~+GM@)UVY1i$G6vaO>lfwV?+Ie36HO;e=_0mW%bV|Jif60 z)r7|v#3Rx8zOx!>=Oz1@$6tsgvifA}xg_a3s>vfXf@AwAl<2f3ATJ=Bs@%gcSbmsNH&+*nsxRLsJ zooxJQc=qG-W4%tJY&)m@cx&|C$b0j;;rP+Jb$t9tzlr+z>&I&at>fc0h)wXlK6acun@o3C~IMZJ$8^o zmp`|idYfBYq!demn|!pGpjXhXP&6%yr?l=F0E)Rv{v0ZKVGJ-WG<~%-#YJQ zu8f2!?#mUui1J{^0vmw`kMOuMxvv%&U=kDIiKhr z+iB~cS^fPC?ofadw1i(`oa2r%tBVy zUvB8UwCeHa57h6E&+AQ(KfkB(K>d^YgN@`HvdEt$$E|IzF#2C0ook`tZkAzkQ9nIR8xJNPS8DjfT$4-qJe1zj0@M zZ~a-$FRs7Y(6^lE{Bw=Nc3xjoTFo|O$bRGd^3OLuuP>^<)zEp_WX^V8UwfkS^BbSl z-(eoA^Rm@!Lx$~Z<0t3!wI@3NLgP?}|@+<1^wUuu_@4wIZ^KUdhtiMuUVdW<}|7PQZ`peiYTHkMF zeNP+zcb$K$vA6zGy?)m6-#uTi?{4G2-FUzLVtrLx`5$(EAy$+Z>Z{wzuZpcFzI`O; z)xQ1n|E}|^>pRb=pZKlv-#xGTfB*Aq>O0QhC*^(rJNNnRjn(HYzrC@hzWp5h-*tWm z{BxDx0e{;$_&X_o?(=KvThCE`7v(29pUAJ@_x$e0s&Ra^Prd(yKhb%$@8tZR#>#Qe zm$dKib6)cKJ#^&u_tRefU*i1x=-B7tzmJaH{(aB9|K7&3-|PGb$oF&c&vrf;-#%n~ znW+5P&PzV&`?St49@jq-`IVgii1E3-|NW5j8lU%}Kb)=n_c^~G{pMWd_oE-R%b)i8 ziT}IKf6N@>T;+e)`A^Uf&sF|x=M(+r0NSs&UVHhQ)c^}6^L73ZbDZDj{AbMV&Q<=OdtUmf>i0QwsEPQA{`xs{ z=l1bEdA>wHKFl0zqVtJ1+09<&RbKl{X1<@&I(+%@=aZT9`12ny@AKMkGV?x2>ur^9olj=& z2k0H`=U<7n>ou~AGU^}TZ?9eZ+1bmn_MTV{KB4?X=M&4s`12n!=k~LQRY--C@IR*a zw#t9Voc^HAE|T;6>HTM(*X-rH=QaEM5SxOZ{Uqo2aUWlP;`1MI-mlU5+3R!h>?RuYPu!l>Y$hfiLf8*H1A!)$B7lzZdC#=6TI-&vyRF zcy^qef1mPx_U32zzw7)H@$5S({~n`LtNebf1Ag|OoZrLf_e0J<8e12V^1B&beR<7i z_Se6A{_S}7I{tjpzIIXG&u(@8W2_tAdXcoxos9kypZD$iZ0Fa~Z%@-ccc6Xv@|rKS z_(}iT&g_1o^GW|5fBqA!GroRF|8LFi#c!SWmZ`Iy^_HovXkOm3AYHaqHj!*w(Cp53 zUY4iv=MU5$itCnGo;IUdw#v88CzhwPolhkHCdzxuigdYF`DEnSh-TY5e-O)8%krd= z>1^i{%hCok=ZVTEBV+5lbd7^NpKrU#$hscQ-k101ACB98GBU4Y=FmF-Dc{apo^-WF z?sb&+mMI-+o!8S!^IJ>#_VbU#mM48J%^cP=>hXEq@l)Eqmkr6x>9G@?e>xr;KW^N?)7;!xPI+(HRQb=bJo>Tslg90QjawSa8tccMe?HI|m!L(i?7Tj6Z*v^WL)a>HpW>nZH?4V{e>) z{my*-j?RoAxPu@nxPXIzqYVuECOSdcq1mBjlcl@a7d7*~b#m@WZY6bZUs~aZJUkCP z)Td5TH}TAD;JG2c?w0z!{&>PS2G7iG|2A6EW#Gqx=UBY% z%J2BM8omei;#n5{b@0sO`7HX@3+`+86UIDZzuTXP>}Sz;pLZMGp+4W`PmajhqRe7! zaL#Q&(;v?1%4ME`!ntihU=M%me`F-h5^!ZjikMVo3KjqdUf=JVc4?L_&(Ec8M_6h$F z>}AzL_!gA+8u&ug-Z)$Qdl)+&cVEDlpnMC;OYHM}Gs@feeXI$j_QUulyzegiO-Nr> zZP;J6)1QF7@dx<*Y5w1$zC92B2KBki{@?gsgtND8=b!S2cz@~heGPkA)sj`ax$=$p zp2c2P1qbanpgqX*v$*b>Z#cc@5!anU9XN}cGS%F}cE{35@7aUZEVdP+-18OEkyS)l z<&5*vbVj*n9okV#=P|xpduB~%9rBVDQCV@#-SaQpW2>(DbnG69V#%j76;_AK_k4-6 zlof1QA^s-w%%j}17U{?;eLJ1KSQ+HISc`fg@djM2eu8$<%17^6gLLekr)Ya~_goIK z5VGo>yXOn!C2<|kchBcY=SkxwmKFG1UZ3N8dD_3{8TymOSxvGnFQ$f0TP9jw+YVM<``U zr~4j>K$ZBC_0bdW#dl0zoiq`_%&#`ezpl5Ndhsr1C0+a-%xb#$+n5y@k6R^4|1Hd_ zgb%hhqwzN}tK*k8*e;6o63j`Z?a1@RXwT>;)5s-jSH=DfMAGEjZ{dp&D{uWo+?NPv z%93`84fa#9-7psS$+6vFpFUqK9^1reO2n&;SLTbQV?wr4Ql9Pc;OHzJho*KV#_{#I zEFG6yew;HHA4{{% z=+BY-#Fw=#%;jlkO#Eo$v0L!Ui+_OrsWi=7_zkBU-vJqYPx36{HzcFqVQviTBw0Ip zAC1wMX88$2>|B!{ne9L`MjuL>!FLz@D=DM5(inYzmgaD_E%THMD{N`f?gG-3 zs1q`-tw?^x7_pEt_ON0%cXl4}x8kd3Z(;dylyDx;A`uc~TnCb8F~;bKxv_J|PohTI z8(Nwi1$DEXVayvjTmUjFUNL;wIVXx-68TBwF-Lip=8RwBCXwciCMucCP8u-Ai08Sn zQ^-#urBl0Ezt|b$2-orxwhJ?6=0|3yBN$`!cAK3t?&dS}g6vyTE4=yD~e9{A71PYWL9p(;4Gz*U}WW8(s|VDj<{gs^>|LAVpa<9*sQm z|0vj`gfo22hvYEwnQrz)*uH0SV~l!9*<=6rU^jPm2z6Xm({2AX^Lyf7!*10*VI}?$ zqPN83`n>EXX@0`?gs6fx`w?~$aghE7+8ImB?3w@D*z6$M z49PEkdrZ+tTuXlS|KCaWhY}gIaoC+9Wktf8`aZl|vOn)P{|feADc4%Q0$-V|E*NK> zP`(PiwRp*d9|-TBoL}V{jKam!PyS!@&r&y(ugC0~(QZBeyZ^t4YfG^KE9v5;6aGW^ zW{e*V@4U^~LTyB(fq3M}e?auCd~@0=evL>8=I;Gp3sk;m;V!fRYW;7-X-L~c{yk#j zrH#z7H{u7)Hl}>*dk}rtraI1VQ|{YRx)+g; zW_u!xcS%`ey6HYdWwvcON22Y1#C#e(8Ak5IDeEG4ZMSW8X4Xx)uRHhG8H(C+ zXLp`*j+v*N@eZe4C$p3%!|YCN%amUi*Yn!8I}Gp5_#M=?OliZlmbR_>s^&t^1)q)DvbVQ7 z8B==C@>G3t?7`c%d3rwhrj)YxHQSidgP5o4dt}d>+A?x1rq+622tGJc`a)@2rtCG_ zRDH84y%@ZSO4;L?ZA|G8&QtY3vrn`BNNw}L&~UJf2- zwJlSw3$Skq{w=guYO5;|ZOYg>rR*Qfb}D$*NxAwl4%HPG_5hah&tYw0IOQr&ZaOGW1I)uD`9;_ZOfD^U3sc&WNe9ToTDkn)W%3x!#a{uwx)T?)xJEXM~9Rx zV%s)Puk|A+#FlNI*~at=PG`tddVQ4Yn2-_X$KB`HfvA+Nn$hbRxhwq{Cp&agwoGkX zdW~qC(i@2G{R}$;m9lj)+n7$_%!oXte@Lm0fxkmcv!tw)t&7oL5S9EXcKi*em)%P2 zK3tZur7vhW0ZDxBLv#w9D_bsNu$A~X9rWf2N*k|~TdLSc8@6lZ89n9B0#-1~^ ztOXp~+mwGAFxJo7`$(U)TP z%W!(aecAk?wk>^0bES_kzsDHH=WSzp9Q#>Vl9sPh`jC_cKQDe!H+>Ax!F$*(qPDCX zW*gIE*awrR^d9BuyJ-LO^a;EUN{=Frk}1>E#WBz*j2l5EwOndNR4`YkekBd~F!N>77cRK{TJUfh7+xuvPg8#Q~cgHVqJ@~Ro z7Y9!wpGHzG(O=;kc?+#}-ZrK@fAKzAWbt7#WuY_PBj4fl9(n?^{S981HxYfWw)fD- zi1(B!$CPJy<>*~R9rl_NzS?vNJiU4PJ3KZ@dAip<^o!!vWxj*-F8bp^df)$sd}*6f z4}Z>L#N8WxH$<5;<(TqRu)7!~NDR8shd9x!*PIzPjAC@sc#>(m0G^^Z@MWs)EJsCI z%Jar@^fBT)d(CNNvmA{L*yd@^EkZ6iJ0m=yY!+ifIV-V;JQm?MKgGW!GZ=9iS%`8T zg)9$|rc5oh8HcP0`y>Wao5uKFc2LZPtPHz1+BV}5oIDlYMEXnbFk)rS1m|=WZ047& zER@?F%*FC0S|;PYg%yPwGL3ncL@5uxpBc=m=1#_`y(OFUD~aoM{6(hqU>tH6ZG(Q_ zX=+`>TAM+e61m4YP`18x5zKuGHghNUIp4{qb{{>Bw(05b8HYUJ{3e@E7g^Hp>(VE9 zfc{l`!BNRW&SkPs@DQT}?Qzr8#vzX|cgd&r2%{faxg7km=9fIi_$;5#V~qH8Je2;@ zamW*nh_fa71oH|V=cW0KL!M%GmQRgyAQ_3Kxy;vf&V+L5^SX}M)11d4ocH8YBhfiW zn$P?a&Vcgykmw9CeS&caXFU1TNOX>y<}<&9Gb8mZr1{J*;e05c4~cqf(kB>)^a^S9 z`ktsXkNLU2shJ0wQn*V2YQqQ$0^NW6sn~r?88>Y>T*A!~>|$ zHO`kQzX-YobG355q;jT{dcNaleo^#4nCF$Biu4L*h`;pLAL3^g`ZXd+bamp-p<6LW zyn@+uK3~$SnB(86&N!%%s=hmAlhl5q%lx4xD9Pek#%%@SINf*QMiUemUt*oJny5p5mGQ3V-~}q`$zs z{c_P=h+veb(in~SnMrSAjbXMQ!SUx%zF)~#SG?nV*{2B2^{Nx_jn87G=Wbz~_z=Ho zHQq&jhBbp$b~Sp3ykDUi-@=y~Kh1=U>g&}%xE!jcWv_|C3w1D*cGa|G^jR1~YYl8- z&T`kn2(^D7W5fopF)}QS3j6ovt})IljJ5jr@md(m^sg~$D|aolZ2kKfp*47okyoKd z@86fZ#u%&+ztz8w*FvOO{~BYaa@RuJ-@lLXQG?eQ_hh?Lr55I{F~-Su(#m}=`!)WK z!Ds%nu8mTrxpIC{*H|~~nX9Iy)NoZq>NV#}+qY9SE#;IJmQvdKF!FcwtHZP_2h-O3 z(^k;-Bc<1EFVd*jV~t8{QT24|UbAP?TI9K2*Hd^0(y@=DOInwzQORD`dQ{V>OnYCup7!2$J?-gDyD}XW*!6S-VH%aC>*>hE z?&nuyBNo%G$B;um|`?_^2yYwz!Cf&-eXHn(Ks%g0qJGH8&C4EX&(^54rW!6_U zEvu#__b$;NGpKo4H7%>AWtZlqstR$(7Dw%q*hg@w@ltVrkf{!pxT+c%Pc~#XE>Rnt;5H3u~-tES~$w;v~=tL9|Yw5*zzy+$A2G%2}W$(FflT2@U< z)2uYjOP>A0_31&)%BpEuH7)a+ml6R{H7!L)gs0f>BrDUblt_fCX{pL$Qa-~pFRP|y z)wHadmW+3kXdKf+JB!nMMfs9|OO%&KY0^5OZ#Rns!oCYG~5tEOeFKPeHarb|7@s-~rC+ME8QL=(q) z@hLOiNvfgD$w~}@xCi|(X zrsav|Twl|eWQ5>tXiSR!q@D^c?}2M_0Op}E6+iDGpAe0k(}vPa!0T2TIUGR7)KDJvywI?(=0Kb$UYk5NGF`U zf%-|is%fdZmEjySl#A(BDhp?}C9G;%uG7=>P%c%|vT9n&2;+J5E={+xYFhRhrGSI3 zYFg6w!bq8_X&J^51=Y&1ySza4yu_+$*{xdHP0Om4d^csvcT+Vjsg}t(5_ddQP0IWets#a7@%c^O4#8*vAehaEvN$*kBv>a5t%o=U0eQd03!b!n=m zW#hv|?^!i1IijkXma*bxtXe6Gmu=NbQM|00mQ~YIbUmjLhm+TuoaV_;SUJR>0ab>o zX*q%OEXtarCFRPhX*mHU-KuFhj&fz$rc1f9tadqf<;t?!W!1EtfDV1tw9NGtB@N7~ zX*rH^W!a``T2A##(VNO7XI4TE=hTkJH1fnwD`n zzbM7as%aU&g$bOxST!vdLhn=h$(Kp5vuavaO-nfs=2h`whQF((<)HFeGiz^D)ogdB zTuYVT?3!ut$+fC!No|@xN9WS?A*JkJlvd@a`BqI!(YsE+k*aCQ+RL_>|EBFs{%X~< z?D>+`Wm&s&qw`I_$CD>b`>~`&IbYYSrlqvaRnt=SF6HF8ewe~Z48(@=_)5yba?bHw&TPm9qR#(DOhcdrK9{m}DbT!-=h`U&jPd@bS^ z%buso-F5e=f8f4%RnxL+TB;`EK6eFeM6Ws9?XvsUS53>RY3Z8QLNp&!P0Sr0bp)qe znP#SQ=cD>V%}8n@j>~u9lxS*Bn*Bi+YoaOV$z<|;!+2Y>vT9l$Y)*uG;9kecTR*v~ zX=&}B)^F~~XZc+4Rnzix^nJ(W!xJ2)Fow_Zs%g2Z(QLfttEOe#epgLPQ7+;MC_E45 z4ra`8|Ec9uH7(b|6YvUR`KzWSdncZYVT$SMjlTtd$)%=sPPuyVQ$B@x-!;e4?O}L) zeuv#n)IPH}UNtSNrX@W`m;843b5p-~mhx4%)>lo-18$2y1dk=ZpEJH{T2@U<_T{(W zS(|nHa2me$?1$k!zutU1Dd)(T=kOiE%p&HW`5Cv@ZEsEkwVDwnAorJx7<#*yWw2t zb>KP8$|>wxWRy>dS53?J+)ei`&b~Y9erf85#ILOPRnxL+TApmqu%QObR)5;vZt90< zR>EiR);i-=)AEA5)09tJmxtw7H7%F<4Svc^H)V9huSc&l;Z^tZER=Jqre)Q%QO?KgK$ZoR}mr8yos9OYR=Vg;Y&TQItCe#n^|9 z0^BHim80CV++PXrLgH`MNAE)OD&KS7?FrBG0aQ-poesV)yJs0ZNW<<~>aQ2-#!2@> z$g6zMPI#oGeBSprqI9aJW!1D~eDVhP&C9x#T`V5|#Cn&5W25UM$r-=IO=2~!#74X9uMc6n!&)ru z!nx!~Q|!v@DDsmv+|=$N&W$w2*{-E2Y&X`1x%NvYWzzE`N04IGw3HI5nwI-Qgadsr zT1$Aw=0UVx68jL>AF2g(k*aB_tx(mpR3(`M(5jafQ+vZrh@z>QmW&XguFW>TuZgX} z*9T>SqhSO<$`b5Wt?Z^{)k>yZrd8AOM9_xkJg90~P9mzHYFaMg>>FQb)wHadmQ~YI zzJ;o3+4qy7WvH5#A2q$D)QwoRl53OPZNR>?O|Q7+1$xK7<&>(VUV46*;F+Jke!!k#E@O%$ri^92=EWc-dmwTJLHG*B99d;Y=wZGA_ zyW6ZmJa7u`sFHh&jc-kjCPnmwp*Fb-J}PAnWutxGeptfpAj zryPe=P0R7#Le;cPzsC5>s+yJ)=)>M>&a-T{A>)v$X*q$h_`?2pBW;!EmpsP!jOQh^ z-(1zSd^L<*)AFyHmak~U%)oe|tWP-(shXBm)AF@eyR@m9RjHRT{xV5+xU<;dR-%`& zLnlu+dyhEXE;@x>L1kO4tYXDqJ;Cu)G36IQsUBI*w_98CMbWBh8P}YuX&ILWl{T-z zpLAQJ>yy5R%9BEQKF;7+=8w~*e4do6re*wotEOdK8mt>Pv9>Xrt?lengz5@XY&+q9 jh23hL2dAFkls@#2Kpz+8YgN-SEv;r|)bfnIh^zktLF=Jf literal 0 HcmV?d00001 diff --git a/examples/RobotTexPixel.png b/examples/RobotTexPixel.png new file mode 100644 index 0000000000000000000000000000000000000000..d3acda67c3d14a81fb482f7dc70e0b06ae473e3c GIT binary patch literal 3156 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 //1 +export var matArray = new Array>(); //1 +export var groupArray = new Array(); //0 +export var matMapArray = new Array(); //BBB + +export var MaterialTexture_mat:StaticArray = [ + 225.000000, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 0.100000, 0.100000, 0.100000, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matMapArray.push(new MaterialMap(null, 'RobotTexPixel.png', null, null)); + +matArray.push(MaterialTexture_mat); + + +export var RobotTex_data: StaticArray =[ +//X, Y, Z, U, V, NX, NY, NZ +-0.1, 0.1, -0.1, 0.361776, 0.180764, 0, 0.2651, -0.9642, +0.03964, 0.319577, -0.03964, 0.23574, 0.386301, 0, 0.2651, -0.9642, +0.1, 0.1, -0.1, 0.18126, 0.180764, 0, 0.2651, -0.9642, +0.1, 0.1, 0.1, 0.180764, 0.361279, 0, 0, 1, +-0.1, -0.1, 0.1, 0.000248, 0.180764, 0, 0, 1, +0.1, -0.1, 0.1, 0.180764, 0.180764, 0, 0, 1, +-0.1, 0.1, 0.1, 0.36905, 0.183648, -1, 0, 0, +-0.1, -0.1, -0.1, 0.552126, 0.00057, -1, 0, 0, +-0.1, -0.1, 0.1, 0.369049, 0.00057, -1, 0, 0, +0.1, -0.1, -0.1, 0.180764, 0.000248, 0, -1, 0, +-0.1, -0.1, 0.1, 0.000248, 0.180764, 0, -1, 0, +-0.1, -0.1, -0.1, 0.000248, 0.000248, 0, -1, 0, +0.1, 0.1, -0.1, 0.36907, 0.183679, 1, 0, 0, +0.1, -0.1, 0.1, 0.552146, 0.000601, 1, 0, 0, +0.1, -0.1, -0.1, 0.369069, 0.000601, 1, 0, 0, +-0.1, 0.1, -0.1, 0.361776, 0.180764, 0, 0, -1, +0.1, -0.1, -0.1, 0.18126, 0.000248, 0, 0, -1, +-0.1, -0.1, -0.1, 0.361776, 0.000248, 0, 0, -1, +-0.03964, 0.319577, 0.03964, 0.42431, 0.392101, -0.9781, -0.2081, 0, +-0.070778, 0.465943, -0.070778, 0.525368, 0.529051, -0.9781, -0.2081, 0, +-0.03964, 0.319577, -0.03964, 0.496874, 0.392099, -0.9781, -0.2081, 0, +0.1, 0.1, 0.1, 0.180764, 0.361279, 0, 0.2651, 0.9642, +-0.03964, 0.319577, 0.03964, 0.054728, 0.566817, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.000248, 0.361279, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.36905, 0.183648, -0.9642, 0.2651, 0, +-0.03964, 0.319577, -0.03964, 0.496874, 0.392099, -0.9642, 0.2651, 0, +-0.1, 0.1, -0.1, 0.552126, 0.183647, -0.9642, 0.2651, 0, +0.1, 0.1, -0.1, 0.36907, 0.183679, 0.9642, 0.2651, 0, +0.03964, 0.319577, 0.03964, 0.496894, 0.39213, 0.9642, 0.2651, 0, +0.1, 0.1, 0.1, 0.552146, 0.183678, 0.9642, 0.2651, 0, +-0.070778, 0.465943, -0.070778, 0.3354, 0.521364, 0, 0, -1, +0.070778, 0.574785, -0.070778, 0.207635, 0.619603, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.207635, 0.521364, 0, 0, -1, +0.03964, 0.319577, 0.03964, 0.126284, 0.566817, 0, -0.2081, 0.9781, +-0.070778, 0.465943, 0.070778, 0.026623, 0.70188, 0, -0.2081, 0.9781, +-0.03964, 0.319577, 0.03964, 0.054728, 0.566817, 0, -0.2081, 0.9781, +-0.03964, 0.319577, -0.03964, 0.307296, 0.386301, 0, -0.2081, -0.9781, +0.070778, 0.465943, -0.070778, 0.207635, 0.521364, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.23574, 0.386301, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.424331, 0.392131, 0.9781, -0.2081, 0, +0.070778, 0.465943, 0.070778, 0.525388, 0.529082, 0.9781, -0.2081, 0, +0.03964, 0.319577, 0.03964, 0.496894, 0.39213, 0.9781, -0.2081, 0, +-0.070778, 0.574785, 0.070778, 0.394883, 0.635328, -0.6461, 0.7632, 0, +-0.036361, 0.603924, -0.036361, 0.492928, 0.676593, -0.6461, 0.7632, 0, +-0.070778, 0.574785, -0.070778, 0.52442, 0.635324, -0.6461, 0.7632, 0, +0.070778, 0.465943, 0.070778, 0.525388, 0.529082, 0.7408, 0, 0.6717, +0.098092, 0.551623, 0.040654, 0.492176, 0.604967, 0.7408, 0, 0.6717, +0.070778, 0.574785, 0.070778, 0.52444, 0.635354, 0.7408, 0, 0.6717, +-0.070778, 0.465943, -0.070778, 0.525368, 0.529051, -0.7408, 0, -0.6717, +-0.098092, 0.551623, -0.040654, 0.492156, 0.604936, -0.7408, 0, -0.6717, +-0.070778, 0.574785, -0.070778, 0.52442, 0.635324, -0.7408, 0, -0.6717, +0.070778, 0.465943, 0.070778, 0.154389, 0.70188, 0, 0, 1, +-0.070778, 0.574785, 0.070778, 0.026623, 0.800118, 0, 0, 1, +-0.070778, 0.465943, 0.070778, 0.026623, 0.70188, 0, 0, 1, +0.036361, 0.603924, 0.036361, 0.123324, 0.84082, 0, 0, 1, +-0.036361, 0.622896, 0.036361, 0.057687, 0.857945, 0, 0, 1, +-0.036361, 0.603924, 0.036361, 0.057687, 0.84082, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.154388, 0.800118, 0, 0.7632, 0.6461, +-0.036361, 0.603924, 0.036361, 0.057687, 0.84082, 0, 0.7632, 0.6461, +-0.070778, 0.574785, 0.070778, 0.026623, 0.800118, 0, 0.7632, 0.6461, +-0.070778, 0.574785, -0.070778, 0.3354, 0.619603, 0, 0.7632, -0.6461, +0.036361, 0.603924, -0.036361, 0.238699, 0.660305, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.207635, 0.619603, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.394903, 0.635358, 0.6461, 0.7632, 0, +0.036361, 0.603924, 0.036361, 0.492948, 0.676623, 0.6461, 0.7632, 0, +0.070778, 0.574785, 0.070778, 0.52444, 0.635354, 0.6461, 0.7632, 0, +-0.036361, 0.622896, -0.036361, 0.304336, 0.677429, 0, -0.6177, -0.7864, +0.052774, 0.643794, -0.052774, 0.223885, 0.701413, 0, -0.6177, -0.7864, +0.036361, 0.622896, -0.036361, 0.238699, 0.677429, 0, -0.6177, -0.7864, +-0.036361, 0.603924, -0.036361, 0.304336, 0.660305, 0, 0, -1, +0.036361, 0.622896, -0.036361, 0.238699, 0.677429, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.238699, 0.660305, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.426397, 0.676626, 1, 0, 0, +0.036361, 0.622896, 0.036361, 0.492952, 0.693988, 1, 0, 0, +0.036361, 0.603924, 0.036361, 0.492948, 0.676623, 1, 0, 0, +-0.036361, 0.603924, 0.036361, 0.426377, 0.676595, -1, 0, 0, +-0.036361, 0.622896, -0.036361, 0.492931, 0.693957, -1, 0, 0, +-0.036361, 0.603924, -0.036361, 0.492928, 0.676593, -1, 0, 0, +-0.052774, 0.643794, 0.052774, 0.41135, 0.718281, -0.9976, -0.0692, 0, +-0.058197, 0.722006, -0.058197, 0.512924, 0.790039, -0.9976, -0.0692, 0, +-0.052774, 0.643794, -0.052774, 0.507958, 0.718279, -0.9976, -0.0692, 0, +0.036361, 0.622896, -0.036361, 0.426395, 0.69399, 0.7864, -0.6177, 0, +0.052774, 0.643794, 0.052774, 0.507978, 0.71831, 0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.492952, 0.693988, 0.7864, -0.6177, 0, +-0.036361, 0.622896, 0.036361, 0.426375, 0.693959, -0.7864, -0.6177, 0, +-0.052774, 0.643794, -0.052774, 0.507958, 0.718279, -0.7864, -0.6177, 0, +-0.036361, 0.622896, -0.036361, 0.492931, 0.693957, -0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.123324, 0.857945, 0, -0.6177, 0.7864, +-0.052774, 0.643794, 0.052774, 0.042873, 0.881929, 0, -0.6177, 0.7864, +-0.036361, 0.622896, 0.036361, 0.057687, 0.857945, 0, -0.6177, 0.7864, +-0.058197, 0.722006, -0.058197, 0.324045, 0.772175, 0, 0.5681, -0.8229, +0.028575, 0.764915, -0.028575, 0.245726, 0.819236, 0, 0.5681, -0.8229, +0.058197, 0.722006, -0.058197, 0.21899, 0.772175, 0, 0.5681, -0.8229, +0.052774, 0.643794, 0.052774, 0.138139, 0.881929, 0, -0.0692, 0.9976, +-0.058197, 0.722006, 0.058197, 0.037978, 0.952691, 0, -0.0692, 0.9976, +-0.052774, 0.643794, 0.052774, 0.042873, 0.881929, 0, -0.0692, 0.9976, +-0.052774, 0.643794, -0.052774, 0.319151, 0.701413, 0, -0.0692, -0.9976, +0.058197, 0.722006, -0.058197, 0.21899, 0.772175, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.223885, 0.701413, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.411371, 0.718312, 0.9976, -0.0692, 0, +0.058197, 0.722006, 0.058197, 0.512944, 0.79007, 0.9976, -0.0692, 0, +0.052774, 0.643794, 0.052774, 0.507978, 0.71831, 0.9976, -0.0692, 0, +-0.028575, 0.764915, -0.028575, 0.297309, 0.819236, 0, 1, 0, +0.028575, 0.764915, 0.028575, 0.245726, 0.870819, 0, 1, 0, +0.028575, 0.764915, -0.028575, 0.245726, 0.819236, 0, 1, 0, +0.058197, 0.722006, -0.058197, 0.406408, 0.790072, 0.8229, 0.5681, 0, +0.028575, 0.764915, 0.028575, 0.485832, 0.837796, 0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.512944, 0.79007, 0.8229, 0.5681, 0, +-0.058197, 0.722006, 0.058197, 0.406388, 0.790041, -0.8229, 0.5681, 0, +-0.028575, 0.764915, -0.028575, 0.485812, 0.837765, -0.8229, 0.5681, 0, +-0.058197, 0.722006, -0.058197, 0.512924, 0.790039, -0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.143033, 0.952691, 0, 0.5681, 0.8229, +-0.028575, 0.764915, 0.028575, 0.064714, 0.999752, 0, 0.5681, 0.8229, +-0.058197, 0.722006, 0.058197, 0.037978, 0.952691, 0, 0.5681, 0.8229, +0.098092, 0.551623, -0.040654, 0.71393, 0.424338, 0, 0, -1, +0.128092, 0.489106, -0.040654, 0.694279, 0.357676, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.723983, 0.362427, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.39584, 0.529085, 0.6468, -0.7627, 0, +0.098092, 0.489106, 0.040654, 0.490002, 0.556727, 0.6468, -0.7627, 0, +0.070778, 0.465943, 0.070778, 0.525388, 0.529082, 0.6468, -0.7627, 0, +0.070778, 0.574785, -0.070778, 0.394903, 0.635358, 0.7408, 0, -0.6717, +0.098092, 0.489106, -0.040654, 0.428108, 0.559472, 0.7408, 0, -0.6717, +0.070778, 0.465943, -0.070778, 0.39584, 0.529085, 0.7408, 0, -0.6717, +0.070778, 0.574785, 0.070778, 0.52444, 0.635354, 0.6468, 0.7627, 0, +0.098092, 0.551623, -0.040654, 0.430285, 0.607712, 0.6468, 0.7627, 0, +0.070778, 0.574785, -0.070778, 0.394903, 0.635358, 0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.805257, 0.424346, 0, 0, 1, +-0.128092, 0.489106, 0.040654, 0.824602, 0.359773, 0, 0, 1, +-0.098092, 0.489106, 0.040654, 0.795794, 0.364314, 0, 0, 1, +-0.070778, 0.574785, -0.070778, 0.52442, 0.635324, -0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.430265, 0.607682, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.394883, 0.635328, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.394883, 0.635328, -0.7408, 0, 0.6717, +-0.098092, 0.489106, 0.040654, 0.428088, 0.559442, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.39582, 0.529055, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.39582, 0.529055, -0.6468, -0.7627, 0, +-0.098092, 0.489106, -0.040654, 0.489982, 0.556697, -0.6468, -0.7627, 0, +-0.070778, 0.465943, -0.070778, 0.525368, 0.529051, -0.6468, -0.7627, 0, +-0.128092, 0.489106, 0.040654, 0.664224, 0.846564, -1, 0, 0, +-0.128092, 0.551623, -0.040654, 0.746037, 0.889876, -1, 0, 0, +-0.128092, 0.489106, -0.040654, 0.736569, 0.83425, -1, 0, 0, +-0.098092, 0.551623, -0.040654, 0.750581, 0.916569, 0, 1, 0, +-0.128092, 0.551623, 0.040654, 0.673692, 0.90219, 0, 1, 0, +-0.098092, 0.551623, 0.040654, 0.678235, 0.928883, 0, 1, 0, +-0.098092, 0.489106, -0.040654, 0.723967, 0.362496, 0, 0, -1, +-0.128092, 0.551623, -0.040654, 0.684255, 0.419532, 0, 0, -1, +-0.098092, 0.551623, -0.040654, 0.713935, 0.424346, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.723983, 0.362427, -0.9978, -0.0665, 0, +0.103989, 0.400565, 0.024672, 0.786539, 0.271717, -0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.795802, 0.364322, -0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.736444, 0.835025, 1, 0, 0, +0.128092, 0.551623, 0.040654, 0.673566, 0.902965, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.664098, 0.847339, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.664098, 0.847339, 0.9978, -0.0665, 0, +0.122195, 0.400565, -0.024672, 0.708784, 0.758489, 0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.736444, 0.835025, 0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.795802, 0.364322, 0, 0, 1, +0.128092, 0.551623, 0.040654, 0.834068, 0.419902, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.805287, 0.424405, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.67811, 0.929659, 0, 1, 0, +0.128092, 0.551623, -0.040654, 0.745912, 0.890651, 0, 1, 0, +0.098092, 0.551623, -0.040654, 0.750455, 0.917345, 0, 1, 0, +-0.122195, 0.400565, 0.024672, 0.80532, 0.271717, 0, 0.239, 0.971, +-0.098092, 0.335624, 0.040654, 0.79317, 0.22111, 0, 0.239, 0.971, +-0.103989, 0.400565, 0.024672, 0.786556, 0.271717, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.664879, 0.765962, 0.9921, 0.1251, 0, +0.128092, 0.353791, -0.040654, 0.715864, 0.71412, 0.9921, 0.1251, 0, +0.122195, 0.400565, -0.024672, 0.708784, 0.758489, 0.9921, 0.1251, 0, +0.098092, 0.489106, -0.040654, 0.723983, 0.362427, 0, -0.1776, -0.9841, +0.122195, 0.400565, -0.024672, 0.714546, 0.271717, 0, -0.1776, -0.9841, +0.103989, 0.400565, -0.024672, 0.732661, 0.271717, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.736569, 0.83425, -0.9978, -0.0665, 0, +-0.122195, 0.400565, 0.024672, 0.665005, 0.765187, -0.9978, -0.0665, 0, +-0.128092, 0.489106, 0.040654, 0.664224, 0.846564, -0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.723967, 0.362496, 0, -0.1776, -0.9841, +-0.122195, 0.400565, -0.024672, 0.714559, 0.271717, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.694287, 0.357682, 0, -0.1776, -0.9841, +-0.098092, 0.489106, 0.040654, 0.795794, 0.364314, 0, -0.1776, 0.9841, +-0.122195, 0.400565, 0.024672, 0.80532, 0.271717, 0, -0.1776, 0.9841, +-0.103989, 0.400565, 0.024672, 0.786556, 0.271717, 0, -0.1776, 0.9841, +0.098092, 0.489106, 0.040654, 0.795802, 0.364322, 0, -0.1776, 0.9841, +0.122195, 0.400565, 0.024672, 0.805282, 0.271717, 0, -0.1776, 0.9841, +0.128092, 0.489106, 0.040654, 0.824644, 0.359803, 0, -0.1776, 0.9841, +-0.098092, 0.489106, 0.040654, 0.795794, 0.364314, 0.9978, -0.0665, 0, +-0.103989, 0.400565, -0.024672, 0.732728, 0.271717, 0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.723967, 0.362496, 0.9978, -0.0665, 0, +0.098092, 0.335624, 0.040654, 0.79313, 0.221103, 0, -0.6592, 0.752, +0.128092, 0.234285, -0.048174, 0.769253, 0.105121, 0, -0.6592, 0.752, +0.128092, 0.335624, 0.040654, 0.818474, 0.217189, 0, -0.6592, 0.752, +0.098092, 0.353791, -0.040654, 0.729794, 0.227227, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.745617, 0.117066, -1, 0, 0, +0.098092, 0.335624, 0.040654, 0.79313, 0.221103, -1, 0, 0, +-0.103989, 0.400565, 0.024672, 0.786556, 0.271717, 0.9921, 0.1251, 0, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 0.9921, 0.1251, 0, +-0.103989, 0.400565, -0.024672, 0.732728, 0.271717, 0.9921, 0.1251, 0, +0.122195, 0.400565, -0.024672, 0.714546, 0.271717, 0, 0.3233, -0.9463, +0.098092, 0.353791, -0.040654, 0.729794, 0.227227, 0, 0.3233, -0.9463, +0.103989, 0.400565, -0.024672, 0.732661, 0.271717, 0, 0.3233, -0.9463, +-0.122195, 0.400565, -0.024672, 0.714559, 0.271717, 0, 0.3233, -0.9463, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 0, 0.3233, -0.9463, +-0.128092, 0.353791, -0.040654, 0.703205, 0.231114, 0, 0.3233, -0.9463, +-0.122195, 0.400565, 0.024672, 0.665005, 0.765187, -0.9952, 0.0956, 0.0214, +-0.128092, 0.353791, -0.040654, 0.71599, 0.713345, -0.9952, 0.0956, 0.0214, +-0.128092, 0.335624, 0.040654, 0.640888, 0.709596, -0.9952, 0.0956, 0.0214, +0.103989, 0.400565, 0.024672, 0.786539, 0.271717, -0.9952, 0.0956, 0.0214, +0.098092, 0.353791, -0.040654, 0.729794, 0.227227, -0.9952, 0.0956, 0.0214, +0.098092, 0.335624, 0.040654, 0.79313, 0.221103, -0.9952, 0.0956, 0.0214, +0.103989, 0.400565, 0.024672, 0.786539, 0.271717, 0, 0.239, 0.971, +0.128092, 0.335624, 0.040654, 0.818474, 0.217189, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.805282, 0.271717, 0, 0.239, 0.971, +-0.098092, 0.234285, -0.079572, 0.718318, 0.110819, 0, 0.6843, -0.7292, +-0.128092, 0.207583, -0.104626, 0.685736, 0.083383, 0, 0.6843, -0.7292, +-0.128092, 0.234285, -0.079572, 0.684225, 0.118309, 0, 0.6843, -0.7292, +0.128092, 0.234285, -0.079572, 0.684224, 0.118316, 0, 0.6843, -0.7292, +0.098092, 0.207583, -0.104626, 0.706537, 0.090094, 0, 0.6843, -0.7292, +0.098092, 0.234285, -0.079572, 0.718335, 0.110798, 0, 0.6843, -0.7292, +0.128092, 0.353791, -0.040654, 0.715864, 0.71412, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.704313, 0.606663, 1, 0, 0, +0.128092, 0.234285, -0.079572, 0.732243, 0.60187, 1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.818563, 0.217058, 0, -0.6592, 0.752, +-0.098092, 0.234285, -0.048174, 0.745628, 0.117077, 0, -0.6592, 0.752, +-0.098092, 0.335624, 0.040654, 0.79317, 0.22111, 0, -0.6592, 0.752, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.745628, 0.117077, 1, 0, 0, +-0.098092, 0.234285, -0.079572, 0.718318, 0.110819, 1, 0, 0, +0.128092, 0.353791, -0.040654, 0.703207, 0.231088, 0, 0.3097, -0.9509, +0.098092, 0.234285, -0.079572, 0.718335, 0.110798, 0, 0.3097, -0.9509, +0.098092, 0.353791, -0.040654, 0.729794, 0.227227, 0, 0.3097, -0.9509, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 0, 0.3097, -0.9508, +-0.128092, 0.234285, -0.079572, 0.684225, 0.118309, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.703205, 0.231114, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.71599, 0.713345, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.704438, 0.605888, -1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.640888, 0.709596, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.706537, 0.090094, 0, 0.1306, -0.9914, +0.120592, 0.186814, -0.107362, 0.708302, 0.063056, 0, 0.1306, -0.9914, +0.105592, 0.186814, -0.107362, 0.716731, 0.075033, 0, 0.1306, -0.9914, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 0.9329, -0.3135, -0.1774, +-0.105592, 0.186814, -0.107362, 0.716725, 0.075013, 0.9329, -0.3135, -0.1774, +-0.098092, 0.207583, -0.104626, 0.706397, 0.089989, 0.9329, -0.3135, -0.1774, +-0.128092, 0.234285, -0.079572, 0.732369, 0.601095, -1, 0, 0, +-0.128092, 0.192117, -0.077302, 0.723913, 0.56393, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.704438, 0.605888, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.718335, 0.110798, -1, 0, 0, +0.098092, 0.192117, -0.077302, 0.730783, 0.082228, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.745617, 0.117066, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.745617, 0.117066, 0, -0.5684, 0.8228, +0.128092, 0.192117, -0.077302, 0.745767, 0.066489, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.048174, 0.769253, 0.105121, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.079572, 0.732243, 0.60187, 1, 0, 0, +0.128092, 0.192117, -0.077302, 0.723788, 0.564705, 1, 0, 0, +0.128092, 0.207583, -0.104626, 0.750455, 0.574292, 1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.769255, 0.105132, 0, -0.5684, 0.8228, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.048174, 0.745628, 0.117077, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.079572, 0.718318, 0.110819, 1, 0, 0, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 1, 0, 0, +-0.098092, 0.207583, -0.104626, 0.706397, 0.089989, 1, 0, 0, +-0.105592, 0.179081, -0.0937, 0.723585, 0.072741, 0, -0.8703, -0.4926, +-0.120592, 0.186814, -0.107362, 0.708355, 0.063063, 0, -0.8703, -0.4926, +-0.105592, 0.186814, -0.107362, 0.716725, 0.075013, 0, -0.8703, -0.4926, +0.105592, 0.186814, -0.107362, 0.716731, 0.075033, 0, -0.8703, -0.4926, +0.120592, 0.179081, -0.0937, 0.719794, 0.061995, 0, -0.8703, -0.4926, +0.105592, 0.179081, -0.0937, 0.723592, 0.072791, 0, -0.8703, -0.4926, +-0.098092, 0.207583, -0.104626, 0.706397, 0.089989, 0, 0.1306, -0.9914, +-0.120592, 0.186814, -0.107362, 0.708355, 0.063063, 0, 0.1306, -0.9914, +-0.128092, 0.207583, -0.104626, 0.685736, 0.083383, 0, 0.1306, -0.9914, +-0.128092, 0.192117, -0.077302, 0.723913, 0.56393, -0.9329, -0.3135, -0.1774, +-0.120592, 0.186814, -0.107362, 0.750271, 0.553437, -0.9329, -0.3135, -0.1774, +-0.120592, 0.179081, -0.0937, 0.736937, 0.548643, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.730783, 0.082228, -0.9329, -0.3135, -0.1774, +0.105592, 0.186814, -0.107362, 0.716731, 0.075033, -0.9329, -0.3135, -0.1774, +0.105592, 0.179081, -0.0937, 0.723592, 0.072791, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.730783, 0.082228, 0, -0.7828, 0.6223, +0.120592, 0.179081, -0.0937, 0.719794, 0.061995, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.745767, 0.066489, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.723788, 0.564705, 0.9329, -0.3135, -0.1774, +0.120592, 0.186814, -0.107362, 0.750146, 0.554212, 0.9329, -0.3135, -0.1774, +0.128092, 0.207583, -0.104626, 0.750455, 0.574292, 0.9329, -0.3135, -0.1774, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 0, -0.7828, 0.6223, +-0.120592, 0.179081, -0.0937, 0.719785, 0.061964, 0, -0.7828, 0.6223, +-0.105592, 0.179081, -0.0937, 0.723585, 0.072741, 0, -0.7828, 0.6223, +-0.1, 0.1, -0.1, 0.361776, 0.180764, 0, 0.2651, -0.9642, +-0.03964, 0.319577, -0.03964, 0.307296, 0.386301, 0, 0.2651, -0.9642, +0.03964, 0.319577, -0.03964, 0.23574, 0.386301, 0, 0.2651, -0.9642, +0.1, 0.1, 0.1, 0.180764, 0.361279, 0, 0, 1, +-0.1, 0.1, 0.1, 0.000248, 0.361279, 0, 0, 1, +-0.1, -0.1, 0.1, 0.000248, 0.180764, 0, 0, 1, +-0.1, 0.1, 0.1, 0.36905, 0.183648, -1, 0, 0, +-0.1, 0.1, -0.1, 0.552126, 0.183647, -1, 0, 0, +-0.1, -0.1, -0.1, 0.552126, 0.00057, -1, 0, 0, +0.1, -0.1, -0.1, 0.180764, 0.000248, 0, -1, 0, +0.1, -0.1, 0.1, 0.180764, 0.180764, 0, -1, 0, +-0.1, -0.1, 0.1, 0.000248, 0.180764, 0, -1, 0, +0.1, 0.1, -0.1, 0.36907, 0.183679, 1, 0, 0, +0.1, 0.1, 0.1, 0.552146, 0.183678, 1, 0, 0, +0.1, -0.1, 0.1, 0.552146, 0.000601, 1, 0, 0, +-0.1, 0.1, -0.1, 0.361776, 0.180764, 0, 0, -1, +0.1, 0.1, -0.1, 0.18126, 0.180764, 0, 0, -1, +0.1, -0.1, -0.1, 0.18126, 0.000248, 0, 0, -1, +-0.03964, 0.319577, 0.03964, 0.42431, 0.392101, -0.9781, -0.2081, 0, +-0.070778, 0.465943, 0.070778, 0.39582, 0.529055, -0.9781, -0.2081, 0, +-0.070778, 0.465943, -0.070778, 0.525368, 0.529051, -0.9781, -0.2081, 0, +0.1, 0.1, 0.1, 0.180764, 0.361279, 0, 0.2651, 0.9642, +0.03964, 0.319577, 0.03964, 0.126284, 0.566817, 0, 0.2651, 0.9642, +-0.03964, 0.319577, 0.03964, 0.054728, 0.566817, 0, 0.2651, 0.9642, +-0.1, 0.1, 0.1, 0.36905, 0.183648, -0.9642, 0.2651, 0, +-0.03964, 0.319577, 0.03964, 0.42431, 0.392101, -0.9642, 0.2651, 0, +-0.03964, 0.319577, -0.03964, 0.496874, 0.392099, -0.9642, 0.2651, 0, +0.1, 0.1, -0.1, 0.36907, 0.183679, 0.9642, 0.2651, 0, +0.03964, 0.319577, -0.03964, 0.424331, 0.392131, 0.9642, 0.2651, 0, +0.03964, 0.319577, 0.03964, 0.496894, 0.39213, 0.9642, 0.2651, 0, +-0.070778, 0.465943, -0.070778, 0.3354, 0.521364, 0, 0, -1, +-0.070778, 0.574785, -0.070778, 0.3354, 0.619603, 0, 0, -1, +0.070778, 0.574785, -0.070778, 0.207635, 0.619603, 0, 0, -1, +0.03964, 0.319577, 0.03964, 0.126284, 0.566817, 0, -0.2081, 0.9781, +0.070778, 0.465943, 0.070778, 0.154389, 0.70188, 0, -0.2081, 0.9781, +-0.070778, 0.465943, 0.070778, 0.026623, 0.70188, 0, -0.2081, 0.9781, +-0.03964, 0.319577, -0.03964, 0.307296, 0.386301, 0, -0.2081, -0.9781, +-0.070778, 0.465943, -0.070778, 0.3354, 0.521364, 0, -0.2081, -0.9781, +0.070778, 0.465943, -0.070778, 0.207635, 0.521364, 0, -0.2081, -0.9781, +0.03964, 0.319577, -0.03964, 0.424331, 0.392131, 0.9781, -0.2081, 0, +0.070778, 0.465943, -0.070778, 0.39584, 0.529085, 0.9781, -0.2081, 0, +0.070778, 0.465943, 0.070778, 0.525388, 0.529082, 0.9781, -0.2081, 0, +-0.070778, 0.574785, 0.070778, 0.394883, 0.635328, -0.6461, 0.7632, 0, +-0.036361, 0.603924, 0.036361, 0.426377, 0.676595, -0.6461, 0.7632, 0, +-0.036361, 0.603924, -0.036361, 0.492928, 0.676593, -0.6461, 0.7632, 0, +0.070778, 0.465943, 0.070778, 0.525388, 0.529082, 0.7408, 0, 0.6717, +0.098092, 0.489106, 0.040654, 0.490002, 0.556727, 0.7408, 0, 0.6717, +0.098092, 0.551623, 0.040654, 0.492176, 0.604967, 0.7408, 0, 0.6717, +-0.070778, 0.465943, -0.070778, 0.525368, 0.529051, -0.7408, 0, -0.6717, +-0.098092, 0.489106, -0.040654, 0.489982, 0.556697, -0.7408, 0, -0.6717, +-0.098092, 0.551623, -0.040654, 0.492156, 0.604936, -0.7408, 0, -0.6717, +0.070778, 0.465943, 0.070778, 0.154389, 0.70188, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.154388, 0.800118, 0, 0, 1, +-0.070778, 0.574785, 0.070778, 0.026623, 0.800118, 0, 0, 1, +0.036361, 0.603924, 0.036361, 0.123324, 0.84082, 0, 0, 1, +0.036361, 0.622896, 0.036361, 0.123324, 0.857945, 0, 0, 1, +-0.036361, 0.622896, 0.036361, 0.057687, 0.857945, 0, 0, 1, +0.070778, 0.574785, 0.070778, 0.154388, 0.800118, 0, 0.7632, 0.6461, +0.036361, 0.603924, 0.036361, 0.123324, 0.84082, 0, 0.7632, 0.6461, +-0.036361, 0.603924, 0.036361, 0.057687, 0.84082, 0, 0.7632, 0.6461, +-0.070778, 0.574785, -0.070778, 0.3354, 0.619603, 0, 0.7632, -0.6461, +-0.036361, 0.603924, -0.036361, 0.304336, 0.660305, 0, 0.7632, -0.6461, +0.036361, 0.603924, -0.036361, 0.238699, 0.660305, 0, 0.7632, -0.6461, +0.070778, 0.574785, -0.070778, 0.394903, 0.635358, 0.6461, 0.7632, 0, +0.036361, 0.603924, -0.036361, 0.426397, 0.676626, 0.6461, 0.7632, 0, +0.036361, 0.603924, 0.036361, 0.492948, 0.676623, 0.6461, 0.7632, 0, +-0.036361, 0.622896, -0.036361, 0.304336, 0.677429, 0, -0.6177, -0.7864, +-0.052774, 0.643794, -0.052774, 0.319151, 0.701413, 0, -0.6177, -0.7864, +0.052774, 0.643794, -0.052774, 0.223885, 0.701413, 0, -0.6177, -0.7864, +-0.036361, 0.603924, -0.036361, 0.304336, 0.660305, 0, 0, -1, +-0.036361, 0.622896, -0.036361, 0.304336, 0.677429, 0, 0, -1, +0.036361, 0.622896, -0.036361, 0.238699, 0.677429, 0, 0, -1, +0.036361, 0.603924, -0.036361, 0.426397, 0.676626, 1, 0, 0, +0.036361, 0.622896, -0.036361, 0.426395, 0.69399, 1, 0, 0, +0.036361, 0.622896, 0.036361, 0.492952, 0.693988, 1, 0, 0, +-0.036361, 0.603924, 0.036361, 0.426377, 0.676595, -1, 0, 0, +-0.036361, 0.622896, 0.036361, 0.426375, 0.693959, -1, 0, 0, +-0.036361, 0.622896, -0.036361, 0.492931, 0.693957, -1, 0, 0, +-0.052774, 0.643794, 0.052774, 0.41135, 0.718281, -0.9976, -0.0692, 0, +-0.058197, 0.722006, 0.058197, 0.406388, 0.790041, -0.9976, -0.0692, 0, +-0.058197, 0.722006, -0.058197, 0.512924, 0.790039, -0.9976, -0.0692, 0, +0.036361, 0.622896, -0.036361, 0.426395, 0.69399, 0.7864, -0.6177, 0, +0.052774, 0.643794, -0.052774, 0.411371, 0.718312, 0.7864, -0.6177, 0, +0.052774, 0.643794, 0.052774, 0.507978, 0.71831, 0.7864, -0.6177, 0, +-0.036361, 0.622896, 0.036361, 0.426375, 0.693959, -0.7864, -0.6177, 0, +-0.052774, 0.643794, 0.052774, 0.41135, 0.718281, -0.7864, -0.6177, 0, +-0.052774, 0.643794, -0.052774, 0.507958, 0.718279, -0.7864, -0.6177, 0, +0.036361, 0.622896, 0.036361, 0.123324, 0.857945, 0, -0.6177, 0.7864, +0.052774, 0.643794, 0.052774, 0.138139, 0.881929, 0, -0.6177, 0.7864, +-0.052774, 0.643794, 0.052774, 0.042873, 0.881929, 0, -0.6177, 0.7864, +-0.058197, 0.722006, -0.058197, 0.324045, 0.772175, 0, 0.5681, -0.8229, +-0.028575, 0.764915, -0.028575, 0.297309, 0.819236, 0, 0.5681, -0.8229, +0.028575, 0.764915, -0.028575, 0.245726, 0.819236, 0, 0.5681, -0.8229, +0.052774, 0.643794, 0.052774, 0.138139, 0.881929, 0, -0.0692, 0.9976, +0.058197, 0.722006, 0.058197, 0.143033, 0.952691, 0, -0.0692, 0.9976, +-0.058197, 0.722006, 0.058197, 0.037978, 0.952691, 0, -0.0692, 0.9976, +-0.052774, 0.643794, -0.052774, 0.319151, 0.701413, 0, -0.0692, -0.9976, +-0.058197, 0.722006, -0.058197, 0.324045, 0.772175, 0, -0.0692, -0.9976, +0.058197, 0.722006, -0.058197, 0.21899, 0.772175, 0, -0.0692, -0.9976, +0.052774, 0.643794, -0.052774, 0.411371, 0.718312, 0.9976, -0.0692, 0, +0.058197, 0.722006, -0.058197, 0.406408, 0.790072, 0.9976, -0.0692, 0, +0.058197, 0.722006, 0.058197, 0.512944, 0.79007, 0.9976, -0.0692, 0, +-0.028575, 0.764915, -0.028575, 0.297309, 0.819236, 0, 1, 0, +-0.028575, 0.764915, 0.028575, 0.297309, 0.870819, 0, 1, 0, +0.028575, 0.764915, 0.028575, 0.245726, 0.870819, 0, 1, 0, +0.058197, 0.722006, -0.058197, 0.406408, 0.790072, 0.8229, 0.5681, 0, +0.028575, 0.764915, -0.028575, 0.433522, 0.837797, 0.8229, 0.5681, 0, +0.028575, 0.764915, 0.028575, 0.485832, 0.837796, 0.8229, 0.5681, 0, +-0.058197, 0.722006, 0.058197, 0.406388, 0.790041, -0.8229, 0.5681, 0, +-0.028575, 0.764915, 0.028575, 0.433502, 0.837766, -0.8229, 0.5681, 0, +-0.028575, 0.764915, -0.028575, 0.485812, 0.837765, -0.8229, 0.5681, 0, +0.058197, 0.722006, 0.058197, 0.143033, 0.952691, 0, 0.5681, 0.8229, +0.028575, 0.764915, 0.028575, 0.116297, 0.999752, 0, 0.5681, 0.8229, +-0.028575, 0.764915, 0.028575, 0.064714, 0.999752, 0, 0.5681, 0.8229, +0.098092, 0.551623, -0.040654, 0.71393, 0.424338, 0, 0, -1, +0.128092, 0.551623, -0.040654, 0.684273, 0.419554, 0, 0, -1, +0.128092, 0.489106, -0.040654, 0.694279, 0.357676, 0, 0, -1, +0.070778, 0.465943, -0.070778, 0.39584, 0.529085, 0.6468, -0.7627, 0, +0.098092, 0.489106, -0.040654, 0.428108, 0.559472, 0.6468, -0.7627, 0, +0.098092, 0.489106, 0.040654, 0.490002, 0.556727, 0.6468, -0.7627, 0, +0.070778, 0.574785, -0.070778, 0.394903, 0.635358, 0.7408, 0, -0.6717, +0.098092, 0.551623, -0.040654, 0.430285, 0.607712, 0.7408, 0, -0.6717, +0.098092, 0.489106, -0.040654, 0.428108, 0.559472, 0.7408, 0, -0.6717, +0.070778, 0.574785, 0.070778, 0.52444, 0.635354, 0.6468, 0.7627, 0, +0.098092, 0.551623, 0.040654, 0.492176, 0.604967, 0.6468, 0.7627, 0, +0.098092, 0.551623, -0.040654, 0.430285, 0.607712, 0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.805257, 0.424346, 0, 0, 1, +-0.128092, 0.551623, 0.040654, 0.834065, 0.419805, 0, 0, 1, +-0.128092, 0.489106, 0.040654, 0.824602, 0.359773, 0, 0, 1, +-0.070778, 0.574785, -0.070778, 0.52442, 0.635324, -0.6468, 0.7627, 0, +-0.098092, 0.551623, -0.040654, 0.492156, 0.604936, -0.6468, 0.7627, 0, +-0.098092, 0.551623, 0.040654, 0.430265, 0.607682, -0.6468, 0.7627, 0, +-0.070778, 0.574785, 0.070778, 0.394883, 0.635328, -0.7408, 0, 0.6717, +-0.098092, 0.551623, 0.040654, 0.430265, 0.607682, -0.7408, 0, 0.6717, +-0.098092, 0.489106, 0.040654, 0.428088, 0.559442, -0.7408, 0, 0.6717, +-0.070778, 0.465943, 0.070778, 0.39582, 0.529055, -0.6468, -0.7627, 0, +-0.098092, 0.489106, 0.040654, 0.428088, 0.559442, -0.6468, -0.7627, 0, +-0.098092, 0.489106, -0.040654, 0.489982, 0.556697, -0.6468, -0.7627, 0, +-0.128092, 0.489106, 0.040654, 0.664224, 0.846564, -1, 0, 0, +-0.128092, 0.551623, 0.040654, 0.673692, 0.90219, -1, 0, 0, +-0.128092, 0.551623, -0.040654, 0.746037, 0.889876, -1, 0, 0, +-0.098092, 0.551623, -0.040654, 0.750581, 0.916569, 0, 1, 0, +-0.128092, 0.551623, -0.040654, 0.746037, 0.889876, 0, 1, 0, +-0.128092, 0.551623, 0.040654, 0.673692, 0.90219, 0, 1, 0, +-0.098092, 0.489106, -0.040654, 0.723967, 0.362496, 0, 0, -1, +-0.128092, 0.489106, -0.040654, 0.694287, 0.357682, 0, 0, -1, +-0.128092, 0.551623, -0.040654, 0.684255, 0.419532, 0, 0, -1, +0.098092, 0.489106, -0.040654, 0.723983, 0.362427, -0.9978, -0.0665, 0, +0.103989, 0.400565, -0.024672, 0.732661, 0.271717, -0.9978, -0.0665, 0, +0.103989, 0.400565, 0.024672, 0.786539, 0.271717, -0.9978, -0.0665, 0, +0.128092, 0.489106, -0.040654, 0.736444, 0.835025, 1, 0, 0, +0.128092, 0.551623, -0.040654, 0.745912, 0.890651, 1, 0, 0, +0.128092, 0.551623, 0.040654, 0.673566, 0.902965, 1, 0, 0, +0.128092, 0.489106, 0.040654, 0.664098, 0.847339, 0.9978, -0.0665, 0, +0.122195, 0.400565, 0.024672, 0.664879, 0.765962, 0.9978, -0.0665, 0, +0.122195, 0.400565, -0.024672, 0.708784, 0.758489, 0.9978, -0.0665, 0, +0.098092, 0.489106, 0.040654, 0.795802, 0.364322, 0, 0, 1, +0.128092, 0.489106, 0.040654, 0.824644, 0.359803, 0, 0, 1, +0.128092, 0.551623, 0.040654, 0.834068, 0.419902, 0, 0, 1, +0.098092, 0.551623, 0.040654, 0.67811, 0.929659, 0, 1, 0, +0.128092, 0.551623, 0.040654, 0.673566, 0.902965, 0, 1, 0, +0.128092, 0.551623, -0.040654, 0.745912, 0.890651, 0, 1, 0, +-0.122195, 0.400565, 0.024672, 0.80532, 0.271717, 0, 0.239, 0.971, +-0.128092, 0.335624, 0.040654, 0.818563, 0.217058, 0, 0.239, 0.971, +-0.098092, 0.335624, 0.040654, 0.79317, 0.22111, 0, 0.239, 0.971, +0.122195, 0.400565, 0.024672, 0.664879, 0.765962, 0.9952, 0.0956, 0.0214, +0.128092, 0.335624, 0.040654, 0.640762, 0.710371, 0.9952, 0.0956, 0.0214, +0.128092, 0.353791, -0.040654, 0.715864, 0.71412, 0.9952, 0.0956, 0.0214, +0.098092, 0.489106, -0.040654, 0.723983, 0.362427, 0, -0.1776, -0.9841, +0.128092, 0.489106, -0.040654, 0.694279, 0.357676, 0, -0.1776, -0.9841, +0.122195, 0.400565, -0.024672, 0.714546, 0.271717, 0, -0.1776, -0.9841, +-0.128092, 0.489106, -0.040654, 0.736569, 0.83425, -0.9978, -0.0665, 0, +-0.122195, 0.400565, -0.024672, 0.70891, 0.757714, -0.9978, -0.0665, 0, +-0.122195, 0.400565, 0.024672, 0.665005, 0.765187, -0.9978, -0.0665, 0, +-0.098092, 0.489106, -0.040654, 0.723967, 0.362496, 0, -0.1776, -0.9841, +-0.103989, 0.400565, -0.024672, 0.732728, 0.271717, 0, -0.1776, -0.9841, +-0.122195, 0.400565, -0.024672, 0.714559, 0.271717, 0, -0.1776, -0.9841, +-0.098092, 0.489106, 0.040654, 0.795794, 0.364314, 0, -0.1776, 0.9841, +-0.128092, 0.489106, 0.040654, 0.824602, 0.359773, 0, -0.1776, 0.9841, +-0.122195, 0.400565, 0.024672, 0.80532, 0.271717, 0, -0.1776, 0.9841, +0.098092, 0.489106, 0.040654, 0.795802, 0.364322, 0, -0.1776, 0.9841, +0.103989, 0.400565, 0.024672, 0.786539, 0.271717, 0, -0.1776, 0.9841, +0.122195, 0.400565, 0.024672, 0.805282, 0.271717, 0, -0.1776, 0.9841, +-0.098092, 0.489106, 0.040654, 0.795794, 0.364314, 0.9978, -0.0665, 0, +-0.103989, 0.400565, 0.024672, 0.786556, 0.271717, 0.9978, -0.0665, 0, +-0.103989, 0.400565, -0.024672, 0.732728, 0.271717, 0.9978, -0.0665, 0, +0.098092, 0.335624, 0.040654, 0.79313, 0.221103, 0, -0.6592, 0.752, +0.098092, 0.234285, -0.048174, 0.745617, 0.117066, 0, -0.6592, 0.752, +0.128092, 0.234285, -0.048174, 0.769253, 0.105121, 0, -0.6592, 0.752, +0.098092, 0.353791, -0.040654, 0.729794, 0.227227, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.718335, 0.110798, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.745617, 0.117066, -1, 0, 0, +-0.103989, 0.400565, 0.024672, 0.786556, 0.271717, 0.9952, 0.0956, 0.0214, +-0.098092, 0.335624, 0.040654, 0.79317, 0.22111, 0.9952, 0.0956, 0.0214, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 0.9952, 0.0956, 0.0214, +0.122195, 0.400565, -0.024672, 0.714546, 0.271717, 0, 0.3233, -0.9463, +0.128092, 0.353791, -0.040654, 0.703207, 0.231088, 0, 0.3233, -0.9463, +0.098092, 0.353791, -0.040654, 0.729794, 0.227227, 0, 0.3233, -0.9463, +-0.122195, 0.400565, -0.024672, 0.714559, 0.271717, 0, 0.3233, -0.9463, +-0.103989, 0.400565, -0.024672, 0.732728, 0.271717, 0, 0.3233, -0.9463, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 0, 0.3233, -0.9463, +-0.122195, 0.400565, 0.024672, 0.665005, 0.765187, -0.9921, 0.1251, 0, +-0.122195, 0.400565, -0.024672, 0.70891, 0.757714, -0.9921, 0.1251, 0, +-0.128092, 0.353791, -0.040654, 0.71599, 0.713345, -0.9921, 0.1251, 0, +0.103989, 0.400565, 0.024672, 0.786539, 0.271717, -0.9921, 0.1251, 0, +0.103989, 0.400565, -0.024672, 0.732661, 0.271717, -0.9921, 0.1251, 0, +0.098092, 0.353791, -0.040654, 0.729794, 0.227227, -0.9921, 0.1251, 0, +0.103989, 0.400565, 0.024672, 0.786539, 0.271717, 0, 0.239, 0.971, +0.098092, 0.335624, 0.040654, 0.79313, 0.221103, 0, 0.239, 0.971, +0.128092, 0.335624, 0.040654, 0.818474, 0.217189, 0, 0.239, 0.971, +-0.098092, 0.234285, -0.079572, 0.718318, 0.110819, 0, 0.6843, -0.7292, +-0.098092, 0.207583, -0.104626, 0.706397, 0.089989, 0, 0.6843, -0.7292, +-0.128092, 0.207583, -0.104626, 0.685736, 0.083383, 0, 0.6843, -0.7292, +0.128092, 0.234285, -0.079572, 0.684224, 0.118316, 0, 0.6843, -0.7292, +0.128092, 0.207583, -0.104626, 0.68581, 0.083269, 0, 0.6843, -0.7292, +0.098092, 0.207583, -0.104626, 0.706537, 0.090094, 0, 0.6843, -0.7292, +0.128092, 0.353791, -0.040654, 0.715864, 0.71412, 1, 0, 0, +0.128092, 0.335624, 0.040654, 0.640762, 0.710371, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.704313, 0.606663, 1, 0, 0, +-0.128092, 0.335624, 0.040654, 0.818563, 0.217058, 0, -0.6592, 0.752, +-0.128092, 0.234285, -0.048174, 0.769255, 0.105132, 0, -0.6592, 0.752, +-0.098092, 0.234285, -0.048174, 0.745628, 0.117077, 0, -0.6592, 0.752, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 1, 0, 0, +-0.098092, 0.335624, 0.040654, 0.79317, 0.22111, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.745628, 0.117077, 1, 0, 0, +0.128092, 0.353791, -0.040654, 0.703207, 0.231088, 0, 0.3097, -0.9508, +0.128092, 0.234285, -0.079572, 0.684224, 0.118316, 0, 0.3097, -0.9508, +0.098092, 0.234285, -0.079572, 0.718335, 0.110798, 0, 0.3097, -0.9508, +-0.098092, 0.353791, -0.040654, 0.729795, 0.227223, 0, 0.3097, -0.9508, +-0.098092, 0.234285, -0.079572, 0.718318, 0.110819, 0, 0.3097, -0.9508, +-0.128092, 0.234285, -0.079572, 0.684225, 0.118309, 0, 0.3097, -0.9508, +-0.128092, 0.353791, -0.040654, 0.71599, 0.713345, -1, 0, 0, +-0.128092, 0.234285, -0.079572, 0.732369, 0.601095, -1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.704438, 0.605888, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.706537, 0.090094, 0, 0.1306, -0.9914, +0.128092, 0.207583, -0.104626, 0.68581, 0.083269, 0, 0.1306, -0.9914, +0.120592, 0.186814, -0.107362, 0.708302, 0.063056, 0, 0.1306, -0.9914, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 0.9329, -0.3135, -0.1774, +-0.105592, 0.179081, -0.0937, 0.723585, 0.072741, 0.9329, -0.3135, -0.1774, +-0.105592, 0.186814, -0.107362, 0.716725, 0.075013, 0.9329, -0.3135, -0.1774, +-0.128092, 0.234285, -0.079572, 0.732369, 0.601095, -1, 0, 0, +-0.128092, 0.207583, -0.104626, 0.750581, 0.573517, -1, 0, 0, +-0.128092, 0.192117, -0.077302, 0.723913, 0.56393, -1, 0, 0, +0.098092, 0.234285, -0.079572, 0.718335, 0.110798, -1, 0, 0, +0.098092, 0.207583, -0.104626, 0.706537, 0.090094, -1, 0, 0, +0.098092, 0.192117, -0.077302, 0.730783, 0.082228, -1, 0, 0, +0.098092, 0.234285, -0.048174, 0.745617, 0.117066, 0, -0.5684, 0.8228, +0.098092, 0.192117, -0.077302, 0.730783, 0.082228, 0, -0.5684, 0.8228, +0.128092, 0.192117, -0.077302, 0.745767, 0.066489, 0, -0.5684, 0.8228, +0.128092, 0.234285, -0.079572, 0.732243, 0.60187, 1, 0, 0, +0.128092, 0.234285, -0.048174, 0.704313, 0.606663, 1, 0, 0, +0.128092, 0.192117, -0.077302, 0.723788, 0.564705, 1, 0, 0, +-0.128092, 0.234285, -0.048174, 0.769255, 0.105132, 0, -0.5684, 0.8228, +-0.128092, 0.192117, -0.077302, 0.745754, 0.06649, 0, -0.5684, 0.8228, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 0, -0.5684, 0.8228, +-0.098092, 0.234285, -0.079572, 0.718318, 0.110819, 1, 0, 0, +-0.098092, 0.234285, -0.048174, 0.745628, 0.117077, 1, 0, 0, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 1, 0, 0, +-0.105592, 0.179081, -0.0937, 0.723585, 0.072741, 0, -0.8703, -0.4926, +-0.120592, 0.179081, -0.0937, 0.719785, 0.061964, 0, -0.8703, -0.4926, +-0.120592, 0.186814, -0.107362, 0.708355, 0.063063, 0, -0.8703, -0.4926, +0.105592, 0.186814, -0.107362, 0.716731, 0.075033, 0, -0.8703, -0.4926, +0.120592, 0.186814, -0.107362, 0.708302, 0.063056, 0, -0.8703, -0.4926, +0.120592, 0.179081, -0.0937, 0.719794, 0.061995, 0, -0.8703, -0.4926, +-0.098092, 0.207583, -0.104626, 0.706397, 0.089989, 0, 0.1306, -0.9914, +-0.105592, 0.186814, -0.107362, 0.716725, 0.075013, 0, 0.1306, -0.9914, +-0.120592, 0.186814, -0.107362, 0.708355, 0.063063, 0, 0.1306, -0.9914, +-0.128092, 0.192117, -0.077302, 0.723913, 0.56393, -0.9329, -0.3135, -0.1774, +-0.128092, 0.207583, -0.104626, 0.750581, 0.573517, -0.9329, -0.3135, -0.1774, +-0.120592, 0.186814, -0.107362, 0.750271, 0.553437, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.730783, 0.082228, -0.9329, -0.3135, -0.1774, +0.098092, 0.207583, -0.104626, 0.706537, 0.090094, -0.9329, -0.3135, -0.1774, +0.105592, 0.186814, -0.107362, 0.716731, 0.075033, -0.9329, -0.3135, -0.1774, +0.098092, 0.192117, -0.077302, 0.730783, 0.082228, 0, -0.7828, 0.6223, +0.105592, 0.179081, -0.0937, 0.723592, 0.072791, 0, -0.7828, 0.6223, +0.120592, 0.179081, -0.0937, 0.719794, 0.061995, 0, -0.7828, 0.6223, +0.128092, 0.192117, -0.077302, 0.723788, 0.564705, 0.9329, -0.3135, -0.1774, +0.120592, 0.179081, -0.0937, 0.736812, 0.549418, 0.9329, -0.3135, -0.1774, +0.120592, 0.186814, -0.107362, 0.750146, 0.554212, 0.9329, -0.3135, -0.1774, +-0.098092, 0.192117, -0.077302, 0.730769, 0.082255, 0, -0.7828, 0.6223, +-0.128092, 0.192117, -0.077302, 0.745754, 0.06649, 0, -0.7828, 0.6223, +-0.120592, 0.179081, -0.0937, 0.719785, 0.061964, 0, -0.7828, 0.6223, +]; + +objArray.push(RobotTex_data); + + +groupArray.push( + new VertGroup( + 0, // material number + 0, // object number + 0, // starting face + 564, // length + ) +); diff --git a/examples/TextureModel/RobotTexPixel.png b/examples/TextureModel/RobotTexPixel.png new file mode 100644 index 0000000000000000000000000000000000000000..d3acda67c3d14a81fb482f7dc70e0b06ae473e3c GIT binary patch literal 3156 zcmcguYitx%6u#S*HyE^vM5B&F3?R(TW9P9mu+p+yXaify(u5KfdUxh-cf#(>Ff(+w zh`NeKk%XX_NCXKn7zr;i0kwbyA7JDMB>X@T6^Rl=Ud0!R2E4P~T?-UTd~Gs2Gk4DY z&N<)x&bfDSL;d6-1Me6J02oqN8;Rk2&b#`T;s2=*{k#g_23WPT8~_GYdY2EpylOZe z`$2DPa+{)471d1pp=QRBKby9&H2~u$WG$%9MJ^FXExHjR&+XVn61o;5X9`g!YK2i! zuU%lH84Kzg)dh1^StBPrK#b2S7$A*YNMzF~!%?y!GLNg^XK$D$iM)wBH$+x@4vD5{ z0}(cDLS2qp9Lxgd2z8fNO zq+KbbtrD!^6llVP(OGEGte^2x${T8G$-#aoiaClg}HN zj?MFvEhTIt=$dw;X{L&++)&Jy;4o#xsF}K1ScmbUPC-3$9a{KWff8ylx0SRP+~Q%I6q>l^F94|^Seq(GgXZ7XLvyf zWghYYN=jgifZ(A?35^mYMwK`ihzIz15p9~S<7$Sf?x&L$(tl6SkQqN{S&| zlYo|$(pBgsPPZCbp;?rcioC8L2e$q-MJmH`K^dtOCnVw&7v}}68yT-v5J4^>K%V7< zBE>yY#3=!`SRH?dq5}PD5*jTCZv*r{NCt5%k`qz@7dgXHFpjk=ODdLIP?n&SU?pD0 z_0tvQRmogi>i=;vYOf0DWzjudltglU(lli2-89f$XQdE`yyE^Hf4wU1#+uaszDTsU zMR&Cu`sz;9^&aVBa*|h_`CUxusps6N2JyD0;Evl%4~7ZEYLdoN91lf`6?l#c#&H)F zWRVrLU>x!y^c3x(ng6s0dtD??L${MlaR?uWyvNcx48N34a>&4SYvXfT`>`!!04VEM z7pZQ{es<=_o9XwfhUca)AuFrGCvX0C)X>Uz7RNN-vV&Y1T03@`uyfL(=9^+`i2h|` z)rFak3m@0SBF~>aeB;r?fGqW?t5~{ zm!~RTMD2&quD@{Z@WR^$?EYd={i(0(*H&8FFS6kC(06Z->-=b(@AVC4+4%Cq_f4l_tEyMgKcu-pYmP10@$wq?#c}-`+%ywz^DeC*g5p36d=| + + + + + + Wavefront Object converted to AssemblyScript + + + +

      +
      + +
      + + + + \ No newline at end of file diff --git a/examples/TextureModel/obj_tex.asc b/examples/TextureModel/obj_tex.asc new file mode 100644 index 0000000..fa92e2b --- /dev/null +++ b/examples/TextureModel/obj_tex.asc @@ -0,0 +1,181 @@ +/** + * @author Rick Battagline / https://embed.com/wasm + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, imageReady, + createBuffer, ARRAY_BUFFER, + createTexture, createImage, ImageData, pixelStorei, activeTexture, + bindTexture, texParameteri, texImage2D, uniform1i, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, + TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER, uniform3f, +} from '../../webgl' + + +import { + objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap +} from './RobotTex' + + + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision mediump float; + + in vec3 position; + in vec2 tex_uv; + in vec3 normal; + uniform vec3 diffuse; + + out vec2 tc; + out vec4 c; + + void main() { + const vec3 light = vec3(0.25, 2.0, -0.5); + float d = clamp( dot( normal, light ), 0.0, 1.0); + vec4 pos = vec4( position, 1.0 ); + + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = pos * mRotateTranslate; + tc = tex_uv; + c = vec4( d + diffuse.r, + d + diffuse.g, + d + diffuse.b, 1.0); + } +`; + +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + in vec4 c; + in vec2 tc; + out vec4 color; + uniform sampler2D sampler; + + void main() { + color = texture( sampler, tc ) * c; + } +`; + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); + enableVertexAttribArray(gl, tex_uv_al); + + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + + let diffuse = getUniformLocation( gl, program, 'diffuse' ); + + let texture = createTexture(gl); + let sampler = getUniformLocation( gl, program, 'sampler' ); + + var image_id: ImageData = createImage(matMapArray[0].diffuse); + var image_ready: bool = false; + +//diffuse + enable(gl, DEPTH_TEST); + +function rotate(theta: f32) : void { //u32 { + for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { + for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { + + let x:f32 = objArray[obj_i][coord_i]; + let z:f32 = objArray[obj_i][coord_i+2]; + + let nx:f32 = objArray[obj_i][coord_i+5]; + let nz:f32 = objArray[obj_i][coord_i+7]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + + objArray[obj_i][coord_i] = x1; + objArray[obj_i][coord_i+2] = z1; + + objArray[obj_i][coord_i+5] = nx1; + objArray[obj_i][coord_i+7] = nz1; + } + } + + return; +} + + var vGroup: VertGroup; + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + if( image_ready == false ) { + if( imageReady(image_id) == false ) { + return; + } + + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + uniform1i(gl, sampler, 0); + image_ready = true; + } + + for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { + vGroup = groupArray[g_i]; + bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); + let diffuse_r: f32 = matArray[vGroup.mat_index][4]; + let diffuse_g: f32 = matArray[vGroup.mat_index][5]; + let diffuse_b: f32 = matArray[vGroup.mat_index][6]; + uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); + + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); + vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); + drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + } + } \ No newline at end of file diff --git a/examples/TextureModel/obj_tex.wasm b/examples/TextureModel/obj_tex.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d787533bbfa43ffc35e8d54e81269b45f46ec9eb GIT binary patch literal 33233 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 literal 0 HcmV?d00001 diff --git a/examples/robot.blend b/examples/robot.blend index 7ce20f670ce8e2ca7e701d9aa63fa43503b90f87..d2b6f5db7e7c2218c62e598ad00e0dc8ac8f8975 100644 GIT binary patch delta 74560 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 Uns>(`OUl-z+soGNT65F?04)Zh{{R30 delta 69320 zcma%k2b@&Z75Ba=yE7D}>HxdK(j26@in1tWS3n0r1wkE(g{aBc!IG?XL8FWvM7g7) zf(6GK(8O6QU}CZ+He#Y{tXL9dW<@0SCwNL{9$$cUA-$&<-cI_K7H@8(U7@{rrU6ESJI^mwQ9&^20@zwe2T~EN_+jd5sArKk!WpR zeafwv*+lV+^0$cW=E8=mg2I*B->@UT>F7?>ATncDD^S{iF zr@8pY?(9vIjTWFwy60~E7Z>Qp54VqdvCwmf_wr8NQxnc$vh@Dcx*ZMP!f5is52nz9 zH@AA6=PupbyE_{D_AJVD%GbKWq2s*Wyl83}6%e;{AMfVAyw;N@);9id_OurZ_4|4+ zN1~z~)s=y+$KByQS2fjkkF}7(gq}m|mhMlx2Lp8_wXrJ6(E9zoh24|a3wGveV8GA*P~pCULJ#^v;h8BhsjMR0x+&BB)4YC@bUQlW9_S+yKsG z^#J$9Srp?7CezX)zzUOc%SB0UrPfKeeu{VfEV!C<_>&r!KcXMopI;j(u*MH+njj_LLXo4k+SqBEzlcx^ zo0`0?UU%E16$jGhpzv(7x4$>KWq1Qi#qyCM8q@N3)JI4%=Vo{t(y?kZiENlk?#rJ5 z>BMrRJA0}(NY5J%rTl3DR$=+5*hDYF1nW=nM$JNxRC|=zVY^e@Q&`5PN?V#Bt*?SQ zsIv;m)xHYt$3lf?r&Fw?OVSrbZh&w~-u=C341L#piZ}8QCj0*spC$DyE>BS(9%%0) z9?tBAY0{7)4zyx=+34`SCe#QbC zkCF527uB3k2*z=QY+1R5`tU|ao$!fWN5+ytvVW!ObikpUN3rAKnx!*o^^&ePmmc z5646~3JT1bO}>yW%g$aco=a`6kiA!w2ShkCA(KqFF*o5{6KMRmDm;ISMla_JkF7gO z0x{CPe>hn$=d3}yTHms)tifmB2dy8L1*3ohCIAX#$sJsY+>UuP=Q~iJFzv>B@p+^V zpSx8@dOwRwo!WF-^-Q<&iRvEF}BMVZ&5O}*HP$?;3?Plb)Y@Qw>bTL!Hl02Tj#yB_D$ z22aj=UhLhCM4jilT|z)fC*nKC&Aq^zW<@CLgFU#s59E!mr#NhITcJnUr>kX3#541i%R~IzI4Op61qUyNmOm$^|~SIj3pOE zB5u$#(U|+<67Q;L{@%TY)0XX*-pFvYrPfzOJi_PZkwtnVXY1wUTGG#U;j;Rz@Mk(V<4Ui#Rw0H_Y7q?KwERlC!DJvqDV`-L%*-vG7aCA!AVW#~LQt60?En`8 z`6%Zp7jSbUt^$gJ3?+H4pfIUh3={(yN@A&^fYdb~L56R<%8S$)-0;%Mis{`puriR3 zqGmCvi(d^C1sO_KxiG0~28w|UC3n6k#H8+Apcu$dQfelXx=lbakfG!ig-PAtfnp#- zu~cDFSAPxNW@3CHlK4zWjFqLTgju90ijm|#5fWo% zQzSrQC`OY0RHY~@Mx|L5P|Q$_q{Ak#O0#^FIm3z>ijkz1yRkC!CE3Kuoowm&Ty0Tl zCM7^(C?+ML6~&jPDJ~U3Jf1d>COMt{sj3oDWiHk|Ixf+PR zp%_W}V-2NBF%qeLteBw~Nlu+>tc;|rSd>v*&z_;)eT~}ussUf^^`2y_OCPNe#kI29 zNPQ?*2&>PQ|57n_toHV=EACt3{j0V4?}~h$cqp_F?G4s@`}Z}_E-EGY1)&sfyxx15 zHYVuPjIuE%qjRPyY+Dez&x;DH?Wc$OM3}N6=Mj_z7PjB$_4X#2-eyPpda=XoGyQF5 zRaT3Jo5_yU*L0~#f~_s}y^haYo?3-H4(u?H>B>We=Ho&Sdr?7KbqiHsMl1CE2~=lp zg{{Yjj`t>+Ql@17DpgXQZnMjl>dL5oyAICY_7E#&ZEp6z<>6ruQdX2SkSW>rDeHe! z0=CS_d<`m=YH*#>i9h1(YBCyg6Rs|e*>wj=WG;`1)z@8k+V{@qf8uH?z2AGihnX+9A`*9-OI846ot*G{vbnAI z!=iw;i9KXam1;R-_X$nxqYzWMNKqo<%Ssa&ZT$WW5~1cgc6YY=20Luni!C`{^lz7BO2WGF4W z3JR0DqxT9AIKn`Nl2;TXwe`2EY72L9ojQnmhG%r`>IvrO9))xR8A?u3m{hJ@3}h$? zmCmGcSef+BHRd@WHZhEcT55DJrJkrs#7gF-QkqLdN}lVvi5V)06%Pz;~qK%p>MtPK(j z!FEic7)H@}klLY~%yOlGR*GR1rI|{hoGjM@G8Dro8ui?lrIS=5$-e4D(W0I(S>`JV zEXSj>uk_qxF(z5AGT^ID6fG*#m!(<-V%|xsjt8ZPl$4XjL#8k9fepn>Pd}h_M_F0M zidsx!C`OXlBqYYl>WZWtxE6ob? zaODJBTEy;TUwze0+r~AbPRs4osx=BSjb(_o=#RUmo{>^i&RJ2WcC<~eE8KKI7&{BF z)xElDXWAw%7H!Q6Th%z*$Rjo>B*kSf^=?5fjI=GCrp`Oh*VaI$ZQIXj$o5j`2YlbQ zSk9To_EHKn`bMxO8sVdRDHbO?N}v~-zeH$?(CU9~qb8ZHW;?Iw#MOLaGtH)tMNH?! zHx#MlNAp+_YfE>DVvQ$Ks~1xWGTmEFhH^7X$UE)_Y%g6blU$3}*DqnrMX2 z_J6}j5hrO07KM9$AaLBY`ot|ihaN9~u`Ik%w$(RG2>muH8yMb2nkOvEX1PsPDVlsS zG0O`j>+;(q>zO z(_$a^up3n!Dn&)4m=2Oca}BOXS+oBYcD<08L9dqT3wCsqdbC^9C3INu<y4Ffqa+zHH+xZu7-v7K? z)-_by*Erh-B#ZY2!J+S(;jwD>T-Q*nj$vfG;iOMfEufX#(Uopb8^}B+ zhXSB<&D}|kfeghw&&=Gpgc4dw;FUin^ zva)yur6`I|qBrV{l_@5!7h4p?NIL9hqq1U8QOE-%hT@ahEoYOaSra5t6eG#)5L=9u z%^l7aG2c*(ByIPPm6gRMKw>C9iQU>%X_k2bkEIpGNURJPD~pR{C~t)rMekE8wJ}y* zuobd8VoOr#aH%Vulh>li<fcW?tSiw0i@cRV7-k<{4*XrSWp_(%Q_Qq#WfpP^&K` ze?OXE@ymadBaqiCG@!3xSqV~Ea&wJy*I3Jcj28|rM$IGKlqTmijP*F9p{F| z`MsW8-j|hoL1m418?$tujj7zGzEm%AUoNhvS9bb_-ixZ?xYNo;ZQCVuNi_dDy>sH` z?;2V-EWL}`_fyfKl$ADplju;YnMC&ThYJ#KKFcoP7N9=e28dRP&AwJGZ&zqF-1zLI zcZ$=u3116X>~CZ0=_&f{iO{>lZOq5LUHzcC6hC0xd;5hR>z=+v$I!BV^1zzm?1kz~ zXe?Mi)E}&smCyPX?svkK!tiWDVo~c{kwdn2+leS9!Ew$2$CNAaHfe$GuT;l}BnVO=1ivoRm{2gOw$na_!@+cB6jxuior>VGtwlznkCQ0qs~Bi$ZDL(dH> z>9~*YQI^ru8M;%2UTN$xO=)S(m zx8yxk-1EVseJ)Opo^!nEem^p_(}}r{WMchznpd^XCI+>!_?iBDsBLs^HPUKkj(sm5(J?8>-Q)ty+TwjuFN=@*^|FLIN!&Va-eUFAu&lNT zHeHhqa^C3BbA2}KDtpCNN6AE&8ED=1(V=PGhD*U{e9|u%v3IOwMupAttEg5%4Yz4b z=)Jy;PYScxrNWF`=S?PNyJ_`#)MwWASHJqqzKv=ko8=bo8G5~M@-H8=Qr5QjCg-|2 z4WZ*(+rv9^+z}tV3dBRC_kLQl=*6}w94~={;K17wIG;dx7*EoHcQ@>v;^BHOZwm2A zl^61=`288;gMVI?cVrd6A5#WYr3On>6rqY=U_v%{JhyToZahYwJ6N0iyC&9h zKe5ucQbG~8)NOuZ8I~nh{@1|1ac^3P+Xjk&;u1}&jGt6PBoA61_Vb|lmL*jkvmhzP zviO21!lK+s`(TY6M6B`B)8np3Z8%=57(NA5CJv$uuEE{xaiNHNXMAW}G(G>?AZ>)r z;}ixL_iZEbZ{H34iEwWB7UU}NYAmng9k2O0+jLDR8iC{f>w4~!{X=_3<(jL0VyMqh zo%wd{V4FRg`LZ3O!1Q*fP7EbRCw{1$_KEEe$x^OuZk#+J;j1@ZO(!MSN_4X8q~*_0 zk>-@^{13Uakxq=%yp`MpyS+&ivW`&_vh*@tIMB-8DLqVL)^V>NvyP%4Gv*P9S^g7= z0LyaQCR14`)(Y>$Wx|_VsWEk0V}9+kZu^JN+E|&onTv$AsC{D-EeomP!a6tkI*ygK z={35pqLpn~flKSgx;$&v8G1x4N-&Db63}g zhq$YzhPFg=d8&SrI@zaYN*dlxEkFw;Tb0r{*#$UDa1GN#C%QvFrcWQOogQlHz8{4S z$FX$W>vr7b^>e#@9j@-Vt}4NSMR40kBU|O;r1z`EXvN~T_dn#lX=)?1!251}YN|Mw zh?M`uJ}weHJ^vjUO*0+ap4sC{f_evqX7)PdjGv!aMgLDd@%Xa`%{t?ZC1<%~4hmfs zmE_~O1DjwXKU&_HqIuSGZ`l#=E#BP;lw~JJ6F|{NB}#2hlFV6; z`vW$8Y)g{qQ+a>DNGf#lCj!66l)Z>Pmq;LMGr!YP|2nD*KPoYh70=9S8q)WexKHFZ zmIN7{GmXB-#4xw@8``l7apwH;uAyr*L6H6 z`v_~(|M`wrhs;gBS_U$;^0)Dj|EdL_2i^P^8mDunb4SmNB;1WpdJ_wyGoiFstAjqX z4+NQ+6xN@F`{{Xw8BXRA!AXL)Kuas(7|h3kz9f`s3k|1*?)M^W0=o5>4l7$uE)3G#=@wjp~i5O{qkQ6484_cq?>hnIHn6shCe#J_}tJ6 zua-9vquXkAQ5mdl`fGmbm(w=(n#_i_dv$RcAg^W^ot5O&aMWK~T!z-7M;6*h<4`$g z3RznWWGJa2f+9@n&!@ZD3NegConSDfypv%dAH|rUbx(Go*ESNJxTFUP7bbO|HiTISBC-UYO>Fi2JwrgswvIy$ZXu?m(xLi}bci)kk&Ni|j!pX5j(F;=E6dqeL$ zD~gdM7AT3bGAW|2lvYJClH5WiQC5|{W)ed&lJtBbF=?ilIA3g06eGzgcVlJgA)Xc~ zoozA2l$DW)lf@QAF)3+1H)$5npkkd!I*w9XOj<>NS&E^U6ia=RW=@tw07;ZlbY)Qi zri)@>WwE(q)i}1fa%C~b=HJTD%xR^vmnq6acxzjZ(8qddYGq|HkX4w*qwvV?+g3ak zh z2mE}u+e&)A8@s>63zoI%NuqbI3#9WN!9c#+$MFyru=7@h{#KX9dBF5^e>rEm!qV$t zy1|S`Vu<2^wlLv(;26wsSOr83{0iP0xJT65lqdIqL*ZFR(6}l8p*;PjPZPzW$tTXB zPoQqPF*I`oeM+CdDC4)ZzVwjwrKndHrQ@aarq{~mutRs|`CVmBw9KkpUyRNQa|?f+ z4_~}+m(;bP{E5PvNo0XBkfEgXn<#_}FE9%6F_Z~Y$^w&8kfFr%@`jn=+NHKuA%>CG zs~e_tCp|-#E(S7`4!yczW^O%D3}h%VyUydU{&)>21~Qa36~v^j=kE!{K!%c0E==lX z0L4ItlGWHSsap;d0~tzAxiG1F6etEVly*g7Qnv#r1~QbS3Sv?>;t%u{R0c8>%MT;9 zb+oGLH{8Wdph47QJXwvIg}afsjkc`vOSoQoFe&}9P)ht|IqGzwlek;2TGmQi8EsjP z6vd<@^lCDvtc)bhffEu%F_I2@+N`WBF(r^pVkkzE)=L+Y#@tcNct$XZq4*?vd1b83 zd`&uhSS#J>3M`>!8!Mj#(Ur}Jp_r7MUFTV=Nf|4X7>bc}D5|k)tH@(9zmsAes+h4d zl0Ya8#iXRw=_buc0*V=mktA-`vZT^7n$$&Pu9~kXKFNAb7?oxoV^Sqi6eG!5D3w)S zD@?X5#ZZhSZI`*q%5p3~VkkzEQ&eMRwggBF#V1i4jFl-S6PDwW>y*g}eFwx?wO5n@ zCNUI~(xGM>E2|_-DjqWwBgxslE|r$lN>U7XtkXT7w4xd-lftAT#ZY`HW{a|_C`Lk( zQxqey^~+cpNjdsaMv+aTQ5%-(f=!|=fVQnl^sn3`T3W@_zn09B|2v+iZB@&Ka{IyB zWSd-LX8w%JN#0r*$d>%%9W+$9@da!WxgXe8Fd3aQjcgJxeJQlki!eL>C>2vT{23bs z7OGoB)7@;z)Qc@T8;&oGF`~Ey|h^oMLc;rkur2BK+;&NZFhvw6?`HqHOUWzOn`~ zWqGKu{&jrrOVIc>Gzbez-{hSan7R75LsKW2N~U7R38JE@ZaHCo#+r(lvA6PW%+t+Txv}Yd+`eY9P}!QH#xK&kvEu+$RY( zR{X1wGYuZPZF3J5X&Y^D!(;YD$Mk&nr7-UwAMUF!(>A{*kC$2*@k6nnE@M&7JH%(u!xKJ2w>G zzb<<{eGMsrtj&BR2IilIigE{5L1r5d73#xbN^?PDn}Ai=5utl`(KHrPx4t?&q^|v! z^yQw!-~M4ciZ6y>xZ7SG-Zjdi-4E5_nSGd$u&tdudGa9Fa8=}cmyU(^jHcw<{eBx7 z>z;^()AVQz&+|q%>Zffw`pfl9OS62WqfI|8mERyUs&pB(AkpVMMrT{;d>`yt_)>|x zq=*frlr@vcrILXRrAbM}0bd45zJ0 zB4C`%1hI-K6vJdR9-uK(PNuxb;1AU(hEFk7DNL5Sg()3VD27qA>A5dUBPL#8tvXS( zXa+SZ+$$r5GloQ9n#$vdj*lV68fRaHmZ_Smn#oY?dTptvY@5szpECWU|b= z;w#olF-$9)3BD}#Rar&^cF3N~*js){&hsN5n@N7%UM4fkGQ&tJtfpxsbAliFw0$Z! z=BzCpEVr^sE2))&V<0OyE%(q+;mrrA;M8%SINBJK(K*xTBOhVK_vD21$zG^REK#2M z9Nag&@1z!0-i+b$0A;mYm=We)o6QnRe&&<^MmAm6mga~tZC93!QIILjL;B1|(B$(1 zK+}gl%uOHqNX_D^Zu(l;vI1oK=~Ou}G{ofxgcEfgGsF9!^!n`tSs@$mROKf2QHbf* zxSU7)6_U>b&ThG$#=#MEg&*qhoW@|rqoq}Fn6~iDK*mv+;WTCihiUbBkHLH#Xi2h| zpF8BM@O>MG(ia7Z@^ZfwTslAWY5&PbbXTza(RMyB&=N}T60jpWt)Ax>G9$x@NL0VV z^|zrh?%}cF`CczsT3VJ$#m?!64?6SH1d%HImEct+Qv zU*E(0-1GcdUj-RTqj^wCjr9OezSh##Ov5v}qJH}bi*S?n4iA`QAVaa#Fw!#XO05}B z)>>xa9w2U`EupMZC-k!c#)U&p(?B93cLzFu62U%Jpt;HM1qnQ^7vYLxQqua}KPJsm zMS{ap48=$~^viH^%8I#@lmLmL7)e?uiLo-pIKFyAK~an(r-~UXGe1CLC`OXjk3E?* z%btK@hGHZ+{bY!-ve_z8X7dfjNYYATtjuEp5<@YPgxX@PEJ0+7N+=b@NIFc4wnh>N zrJ?vF`pFQJX12&=U@0AnVkBw(CL3eLs1(Y8VuoTQ3H@FvV`Yj-CW|eK;*)5i7%Q7M z0goj*r=_wmX{J~}O1hJjw0+}~va;D2@R*^PVphA2m4#9!C~S!`itL7r+8C=Y`~r*? zf7?LhPpsSx8Dq{w@~>s4mT`PmI5t5(3}bEnExr7Dz`y)5kS&bGYjL4<+63%|xKEsI zEDtg|XBxQ!C7%`M0mql*Odg$t9T7{F9np1DXh&oQm_Z%*1R=4rRn81y=MubfLi5Lk zlOyD|iM7S7XjFX2H^@Myv<#JRL&-Vo3SzkpMV}VF){B5SHbw_|?(FH|+DWFMDctf? zQP>Qrm<*(FWez?+oi2c5b2jkzU0d66klsglPZgfnMLa5C=*j_|^3ly|os9HzHk6mED$XaU8+Q|}nW+@3#)M%-1i!e2&tT;6U1 zW#N`XNLt)%DL-vY6jmM=I4UYH(8Gc@40{7cFR3=5Z@55F1AIOQRPXqdKe z$c4yahB>}%2@Zw6t?+@V7x=t!cYA4Hz8&*{<#d0d?a>|l+K#o^PbD3=b)PN|pC7lO zkKNKJeQHETuD&?DaI$&Nyve&j($2hW^~?5i6;(6jUbsBGi<@{!cxYYX-2&gdvNm(6 zn3?&CTD=RSAoE0W1#Er(5|jb%2RxblM#(`_xaCrK(qKl%KbK(kkQpE9%YH%ow zz8p|i%Ds6-c>ieZ<)>xKy}wIe8SWwHh10GK?@ixc!&_j!QZc{SbThlHZb+qlb2VjC z%a3v!&)W39GW{~2kpg15flTw_4j%I7AD;)TFP3PW&Y8~9HvuIIly$3V66%04%Ku9c znL&YW<{{w}W;m<|F=JXs-vsoq%iR<%MMXbOI#9@E$d=Y{%pJEj+#b!wEAQm-dEw|= za2dj;1};Mi7p@Pljzr}b9rzvQ12%*gcnP@z$>~?~Wc2$yG85^?eMq6w6uJG;zCvg4 zUDO6{ZW*0zQ)9TTAXgyVB^EZ6)o4 z{Yj|uvVieq@6IgT(f82a-9lj-i{c~+jd3wQvm0c;YbZX+0YYM|%&B4<@2iT6VkG&L zkQgg-Pe6*H7)f%fk|--92}m&%BgxDV5@Tf^lF+eYhGHanB{5b;B00k(hGHbinQFe0 z8i~Y>NesnE@|yp~%JN*&PNXP`kt8RJ6k}y+81R^(7)guXax-a`I5I^@%71+yQj5+< z<75=RkUpan!(_DSxyiC*6ifKVUndHi^CrtEB#!t#qzEWv<7(^;NfKAy+}4_5>sI@D zQbR0pS!bI*)LK|1l6)Jl zV<1zw5kq<#kNcu1qv>rt=BCd~O(|2d1J#<8G36_=nBbK`oAem1l&J&hml0^l+Vo6W zDcjchN*c&lat06iD`g|jiG_`~W#pXc3cq;*3!uRar=>}7n6_}?Q@}Bp;jjwCmucOT zJHkT>nJwWg-Ew8!wx)Bg0IN%zlB!iPn8C2J0a`wZ1k+FUZPR8HUv zKgBkFq1^1WwqvAtr}0!0i+r5eMK!!daJpy@SFbqQ+!IfLxW(eMNV&X8NL}V?&5XNP>iHQzuUuDnLEWQ zCNUJBM85#VSeX>DQb-iVNK&^+mKZB@cYwrDe3A`HqO43YaTH5QDT^h+^S(QoaL55-&MY~ZbCv%s0cHs&Ww6Vt!hEkae7#mesDn_8zGi|wGlkpY?KiPr_ zLF1B2clC|X^?1j{{3?;PiAG&V{|aq;;){6|V#>Dkqir4D64LLw=JP-VT8d&Xb1Kv& z$jfyG^LhLrI80mkpdaHX%y1f^0r6$p!UF>kEr#jN3+RP&>IfV+6g zsX(8eBYzmocr-pLIKqoQG*?$R;E>2Qgs20C$Z8OCW+1mG)*VJ)xhU#!#xRL&9*&z6 zc_|tjRC#NH&kH9W9-++xTlrs`2l_Bv|45vFmXSo=FCSq@EsQL3Z7sjuiJntbCAex5hpK_6NdnD=~qgy=#CzA8Rk4FRX@4qd|H<)@ zJL~fIe=9e%9+b9YU7&Rhuf`|2f1D8ceP6>fL(;%^&zuNDzFiS%q|NEMW6rS;cOH2IKAA3r$pvP`NtUD*2UGMUFcNW z$qvF-AMERHo8U#GvB&Tea$66G9b5SR)X4ia3fS~@^`Z#>Q0U?#@zZMPy2bBSPmLxX zrymm(X5amsn9UVtZ@0#(BY!7eg*iLdJYHRxeNm*v>znvxFAfHj;-8cQhTC>BF+U$a z6Sre^4KYX8Ej<;?f$zM-YYuYVE{@DQI`)}d# zmp0a4mKD>3`MT{#R@2X+uB5M4&|j3~zH8V!HYx&vf{?~{FDL@{1p%74<;mEhh%1jL z(3f#&C=A;0<8EL;rtW+@>@+3P1f;=s6$M z{3~!w4LjYOV~F~C49m|hqU+`)i5ljsdH5wcGmn2&ZtG}5fM3+S076=Rc5ZR?$SD6{ zr-XUG)fDD>3G=m43iGW*Tv+~m^>3;RSKLH}Hktv%c}J2u{Of;`Gw8bY@6}9;;P)qm z*Iu_0ufYLc&w$tBZ>y))+}&eCgjfOKymxCBMvF_3A`L^~7%W<}4HIrWKVB>|JNx%wmIMUzVOQ6u zJu)qtJQplwR-h~HJHj`)*B^=FDZ=qruhmpXUMh1ubsIRg1LD?qBlURtih4YKSv~&6 zLs75GUy0dpVa9QN8_dXk2i3Sw-iUl3%>dw<&!n&}gQ6w@@-H>=Y=%Cr zeiRM!WS1Y$<;l*)25P!Fi-%g@`En4D)T)OVYP6M3N4ba1U<=`c%*MGn%XSfJ~e z9M)p8FN*N6{(3HtGdX*q{umQ4Kc*?lqZH(>_v3uP_Y~(-1NnCkvDWE9Z(Jk)073rI zFQS}P4lKGdKln#!B?0%Vi7udTH|E8N=f@k$ZA*3GhMl69(EI>I=0}fDYiNFOuE_l0 zTW{<~vvz~D#Vhpud1;e3>-kmErq(DtFKz4rYGu}flPXDuYitbP^~Loz>$ zzVr5>Sq;gKGyesQOXj01lO77m#Q95^Jchn3(oj^$d0fbOm}>^~*F`oUKF#8J;=wSt zbu2kAFka+wE*mgd=JhtnmwAn@+cA=~XFu>Bfwh-m)_xV{ZQBMvQ4U`~k%_f(G4hTfI&p7BD5WB!i$s|gndNgk_(bBiXMkJrPv9mSzjdcZY2z2`lqZbg8nR?+ z4$NiVp(`6d#xK`khYZPmn`+|QRp_nY4S4`NRVlV2}wag(&!ho#M|k~Vpbp8r|e z{JYY|{z9#*KZD9VIJxGzwC~HY&!mpC&$v`Vf{eHGxD;|8=Y)Y|8Be}gP6_Ty%0MN_ zxWIT8ea9O&s45$`mq0HYH*_VVV1X<%9C1;PBhJ(?Og5cNE%}^aa#kM(OTxSg?vfGc zO2V)ocp>0nT?lxbGlqYSTWY}-%PGbUff&bD6K{?2J6XiIcv)pFU<_H(*OU_oU5PQ{ zcZ#vgUlmPFPrXmPQ4zLCo4;P#;s*-<_#s56c4uoLM4|b6RfIYbth4|gzs zUg=?g?D~0JcKtleGa7bD_852io%<}a=W*C8+YHuDvXiyrdctmytC|kgj_8xv4ToBR$*K%Lx2DFk|&Jv`Svuiojm4P{Rhzi+3?Dd4aCz z2it^vdzlUoNO2Ll82b0zrx!y5d8~mYM%|49m<%S0VtF zWa_YsW$Lhtxw1l28D{1(%*?qizyK-R%v{O_Gv|2;yJUa=d095Pq8iMVY5f_7C45=* z<#JuzfO`o{F5?NN_fDdP9=}d6W%=M&D7xbU(aqP9Xk3i<^xS8sNA@c8SQpvJD^T|* z5jT0DS6#UE&FB@hyaP{y%)3ena(P$T__;6RfbAq>ACbWqnL9}R!m5!qGiu!MzeoSk zH}QF80<{A{3Ii|hQW(mMJL9|VpG0q-p7|G{Qifz>qz<*2=k)w9+V&NAagemBfqLFs z+U#IzC1aSCW(%f>qQCUvRFx78c{k#@Aiy*KHF(M$iP^)ei+wxZtIT3XknPJ_C@lM5bY=U(_-^Ss zTHh`hQ9W;Zrau`-DV*#gZT<}sK+Cts1ay{o{Bf2MOyWw4U^|2@Ji ziHNS$4@f{7EsA`LVM+8D`cm5EW`y(ky*J%|K3GE~~w&e9g& z*72~MXU9sLib~u5DxAtUrohQAXXXFM*CLfLW;zQ{!e;(&<&KYzAv373t zpePHJn%2&-mW8aGN>D_LCXZ{;WCUKyprIrKhf|V)!^yb<#bu@AWRO*slY!Ss*dx(S z{(xi=_S~0>1w$njIoBi=IoCK-VZYQvW-sI&%%8J~{lfRzSUa(fwUbNU@fzP1^puT@ z6E9#1;#v{f*cX+dZ3l)tm*8S0g@ub1Z-E#eTc9ECjZ>>zre|K0_$A+yHr0#hDbCsL z3g1=E+uxV-_F;0K*Dw(oZl)%N`YWgxYUlq;<25qrJ5u<_FB46QzZ z=u*KqrX-?#W2)f>x|{Jwf4j5S<-~3O0Jm5Xv~tt%ifTL(698@+^2#84Ctex&0Yb+N zsJ7|V>M?HQ_0{veQGu%RAvBXaBg<~Crp@>Jm6?|Tf~-2Mr>r`x=lY}Qq6+Blt6Qn2 zXYYvhcQO2G-ml>%x>LIo18R8BakE6d8ikxvqD zbR}P5g^=@1*L>uu&UFgbNg?8NkwV1j!h1IuE$P~3=}6jhHgch1XVl}4JWCgHmd@E$ z8e7w(A-!ZHg>;WVHJL%I%OS-=as1Q#0=-=*w*y1=+8k5K7mg`c6UIk18Q?OHS1+5M zJc974dSqrw+kT|9#c9%}UVntglb=eP8X@rP1Zgur5L~JWvy$av_{R7t>aSopB1k}rN-QrMZ zzo@oQfAk!MdSajyq-u#dHlkBw^tq6r&-`vg45ikgE00VkD4P}D%0ud3;3X_mp;yVJ~IrG%L&H7zn6 z%=le`-RPgokCD!Na@@fL&5`d9q2_MLoJ-$|Q!Puk+w(&npRpxl!LD+xp_TE5xJeYq-w3_)m&0YS_~S2j$L zEjO(Gg9T80iLQ`CC8=vQW%eEDOId}g;%g7%;%jteKL-nB{S0VVLSG(4z%q$s1mq$e zU8(9YSoY~mE?LIZ97*;AKMv<%$s!)+nwtKpAIk9uQ7DfHgt8bWzZA9|givNrs0<~K z$v&K)K}qr9XHXnU#>e|XHy@p>(GbS8{Y#cVnp}KQ+RU@kCSR5|_9tmmFG!nzPT`$i z4Pw6HR}PE#mBYd_0OG{2A^1)ACFo03p@v*P@wfz?hk5!zJKaWy%k)X~B`#1~H!jtR zK=U76i7U*J`TZlZM&!rPmu)o6l<|OmF;;*#J}_U>iql5uJ2-DRvT%!xv-vvC_H$_S zAwRUgIG#d#bRe|ZZA4t?c>+S)a$;p@c}%XJ`N~`tJH9gK&@w(AAFQ1=W6J)RoUy&7 z&7LN0W>l^qVpm?x zbKhbMwfqWN%})yOh&6$SygU`Vu7>U~GDLPNeBmMUn=d?gThP+tYjpPwq|rj*#=DE3 zfEnGtquk2;v@*An7?ZNWxg~7NxyAUnbw^iG&4fzHm1&SRd4{yHL!?dZD{Vfb<3~uF zNlV*)JhgHa1x^y4z)a4TXEG$nO3UGw8p+}3hx-sL``$qGi=2CMfrD`lUt3kV5TGmB z0Y!D(2X!1|Nm^@r0}9D(a~9+&Gk z9+qwOa)gpMiXU#OS>PQLNQ~lm;$2w&5Mr5r^wo-2M0rduh&e@Mug58}6i*p}?lwJv z#e4#BK`3WRTkIiite>_Ebo@kVQzuKCUnp(y6l!%b2P=scPbG;JPbKyRB*?CaLn*r= z4kZ_L2$nU0hjmThaSkOE(mG?IM4jPSG6FP}#h865i!u9>#lrv*&)SLj@fngp(V!#{Tg*zD+_B5^=~!xC`d8sYF1qVWAYHT0#ZfNI5IW>Rs=%-Z`X zv#~Dmeofk&8YmR|gX5<6Yo^5_=muUN%X3D_{;*thiUsi6{#nfmw`?#y)L_FVf(c#A zOsQGb6e)c2HIxDjmm!NHyg3m*_JYjRXiGdM299wx-%;^8Es*iC;o!IaJ2;B_QUv)? zoK!1*6vx+*Z$O=Gk=P1vT7X0TP;j8@$k(g+nTT8ac%;8OeQ$4>qJ}Rj^Q*yrYya5Z?)#l%^XR?)^80u75J9)mZ~=$DMu4rA2(Yz$ z18s}4S>YWO&@wv;EaWN6I~UP=pQT?_PH#q#>3tinxg<-_#ZB~S5uo!!mNmm;^QNbc zCU!K%^ZlhQ9wTk$Og*pD^U2btrb-(-TiR?dYUMsUIBB`u8Cgz~l*%Q#vfYLRnZrGG zn5Jk6eVHVXEES>;#-&1_E88|GB-N6qn3RA-d5%F*Su6r;ahBI&p5ib-wh}B}wh}B| zZddu_-OAc!(U)Bx?3D_!6UL=Npes8Cb_3rw?^+&4S7vzPWdze3Pbqg`ARYP;Q{4R6 zR2^D2#Vxxla-g4YpKXlvzq{L%7*#P~X`*n#NuqGV@tWT8Aehs&>_BY~ls1`?HZ@z?;v8x7yGxs$ zORcOg%u2F{!zVoPAQkIr(_0 zhoVB>tIWQLzHB96fNUf=w`C*Axy{QP?9$~cK%ZoKRv!jS_A$L=AJfadSPb*)&76I@ zJeJch_D4jv;UtP|N+Qb-l;4{llsPw!8lDCKLE4(*4P+# z)Y+77GXm*W+=EyacASlLC1y>tLkc0?SqoQ0H;2sntOFr_BK=YBe1iW8?M&Q3F z!sSNBW951SO(orVT+*F~Sv(Aogb0wAc%0e8Fd653(u64|Bn%euJeyQJPbaRH>(NKeChq$WAu#-43Qj3-ig&pLWr(>GUGI? z_?&AiHc+k|8Q_+`7~Jabj?o^s^y&-z1s3*zfX8GJ+)!Qw(UnCI=y+@T=IO}`hzsRJ z`-RdLFV*uaq)i>OmwY4nLDFV^DsAytY1>brR%#HllAs2bs1B|YyrG8(sRDKInp6RF zWdVd_aXJsH(|Mf9p^*eFFka$u4hl5Yob0Pnp`1ilY8)((oEd~+$r*HIfrVi*%;sy)vFb- zl1T0XV|d!2G9VX#=&ugtvzeIaK@@JmmYM_3FwkvN#Kg$O2J zc~-w2Tj2d97|iL!ys-Xl1T*>9PQk>O><`u>n6f`WSAxm-Zrk4}nE6`>m4aEkOxpZm z(q?avHhH|Xv5d5-7HKoHq|Kj1t=vTbC)pSVtjV%9oY;^cvywAcW+i7XFTD^fq2OUH zl|0UCFBFn1OLnGQS+XyAX8=7lQ+88lQ>LIRk%s;vy+4LUI=ZrPfLWrvQBx?gOwNTK z<_h~{y|O0+?#r&5{lJ%=te#|wsK*~Y8sLZWz<*OH7Y9O_-H(_Tw*MQUOuSMVN*}C8m+5&{+T;vrQ>RE{&e0cU5~*}O-A2uOm)o zR-lN+xQO!1hOSbixrj=U<|4}SVS-HjK(I^YV8b-gFC9oW?#tYT%~Bbdzf=b1&)LAP z;AeHLo)l>*@tB$EZ?K1w=fHbYFi((R@)r3>;#^ofErC4TelD0i3ZSq2CQ*)#(HcA^iN80Q>9lw-X*$sn}M1uDQ8VTMU z@VtQp@dS^HC(3&V2$uDT9VO%)WlupNsgdj{sgdj{o;T1_7DMJPC62lCw1N7fTwpCv zl-F{YC20~U@Ue1%hqqt<`d_`BL8>|xU$=#JZmO}Ie0p{w24Irc$fis2uz*jZN zGJ^#AZrfq>LHKT`#$)luJ66{6Sa^3g?bP@pZzg|pS@+~(&P9w zdsoL#Q0PScLXQ*}5|;hrum7cUT)QL)Xyb;@+-Tgm=RSU#zjD>^McVq);=SvPG_ylc zrZ!hq?MbAm7h7S&Y4H`_EVrW{y}J3%~Ruy?Fj!@(Ur2m2Xm+wuB5i1XyF; zmI+?9`})#I4|h?TehK#LCGp|W?Co%4{nGgP(Y7Dx3s!W;%+Th!)y?j^rSbmJ+z2vK zFEP+{^UsQpj57g=>gl#N(bu-+&x((WreB{(OtzmDzl81sdx!EDxAT&A zHR7t3XzX9(j^D|f1sm_;IAs645MiZXUh1Ch`Wb@~Ct%J26iuzAFWYqW=fppbChwze zq36%zuhZL$4*s~7e3COM zvusLL6(5^Foblm|{*Mr$o}(Q-|K$yD^{s#rUjIiFZ?ob~d3nR=`HE+-&HW$o`2oi8 zmpAzQHdnO@kPwC8F<<_1G96E?UNNgFvmkfZ*HQ8iof|B7mk$HpWWmcU2;ea+cbC8t z4f{-?V{`BRH#A*3WJfpfRtf9&&BRX8`;_WOMp@TLgfz_|fDhHbxJV7q0mt9t!+&|_?s;W{L^V{d{s}}}fPk|ri*M~F8cmiw1jA!5!v-nSGpBOOK`cG+J2;+em zlmS{6g4qsOWWc3U=G}3@U>;L^>6$iR8W zC{SQb-0e6a?#Qh5@r+nu6+#H+3l7i%Rw2Ve+`98=KWV!9&Lwj%9aN6pgU=n=wC-2A zTazC%j9m@bakDF6lRf7N=&WZ;weTP z5Hh9o@ugEv{ad6de(#U-->nk`pLl=zl&*jOYRc%lk9p>!Hc`-EFQ>~erfntSZ;lXR zXlRH=3|MC&P|#oj+9^hBLgpn`OgZn=%cnFC{CrBcXYTsRoqwpR0&KzCXG~c*;RAwQ z^+W3^*D!Fi0l(busvity#9!_w#My;6`FJ1(9$e1^EC}RSjZbZ|$S)#r?r7RNzEFFcS>0;v=}qN zLNK@ra1#argXjPba8041)E@>gL5I^{oTCre?%GE?yj4%Y)CNFcfT^f3lFV1|P{u|D9EbAzi|kxWK__<|XTN73KW+8;yhSnUI5ec)gW_{e<2 z$GGJX#w{^{k3cS4=r5W1efGerq%R0n!2VcdGWM zQ9C`*#~5%hF7QEB2U7nafC-L%6S|bDfEiCHAH;#7z=v{>LH$-1Y%YQT)3k~DW+jB0 zWngX|N>P6X9T0pl{hg`(S=1g9=wl3mF)r}IRfkglFsc88_yo*=bQt{=ri0lkg9B!k z0mm!@BX|I`unNM_hfwnz1e+#?2Tg1YRV6Ff%l_K(JW=Cguq+h1I}^GUn1W_2&aj@CEdDq4pP1 zdvu_WG2md_;KxAzu{uB}RbU1rz>Fz`1&Pf=unIK52c20D=H?+N0fT@8e&!YM7tifX zF~iP>0CEGxTOB_oD)(ZRu8tqSTf5$#0oJ;nv?0T7nvnRY#dBkBiH~xVZ-~d-E9>Ju z+?X}-?(W((@fvsX`gpg{mdS42P4U6*8k|&3c3-TI@8UMBk0&s)<%am+owm@NXqrOO z=^w%NTu<2Ffzy9(jyJg0d*WT)TX)3wbi3V8jK|&;AL4e~5Fh3?-xlxY&bX6KC*Mjv zLK*7zxQ7O&+z{UtC_~+Tx6z-s?jc%IivFx62F7ogJ9aJ6UbBW!Smo9YM0Wa}boxS$ zke|AZkcs`+0F3!P=;Hm{!23z0>0*Me53n!m()ItQADd9)zP>A-bl2QSa<92Po)9a4 zbrbbW)1mH)4WtljMP?=3F*n9jU^>k0d;<-f0rUR^Q?I>`)Gh0GEchLE4_SHWJ>gGP)Knz~EnV2351DO>u*wc+&OQ)pJ5O>U4Iwgmx zrsM+>c?)qVd;Env5h&3nT~#RKx(zy0rcL~1t*{ajC1rs4mPj_(rR3N z8=?22E{1lc1KbAD0g{1qV62`Fkau%)fDYmC08qgV!qEpg*bJZp?&$881HC_W!EHA> z;It$ied!oZ2S`TH0fh#;O+ZJD0{S32z!kM^G##jSW9dL0gX#1uBS0TQU2q!;5FLBc z0R^$hL$L-rAhp)@e3Z~3945guNP%!Du{#}b=14lAOr2{6`X1DU{tyha8tDM(csgLu z1Uf*ryITtMy{QW&hA9~5Acy`?3d%v+aJL@ldr=qM_NAkajwU+bYpRL7%WkF?WTV|S zpzlXrC^3c(n6^J1AOktrKsmriIqxw-$M9e}rqBT|rRac}2hjoF&!7Y3<6HyKo2Uzu zU>dkVILJT_HdE=SrDGqr80ZI37hJ#%To0rJW>2F7v6xQBAUYj|U&T43#+=m7iz*8p@3L-=WQKpL!pRTt7Rm5wYOm_%o~#f0ATa_T}y=nAr|+w^N% zk#bMQd$e9e=Wq-h1O-o}1Eip7qT>QOAo)r45F<0q}4R_|L#A-B^(mQ_7M2Xg-*I?{9$=zvFVq2q8meoe;$Sn~iK3+ea` z9sj4UYXOd{yv|;07k0NMMIZ&a)&>~~SO*2H07a%?WL{a-!q|nGO1#Z0>x`%12?KH_ zQ(Kb2j?u!@Af>u|^jQ*fM4f{!o`Cx;(0j zWz0?*!`Zg^AJOHnb$Lt|%cN!0aJIe5b`0ra5!*4blvzqG5NpsH{*f*g@#DH!M*dD0 z!`Zg^tw+`~JLc9A>(F(&{8$&ec|57hjk;{orB9b9bg_(RW>z6Zn|0%6U7pg#di=01 zCTJNkK_i+#Sr-e)GGaK}HorAs4UOnxJ+_QkW-R5_kTqxx|3nw-uw}$>Ke1MAhc#>g zY}LgwVHq)?ZJXZ$v}0+<)O!3QT`Ul5&>FU$T92RB#eTsk>e~OLJ7>E-o8_N~u`8(; zSoo8%ou?*iKkCMht!bxY_KcW)V$5!c*-gQouIuKSf7P^>+6D$SHjt0`+kR_ADcVl)b*t)`nN1e4X|N59c7_)yEZ1n%(*p7`cdpKr45wkbN z?5AUPIc7f-v$x0W=VJD#U1W^x{F~Mi+tC)Y^D(v+#?YF`SSldq-!wJoLATmUWjLk9mXEbsg_h|5P+2pFi9t zLP{)#SY!IB_fC($a1+gnbdAi|l}YD@PyH4?G0}9AugiyhnkB5IV^?NtBO#Up{WlFz zN$k$#ru!U78&4Sh(mi-rr#MU3(ey{F<-t9fMUC9ase{Th4RmCWCd21ITKbAUmN>XK zvpnUkV)~=Gl}xJHka|lc6Y{zZMHzWnrx}VA4yU|voo1*Zi56D8YWok{ zzsek!Dz@AEOXEjv7tH$CGH0c{OPDf=y-oksmX2PY{Mze1KhVzJ{aR*YE`8s8yt9-( z>9j73ZZH#DZ_z1}>hufU1BQ{8`;{Zz73(vmOB#Ap``k6AQ#_SwlOF|hETePB8zI*9 zO5GvMB@bcg*q7Ou>_1L>mZ)aBk8iy!y*`>j$<4jLQ4x|DMd#zwAnMW7zaG!e*B*RB zgBiyAaY&Dwo8QQ^HwPMJ`Zu}^)Tmliv*l*dL zfwy!PseEk~DL2s>QYcaRSC>FEGP0i%OaD_PhHFW6v+sA7k3gYB^$C}Nv~2htB^LbN zB>p){shfy`6iN&}8FFFLvhu$uG5fz&qEt(Tn={|mC`h41VUtThTKe9mgdW<3sX{Fm zZXya&C{cRUB_J*H4p3tM0hJi7<-$#sXlo7(Dokv41t`nRcc`%A9aX3fMyYTUL6Aa; z;?M5E$F>lR9C?=#L;q{3sAbd51Ix2*&4EFMLfI9dEMxyig@N}}Azur^P0vK2P@?HM zmq0Kwa*z^B$5kRNQ9s=5JEX^h6iSRf?-GbcHXPE^+vh4ebpd`8WSU~ z0c~0NKEs&(fl3r>5^j1r1BDX3&$yq+6zsY2Cl%QmKn@gf8mu&wiv(9fuJ3i9Ts^}dQ z-5mL&CWt)hl()MM^ySDO9I2?Eg5f(0zRO&&zlf z7`HMvO(g}EO)A%rv@Jawly^|{~Uk+byg#*14G%A^)%!akiLed6deXI5~o7nC+ z`S(}!v3NA0V#Uy+b;RA%S5K1_->>UvEG;?s*@eXQxpK~HhjfFl2fyIMHrAM4v5^qg z5P-^xQ?jTb)}E4GQSO+b^Tp-zVBb47onRv>YkM& zn`*sZ_k^I8aOs_zoqRRVio!~}X?-M-LY@6Cga%w_#_VkT8ZOjy+(h@tqfX&g*MYw4 zynEUtooY?T&6RC>*AFzxq?fr2W=@ie5blijvdDJO?!*!tV zIz8=^bV@ZHH=#owbxQZT4)k58{p?9P`8iQMZX!SAQD@>d*MYw4%$Pe#r}(Flj+=;w zJnEFLcOB@v&bu9xbVg@HI&Q8!S5KcnqfGTCmw~*?ymYQ!7P0w7M{Du8i7}f*3Kf@! zc&q^zdg6S>lQ=8ele}S(?!X;n0_J$Lh7(v+>AcZZpzbPbE}+UltE%*wO2d%fJ$nx0(%yx*y1%EL3nYq+-sK_? z4n6B9jM!wf^47h{neu!h`wz8QW#7XLx;{GDuY)NJT+mPM*`mJzK74t0 zO(G%nHz!XyA>HmH)5ICNj(+Ri)kr@(TR7eJV^HcjeR`MZf0ygWV;)?ZOxId|D&@mv zH1}@~wAj#uW^^0!-sQV*O?HX?x45QrIOXABy4}#S4Lsj{)rP~^ak?bRP9EmEg;|}v z(1vbVQl~}CltG=tFgwRuf<=rM6!kq?#Pn~oB4+cI)6dLU;eyRjxU?*?!e!V#VIu=K zXyNifC|tht-X+JZD7w!Jm%^2gw4!iX*f@CT13Uz!DDAj`6}Orte-7f zdrT>0g4DV*Ddhu4pfZwzez%WFhloD6jLGk;ol-DS#*j_5i7Q2#4-WZfpNK(7qX~QKHpUk zlB?8e7945>;D;I}9x;$cnf}=>19_L3TC+4AvpyjlSX#2QH3u4HiWj&H1R(%yTfO2XIZ84x#fzFiM4VCwAcWIW^^0!-r>(IS3De)E1~7j zDpyLigXCsny(R|_F|=Blbv}n>j@%q-**OgaKP*?giWpe0IdO-tEzS00N1#R5-2aR4r>D*;zTd2r1Y%2Pni<#tcFiA^qX&13=YlQXzB^G8|$CRk{sA7a^rD zdqbegfI;XYq!Ls>l@Wu`6+uF{pvw4;Y;$w)5YcI04xt?aQ|A0kMd%`=7}8QPsw_1K zT@fUxfGQgR2`)lLg9@m!*C2EeQnAOg8cPvhSdsa;btt$9N!uUz6auO&FbG|Qj0Om( zveF=Q5mL41$f^RWY&Hm8gycj1L6rjrp^K1efPgBqpEH%CYVks_a)t8(oAO8X5t0t+0aZGFp%A(V=?^NP$})q{ zMMzUeNV2KPkU{7oq!hlE1XLL_2wjBa=eY`~Qa`E?x+2J2hkz>GfCLvI#n2;AWxybG z5i)#%tK^L;BL<<1kil>OK$UTW&_zgRr>lS}b9O3(E<&oI)1b;ygV04tIh2NiHDSa=h2wjBqhocBFS!WQs2q^{?P-Uk<=prN^ z@(-#cUQ!5Mg!G>42O3nFXArsw84URcRaO{;E(1XOv{AaoH@3JrlO`wc=DA>{x8 zRc8KDA#@Q^4G>Uei9zThq;Q`12vm8%AaoJZ6d<6=4ujA|NPmEUDn|@L7a>jI7=fxU z>zGP#5i%T9K$T?%p^K0LRctLoyYzIKB2o$4V9J<@&_$67qlHNQZoP%mMM(KlPYbEj zj(sv;TArKU*c^5cII$oAO;ZMTYe2z6#9-Klq>N~5Il2fb&UX=r$+$u2BBXqgLqL@| zd$gV4A)@JGM}R3y_oxV6g!G2nD#T=iLFkGg_Iy=`T2N&#Ai+gQKBNFt$?R1Xx(FEz z9qPr?+68+x+TbCgaGAFQrmQp(x(F$Ub|EI44MG`LqL@s2B9m01Qk%_2q3{lNHz2jRO$GYs?bG9<#ult9m{U4-<8a6y%BgV04t`es)FRR*9E zT!eInZBS*zAaoH@_L7Kl8+2+>Zp#~o-Q0tSU-<~gT?b7aX50Uz;0YA`` Y75nr(m^)v-f9<~PmbLr-q<8)Q0}w$Eo&W#< diff --git a/examples/robot.blend1 b/examples/robot.blend1 index b8a15412807a5a36a7e1848566ca93881a0f00ba..7ce20f670ce8e2ca7e701d9aa63fa43503b90f87 100644 GIT binary patch delta 5910 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 XM$mJwJg#xS-E~}{-*w!}t@}R!mYqai delta 5901 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 diff --git a/examples/robot_texture.blend b/examples/robot_texture.blend new file mode 100644 index 0000000000000000000000000000000000000000..faa6f0150c7152c9912eb125b62641e900322b24 GIT binary patch literal 846120 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

      &*4p#D5gL4y&!RjdC01INHfj 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 literal 0 HcmV?d00001 diff --git a/examples/robot_texture.blend1 b/examples/robot_texture.blend1 new file mode 100644 index 0000000000000000000000000000000000000000..33198aebef8c4ac449c528d77b8c9f3232adffe8 GIT binary patch literal 845448 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

        bb$a>Z?By58hXAd^^y7qZ>4yz!`F?*Pq}G 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 H{QLg^p$Rb7 literal 0 HcmV?d00001 diff --git a/examples/robot_texture.mtl b/examples/robot_texture.mtl new file mode 100644 index 0000000..fa48c59 --- /dev/null +++ b/examples/robot_texture.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'robot_texture.blend' +# Material Count: 1 + +newmtl Material.003 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd RobotTexPixel.png diff --git a/examples/robot_texture.obj b/examples/robot_texture.obj new file mode 100644 index 0000000..1dda0ed --- /dev/null +++ b/examples/robot_texture.obj @@ -0,0 +1,528 @@ +# Blender v2.90.1 OBJ File: 'robot_texture.blend' +# www.blender.org +mtllib robot_texture.mtl +o RobotTex_Cube +v 0.100000 0.100000 -0.100000 +v 0.100000 -0.100000 -0.100000 +v 0.100000 0.100000 0.100000 +v 0.100000 -0.100000 0.100000 +v -0.100000 0.100000 -0.100000 +v -0.100000 -0.100000 -0.100000 +v -0.100000 0.100000 0.100000 +v -0.100000 -0.100000 0.100000 +v 0.039640 0.319577 0.039640 +v -0.039640 0.319577 0.039640 +v 0.039640 0.319577 -0.039640 +v -0.039640 0.319577 -0.039640 +v 0.070778 0.465943 0.070778 +v -0.070778 0.465943 0.070778 +v 0.070778 0.465943 -0.070778 +v -0.070778 0.465943 -0.070778 +v 0.070778 0.574785 0.070778 +v -0.070778 0.574785 0.070778 +v 0.070778 0.574785 -0.070778 +v -0.070778 0.574785 -0.070778 +v 0.036361 0.603924 0.036361 +v -0.036361 0.603924 0.036361 +v 0.036361 0.603924 -0.036361 +v -0.036361 0.603924 -0.036361 +v 0.036361 0.622896 0.036361 +v -0.036361 0.622896 0.036361 +v 0.036361 0.622896 -0.036361 +v -0.036361 0.622896 -0.036361 +v 0.052774 0.643794 0.052774 +v -0.052774 0.643794 0.052774 +v 0.052774 0.643794 -0.052774 +v -0.052774 0.643794 -0.052774 +v 0.058197 0.722006 0.058197 +v -0.058197 0.722006 0.058197 +v 0.058197 0.722006 -0.058197 +v -0.058197 0.722006 -0.058197 +v 0.028575 0.764915 0.028575 +v -0.028575 0.764915 0.028575 +v 0.028575 0.764915 -0.028575 +v -0.028575 0.764915 -0.028575 +v 0.098092 0.489106 -0.040654 +v 0.098092 0.489106 0.040654 +v 0.098092 0.551623 -0.040654 +v 0.098092 0.551623 0.040654 +v -0.098092 0.489106 0.040654 +v -0.098092 0.489106 -0.040654 +v -0.098092 0.551623 0.040654 +v -0.098092 0.551623 -0.040654 +v -0.128092 0.489106 0.040654 +v -0.128092 0.489106 -0.040654 +v -0.128092 0.551623 0.040654 +v -0.128092 0.551623 -0.040654 +v 0.128092 0.489106 -0.040654 +v 0.128092 0.489106 0.040654 +v 0.128092 0.551623 -0.040654 +v 0.128092 0.551623 0.040654 +v 0.103989 0.400565 -0.024672 +v 0.103989 0.400565 0.024672 +v -0.103989 0.400565 0.024672 +v -0.103989 0.400565 -0.024672 +v -0.122195 0.400565 0.024672 +v -0.122195 0.400565 -0.024672 +v 0.122195 0.400565 -0.024672 +v 0.122195 0.400565 0.024672 +v 0.098092 0.353791 -0.040654 +v 0.098092 0.335624 0.040654 +v -0.098092 0.335624 0.040654 +v -0.098092 0.353791 -0.040654 +v -0.128092 0.335624 0.040654 +v -0.128092 0.353791 -0.040654 +v 0.128092 0.353791 -0.040654 +v 0.128092 0.335624 0.040654 +v 0.098092 0.234285 -0.079572 +v 0.098092 0.234285 -0.048174 +v -0.098092 0.234285 -0.048174 +v -0.098092 0.234285 -0.079572 +v -0.128092 0.234285 -0.048174 +v -0.128092 0.234285 -0.079572 +v 0.128092 0.234285 -0.079572 +v 0.128092 0.234285 -0.048174 +v 0.098092 0.207583 -0.104626 +v 0.098092 0.192117 -0.077302 +v -0.098092 0.192117 -0.077302 +v -0.098092 0.207583 -0.104626 +v -0.128092 0.192117 -0.077302 +v -0.128092 0.207583 -0.104626 +v 0.128092 0.207583 -0.104626 +v 0.128092 0.192117 -0.077302 +v 0.105592 0.186814 -0.107362 +v 0.105592 0.179081 -0.093700 +v -0.105592 0.179081 -0.093700 +v -0.105592 0.186814 -0.107362 +v -0.120592 0.179081 -0.093700 +v -0.120592 0.186814 -0.107362 +v 0.120592 0.186814 -0.107362 +v 0.120592 0.179081 -0.093700 +vt 0.361776 0.180764 +vt 0.235740 0.386301 +vt 0.181260 0.180764 +vt 0.180764 0.361279 +vt 0.000248 0.180764 +vt 0.180764 0.180764 +vt 0.369050 0.183648 +vt 0.552126 0.000570 +vt 0.369049 0.000570 +vt 0.180764 0.000248 +vt 0.000248 0.000248 +vt 0.369070 0.183679 +vt 0.552146 0.000601 +vt 0.369069 0.000601 +vt 0.181260 0.000248 +vt 0.361776 0.000248 +vt 0.424310 0.392101 +vt 0.525368 0.529051 +vt 0.496874 0.392099 +vt 0.054728 0.566817 +vt 0.000248 0.361279 +vt 0.552126 0.183647 +vt 0.496894 0.392130 +vt 0.552146 0.183678 +vt 0.335400 0.521364 +vt 0.207635 0.619603 +vt 0.207635 0.521364 +vt 0.126284 0.566817 +vt 0.026623 0.701880 +vt 0.307296 0.386301 +vt 0.424331 0.392131 +vt 0.525388 0.529082 +vt 0.394883 0.635328 +vt 0.492928 0.676593 +vt 0.524420 0.635324 +vt 0.492176 0.604967 +vt 0.524440 0.635354 +vt 0.492156 0.604936 +vt 0.154389 0.701880 +vt 0.026623 0.800118 +vt 0.123324 0.840820 +vt 0.057687 0.857945 +vt 0.057687 0.840820 +vt 0.154388 0.800118 +vt 0.335400 0.619603 +vt 0.238699 0.660305 +vt 0.394903 0.635358 +vt 0.492948 0.676623 +vt 0.304336 0.677429 +vt 0.223885 0.701413 +vt 0.238699 0.677429 +vt 0.304336 0.660305 +vt 0.426397 0.676626 +vt 0.492952 0.693988 +vt 0.426377 0.676595 +vt 0.492931 0.693957 +vt 0.411350 0.718281 +vt 0.512924 0.790039 +vt 0.507958 0.718279 +vt 0.426395 0.693990 +vt 0.507978 0.718310 +vt 0.426375 0.693959 +vt 0.123324 0.857945 +vt 0.042873 0.881929 +vt 0.324045 0.772175 +vt 0.245726 0.819236 +vt 0.218990 0.772175 +vt 0.138139 0.881929 +vt 0.037978 0.952691 +vt 0.319151 0.701413 +vt 0.411371 0.718312 +vt 0.512944 0.790070 +vt 0.297309 0.819236 +vt 0.245726 0.870819 +vt 0.406408 0.790072 +vt 0.485832 0.837796 +vt 0.406388 0.790041 +vt 0.485812 0.837765 +vt 0.143033 0.952691 +vt 0.064714 0.999752 +vt 0.713930 0.424338 +vt 0.694279 0.357676 +vt 0.723983 0.362427 +vt 0.395840 0.529085 +vt 0.490002 0.556727 +vt 0.428108 0.559472 +vt 0.430285 0.607712 +vt 0.805257 0.424346 +vt 0.824602 0.359773 +vt 0.795794 0.364314 +vt 0.430265 0.607682 +vt 0.428088 0.559442 +vt 0.395820 0.529055 +vt 0.489982 0.556697 +vt 0.664224 0.846564 +vt 0.746037 0.889876 +vt 0.736569 0.834250 +vt 0.750581 0.916569 +vt 0.673692 0.902190 +vt 0.678235 0.928883 +vt 0.723967 0.362496 +vt 0.684255 0.419532 +vt 0.713935 0.424346 +vt 0.786539 0.271717 +vt 0.795802 0.364322 +vt 0.736444 0.835025 +vt 0.673566 0.902965 +vt 0.664098 0.847339 +vt 0.708784 0.758489 +vt 0.834068 0.419902 +vt 0.805287 0.424405 +vt 0.678110 0.929659 +vt 0.745912 0.890651 +vt 0.750455 0.917345 +vt 0.805320 0.271717 +vt 0.793170 0.221110 +vt 0.786556 0.271717 +vt 0.664879 0.765962 +vt 0.715864 0.714120 +vt 0.714546 0.271717 +vt 0.732661 0.271717 +vt 0.665005 0.765187 +vt 0.714559 0.271717 +vt 0.694287 0.357682 +vt 0.805282 0.271717 +vt 0.824644 0.359803 +vt 0.732728 0.271717 +vt 0.793130 0.221103 +vt 0.769253 0.105121 +vt 0.818474 0.217189 +vt 0.729794 0.227227 +vt 0.745617 0.117066 +vt 0.729795 0.227223 +vt 0.703205 0.231114 +vt 0.715990 0.713345 +vt 0.640888 0.709596 +vt 0.718318 0.110819 +vt 0.685736 0.083383 +vt 0.684225 0.118309 +vt 0.684224 0.118316 +vt 0.706537 0.090094 +vt 0.718335 0.110798 +vt 0.704313 0.606663 +vt 0.732243 0.601870 +vt 0.818563 0.217058 +vt 0.745628 0.117077 +vt 0.703207 0.231088 +vt 0.704438 0.605888 +vt 0.708302 0.063056 +vt 0.716731 0.075033 +vt 0.730769 0.082255 +vt 0.716725 0.075013 +vt 0.706397 0.089989 +vt 0.732369 0.601095 +vt 0.723913 0.563930 +vt 0.730783 0.082228 +vt 0.745767 0.066489 +vt 0.723788 0.564705 +vt 0.750455 0.574292 +vt 0.769255 0.105132 +vt 0.723585 0.072741 +vt 0.708355 0.063063 +vt 0.719794 0.061995 +vt 0.723592 0.072791 +vt 0.750271 0.553437 +vt 0.736937 0.548643 +vt 0.750146 0.554212 +vt 0.719785 0.061964 +vt 0.297309 0.870819 +vt 0.433522 0.837797 +vt 0.433502 0.837766 +vt 0.116297 0.999752 +vt 0.684273 0.419554 +vt 0.834065 0.419805 +vt 0.640762 0.710371 +vt 0.708910 0.757714 +vt 0.685810 0.083269 +vt 0.750581 0.573517 +vt 0.745754 0.066490 +vt 0.736812 0.549418 +vn 0.0000 0.2651 -0.9642 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9781 -0.2081 0.0000 +vn 0.0000 0.2651 0.9642 +vn -0.9642 0.2651 0.0000 +vn 0.9642 0.2651 0.0000 +vn 0.0000 -0.2081 0.9781 +vn 0.0000 -0.2081 -0.9781 +vn 0.9781 -0.2081 0.0000 +vn -0.6461 0.7632 0.0000 +vn 0.7408 0.0000 0.6717 +vn -0.7408 0.0000 -0.6717 +vn 0.0000 0.7632 0.6461 +vn 0.0000 0.7632 -0.6461 +vn 0.6461 0.7632 0.0000 +vn 0.0000 -0.6177 -0.7864 +vn -0.9976 -0.0692 0.0000 +vn 0.7864 -0.6177 0.0000 +vn -0.7864 -0.6177 0.0000 +vn 0.0000 -0.6177 0.7864 +vn 0.0000 0.5681 -0.8229 +vn 0.0000 -0.0692 0.9976 +vn 0.0000 -0.0692 -0.9976 +vn 0.9976 -0.0692 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.8229 0.5681 0.0000 +vn -0.8229 0.5681 0.0000 +vn 0.0000 0.5681 0.8229 +vn 0.6468 -0.7627 0.0000 +vn 0.7408 0.0000 -0.6717 +vn 0.6468 0.7627 0.0000 +vn -0.6468 0.7627 0.0000 +vn -0.7408 0.0000 0.6717 +vn -0.6468 -0.7627 0.0000 +vn -0.9978 -0.0665 0.0000 +vn 0.9978 -0.0665 0.0000 +vn 0.0000 0.2390 0.9710 +vn 0.9921 0.1251 0.0000 +vn 0.0000 -0.1776 -0.9841 +vn 0.0000 -0.1776 0.9841 +vn 0.0000 -0.6592 0.7520 +vn 0.0000 0.3233 -0.9463 +vn -0.9952 0.0956 0.0214 +vn 0.0000 0.6843 -0.7292 +vn 0.0000 0.3097 -0.9509 +vn 0.0000 0.3097 -0.9508 +vn 0.0000 0.1306 -0.9914 +vn 0.9329 -0.3135 -0.1774 +vn 0.0000 -0.5684 0.8228 +vn 0.0000 -0.8703 -0.4926 +vn -0.9329 -0.3135 -0.1774 +vn 0.0000 -0.7828 0.6223 +vn 0.9952 0.0956 0.0214 +vn -0.9921 0.1251 0.0000 +usemtl Material.003 +s off +f 5/1/1 11/2/1 1/3/1 +f 3/4/2 8/5/2 4/6/2 +f 7/7/3 6/8/3 8/9/3 +f 2/10/4 8/5/4 6/11/4 +f 1/12/5 4/13/5 2/14/5 +f 5/1/6 2/15/6 6/16/6 +f 10/17/7 16/18/7 12/19/7 +f 3/4/8 10/20/8 7/21/8 +f 7/7/9 12/19/9 5/22/9 +f 1/12/10 9/23/10 3/24/10 +f 16/25/6 19/26/6 15/27/6 +f 9/28/11 14/29/11 10/20/11 +f 12/30/12 15/27/12 11/2/12 +f 11/31/13 13/32/13 9/23/13 +f 18/33/14 24/34/14 20/35/14 +f 13/32/15 44/36/15 17/37/15 +f 16/18/16 48/38/16 20/35/16 +f 13/39/2 18/40/2 14/29/2 +f 21/41/2 26/42/2 22/43/2 +f 17/44/17 22/43/17 18/40/17 +f 20/45/18 23/46/18 19/26/18 +f 19/47/19 21/48/19 17/37/19 +f 28/49/20 31/50/20 27/51/20 +f 24/52/6 27/51/6 23/46/6 +f 23/53/5 25/54/5 21/48/5 +f 22/55/3 28/56/3 24/34/3 +f 30/57/21 36/58/21 32/59/21 +f 27/60/22 29/61/22 25/54/22 +f 26/62/23 32/59/23 28/56/23 +f 25/63/24 30/64/24 26/42/24 +f 36/65/25 39/66/25 35/67/25 +f 29/68/26 34/69/26 30/64/26 +f 32/70/27 35/67/27 31/50/27 +f 31/71/28 33/72/28 29/61/28 +f 40/73/29 37/74/29 39/66/29 +f 35/75/30 37/76/30 33/72/30 +f 34/77/31 40/78/31 36/58/31 +f 33/79/32 38/80/32 34/69/32 +f 43/81/6 53/82/6 41/83/6 +f 15/84/33 42/85/33 13/32/33 +f 19/47/34 41/86/34 15/84/34 +f 17/37/35 43/87/35 19/47/35 +f 47/88/2 49/89/2 45/90/2 +f 20/35/36 47/91/36 18/33/36 +f 18/33/37 45/92/37 14/93/37 +f 14/93/38 46/94/38 16/18/38 +f 49/95/3 52/96/3 50/97/3 +f 48/98/29 51/99/29 47/100/29 +f 46/101/6 52/102/6 48/103/6 +f 41/83/39 58/104/39 42/105/39 +f 53/106/5 56/107/5 54/108/5 +f 54/108/40 63/109/40 53/106/40 +f 42/105/2 56/110/2 44/111/2 +f 44/112/29 55/113/29 43/114/29 +f 61/115/41 67/116/41 59/117/41 +f 64/118/42 71/119/42 63/109/42 +f 41/83/43 63/120/43 57/121/43 +f 50/97/39 61/122/39 49/95/39 +f 46/101/43 62/123/43 50/124/43 +f 45/90/44 61/115/44 59/117/44 +f 42/105/44 64/125/44 54/126/44 +f 45/90/40 60/127/40 46/101/40 +f 66/128/45 80/129/45 72/130/45 +f 65/131/3 74/132/3 66/128/3 +f 59/117/42 68/133/42 60/127/42 +f 63/120/46 65/131/46 57/121/46 +f 62/123/46 68/133/46 70/134/46 +f 61/122/47 70/135/47 69/136/47 +f 58/104/47 65/131/47 66/128/47 +f 58/104/41 72/130/41 64/125/41 +f 76/137/48 86/138/48 78/139/48 +f 79/140/48 81/141/48 73/142/48 +f 71/119/5 80/143/5 79/144/5 +f 69/145/45 75/146/45 67/116/45 +f 68/133/5 75/146/5 76/137/5 +f 71/147/49 73/142/49 65/131/49 +f 68/133/50 78/139/50 70/134/50 +f 70/135/3 77/148/3 69/136/3 +f 81/141/51 95/149/51 89/150/51 +f 83/151/52 92/152/52 84/153/52 +f 78/154/3 85/155/3 77/148/3 +f 73/142/3 82/156/3 74/132/3 +f 74/132/53 88/157/53 80/129/53 +f 79/144/5 88/158/5 87/159/5 +f 77/160/53 83/151/53 75/146/53 +f 76/137/5 83/151/5 84/153/5 +f 91/161/54 94/162/54 92/152/54 +f 89/150/54 96/163/54 90/164/54 +f 84/153/51 94/162/51 86/138/51 +f 85/155/55 94/165/55 93/166/55 +f 82/156/55 89/150/55 90/164/55 +f 82/156/56 96/163/56 88/157/56 +f 88/158/52 95/167/52 87/159/52 +f 83/151/56 93/168/56 91/161/56 +f 5/1/1 12/30/1 11/2/1 +f 3/4/2 7/21/2 8/5/2 +f 7/7/3 5/22/3 6/8/3 +f 2/10/4 4/6/4 8/5/4 +f 1/12/5 3/24/5 4/13/5 +f 5/1/6 1/3/6 2/15/6 +f 10/17/7 14/93/7 16/18/7 +f 3/4/8 9/28/8 10/20/8 +f 7/7/9 10/17/9 12/19/9 +f 1/12/10 11/31/10 9/23/10 +f 16/25/6 20/45/6 19/26/6 +f 9/28/11 13/39/11 14/29/11 +f 12/30/12 16/25/12 15/27/12 +f 11/31/13 15/84/13 13/32/13 +f 18/33/14 22/55/14 24/34/14 +f 13/32/15 42/85/15 44/36/15 +f 16/18/16 46/94/16 48/38/16 +f 13/39/2 17/44/2 18/40/2 +f 21/41/2 25/63/2 26/42/2 +f 17/44/17 21/41/17 22/43/17 +f 20/45/18 24/52/18 23/46/18 +f 19/47/19 23/53/19 21/48/19 +f 28/49/20 32/70/20 31/50/20 +f 24/52/6 28/49/6 27/51/6 +f 23/53/5 27/60/5 25/54/5 +f 22/55/3 26/62/3 28/56/3 +f 30/57/21 34/77/21 36/58/21 +f 27/60/22 31/71/22 29/61/22 +f 26/62/23 30/57/23 32/59/23 +f 25/63/24 29/68/24 30/64/24 +f 36/65/25 40/73/25 39/66/25 +f 29/68/26 33/79/26 34/69/26 +f 32/70/27 36/65/27 35/67/27 +f 31/71/28 35/75/28 33/72/28 +f 40/73/29 38/169/29 37/74/29 +f 35/75/30 39/170/30 37/76/30 +f 34/77/31 38/171/31 40/78/31 +f 33/79/32 37/172/32 38/80/32 +f 43/81/6 55/173/6 53/82/6 +f 15/84/33 41/86/33 42/85/33 +f 19/47/34 43/87/34 41/86/34 +f 17/37/35 44/36/35 43/87/35 +f 47/88/2 51/174/2 49/89/2 +f 20/35/36 48/38/36 47/91/36 +f 18/33/37 47/91/37 45/92/37 +f 14/93/38 45/92/38 46/94/38 +f 49/95/3 51/99/3 52/96/3 +f 48/98/29 52/96/29 51/99/29 +f 46/101/6 50/124/6 52/102/6 +f 41/83/39 57/121/39 58/104/39 +f 53/106/5 55/113/5 56/107/5 +f 54/108/40 64/118/40 63/109/40 +f 42/105/2 54/126/2 56/110/2 +f 44/112/29 56/107/29 55/113/29 +f 61/115/41 69/145/41 67/116/41 +f 64/118/57 72/175/57 71/119/57 +f 41/83/43 53/82/43 63/120/43 +f 50/97/39 62/176/39 61/122/39 +f 46/101/43 60/127/43 62/123/43 +f 45/90/44 49/89/44 61/115/44 +f 42/105/44 58/104/44 64/125/44 +f 45/90/40 59/117/40 60/127/40 +f 66/128/45 74/132/45 80/129/45 +f 65/131/3 73/142/3 74/132/3 +f 59/117/57 67/116/57 68/133/57 +f 63/120/46 71/147/46 65/131/46 +f 62/123/46 60/127/46 68/133/46 +f 61/122/58 62/176/58 70/135/58 +f 58/104/58 57/121/58 65/131/58 +f 58/104/41 66/128/41 72/130/41 +f 76/137/48 84/153/48 86/138/48 +f 79/140/48 87/177/48 81/141/48 +f 71/119/5 72/175/5 80/143/5 +f 69/145/45 77/160/45 75/146/45 +f 68/133/5 67/116/5 75/146/5 +f 71/147/50 79/140/50 73/142/50 +f 68/133/50 76/137/50 78/139/50 +f 70/135/3 78/154/3 77/148/3 +f 81/141/51 87/177/51 95/149/51 +f 83/151/52 91/161/52 92/152/52 +f 78/154/3 86/178/3 85/155/3 +f 73/142/3 81/141/3 82/156/3 +f 74/132/53 82/156/53 88/157/53 +f 79/144/5 80/143/5 88/158/5 +f 77/160/53 85/179/53 83/151/53 +f 76/137/5 75/146/5 83/151/5 +f 91/161/54 93/168/54 94/162/54 +f 89/150/54 95/149/54 96/163/54 +f 84/153/51 92/152/51 94/162/51 +f 85/155/55 86/178/55 94/165/55 +f 82/156/55 81/141/55 89/150/55 +f 82/156/56 90/164/56 96/163/56 +f 88/158/52 96/180/52 95/167/52 +f 83/151/56 85/179/56 93/168/56 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3b7d082 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,482 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@assemblyscript/loader": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.14.8.tgz", + "integrity": "sha512-3LGkK2pojdCpxgb2jWgMMmXx65hGqCl2fPvtvAn0FFmROCL/wQa7W7o/aWppSBf7CtSPSPx/ANOavznQUDJX8g==" + }, + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "requires": { + "@rollup/pluginutils": "^3.0.8" + } + }, + "@rollup/plugin-node-resolve": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", + "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "@types/node": { + "version": "14.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.6.0.tgz", + "integrity": "sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA==" + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "as-bind": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/as-bind/-/as-bind-0.4.0.tgz", + "integrity": "sha512-qGI6KpOqVkKTvIBrQduj6WBy+WoStVQxG3Ysa0fCGrwOuffHxkEUS76buFtXaSS+qIrt2hE2qrvzikJ8P0k4og==" + }, + "binaryen": { + "version": "95.0.0-nightly.20200723", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-95.0.0-nightly.20200723.tgz", + "integrity": "sha512-IUO89yU4l20ocuf7RvcBj2T1ZGafO0XNcbqTFne9Dbp63FOLafDSuV7U22n0bTbK4H6qqGogTQtQJQbrV054lQ==" + }, + "browser-es-module-loader": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/browser-es-module-loader/-/browser-es-module-loader-0.4.1.tgz", + "integrity": "sha1-E4tH50qrO9I8dYHlNhiCSyCmadQ=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "es-module-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/es-module-loader/-/es-module-loader-2.3.0.tgz", + "integrity": "sha512-iuw5FdVMYA5d7CWCpGL3NcmRD2kWLGTNUds+vdcRuDWjnEsird1K7pSD9PXmvOU/B8sb4by12/9MFZD2hwXdAQ==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + }, + "jest-worker": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", + "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "rollup-plugin-terser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.0.tgz", + "integrity": "sha512-p/N3lLiFusCjYTLfVkoaiRTOGr5AESEaljMPH12MhOtoMkmTBhIAfuadrcWy4am1U0vU4WTxO9fi0K09O4CboQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "systemjs": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.5.0.tgz", + "integrity": "sha512-B+NzKJD1srC/URfNVBdDExAUAsAVXpVQxZxX54AtqU0xiK9imkqurQu3qi6JdyA2GBAw2ssjolYIa7kh+xY1uw==" + }, + "terser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.2.0.tgz", + "integrity": "sha512-nZ9TWhBznZdlww3borgJyfQDrxzpgd0RlRNoxR63tMVry01lIH/zKQDTTiaWRMGowydfvSHMgyiGyn6A9PSkCQ==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "wabt": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.19.tgz", + "integrity": "sha512-z/7XRZB8tPRW0XdE8HYbA95w2kjus5AwOHnJ5NT9PqzaNZ7z/zHnUdpNdB78TFMgWt+D/u01lg1jG6nWiFmyEw==" + } + } +} From 4a5dfc26f743d3c00d90edca268a21108e603e19 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 30 Dec 2020 22:24:08 -0700 Subject: [PATCH 011/111] Added normal map example --- examples/Material/obj_mat.wasm.map | 1 - examples/NormalModel/LunarMap.png | Bin 0 -> 222771 bytes examples/NormalModel/LunarNormalMap.png | Bin 0 -> 1588674 bytes examples/NormalModel/Moon_Sphere.asc | 2949 +++++++++++++++++++++++ examples/NormalModel/index.html | 86 + examples/NormalModel/moon.blend | Bin 0 -> 872124 bytes examples/NormalModel/moon.blend1 | Bin 0 -> 872124 bytes examples/NormalModel/moon.mtl | 14 + examples/NormalModel/moon.obj | 2489 +++++++++++++++++++ examples/NormalModel/obj_norm.asc | 217 ++ examples/NormalModel/obj_norm.wasm | Bin 0 -> 107934 bytes examples/NormalModel/obj_norm.wasm.map | 1 + examples/NormalModel/reminder.txt | 1 + examples/RobotTexPixel.png | Bin 3156 -> 3373 bytes examples/RobotTexPixel.psd | Bin 49304 -> 52000 bytes examples/RobotTexPixel_n.png | Bin 0 -> 1872 bytes examples/icosphere.png | Bin 0 -> 2480 bytes examples/robot_texture.blend | Bin 846120 -> 854292 bytes examples/robot_texture.blend1 | Bin 845448 -> 858332 bytes examples/robot_texture.mtl | 3 +- examples/robot_texture.obj | 2 +- src/ASWebGLue.js | 3 + 22 files changed, 5763 insertions(+), 3 deletions(-) delete mode 100644 examples/Material/obj_mat.wasm.map create mode 100644 examples/NormalModel/LunarMap.png create mode 100644 examples/NormalModel/LunarNormalMap.png create mode 100644 examples/NormalModel/Moon_Sphere.asc create mode 100644 examples/NormalModel/index.html create mode 100644 examples/NormalModel/moon.blend create mode 100644 examples/NormalModel/moon.blend1 create mode 100644 examples/NormalModel/moon.mtl create mode 100644 examples/NormalModel/moon.obj create mode 100644 examples/NormalModel/obj_norm.asc create mode 100644 examples/NormalModel/obj_norm.wasm create mode 100644 examples/NormalModel/obj_norm.wasm.map create mode 100644 examples/NormalModel/reminder.txt create mode 100644 examples/RobotTexPixel_n.png create mode 100644 examples/icosphere.png diff --git a/examples/Material/obj_mat.wasm.map b/examples/Material/obj_mat.wasm.map deleted file mode 100644 index 889e109..0000000 --- a/examples/Material/obj_mat.wasm.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["~lib/rt/common.asc","~lib/shared/typeinfo.asc","~lib/rt/stub.asc","~lib/memory.asc","~lib/util/memory.asc","../../webgl.asc","~lib/util/number.asc","~lib/util/math.asc","~lib/util/string.asc","~lib/array.asc","~lib/util/error.asc","Robot.asc","~lib/rt.asc","~lib/staticarray.asc","obj_mat.asc","~lib/math.asc"],"names":[],"mappings":"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","sourceRoot":"./obj_mat.wasm","sourcesContent":["// Alignment guarantees\n\n// @ts-ignore: decorator\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\n// @ts-ignore: decorator\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\n// @ts-ignore: decorator\n@inline export const AL_MASK: usize = AL_SIZE - 1;\n\n// Extra debugging\n\n// @ts-ignore: decorator\n@inline export const DEBUG = true;\n// @ts-ignore: decorator\n@inline export const TRACE = false;\n\n// Memory manager\n\n// ╒════════════ Memory manager block layout (32-bit) ═════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ MM info │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class BLOCK {\n /** Memory manager info. */\n mmInfo: usize;\n}\n\n/** Overhead of a memory manager block. */\n// @ts-ignore: decorator\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\n\n/** Maximum size of a memory manager block's payload. */\n// @ts-ignore: decorator\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\n\n// Garbage collector\n\n// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ Memory manager block │ -20\n// ╞═══════════════════════════════════════════════════════════════╡\n// │ GC info │ -16\n// ├───────────────────────────────────────────────────────────────┤\n// │ GC info │ -12\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT id │ -8\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT size │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class OBJECT extends BLOCK {\n /** Garbage collector info. */\n gcInfo: u32;\n /** Garbage collector info. */\n gcInfo2: u32;\n /** Runtime class id. */\n rtId: u32;\n /** Runtime object size. */\n rtSize: u32;\n}\n\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\n// @ts-ignore: decorator\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\n\n/** Maximum size of a garbage collector object's payload. */\n// @ts-ignore: decorator\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\n\n/** Total of memory manager and garbage collector overhead. */\n// @ts-ignore: decorator\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\n","// This file is shared with the compiler and must remain portable\n\n// ╒═══════════════════ Typeinfo interpretation ═══════════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ◄─ __rtti_base\n// │ count │\n// ╞═══════════════════════════════════════════════════════════════╡ ┐\n// │ Typeinfo#flags [id=0] │ id < count\n// ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤\n// │ Typeinfo#base [id=0] │\n// ├───────────────────────────────────────────────────────────────┤\n// │ ... │\n\n/** Runtime type information data structure. */\n@unmanaged\nexport class Typeinfo {\n /** Flags describing the shape of this class type. */\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\n /** Base class id or `0` if none. */\n base: u32 = 0;\n}\n\n/** Runtime type information flags. */\nexport const enum TypeinfoFlags {\n /** No specific flags. */\n NONE = 0,\n /** Type is an `ArrayBufferView`. */\n ARRAYBUFFERVIEW = 1 << 0,\n /** Type is an `Array`. */\n ARRAY = 1 << 1,\n /** Type is a `StaticArray`. */\n STATICARRAY = 1 << 2,\n /** Type is a `Set`. */\n SET = 1 << 3,\n /** Type is a `Map`. */\n MAP = 1 << 4,\n /** Type is inherently acyclic. */\n ACYCLIC = 1 << 5,\n /** Value alignment of 1 byte. */\n VALUE_ALIGN_0 = 1 << 6,\n /** Value alignment of 2 bytes. */\n VALUE_ALIGN_1 = 1 << 7,\n /** Value alignment of 4 bytes. */\n VALUE_ALIGN_2 = 1 << 8,\n /** Value alignment of 8 bytes. */\n VALUE_ALIGN_3 = 1 << 9,\n /** Value alignment of 16 bytes. */\n VALUE_ALIGN_4 = 1 << 10,\n /** Value is a signed type. */\n VALUE_SIGNED = 1 << 11,\n /** Value is a float type. */\n VALUE_FLOAT = 1 << 12,\n /** Value type is nullable. */\n VALUE_NULLABLE = 1 << 13,\n /** Value type is managed. */\n VALUE_MANAGED = 1 << 14,\n /** Key alignment of 1 byte. */\n KEY_ALIGN_0 = 1 << 15,\n /** Key alignment of 2 bytes. */\n KEY_ALIGN_1 = 1 << 16,\n /** Key alignment of 4 bytes. */\n KEY_ALIGN_2 = 1 << 17,\n /** Key alignment of 8 bytes. */\n KEY_ALIGN_3 = 1 << 18,\n /** Key alignment of 16 bytes. */\n KEY_ALIGN_4 = 1 << 19,\n /** Key is a signed type. */\n KEY_SIGNED = 1 << 20,\n /** Key is a float type. */\n KEY_FLOAT = 1 << 21,\n /** Key type is nullable. */\n KEY_NULLABLE = 1 << 22,\n /** Key type is managed. */\n KEY_MANAGED = 1 << 23\n}\n","import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \"rt/common\";\n\n// @ts-ignore: decorator\n@lazy var startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n\n// @ts-ignore: decorator\n@lazy var offset: usize = startOffset;\n\nfunction maybeGrowMemory(newOffset: usize): void {\n // assumes newOffset is aligned\n var pagesBefore = memory.size();\n var maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\n if (newOffset > maxOffset) {\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\n if (memory.grow(pagesWanted) < 0) {\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\n }\n }\n offset = newOffset;\n}\n\nfunction computeSize(size: usize): usize {\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __alloc(size: usize): usize {\n if (size > BLOCK_MAXSIZE) unreachable();\n var block = changetype(offset);\n var ptr = offset + BLOCK_OVERHEAD;\n var payloadSize = computeSize(size);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __new(size: usize, id: u32): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var ptr = __alloc(OBJECT_OVERHEAD + size);\n var object = changetype(ptr - BLOCK_OVERHEAD);\n object.gcInfo = 0;\n object.gcInfo2 = 0;\n object.rtId = id;\n object.rtSize = size;\n return ptr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __realloc(ptr: usize, size: usize): usize {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n var actualSize = block.mmInfo;\n var isLast = ptr + actualSize == offset;\n var payloadSize = computeSize(size);\n if (size > actualSize) {\n if (isLast) { // last block: grow\n if (size > BLOCK_MAXSIZE) unreachable();\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n } else { // copy to new block at least double the size\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\n memory.copy(newPtr, ptr, actualSize);\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\n }\n } else if (isLast) { // last block: shrink\n offset = ptr + payloadSize;\n block.mmInfo = payloadSize;\n }\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __renew(oldPtr: usize, size: usize): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\n return newPtr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __free(ptr: usize): void {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n if (ptr + block.mmInfo == offset) { // last block: discard\n offset = changetype(block);\n }\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __reset(): void { // special\n offset = startOffset;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __retain(ref: usize): usize {\n return ref;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __release(ref: usize): void {\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nfunction __visit(ref: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __collect(): void {\n /* nop */\n}\n","import { memcmp, memmove, memset } from \"./util/memory\";\nimport { E_NOTIMPLEMENTED } from \"./util/error\";\n\n/** Memory manager interface. */\nexport namespace memory {\n\n /** Gets the size of the memory in pages. */\n // @ts-ignore: decorator\n @builtin\n export declare function size(): i32;\n\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function grow(pages: i32): i32;\n\n /** Fills a section in memory with the specified byte value. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function fill(dst: usize, c: u8, n: usize): void {\n memset(dst, c, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Copies a section of memory to another. Has move semantics. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function copy(dst: usize, src: usize, n: usize): void {\n memmove(dst, src, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Initializes a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Drops a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function drop(segmentIndex: u32): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Repeats a section of memory at a specific address. */\n // @ts-ignore: decorator\n @unsafe\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\n var index: usize = 0;\n var total = srcLength * count;\n while (index < total) {\n memory.copy(dst + index, src, srcLength);\n index += srcLength;\n }\n }\n\n /** Compares a section of memory to another. */\n // @ts-ignore: decorator\n @inline\n export function compare(vl: usize, vr: usize, n: usize): i32 {\n return memcmp(vl, vr, n);\n }\n\n /** Gets a pointer to a static chunk of memory of the given size. */\n // @ts-ignore: decorator\n @builtin\n export declare function data(size: T, align?: i32): usize;\n}\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __heap_base: usize;\n\n/** Heap memory interface. */\nexport namespace heap {\n\n /** Allocates a chunk of memory of at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function alloc(size: usize): usize {\n return __alloc(size);\n }\n\n /** Reallocates a chunk of memory to have at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function realloc(ptr: usize, size: usize): usize {\n return __realloc(ptr, size);\n }\n\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function free(ptr: usize): void {\n __free(ptr);\n }\n\n /** Dangerously resets the entire heap. Specific to the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function reset(): void {\n __reset();\n }\n}\n","export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\n var w: u32, x: u32;\n\n // copy 1 byte each until src is aligned to 4 bytes\n while (n && (src & 3)) {\n store(dest++, load(src++));\n n--;\n }\n\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\n if ((dest & 3) == 0) {\n while (n >= 16) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n store(dest + 8, load(src + 8));\n store(dest + 12, load(src + 12));\n src += 16; dest += 16; n -= 16;\n }\n if (n & 8) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n dest += 8; src += 8;\n }\n if (n & 4) {\n store(dest, load(src));\n dest += 4; src += 4;\n }\n if (n & 2) { // drop to 2 bytes each\n store(dest, load(src));\n dest += 2; src += 2;\n }\n if (n & 1) { // drop to 1 byte\n store(dest++, load(src++));\n }\n return;\n }\n\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\n // doing shifts if faster when copying enough bytes (here: 32 or more)\n if (n >= 32) {\n switch (dest & 3) {\n // known to be != 0\n case 1: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 3;\n while (n >= 17) {\n x = load(src + 1);\n store(dest, w >> 24 | x << 8);\n w = load(src + 5);\n store(dest + 4, x >> 24 | w << 8);\n x = load(src + 9);\n store(dest + 8, w >> 24 | x << 8);\n w = load(src + 13);\n store(dest + 12, x >> 24 | w << 8);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 2: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 2;\n while (n >= 18) {\n x = load(src + 2);\n store(dest, w >> 16 | x << 16);\n w = load(src + 6);\n store(dest + 4, x >> 16 | w << 16);\n x = load(src + 10);\n store(dest + 8, w >> 16 | x << 16);\n w = load(src + 14);\n store(dest + 12, x >> 16 | w << 16);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 3: {\n w = load(src);\n store(dest++, load(src++));\n n -= 1;\n while (n >= 19) {\n x = load(src + 3);\n store(dest, w >> 8 | x << 24);\n w = load(src + 7);\n store(dest + 4, x >> 8 | w << 24);\n x = load(src + 11);\n store(dest + 8, w >> 8 | x << 24);\n w = load(src + 15);\n store(dest + 12, x >> 8 | w << 24);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n }\n }\n\n // copy remaining bytes one by one\n if (n & 16) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 8) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 4) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 2) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 1) {\n store(dest++, load(src++));\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\n if (dest === src) return;\n if (ASC_SHRINK_LEVEL < 1) {\n if (src - dest - n <= -(n << 1)) {\n memcpy(dest, src, n);\n return;\n }\n }\n if (dest < src) {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while (dest & 7) {\n if (!n) return;\n --n;\n store(dest++, load(src++));\n }\n while (n >= 8) {\n store(dest, load(src));\n n -= 8;\n dest += 8;\n src += 8;\n }\n }\n }\n while (n) {\n store(dest++, load(src++));\n --n;\n }\n } else {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while ((dest + n) & 7) {\n if (!n) return;\n store(dest + --n, load(src + n));\n }\n while (n >= 8) {\n n -= 8;\n store(dest + n, load(src + n));\n }\n }\n }\n while (n) {\n store(dest + --n, load(src + n));\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\n if (ASC_SHRINK_LEVEL > 1) {\n while (n) {\n store(dest++, c);\n --n;\n }\n } else {\n // fill head and tail with minimal branching\n if (!n) return;\n let dend = dest + n - 4;\n store(dest, c);\n store(dend, c, 3);\n if (n <= 2) return;\n store(dest, c, 1);\n store(dest, c, 2);\n store(dend, c, 2);\n store(dend, c, 1);\n if (n <= 6) return;\n store(dest, c, 3);\n store(dend, c);\n if (n <= 8) return;\n\n // advance pointer to align it at 4-byte boundary\n let k: usize = -dest & 3;\n dest += k;\n n -= k;\n n &= -4;\n\n let c32: u32 = -1 / 255 * c;\n\n // fill head/tail up to 28 bytes each in preparation\n dend = dest + n - 28;\n store(dest, c32);\n store(dend, c32, 24);\n if (n <= 8) return;\n store(dest, c32, 4);\n store(dest, c32, 8);\n store(dend, c32, 16);\n store(dend, c32, 20);\n if (n <= 24) return;\n store(dest, c32, 12);\n store(dest, c32, 16);\n store(dest, c32, 20);\n store(dest, c32, 24);\n store(dend, c32);\n store(dend, c32, 4);\n store(dend, c32, 8);\n store(dend, c32, 12);\n\n // align to a multiple of 8\n k = 24 + (dest & 4);\n dest += k;\n n -= k;\n\n // copy 32 bytes each\n let c64: u64 = c32 | (c32 << 32);\n while (n >= 32) {\n store(dest, c64);\n store(dest, c64, 8);\n store(dest, c64, 16);\n store(dest, c64, 24);\n n -= 32;\n dest += 32;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\n if (vl == vr) return 0;\n if (ASC_SHRINK_LEVEL < 2) {\n if ((vl & 7) == (vr & 7)) {\n while (vl & 7) {\n if (!n) return 0;\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n n--; vl++; vr++;\n }\n while (n >= 8) {\n if (load(vl) != load(vr)) break;\n vl += 8;\n vr += 8;\n n -= 8;\n }\n }\n }\n while (n--) {\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n vl++; vr++;\n }\n return 0;\n}\n","type WebGLContextAttributes = i32;\r\n\r\nexport type GLenum = u32;\r\nexport type GLboolean = bool;\r\nexport type GLbitfield = u32;\r\nexport type GLbyte = i8;\r\nexport type GLshort = i16;\r\nexport type GLint = i32;\r\nexport type GLsizei = i32;\r\nexport type GLintptr = i32; //i64;\r\nexport type GLsizeiptr = i32; //i64;\r\nexport type GLubyte = u8;\r\nexport type GLushort = u16;\r\nexport type GLuint = u32;\r\nexport type GLfloat = f32;\r\nexport type GLclampf = f32;\r\nexport type GLuint64 = u32; //u64;\r\nexport type GLint64 = i32; //i64;\r\n\r\nexport type WebGLUniformLocation = i32; \r\nexport type TexImageSource = i32;\r\nexport type Int32List = i32;\r\nexport type Uint32List = i32;\r\nexport type Float32List = i32;\r\nexport type WebGLQuery = i32;\r\nexport type WebGLSampler = i32;\r\nexport type WebGLSync = i32;\r\nexport type WebGLTransformFeedback = i32;\r\nexport type ImageData = i32;\r\nexport type DOMString = string;\r\nexport type HTMLImageElement = externref;\r\nexport type HTMLVideoElement = externref;\r\nexport type WebGLVertexArrayObject = i32;\r\n\r\n// == Not a part of WebGL, but there must be a way to create and load images\r\n// export type ImageData = i32;\r\n export declare function createImage(image_location:string):ImageData;\r\n export declare function imageReady(image_id:ImageData):bool;\r\n\r\n// === WebGLContextAttributes ===\r\nexport const ALPHA_DEFAULT = true;\r\nexport const FALSE:i32 = false;\r\n\r\n//export declare function activateTexture(gl: WebGLContextAttributes, texture: WebGLTexture): void;\r\n\r\nexport declare function getAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const DEPTH_DEFAULT = true;\r\nexport declare function getDepth(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setDepth(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const STENCIL_DEFAULT = false;\r\nexport declare function getStencil(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setStencil(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const ANTIALIAS_DEFAULT = true;\r\nexport declare function getAntialias(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAntialias(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PREMULTIPLIED_ALPHA_DEFAULT = true;\r\nexport declare function getPremultipliedAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPremultipliedAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PRESERVE_DRAWING_BUFFER_DEFAULT = false;\r\nexport declare function getPreserveDrawingBuffer(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPreserveDrawingBuffer(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\n// === WebGLActiveInfo ===\r\n\r\ntype WebGLActiveInfo = externref;\r\n\r\nexport declare function getSize(gl: WebGLActiveInfo): GLint;\r\nexport declare function getType(gl: WebGLActiveInfo): GLenum;\r\nexport declare function getName(gl: WebGLActiveInfo): string;\r\n\r\n// === WebGLShaderPrecisionFormat ===\r\n\r\ntype WebGLShaderPrecisionFormat = externref;\r\n\r\nexport declare function getRangeMin(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getRangeMax(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getPrecision(gl: WebGLShaderPrecisionFormat): GLint;\r\n\r\n// === WebGLRenderingContext ===\r\n\r\nexport type WebGLRenderingContext = i32;\r\n\r\n/* ClearBufferMask */\r\nexport const DEPTH_BUFFER_BIT: GLenum = 0x00000100;\r\nexport const STENCIL_BUFFER_BIT: GLenum = 0x00000400;\r\nexport const COLOR_BUFFER_BIT: GLenum = 0x00004000;\r\n\r\n/* BeginMode */\r\nexport const POINTS: GLenum = 0x0000;\r\nexport const LINES: GLenum = 0x0001;\r\nexport const LINE_LOOP: GLenum = 0x0002;\r\nexport const LINE_STRIP: GLenum = 0x0003;\r\nexport const TRIANGLES: GLenum = 0x0004;\r\nexport const TRIANGLE_STRIP: GLenum = 0x0005;\r\nexport const TRIANGLE_FAN: GLenum = 0x0006;\r\n\r\n/* AlphaFunction (not supported in ES20) */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* BlendingFactorDest */\r\nexport const ZERO: GLenum = 0;\r\nexport const ONE: GLenum = 1;\r\nexport const SRC_COLOR: GLenum = 0x0300;\r\nexport const ONE_MINUS_SRC_COLOR: GLenum = 0x0301;\r\nexport const SRC_ALPHA: GLenum = 0x0302;\r\nexport const ONE_MINUS_SRC_ALPHA: GLenum = 0x0303;\r\nexport const DST_ALPHA: GLenum = 0x0304;\r\nexport const ONE_MINUS_DST_ALPHA: GLenum = 0x0305;\r\n\r\n/* BlendingFactorSrc */\r\n/* ZERO */\r\n/* ONE */\r\nexport const DST_COLOR: GLenum = 0x0306;\r\nexport const ONE_MINUS_DST_COLOR: GLenum = 0x0307;\r\nexport const SRC_ALPHA_SATURATE: GLenum = 0x0308;\r\n/* SRC_ALPHA */\r\n/* ONE_MINUS_SRC_ALPHA */\r\n/* DST_ALPHA */\r\n/* ONE_MINUS_DST_ALPHA */\r\n\r\n/* BlendEquationSeparate */\r\nexport const FUNC_ADD: GLenum = 0x8006;\r\nexport const BLEND_EQUATION: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_RGB: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_ALPHA: GLenum = 0x883D;\r\n\r\n/* BlendSubtract */\r\nexport const FUNC_SUBTRACT: GLenum = 0x800A;\r\nexport const FUNC_REVERSE_SUBTRACT: GLenum = 0x800B;\r\n\r\n/* Separate Blend Functions */\r\nexport const BLEND_DST_RGB: GLenum = 0x80C8;\r\nexport const BLEND_SRC_RGB: GLenum = 0x80C9;\r\nexport const BLEND_DST_ALPHA: GLenum = 0x80CA;\r\nexport const BLEND_SRC_ALPHA: GLenum = 0x80CB;\r\nexport const CONSTANT_COLOR: GLenum = 0x8001;\r\nexport const ONE_MINUS_CONSTANT_COLOR: GLenum = 0x8002;\r\nexport const CONSTANT_ALPHA: GLenum = 0x8003;\r\nexport const ONE_MINUS_CONSTANT_ALPHA: GLenum = 0x8004;\r\nexport const BLEND_COLOR: GLenum = 0x8005;\r\n\r\n/* Buffer Objects */\r\nexport const ARRAY_BUFFER: GLenum = 0x8892;\r\nexport const ELEMENT_ARRAY_BUFFER: GLenum = 0x8893;\r\nexport const ARRAY_BUFFER_BINDING: GLenum = 0x8894;\r\nexport const ELEMENT_ARRAY_BUFFER_BINDING: GLenum = 0x8895;\r\n\r\nexport const STREAM_DRAW: GLenum = 0x88E0;\r\nexport const STATIC_DRAW: GLenum = 0x88E4;\r\nexport const DYNAMIC_DRAW: GLenum = 0x88E8;\r\n\r\nexport const BUFFER_SIZE: GLenum = 0x8764;\r\nexport const BUFFER_USAGE: GLenum = 0x8765;\r\n\r\nexport const CURRENT_VERTEX_ATTRIB: GLenum = 0x8626;\r\n\r\n/* CullFaceMode */\r\nexport const FRONT: GLenum = 0x0404;\r\nexport const BACK: GLenum = 0x0405;\r\nexport const FRONT_AND_BACK: GLenum = 0x0408;\r\n\r\n/* DepthFunction */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* EnableCap */\r\n/* TEXTURE_2D */\r\nexport const CULL_FACE: GLenum = 0x0B44;\r\nexport const BLEND: GLenum = 0x0BE2;\r\nexport const DITHER: GLenum = 0x0BD0;\r\nexport const STENCIL_TEST: GLenum = 0x0B90;\r\nexport const DEPTH_TEST: GLenum = 0x0B71;\r\nexport const SCISSOR_TEST: GLenum = 0x0C11;\r\nexport const POLYGON_OFFSET_FILL: GLenum = 0x8037;\r\nexport const SAMPLE_ALPHA_TO_COVERAGE: GLenum = 0x809E;\r\nexport const SAMPLE_COVERAGE: GLenum = 0x80A0;\r\n\r\n/* ErrorCode */\r\nexport const NO_ERROR: GLenum = 0;\r\nexport const INVALID_ENUM: GLenum = 0x0500;\r\nexport const INVALID_VALUE: GLenum = 0x0501;\r\nexport const INVALID_OPERATION: GLenum = 0x0502;\r\nexport const OUT_OF_MEMORY: GLenum = 0x0505;\r\n\r\n/* FrontFaceDirection */\r\nexport const CW: GLenum = 0x0900;\r\nexport const CCW: GLenum = 0x0901;\r\n\r\n/* GetPName */\r\nexport const LINE_WIDTH: GLenum = 0x0B21;\r\nexport const ALIASED_POINT_SIZE_RANGE: GLenum = 0x846D;\r\nexport const ALIASED_LINE_WIDTH_RANGE: GLenum = 0x846E;\r\nexport const CULL_FACE_MODE: GLenum = 0x0B45;\r\nexport const FRONT_FACE: GLenum = 0x0B46;\r\nexport const DEPTH_RANGE: GLenum = 0x0B70;\r\nexport const DEPTH_WRITEMASK: GLenum = 0x0B72;\r\nexport const DEPTH_CLEAR_VALUE: GLenum = 0x0B73;\r\nexport const DEPTH_FUNC: GLenum = 0x0B74;\r\nexport const STENCIL_CLEAR_VALUE: GLenum = 0x0B91;\r\nexport const STENCIL_FUNC: GLenum = 0x0B92;\r\nexport const STENCIL_FAIL: GLenum = 0x0B94;\r\nexport const STENCIL_PASS_DEPTH_FAIL: GLenum = 0x0B95;\r\nexport const STENCIL_PASS_DEPTH_PASS: GLenum = 0x0B96;\r\nexport const STENCIL_REF: GLenum = 0x0B97;\r\nexport const STENCIL_VALUE_MASK: GLenum = 0x0B93;\r\nexport const STENCIL_WRITEMASK: GLenum = 0x0B98;\r\nexport const STENCIL_BACK_FUNC: GLenum = 0x8800;\r\nexport const STENCIL_BACK_FAIL: GLenum = 0x8801;\r\nexport const STENCIL_BACK_PASS_DEPTH_FAIL: GLenum = 0x8802;\r\nexport const STENCIL_BACK_PASS_DEPTH_PASS: GLenum = 0x8803;\r\nexport const STENCIL_BACK_REF: GLenum = 0x8CA3;\r\nexport const STENCIL_BACK_VALUE_MASK: GLenum = 0x8CA4;\r\nexport const STENCIL_BACK_WRITEMASK: GLenum = 0x8CA5;\r\nexport const VIEWPORT: GLenum = 0x0BA2;\r\nexport const SCISSOR_BOX: GLenum = 0x0C10;\r\n/* SCISSOR_TEST */\r\nexport const COLOR_CLEAR_VALUE: GLenum = 0x0C22;\r\nexport const COLOR_WRITEMASK: GLenum = 0x0C23;\r\nexport const UNPACK_ALIGNMENT: GLenum = 0x0CF5;\r\nexport const PACK_ALIGNMENT: GLenum = 0x0D05;\r\nexport const MAX_TEXTURE_SIZE: GLenum = 0x0D33;\r\nexport const MAX_VIEWPORT_DIMS: GLenum = 0x0D3A;\r\nexport const SUBPIXEL_BITS: GLenum = 0x0D50;\r\nexport const RED_BITS: GLenum = 0x0D52;\r\nexport const GREEN_BITS: GLenum = 0x0D53;\r\nexport const BLUE_BITS: GLenum = 0x0D54;\r\nexport const ALPHA_BITS: GLenum = 0x0D55;\r\nexport const DEPTH_BITS: GLenum = 0x0D56;\r\nexport const STENCIL_BITS: GLenum = 0x0D57;\r\nexport const POLYGON_OFFSET_UNITS: GLenum = 0x2A00;\r\n/* POLYGON_OFFSET_FILL */\r\nexport const POLYGON_OFFSET_FACTOR: GLenum = 0x8038;\r\nexport const TEXTURE_BINDING_2D: GLenum = 0x8069;\r\nexport const SAMPLE_BUFFERS: GLenum = 0x80A8;\r\nexport const SAMPLES: GLenum = 0x80A9;\r\nexport const SAMPLE_COVERAGE_VALUE: GLenum = 0x80AA;\r\nexport const SAMPLE_COVERAGE_INVERT: GLenum = 0x80AB;\r\n\r\n/* GetTextureParameter */\r\n/* TEXTURE_MAG_FILTER */\r\n/* TEXTURE_MIN_FILTER */\r\n/* TEXTURE_WRAP_S */\r\n/* TEXTURE_WRAP_T */\r\n\r\nexport const COMPRESSED_TEXTURE_FORMATS: GLenum = 0x86A3;\r\n\r\n/* HintMode */\r\nexport const DONT_CARE: GLenum = 0x1100;\r\nexport const FASTEST: GLenum = 0x1101;\r\nexport const NICEST: GLenum = 0x1102;\r\n\r\n/* HintTarget */\r\nexport const GENERATE_MIPMAP_HINT: GLenum = 0x8192;\r\n\r\n/* DataType */\r\nexport const BYTE: GLenum = 0x1400;\r\nexport const UNSIGNED_BYTE: GLenum = 0x1401;\r\nexport const SHORT: GLenum = 0x1402;\r\nexport const UNSIGNED_SHORT: GLenum = 0x1403;\r\nexport const INT: GLenum = 0x1404;\r\nexport const UNSIGNED_INT: GLenum = 0x1405;\r\nexport const FLOAT: GLenum = 0x1406;\r\n\r\n/* PixelFormat */\r\nexport const DEPTH_COMPONENT: GLenum = 0x1902;\r\nexport const ALPHA: GLenum = 0x1906;\r\nexport const RGB: GLenum = 0x1907;\r\nexport const RGBA: GLenum = 0x1908;\r\nexport const LUMINANCE: GLenum = 0x1909;\r\nexport const LUMINANCE_ALPHA: GLenum = 0x190A;\r\n\r\n/* PixelType */\r\n/* UNSIGNED_BYTE */\r\nexport const UNSIGNED_SHORT_4_4_4_4: GLenum = 0x8033;\r\nexport const UNSIGNED_SHORT_5_5_5_1: GLenum = 0x8034;\r\nexport const UNSIGNED_SHORT_5_6_5: GLenum = 0x8363;\r\n\r\n/* Shaders */\r\nexport const FRAGMENT_SHADER: GLenum = 0x8B30;\r\nexport const VERTEX_SHADER: GLenum = 0x8B31;\r\nexport const MAX_VERTEX_ATTRIBS: GLenum = 0x8869;\r\nexport const MAX_VERTEX_UNIFORM_VECTORS: GLenum = 0x8DFB;\r\nexport const MAX_VARYING_VECTORS: GLenum = 0x8DFC;\r\nexport const MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4D;\r\nexport const MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4C;\r\nexport const MAX_TEXTURE_IMAGE_UNITS: GLenum = 0x8872;\r\nexport const MAX_FRAGMENT_UNIFORM_VECTORS: GLenum = 0x8DFD;\r\nexport const SHADER_TYPE: GLenum = 0x8B4F;\r\nexport const DELETE_STATUS: GLenum = 0x8B80;\r\nexport const LINK_STATUS: GLenum = 0x8B82;\r\nexport const VALIDATE_STATUS: GLenum = 0x8B83;\r\nexport const ATTACHED_SHADERS: GLenum = 0x8B85;\r\nexport const ACTIVE_UNIFORMS: GLenum = 0x8B86;\r\nexport const ACTIVE_ATTRIBUTES: GLenum = 0x8B89;\r\nexport const SHADING_LANGUAGE_VERSION: GLenum = 0x8B8C;\r\nexport const CURRENT_PROGRAM: GLenum = 0x8B8D;\r\n\r\n/* StencilFunction */\r\nexport const NEVER: GLenum = 0x0200;\r\nexport const LESS: GLenum = 0x0201;\r\nexport const EQUAL: GLenum = 0x0202;\r\nexport const LEQUAL: GLenum = 0x0203;\r\nexport const GREATER: GLenum = 0x0204;\r\nexport const NOTEQUAL: GLenum = 0x0205;\r\nexport const GEQUAL: GLenum = 0x0206;\r\nexport const ALWAYS: GLenum = 0x0207;\r\n\r\n/* StencilOp */\r\n/* ZERO */\r\nexport const KEEP: GLenum = 0x1E00;\r\nexport const REPLACE: GLenum = 0x1E01;\r\nexport const INCR: GLenum = 0x1E02;\r\nexport const DECR: GLenum = 0x1E03;\r\nexport const INVERT: GLenum = 0x150A;\r\nexport const INCR_WRAP: GLenum = 0x8507;\r\nexport const DECR_WRAP: GLenum = 0x8508;\r\n\r\n/* StringName */\r\nexport const VENDOR: GLenum = 0x1F00;\r\nexport const RENDERER: GLenum = 0x1F01;\r\nexport const VERSION: GLenum = 0x1F02;\r\n\r\n/* TextureMagFilter */\r\nexport const NEAREST: GLenum = 0x2600;\r\nexport const LINEAR: GLenum = 0x2601;\r\n\r\n/* TextureMinFilter */\r\n/* NEAREST */\r\n/* LINEAR */\r\nexport const NEAREST_MIPMAP_NEAREST: GLenum = 0x2700;\r\nexport const LINEAR_MIPMAP_NEAREST: GLenum = 0x2701;\r\nexport const NEAREST_MIPMAP_LINEAR: GLenum = 0x2702;\r\nexport const LINEAR_MIPMAP_LINEAR: GLenum = 0x2703;\r\n\r\n/* TextureParameterName */\r\nexport const TEXTURE_MAG_FILTER: GLenum = 0x2800;\r\nexport const TEXTURE_MIN_FILTER: GLenum = 0x2801;\r\nexport const TEXTURE_WRAP_S: GLenum = 0x2802;\r\nexport const TEXTURE_WRAP_T: GLenum = 0x2803;\r\n\r\n/* TextureTarget */\r\nexport const TEXTURE_2D: GLenum = 0x0DE1;\r\nexport const TEXTURE: GLenum = 0x1702;\r\n\r\nexport const TEXTURE_CUBE_MAP: GLenum = 0x8513;\r\nexport const TEXTURE_BINDING_CUBE_MAP: GLenum = 0x8514;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_X: GLenum = 0x8515;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum = 0x8516;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum = 0x8517;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum = 0x8518;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum = 0x8519;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum = 0x851A;\r\nexport const MAX_CUBE_MAP_TEXTURE_SIZE: GLenum = 0x851C;\r\n\r\n/* TextureUnit */\r\nexport const TEXTURE0: GLenum = 0x84C0;\r\nexport const TEXTURE1: GLenum = 0x84C1;\r\nexport const TEXTURE2: GLenum = 0x84C2;\r\nexport const TEXTURE3: GLenum = 0x84C3;\r\nexport const TEXTURE4: GLenum = 0x84C4;\r\nexport const TEXTURE5: GLenum = 0x84C5;\r\nexport const TEXTURE6: GLenum = 0x84C6;\r\nexport const TEXTURE7: GLenum = 0x84C7;\r\nexport const TEXTURE8: GLenum = 0x84C8;\r\nexport const TEXTURE9: GLenum = 0x84C9;\r\nexport const TEXTURE10: GLenum = 0x84CA;\r\nexport const TEXTURE11: GLenum = 0x84CB;\r\nexport const TEXTURE12: GLenum = 0x84CC;\r\nexport const TEXTURE13: GLenum = 0x84CD;\r\nexport const TEXTURE14: GLenum = 0x84CE;\r\nexport const TEXTURE15: GLenum = 0x84CF;\r\nexport const TEXTURE16: GLenum = 0x84D0;\r\nexport const TEXTURE17: GLenum = 0x84D1;\r\nexport const TEXTURE18: GLenum = 0x84D2;\r\nexport const TEXTURE19: GLenum = 0x84D3;\r\nexport const TEXTURE20: GLenum = 0x84D4;\r\nexport const TEXTURE21: GLenum = 0x84D5;\r\nexport const TEXTURE22: GLenum = 0x84D6;\r\nexport const TEXTURE23: GLenum = 0x84D7;\r\nexport const TEXTURE24: GLenum = 0x84D8;\r\nexport const TEXTURE25: GLenum = 0x84D9;\r\nexport const TEXTURE26: GLenum = 0x84DA;\r\nexport const TEXTURE27: GLenum = 0x84DB;\r\nexport const TEXTURE28: GLenum = 0x84DC;\r\nexport const TEXTURE29: GLenum = 0x84DD;\r\nexport const TEXTURE30: GLenum = 0x84DE;\r\nexport const TEXTURE31: GLenum = 0x84DF;\r\nexport const ACTIVE_TEXTURE: GLenum = 0x84E0;\r\n\r\n/* TextureWrapMode */\r\nexport const REPEAT: GLenum = 0x2901;\r\nexport const CLAMP_TO_EDGE: GLenum = 0x812F;\r\nexport const MIRRORED_REPEAT: GLenum = 0x8370;\r\n\r\n/* Uniform Types */\r\nexport const FLOAT_VEC2: GLenum = 0x8B50;\r\nexport const FLOAT_VEC3: GLenum = 0x8B51;\r\nexport const FLOAT_VEC4: GLenum = 0x8B52;\r\nexport const INT_VEC2: GLenum = 0x8B53;\r\nexport const INT_VEC3: GLenum = 0x8B54;\r\nexport const INT_VEC4: GLenum = 0x8B55;\r\nexport const BOOL: GLenum = 0x8B56;\r\nexport const BOOL_VEC2: GLenum = 0x8B57;\r\nexport const BOOL_VEC3: GLenum = 0x8B58;\r\nexport const BOOL_VEC4: GLenum = 0x8B59;\r\nexport const FLOAT_MAT2: GLenum = 0x8B5A;\r\nexport const FLOAT_MAT3: GLenum = 0x8B5B;\r\nexport const FLOAT_MAT4: GLenum = 0x8B5C;\r\nexport const SAMPLER_2D: GLenum = 0x8B5E;\r\nexport const SAMPLER_CUBE: GLenum = 0x8B60;\r\n\r\n/* Vertex Arrays */\r\nexport const VERTEX_ATTRIB_ARRAY_ENABLED: GLenum = 0x8622;\r\nexport const VERTEX_ATTRIB_ARRAY_SIZE: GLenum = 0x8623;\r\nexport const VERTEX_ATTRIB_ARRAY_STRIDE: GLenum = 0x8624;\r\nexport const VERTEX_ATTRIB_ARRAY_TYPE: GLenum = 0x8625;\r\nexport const VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum = 0x886A;\r\nexport const VERTEX_ATTRIB_ARRAY_POINTER: GLenum = 0x8645;\r\nexport const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum = 0x889F;\r\n\r\n/* Shader Source */\r\nexport const COMPILE_STATUS: GLenum = 0x8B81;\r\n\r\n/* Shader Precision-Specified Types */\r\nexport const LOW_FLOAT: GLenum = 0x8DF0;\r\nexport const MEDIUM_FLOAT: GLenum = 0x8DF1;\r\nexport const HIGH_FLOAT: GLenum = 0x8DF2;\r\nexport const LOW_INT: GLenum = 0x8DF3;\r\nexport const MEDIUM_INT: GLenum = 0x8DF4;\r\nexport const HIGH_INT: GLenum = 0x8DF5;\r\n\r\n/* Framebuffer Object. */\r\nexport const FRAMEBUFFER: GLenum = 0x8D40;\r\nexport const RENDERBUFFER: GLenum = 0x8D41;\r\n\r\nexport const RGBA4: GLenum = 0x8056;\r\nexport const RGB5_A1: GLenum = 0x8057;\r\nexport const RGB565: GLenum = 0x8D62;\r\nexport const DEPTH_COMPONENT16: GLenum = 0x81A5;\r\nexport const STENCIL_INDEX: GLenum = 0x1901;\r\nexport const STENCIL_INDEX8: GLenum = 0x8D48;\r\nexport const DEPTH_STENCIL: GLenum = 0x84F9;\r\n\r\nexport const RENDERBUFFER_WIDTH: GLenum = 0x8D42;\r\nexport const RENDERBUFFER_HEIGHT: GLenum = 0x8D43;\r\nexport const RENDERBUFFER_INTERNAL_FORMAT: GLenum = 0x8D44;\r\nexport const RENDERBUFFER_RED_SIZE: GLenum = 0x8D50;\r\nexport const RENDERBUFFER_GREEN_SIZE: GLenum = 0x8D51;\r\nexport const RENDERBUFFER_BLUE_SIZE: GLenum = 0x8D52;\r\nexport const RENDERBUFFER_ALPHA_SIZE: GLenum = 0x8D53;\r\nexport const RENDERBUFFER_DEPTH_SIZE: GLenum = 0x8D54;\r\nexport const RENDERBUFFER_STENCIL_SIZE: GLenum = 0x8D55;\r\n\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum = 0x8CD0;\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum = 0x8CD1;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum = 0x8CD2;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum = 0x8CD3;\r\n\r\nexport const COLOR_ATTACHMENT0: GLenum = 0x8CE0;\r\nexport const DEPTH_ATTACHMENT: GLenum = 0x8D00;\r\nexport const STENCIL_ATTACHMENT: GLenum = 0x8D20;\r\nexport const DEPTH_STENCIL_ATTACHMENT: GLenum = 0x821A;\r\n\r\nexport const NONE: GLenum = 0;\r\n\r\nexport const FRAMEBUFFER_COMPLETE: GLenum = 0x8CD5;\r\nexport const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum = 0x8CD6;\r\nexport const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum = 0x8CD7;\r\nexport const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum = 0x8CD9;\r\nexport const FRAMEBUFFER_UNSUPPORTED: GLenum = 0x8CDD;\r\n\r\nexport const FRAMEBUFFER_BINDING: GLenum = 0x8CA6;\r\nexport const RENDERBUFFER_BINDING: GLenum = 0x8CA7;\r\nexport const MAX_RENDERBUFFER_SIZE: GLenum = 0x84E8;\r\n\r\nexport const INVALID_FRAMEBUFFER_OPERATION: GLenum = 0x0506;\r\n\r\n/* WebGL-specific enums */\r\nexport const UNPACK_FLIP_Y_WEBGL: GLenum = 0x9240;\r\nexport const UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum = 0x9241;\r\nexport const CONTEXT_LOST_WEBGL: GLenum = 0x9242;\r\nexport const UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;\r\nexport const BROWSER_DEFAULT_WEBGL: GLenum = 0x9244;\r\n\r\n//type HTMLCanvasElement = externref;\r\n\r\n//export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement;\r\nexport declare function getDrawingBufferWidth(gl: WebGLRenderingContext): GLsizei;\r\nexport declare function getDrawingBufferHeight(gl: WebGLRenderingContext): GLsizei;\r\n\r\nexport declare function getContextAttributes(gl: WebGLRenderingContext): WebGLContextAttributes;\r\nexport declare function isContextLost(gl: WebGLRenderingContext): bool;\r\n\r\ntype sequence = externref;\r\n\r\nexport declare function getSupportedExtensions(gl: WebGLRenderingContext): sequence;\r\n\r\ntype object_ = externref;\r\n\r\nexport declare function getExtension(gl: WebGLRenderingContext, name: string): object_;\r\n\r\n// THIS WILL BE IN INDEX INTO A PROGRAM LIST KEPT IN THE JS\r\nexport type WebGLProgram = i32; //externref;\r\nexport type WebGLShader = i32;\r\nexport type WebGLBuffer = i32;\r\nexport type WebGLFramebuffer = i32;\r\nexport type WebGLRenderbuffer = i32;\r\nexport type WebGLTexture = i32;\r\n\r\nexport declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void;\r\nexport declare function createContextFromCanvas(canvas_id: string, context_type: string):WebGLRenderingContext;\r\nexport declare function attachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\n// export declare function bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void;\r\nexport declare function bindBuffer(gl: WebGLRenderingContext, target: GLenum, buffer: WebGLBuffer): void;\r\nexport declare function bindFramebuffer(gl: WebGLRenderingContext, target: GLenum, framebuffer: WebGLFramebuffer): void;\r\nexport declare function bindRenderbuffer(gl: WebGLRenderingContext, target: GLenum, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function bindTexture(gl: WebGLRenderingContext, target: GLenum, texture: WebGLTexture): void;\r\nexport declare function blendColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function blendEquation(gl: WebGLRenderingContext, mode: GLenum): void;\r\nexport declare function blendEquationSeparate(gl: WebGLRenderingContext, modeRGB: GLenum, modeAlpha: GLenum): void;\r\nexport declare function blendFunc(gl: WebGLRenderingContext, sfactor: GLenum, dfactor: GLenum): void;\r\nexport declare function blendFuncSeparate(gl: WebGLRenderingContext, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\r\nexport declare function bufferData(gl: WebGLRenderingContext, target: GLenum, data: StaticArray, usage: GLenum): void;\r\nexport declare function bufferSubData(gl: WebGLRenderingContext, target: GLenum, offset: GLintptr, data: Array): void;\r\n\r\nexport declare function checkFramebufferStatus(gl: WebGLRenderingContext, target: GLenum): GLenum;\r\nexport declare function clear(gl: WebGLRenderingContext, mask: GLbitfield): void;\r\nexport declare function clearColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function clearDepth(gl: WebGLRenderingContext, depth: GLclampf): void;\r\nexport declare function clearStencil(gl: WebGLRenderingContext, s: GLint): void;\r\nexport declare function colorMask(gl: WebGLRenderingContext, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\r\nexport declare function compileShader(gl: WebGLRenderingContext, shader: WebGLShader): void;\r\n\r\nexport declare function compressedTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;\r\nexport declare function compressedTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;\r\n\r\nexport declare function copyTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\r\nexport declare function copyTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function createBuffer(gl: WebGLRenderingContext): WebGLBuffer;\r\nexport declare function createFramebuffer(gl: WebGLRenderingContext): WebGLFramebuffer;\r\nexport declare function createProgram(gl: WebGLRenderingContext): WebGLProgram;\r\nexport declare function createRenderbuffer(gl: WebGLRenderingContext): WebGLRenderbuffer;\r\nexport declare function createShader(gl: WebGLRenderingContext, typ: GLenum): WebGLShader;\r\nexport declare function createTexture(gl: WebGLRenderingContext): WebGLTexture;\r\n\r\nexport declare function cullFace(gl: WebGLRenderingContext, mode: GLenum): void;\r\n//...\r\n\r\nexport declare function deleteBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): void;\r\nexport declare function deleteFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): void;\r\nexport declare function deleteProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function deleteRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function deleteShader( gl: WebGLRenderingContext, shader: WebGLShader): void;\r\nexport declare function deleteTexture( gl: WebGLRenderingContext, texture: WebGLTexture): void;\r\n\r\nexport declare function depthFunc( gl: WebGLRenderingContext, func: GLenum): void;\r\nexport declare function depthMask( gl: WebGLRenderingContext, flag: GLboolean): void;\r\nexport declare function depthRange( gl: WebGLRenderingContext, zNear: GLclampf, zFar: GLclampf): void;\r\nexport declare function detachShader( gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\nexport declare function disable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function disableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function drawArrays( gl: WebGLRenderingContext, mode: GLenum, first: GLint, count: GLsizei): void;\r\nexport declare function drawElements( gl: WebGLRenderingContext, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void;\r\n\r\nexport declare function enable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function enableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function finish( gl: WebGLRenderingContext ): void;\r\nexport declare function flush( gl: WebGLRenderingContext ): void;\r\nexport declare function framebufferRenderbuffer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n renderbuffertarget: GLenum,\r\n renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function framebufferTexture2D( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, textarget: GLenum,\r\n texture: WebGLTexture, level: GLint): void;\r\nexport declare function frontFace( gl: WebGLRenderingContext, mode: GLenum): void;\r\n\r\nexport declare function generateMipmap( gl: WebGLRenderingContext, target: GLenum): void;\r\n\r\nexport declare function getActiveAttrib( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getActiveUniform( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getAttachedShaders( gl: WebGLRenderingContext, program: WebGLProgram):sequence;\r\n\r\nexport declare function getAttribLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): GLint;\r\n\r\nexport declare function getBufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getParameter( gl: WebGLRenderingContext, pname: GLenum): externref; // any\r\n\r\nexport declare function getError( gl: WebGLRenderingContext ): GLenum;\r\n\r\nexport declare function getFramebufferAttachmentParameter( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n pname: GLenum): externref; // any\r\nexport declare function getProgramParameter( gl: WebGLRenderingContext, program: WebGLProgram, pname: GLenum): bool; // any\r\nexport declare function getProgramInfoLog( gl: WebGLRenderingContext, program: WebGLProgram): DOMString;\r\nexport declare function getRenderbufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getShaderParameter( gl: WebGLRenderingContext, shader: WebGLShader, pname: GLenum): bool; // any\r\nexport declare function getShaderPrecisionFormat( gl: WebGLRenderingContext, shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat;\r\nexport declare function getShaderInfoLog( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getShaderSource( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getTexParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\n\r\nexport declare function getUniform( gl: WebGLRenderingContext, program: WebGLProgram, location: WebGLUniformLocation): externref; // any\r\n\r\nexport declare function getUniformLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): WebGLUniformLocation;\r\n\r\nexport declare function getVertexAttrib( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): externref; // any\r\n\r\nexport declare function getVertexAttribOffset( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): GLsizeiptr;\r\n\r\nexport declare function hint( gl: WebGLRenderingContext, target: GLenum, mode: GLenum): void;\r\nexport declare function isBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): GLboolean;\r\nexport declare function isEnabled( gl: WebGLRenderingContext, cap: GLenum): GLboolean;\r\nexport declare function isFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): GLboolean;\r\nexport declare function isProgram( gl: WebGLRenderingContext, program: WebGLProgram): GLboolean;\r\nexport declare function isRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): GLboolean;\r\nexport declare function isShader( gl: WebGLRenderingContext, shader: WebGLShader): GLboolean;\r\nexport declare function isTexture( gl: WebGLRenderingContext, texture: WebGLTexture): GLboolean;\r\nexport declare function lineWidth( gl: WebGLRenderingContext, width: GLfloat): void;\r\nexport declare function linkProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function pixelStorei( gl: WebGLRenderingContext, pname: GLenum, param: GLint): void;\r\nexport declare function polygonOffset( gl: WebGLRenderingContext, factor: GLfloat, units: GLfloat): void;\r\n\r\nexport declare function readPixels( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei,\r\n format: GLenum, typ: GLenum, pixels: ArrayBufferView): void;\r\n\r\nexport declare function renderbufferStorage( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\nexport declare function sampleCoverage( gl: WebGLRenderingContext, value: GLclampf, invert: GLboolean): void;\r\nexport declare function scissor( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function shaderSource( gl: WebGLRenderingContext, shader: WebGLShader, source: string): void;\r\n\r\nexport declare function stencilFunc( gl: WebGLRenderingContext, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilFuncSeparate( gl: WebGLRenderingContext, face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilMask( gl: WebGLRenderingContext, mask: GLuint): void;\r\nexport declare function stencilMaskSeparate( gl: WebGLRenderingContext, face: GLenum, mask: GLuint): void;\r\nexport declare function stencilOp( gl: WebGLRenderingContext, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\nexport declare function stencilOpSeparate( gl: WebGLRenderingContext, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\n\r\nexport declare function texImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum,\r\n format: GLenum, typ: GLenum, image: ImageData): void;\r\n\r\nexport declare function texParameterf( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLfloat): void;\r\nexport declare function texParameteri( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLint): void;\r\n\r\nexport declare function texSubImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n format: GLenum, typ: GLenum, pixels: ImageData): void;\r\n\r\nexport declare function uniform1f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat): void;\r\nexport declare function uniform1fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform1i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint): void;\r\nexport declare function uniform1iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform2f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void;\r\nexport declare function uniform2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform2i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint): void;\r\nexport declare function uniform2iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void;\r\n\r\nexport declare function uniform3f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function uniform3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform3i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void;\r\nexport declare function uniform3iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform4f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function uniform4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void;\r\n\r\nexport declare function uniform4i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void;\r\nexport declare function uniform4iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void;\r\n\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function useProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function validateProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\n\r\nexport declare function vertexAttrib1f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat): void;\r\nexport declare function vertexAttrib1fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib2f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat): void;\r\nexport declare function vertexAttrib2fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib3f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function vertexAttrib3fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib4f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function vertexAttrib4fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttribPointer( gl: WebGLRenderingContext, indx: GLint, size: GLint, typ: GLenum,\r\n normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function viewport( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\n// ... WEBGL 2 ...\r\n/* Buffer objects */\r\nexport declare function copyBufferSubData( gl: WebGLRenderingContext, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr,\r\n writeOffset: GLintptr, size: GLsizeiptr): void;\r\n\r\nexport declare function getBufferSubData( gl: WebGLRenderingContext, target: GLenum, srcByteOffset: GLintptr, /*[AllowShared]*/ dstBuffer: ArrayBufferView,\r\n dstOffset: GLuint = 0, length: GLuint = 0): void;\r\n\r\n/* Framebuffer objects */\r\nexport declare function blitFramebuffer( gl: WebGLRenderingContext, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint,\r\n dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\r\nexport declare function framebufferTextureLayer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint,\r\n layer: GLint): void;\r\nexport declare function invalidateFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence): void;\r\nexport declare function invalidateSubFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\nexport declare function readBuffer( gl: WebGLRenderingContext, src: GLenum): void;\r\n\r\n/* Renderbuffer objects */\r\nexport declare function getInternalformatParameter( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, pname: GLenum): externref; // any\r\nexport declare function renderbufferStorageMultisample( gl: WebGLRenderingContext, target: GLenum, samples: GLsizei, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\n\r\n/* Texture objects */\r\nexport declare function texStorage2D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei): void;\r\nexport declare function texStorage3D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei): void;\r\n\r\nexport declare function texImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei,\r\n depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void;\r\n\r\nexport declare function texSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum,\r\n pboOffset: GLintptr):void;\r\n\r\nexport declare function copyTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function compressedTexImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function compressedTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei,\r\n format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\n/* Programs and shaders */\r\nexport declare function getFragDataLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: DOMString): GLint;\r\n\r\n/* Uniforms */\r\nexport declare function uniform1ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint): void;\r\nexport declare function uniform2ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void;\r\nexport declare function uniform3ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void;\r\nexport declare function uniform4ui( gl: WebGLRenderingContext, location:WebGLUniformLocation, v0:GLuint, v1:GLuint, v2:GLuint, v3:GLuint): void;\r\n\r\nexport declare function uniform1uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform2uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform3uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform4uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\n/* Vertex attribs */\r\nexport declare function vertexAttribI4i( gl: WebGLRenderingContext, index:GLuint, x:GLint, y:GLint, z:GLint, w:GLint): void;\r\nexport declare function vertexAttribI4iv( gl: WebGLRenderingContext, index:GLuint, values:Int32List): void;\r\nexport declare function vertexAttribI4ui( gl: WebGLRenderingContext, index:GLuint, x:GLuint, y:GLuint, z:GLuint, w:GLuint): void;\r\nexport declare function vertexAttribI4uiv( gl: WebGLRenderingContext, index:GLuint, values:Uint32List): void;\r\nexport declare function vertexAttribIPointer( gl: WebGLRenderingContext, index:GLuint, size:GLint, typ:GLenum, stride:GLsizei, offset:GLintptr): void;\r\n\r\n/* Writing to the drawing buffer */\r\nexport declare function vertexAttribDivisor( gl: WebGLRenderingContext, index:GLuint, divisor:GLuint): void;\r\nexport declare function drawArraysInstanced( gl: WebGLRenderingContext, mode:GLenum, first:GLint, count:GLsizei, instanceCount:GLsizei): void;\r\nexport declare function drawElementsInstanced( gl: WebGLRenderingContext, mode:GLenum, count:GLsizei, typ:GLenum, offset:GLintptr, instanceCount:GLsizei): void;\r\nexport declare function drawRangeElements( gl: WebGLRenderingContext, mode:GLenum,start:GLuint,end:GLuint,count:GLsizei,typ:GLenum,offset:GLintptr):void;\r\n\r\n/* Multiple Render Targets */\r\nexport declare function drawBuffers( gl: WebGLRenderingContext, buffers: sequence):void;\r\n\r\nexport declare function clearBufferfv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Float32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Int32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferuiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Uint32List,\r\n srcOffset:GLuint = 0):void;\r\n\r\nexport declare function clearBufferfi( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, depth:GLfloat, stencil:GLint): void;\r\n\r\n/* Query Objects */\r\nexport declare function createQuery( gl: WebGLRenderingContext ):WebGLQuery;\r\nexport declare function deleteQuery( gl: WebGLRenderingContext, query: WebGLQuery): void;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isQuery( gl: WebGLRenderingContext, query:WebGLQuery):GLboolean ;\r\nexport declare function beginQuery( gl: WebGLRenderingContext, target:GLenum, query:WebGLQuery): void;\r\nexport declare function endQuery( gl: WebGLRenderingContext, target: GLenum): void;\r\nexport declare function getQuery( gl: WebGLRenderingContext, target:GLenum, pname:GLenum):WebGLQuery;\r\nexport declare function getQueryParameter( gl: WebGLRenderingContext, query:WebGLQuery, pname:GLenum):externref; // any\r\n\r\n/* Sampler Objects */\r\nexport declare function createSampler( gl: WebGLRenderingContext ):WebGLSampler;\r\nexport declare function deleteSampler( gl: WebGLRenderingContext, sampler: WebGLSampler): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isSampler( gl: WebGLRenderingContext, sampler:WebGLSampler):GLboolean;\r\nexport declare function bindSampler( gl: WebGLRenderingContext, unit:GLuint, sampler:WebGLSampler): void;\r\nexport declare function samplerParameteri( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLint): void;\r\nexport declare function samplerParameterf( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLfloat): void;\r\nexport declare function getSamplerParameter( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum):externref; // any\r\n\r\n/* Sync objects */\r\nexport declare function fenceSync( gl: WebGLRenderingContext, condition:GLenum, flags:GLbitfield):WebGLSync;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isSync( gl: WebGLRenderingContext, sync:WebGLSync):GLboolean;\r\nexport declare function deleteSync( gl: WebGLRenderingContext, sync: WebGLSync): void;\r\nexport declare function clientWaitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLuint64):GLenum;\r\nexport declare function waitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLint64): void;\r\nexport declare function getSyncParameter( gl: WebGLRenderingContext, sync:WebGLSync, pname:GLenum):externref; // any\r\n\r\n/* Transform Feedback */\r\nexport declare function createTransformFeedback( gl: WebGLRenderingContext ):WebGLTransformFeedback;\r\nexport declare function deleteTransformFeedback( gl: WebGLRenderingContext, tf: WebGLTransformFeedback): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isTransformFeedback( gl: WebGLRenderingContext, tf:WebGLTransformFeedback):GLboolean;\r\nexport declare function bindTransformFeedback( gl: WebGLRenderingContext, target:GLenum, tf:WebGLTransformFeedback): void;\r\nexport declare function beginTransformFeedback( gl: WebGLRenderingContext, primitiveMode: GLenum): void;\r\nexport declare function endTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function transformFeedbackVaryings( gl: WebGLRenderingContext, program:WebGLProgram, varyings:sequence, bufferMode:GLenum):void;\r\nexport declare function getTransformFeedbackVarying( gl: WebGLRenderingContext, program:WebGLProgram, index:GLuint):WebGLActiveInfo;\r\nexport declare function pauseTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function resumeTransformFeedback( gl: WebGLRenderingContext ):void;\r\n\r\n/* Uniform Buffer Objects and Transform Feedback Buffers */\r\nexport declare function bindBufferBase( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer): void;\r\nexport declare function bindBufferRange( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer, offset:GLintptr, size:GLsizeiptr): void;\r\nexport declare function getIndexedParameter( gl: WebGLRenderingContext, target:GLenum, index:GLuint):externref; // any\r\nexport declare function getUniformIndices( gl: WebGLRenderingContext, program:WebGLProgram, uniformNames:sequence):sequence;\r\nexport declare function getActiveUniforms( gl: WebGLRenderingContext, program:WebGLProgram, uniformIndices:sequence, pname:GLenum):externref; // any\r\nexport declare function getUniformBlockIndex( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockName:DOMString):GLuint;\r\nexport declare function getActiveUniformBlockParameter( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, pname:GLenum):externref; // any\r\nexport declare function getActiveUniformBlockName( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint):DOMString;\r\nexport declare function uniformBlockBinding( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, uniformBlockBinding:GLuint): void;\r\n\r\n/* Vertex Array Objects */\r\nexport declare function createVertexArray( gl: WebGLRenderingContext ):WebGLVertexArrayObject;\r\nexport declare function deleteVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): GLboolean;\r\nexport declare function bindVertexArray( gl: WebGLRenderingContext, array: WebGLVertexArrayObject): void;\r\n","/// \n\nimport { idof } from \"../builtins\";\nimport { CharCode } from \"./string\";\n\n// @ts-ignore: decorator\n@inline\nexport const MAX_DOUBLE_LENGTH = 28;\n\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000,\n 1000000000\n]);\n\n/*\n Lookup table for pairwise char codes in range [0-99]\n\n \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\",\n \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\",\n \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\",\n \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\",\n \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\",\n \"50\", \"51\", \"52\", \"53\", \"54\", \"55\", \"56\", \"57\", \"58\", \"59\",\n \"60\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\",\n \"70\", \"71\", \"72\", \"73\", \"74\", \"75\", \"76\", \"77\", \"78\", \"79\",\n \"80\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\",\n \"90\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"\n*/\n// @ts-ignore: decorator\n@lazy @inline const DIGITS = memory.data([\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\n]);\n\n// Lookup table for pairwise char codes in range [0x00-0xFF]\n// @ts-ignore: decorator\n@lazy @inline const HEX_DIGITS =\n\"000102030405060708090a0b0c0d0e0f\\\n101112131415161718191a1b1c1d1e1f\\\n202122232425262728292a2b2c2d2e2f\\\n303132333435363738393a3b3c3d3e3f\\\n404142434445464748494a4b4c4d4e4f\\\n505152535455565758595a5b5c5d5e5f\\\n606162636465666768696a6b6c6d6e6f\\\n707172737475767778797a7b7c7d7e7f\\\n808182838485868788898a8b8c8d8e8f\\\n909192939495969798999a9b9c9d9e9f\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\";\n\n// @ts-ignore: decorator\n@lazy @inline const ANY_DIGITS = \"0123456789abcdefghijklmnopqrstuvwxyz\";\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\n 907, 933, 960, 986, 1013, 1039, 1066\n/* eslint-enable indent */]);\n\n// 1e-348, 1e-340, ..., 1e340\n// @ts-ignore: decorator\n@lazy @inline const FRC_POWERS = memory.data([\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function isPowerOf2(value: T): bool {\n return popcnt(value) == 1;\n}\n\n// Count number of decimals for u32 values\n// In our case input value always non-zero so we can simplify some parts\nexport function decimalCount32(value: u32): u32 {\n if (value < 100000) {\n if (value < 100) {\n return 1 + u32(value >= 10);\n } else {\n return 3 + u32(value >= 10000) + u32(value >= 1000);\n }\n } else {\n if (value < 10000000) {\n return 6 + u32(value >= 1000000);\n } else {\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\n }\n }\n}\n\n// Count number of decimals for u64 values\n// In our case input value always greater than 2^32-1 so we can skip some parts\nexport function decimalCount64High(value: u64): u32 {\n if (value < 1000000000000000) {\n if (value < 1000000000000) {\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\n } else {\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\n }\n } else {\n if (value < 100000000000000000) {\n return 16 + u32(value >= 10000000000000000);\n } else {\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\n }\n }\n}\n\nfunction ulog_base(num: u64, base: i32): u32 {\n if (isPowerOf2(base)) {\n return (63 - clz(num)) / (31 - clz(base)) + 1;\n }\n var b64 = u64(base), b = b64, e: u32 = 1;\n while (num >= b) {\n num /= b;\n b *= b;\n e <<= 1;\n }\n while (num >= 1) {\n num /= b64;\n e++;\n }\n return e - 1;\n}\n\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\n while (num >= 10000) {\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\n let t = num / 10000;\n let r = num % 10000;\n num = t;\n\n let d1 = r / 100;\n let d2 = r % 100;\n\n let digits1 = load(DIGITS + (d1 << alignof()));\n let digits2 = load(DIGITS + (d2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n if (num >= 100) {\n let t = num / 100;\n let d1 = num % 100;\n num = t;\n offset -= 2;\n let digits = load(DIGITS + (d1 << alignof()));\n store(buffer + (offset << 1), digits);\n }\n\n if (num >= 10) {\n offset -= 2;\n let digits = load(DIGITS + (num << alignof()));\n store(buffer + (offset << 1), digits);\n } else {\n offset -= 1;\n let digit = CharCode._0 + num;\n store(buffer + (offset << 1), digit);\n }\n}\n\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\n while (num >= 100000000) {\n let t = num / 100000000;\n let r = (num - t * 100000000);\n num = t;\n\n let b = r / 10000;\n let c = r % 10000;\n\n let b1 = b / 100;\n let b2 = b % 100;\n let c1 = c / 100;\n let c2 = c % 100;\n\n let digits1 = load(DIGITS + (c1 << alignof()));\n let digits2 = load(DIGITS + (c2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n\n digits1 = load(DIGITS + (b1 << alignof()));\n digits2 = load(DIGITS + (b2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n utoa32_dec_lut(buffer, num, offset);\n}\n\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\n const lut = changetype(HEX_DIGITS);\n while (offset >= 2) {\n offset -= 2;\n store(\n buffer + (offset << 1),\n load(lut + ((num & 0xFF) << alignof()))\n );\n num >>= 8;\n }\n if (offset & 1) {\n store(buffer, load(lut + (num << 6)));\n }\n}\n\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let t = num / 10;\n let r = (num % 10);\n num = changetype(t);\n offset--;\n store(buffer + (offset << 1), CharCode._0 + r);\n } while (num);\n}\n\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let d = num & 0x0F | CharCode._0;\n d += select(0x27, 0, d > CharCode._9);\n offset--;\n store(buffer + (offset << 1), d);\n // @ts-ignore: type\n num >>= 4;\n } while (num);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa32_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa64_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\n const lut = changetype(ANY_DIGITS);\n var base = u64(radix);\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\n let shift = u64(ctz(radix) & 7);\n let mask = base - 1;\n do {\n offset--;\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\n num >>= shift;\n } while (num);\n } else {\n do {\n offset--;\n let q = num / base;\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\n num = q;\n } while (num);\n }\n}\n\nexport function utoa32(value: u32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa32(value: i32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = value >>> 31;\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let val32 = u32(value);\n let decimals = ulog_base(val32, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, val32, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\nexport function utoa64(value: u64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa64(value: i64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = u32(value >>> 63);\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value) + sign;\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\n// @ts-ignore: decorator\n@lazy var _K: i32 = 0;\n\n// // @ts-ignore: decorator\n// @lazy\n// var _frc: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp: i32 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_minus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_plus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_pow: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp_pow: i32 = 0;\n\n// @ts-ignore: decorator\n@inline\nfunction umul64f(u: u64, v: u64): u64 {\n var u0 = u & 0xFFFFFFFF;\n var v0 = v & 0xFFFFFFFF;\n\n var u1 = u >> 32;\n var v1 = v >> 32;\n\n var l = u0 * v0;\n var t = u1 * v0 + (l >> 32);\n var w = u0 * v1 + (t & 0xFFFFFFFF);\n\n w += 0x7FFFFFFF; // rounding\n\n t >>= 32;\n w >>= 32;\n\n return u1 * v1 + t + w;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction umul64e(e1: i32, e2: i32): i32 {\n return e1 + e2 + 64; // where 64 is significand size\n}\n\n// @ts-ignore: decorator\n@inline\nfunction normalizedBoundaries(f: u64, e: i32): void {\n var frc = (f << 1) + 1;\n var exp = e - 1;\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var m = 1 + i32(f == 0x0010000000000000);\n\n _frc_plus = frc;\n _frc_minus = ((f << m) - 1) << e - m - exp;\n _exp = exp;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\n var lastp = buffer + ((len - 1) << 1);\n var digit = load(lastp);\n while (\n rest < wp_w &&\n delta - rest >= ten_kappa && (\n rest + ten_kappa < wp_w ||\n wp_w - rest > rest + ten_kappa - wp_w\n )\n ) {\n --digit;\n rest += ten_kappa;\n }\n store(lastp, digit);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction getCachedPower(minExp: i32): void {\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\n var dk = (-61 - minExp) * c + 347;\t // dk must be positive, so can do ceiling in positive\n var k = dk;\n k += i32(k != dk); // conversion with ceil\n\n var index = (k >> 3) + 1;\n _K = 348 - (index << 3);\t// decimal exponent no need lookup table\n _frc_pow = load(FRC_POWERS + (index << alignof()));\n _exp_pow = load(EXP_POWERS + (index << alignof()));\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\n\n // frexp routine\n var uv = reinterpret(value);\n var exp = i32((uv & 0x7FF0000000000000) >>> 52);\n var sid = uv & 0x000FFFFFFFFFFFFF;\n var frc = (u64(exp != 0) << 52) + sid;\n exp = select(exp, 1, exp) - (0x3FF + 52);\n\n normalizedBoundaries(frc, exp);\n getCachedPower(_exp);\n\n // normalize\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var frc_pow = _frc_pow;\n var exp_pow = _exp_pow;\n\n var w_frc = umul64f(frc, frc_pow);\n var w_exp = umul64e(exp, exp_pow);\n\n var wp_frc = umul64f(_frc_plus, frc_pow) - 1;\n var wp_exp = umul64e(_exp, exp_pow);\n\n var wm_frc = umul64f(_frc_minus, frc_pow) + 1;\n var delta = wp_frc - wm_frc;\n\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\n}\n\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\n var one_exp = -mp_exp;\n var one_frc = (1) << one_exp;\n var mask = one_frc - 1;\n\n var wp_w_frc = mp_frc - w_frc;\n\n var p1 = u32(mp_frc >> one_exp);\n var p2 = mp_frc & mask;\n\n var kappa = decimalCount32(p1);\n var len = sign;\n\n while (kappa > 0) {\n let d: u32;\n switch (kappa) {\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\n case 3: { d = p1 / 100; p1 %= 100; break; }\n case 2: { d = p1 / 10; p1 %= 10; break; }\n case 1: { d = p1; p1 = 0; break; }\n default: { d = 0; break; }\n }\n\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n --kappa;\n let tmp = ((p1) << one_exp) + p2;\n if (tmp <= delta) {\n _K += kappa;\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\n return len;\n }\n }\n\n while (true) {\n p2 *= 10;\n delta *= 10;\n\n let d = p2 >> one_exp;\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n p2 &= mask;\n --kappa;\n if (p2 < delta) {\n _K += kappa;\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\n return len;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction genExponent(buffer: usize, k: i32): i32 {\n var sign = k < 0;\n if (sign) k = -k;\n var decimals = decimalCount32(k) + 1;\n utoa32_dec_core(buffer, k, decimals);\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\n return decimals;\n}\n\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\n if (!k) {\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\n return length + 2;\n }\n\n var kk = length + k;\n if (length <= kk && kk <= 21) {\n // 1234e7 -> 12340000000\n for (let i = length; i < kk; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\n return kk + 2;\n } else if (kk > 0 && kk <= 21) {\n // 1234e-2 -> 12.34\n let ptr = buffer + (kk << 1);\n memory.copy(\n ptr + 2,\n ptr,\n -k << 1\n );\n store(buffer + (kk << 1), CharCode.DOT);\n return length + 1;\n } else if (-6 < kk && kk <= 0) {\n // 1234e-6 -> 0.001234\n let offset = 2 - kk;\n memory.copy(\n buffer + (offset << 1),\n buffer,\n length << 1\n );\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\n for (let i = 2; i < offset; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n return length + offset;\n } else if (length == 1) {\n // 1e30\n store(buffer, CharCode.e, 2);\n length = genExponent(buffer + 4, kk - 1);\n return length + 2;\n } else {\n let len = length << 1;\n memory.copy(\n buffer + 4,\n buffer + 2,\n len - 2\n );\n store(buffer, CharCode.DOT, 2);\n store(buffer + len, CharCode.e, 2);\n length += genExponent(buffer + len + 4, kk - 1);\n return length + 2;\n }\n}\n\nfunction dtoa_core(buffer: usize, value: f64): i32 {\n var sign = i32(value < 0);\n if (sign) {\n value = -value;\n store(buffer, CharCode.MINUS);\n }\n // assert(value > 0 && value <= 1.7976931348623157e308);\n var len = grisu2(value, buffer, sign);\n len = prettify(buffer + (sign << 1), len - sign, _K);\n return len + sign;\n}\n\n// @ts-ignore: decorator\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\n\nexport function dtoa(value: f64): String {\n if (value == 0) return \"0.0\";\n if (!isFinite(value)) {\n if (isNaN(value)) return \"NaN\";\n return select(\"-Infinity\", \"Infinity\", value < 0);\n }\n var size = dtoa_core(dtoa_buf, value) << 1;\n var result = __new(size, idof());\n memory.copy(result, dtoa_buf, size);\n return changetype(result);\n}\n\nexport function itoa_buffered(buffer: usize, value: T): u32 {\n var sign: u32 = 0;\n if (isSigned()) {\n sign = u32(value < 0);\n if (sign) {\n value = changetype(-value);\n store(buffer, CharCode.MINUS);\n }\n }\n if (ASC_SHRINK_LEVEL <= 1) {\n if (isSigned()) {\n if (sizeof() <= 4) {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n } else {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n }\n } else {\n if (value < 10) {\n store(buffer, value | CharCode._0);\n return 1;\n }\n }\n }\n var decimals = sign;\n if (sizeof() <= 4) {\n decimals += decimalCount32(value);\n utoa32_dec_core(buffer, value, decimals);\n } else {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n decimals += decimalCount32(val32);\n utoa32_dec_core(buffer, val32, decimals);\n } else {\n decimals += decimalCount64High(value);\n utoa64_dec_core(buffer, value, decimals);\n }\n }\n return decimals;\n}\n\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\n if (value == 0) {\n store(buffer, CharCode._0);\n store(buffer, CharCode.DOT, 2);\n store(buffer, CharCode._0, 4);\n return 3;\n }\n if (!isFinite(value)) {\n if (isNaN(value)) {\n store(buffer, CharCode.N);\n store(buffer, CharCode.a, 2);\n store(buffer, CharCode.N, 4);\n return 3;\n } else {\n let sign = value < 0;\n if (sign) {\n store(buffer, CharCode.MINUS); // -\n buffer += 2;\n }\n store(buffer, 0x690066006E0049, 0); // ifnI\n store(buffer, 0x7900740069006E, 8); // ytin\n return 8 + u32(sign);\n }\n }\n return dtoa_core(buffer, value);\n}\n","//\n// Lookup data for exp2f\n//\n\n// @ts-ignore: decorator\n@inline const EXP2F_TABLE_BITS = 5;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\n // used for computing 2^(k/N) for an int |k| < 150 N as\n // double(tab[k%N] + (k << 52-BITS))\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\n]);\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function exp2f_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\n Ox127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x430) {\n // |x| >= 128 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\n }\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\n var kd = xd + shift;\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n y = C2 * r + 1;\n y += (C0 * r + C1) * (r * r);\n y *= s;\n\n return y;\n}\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function expf_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\n Ox1p127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x42B) {\n // |x| >= 88 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\n }\n\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\n var z = InvLn2N * xd;\n\n // Round and convert z to int, the result is in [-150*N, 128*N] and\n // ideally ties-to-even rule is used, otherwise the magnitude of r\n // can be bigger which gives larger approximation error.\n var kd = (z + shift);\n var ki = reinterpret(kd);\n var r = z - (kd - shift);\n var s: f64, y: f64, t: u64;\n\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n\n return y;\n}\n\n//\n// Lookup data for log2f\n//\n\n// @ts-ignore: decorator\n@inline const LOG2F_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFDEFEC65B963019), // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFDB0B6832D4FCA4), // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD7418B0A1FB77B), // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFD39DE91A6DCF7B), // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFD01D9BF3F2B631), // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC97C1D1B3B7AF0), // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFC2F9E393AF3C9F), // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB960CBBF788D5C), // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFAA6F9DB6475FCE), // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0x0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FB338CA9F24F53D), // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FC476A9543891BA), // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FCE840B4AC4E4D2), // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FD40645F0C6651C), // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD88E9C2C1B9FF8), // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FDCE0A44EB17BCC) // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\n]);\n\n// ULP error: 0.752 (nearest rounding.)\n// Relative error: 1.9 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function log2f_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if (ux * 2 == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\n var top = tmp & 0xFF800000;\n var iz = ux - top;\n var k = tmp >> 23;\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(iz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A1 * r + A2;\n var p = A3 * r + y0;\n var r2 = r * r;\n y += A0 * r2;\n y = y * r2 + p;\n\n return y;\n}\n\n//\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\n//\n\n// @ts-ignore: decorator\n@inline const LOGF_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOGF_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFD57BF7808CAADE), // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFD2BEF0A7C06DDB), // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD01EAE7F513A67), // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFCB31D8A68224E9), // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFC6574F0AC07758), // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC1AA2BC79C8100), // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFBA4E76CE8C0E5E), // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB1973C5A611CCC), // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFA252F438E10C1E), // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FAAA5AA5DF25984), // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FBC5E53AA362EB4), // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FC526E57720DB08), // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FCBC2860D224770), // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD1058BC8A07EE1), // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FD4043057B6EE09) // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\n]);\n\n// ULP error: 0.818 (nearest rounding.)\n// Relative error: 1.957 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function logf_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if ((ux << 1) == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log(inf) == inf.\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\n var k = tmp >> 23;\n var iz = ux - (tmp & 0x1FF << 23);\n\n var invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\n var r = z * invc - 1;\n var y0 = logc + k * Ln2;\n\n // Pipelined polynomial evaluation to approximate log1p(r).\n var r2 = r * r;\n var y = A1 * r + A2;\n y += A0 * r2;\n y = y * r2 + (y0 + r);\n\n return y;\n}\n\n//\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\n//\n\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnanf(ux: u32): bool {\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\n}\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkintf(iy: u32): i32 {\n var e = iy >> 23 & 0xFF;\n if (e < 0x7F ) return 0;\n if (e > 0x7F + 23) return 2;\n e = 1 << (0x7F + 23 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// Subnormal input is normalized so ix has negative biased exponent.\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\n// @ts-ignore: decorator\n@inline\nfunction log2f_inline(ux: u32): f64 {\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\n\n const\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\n\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = ((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\n var top = tmp & 0xFF800000;\n var uz = ux - top;\n var k = (top >> 23);\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(uz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A0 * r + A1;\n var p = A2 * r + A3;\n var q = A4 * r + y0;\n\n r *= r;\n q += p * r;\n y = y * (r * r) + q;\n\n return y;\n}\n\n// The output of log2 and thus the input of exp2 is either scaled by N\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\n// in [-1021,1023], sign_bias sets the sign of the result.\n// @ts-ignore: decorator\n@inline\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\n var kd = (xd + shift);\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, z: f64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n return y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflowf(sign: u32, y: f32): f32 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\n}\n\n// @ts-ignore: decorator\n@inline\nexport function powf_lut(x: f32, y: f32): f32 {\n const\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\n LOWER_LIMIT = -150.0,\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\n\n var signBias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var ny = 0;\n\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\n if (ny) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3F800000) return NaN; // original: 1.0\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\n return y * y;\n }\n if (zeroinfnanf(ix)) {\n let x2 = x * x;\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\n return iy >> 31 ? 1 / x2 : x2;\n }\n // x and y are non-zero finite.\n if (ix >> 31) {\n // Finite x < 0.\n let yint = checkintf(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) signBias = SIGN_BIAS;\n ix &= 0x7FFFFFFF;\n }\n if (ix < 0x00800000) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p23f);\n ix &= 0x7FFFFFFF;\n ix -= 23 << 23;\n }\n }\n var logx = log2f_inline(ix);\n var ylogx = y * logx; // cannot overflow, y is single prec.\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\n // |y * log(x)| >= 126\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\n }\n return exp2f_inline(ylogx, signBias);\n}\n\n//\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\n//\n\n// @ts-ignore: decorator\n@inline const EXP_TABLE_BITS = 7;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_DATA_TAB = memory.data([\n 0x0000000000000000, 0x3FF0000000000000,\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\n]);\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\n const\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\n\n var scale: f64;\n if (!(ki & 0x80000000)) {\n // k > 0, the exponent of scale might have overflowed by <= 460.\n sbits -= u64(1009) << 52;\n scale = reinterpret(sbits);\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\n }\n // k < 0, need special care in the subnormal range.\n sbits += u64(1022) << 52;\n // Note: sbits is signed scale.\n scale = reinterpret(sbits);\n var y = scale + scale * tmp;\n if (abs(y) < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let one = copysign(1.0, y);\n let lo = scale - y + scale * tmp;\n let hi = one + y;\n lo = one - hi + y + lo;\n y = (hi + lo) - one;\n // Fix the sign of 0.\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7FF);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n return select(0, Infinity, ux >> 63);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\n var z = InvLn2N * x;\n // #if TOINT_INTRINSICS\n // \tkd = roundtoint(z);\n // \tki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // \t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // var kd = z + shift;\n // var ki = reinterpret(kd) >> 16;\n // var kd = ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes.\n var kd = z + shift;\n var ki = reinterpret(kd);\n kd -= shift;\n // #endif\n var r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // 2^(k/N) ~= scale * (1 + tail).\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n var r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n//\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\n//\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\n var scale: f64;\n if ((ki & 0x80000000) == 0) {\n // k > 0, the exponent of scale might have overflowed by 1\n sbits -= u64(1) << 52;\n scale = reinterpret(sbits);\n return 2 * (scale * tmp + scale);\n }\n // k < 0, need special care in the subnormal range\n sbits += u64(1022) << 52;\n scale = reinterpret(sbits);\n var y = scale * tmp + scale;\n if (y < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let hi: f64, lo: f64;\n lo = scale - y + scale * tmp;\n hi = 1.0 + y;\n lo = 1.0 - hi + y + lo;\n y = (hi + lo) - 1.0;\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp2_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\n\n const\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7ff);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n if (!(ux >> 63)) return Infinity;\n else if (ux >= 0xC090CC0000000000) return 0;\n }\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\n }\n\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\n var kd = x + shift;\n var ki = reinterpret(kd);\n kd -= shift; // k/N for int k\n var r = x - kd;\n // 2^(k/N) ~= scale * (1 + tail)\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r;\n // Without fma the worst case error is 0.5/N ulp larger.\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\n // is no spurious underflow here even without fma.\n return scale * tmp + scale;\n}\n\n//\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG2_TABLE_BITS = 6;\n\n/* Algorithm:\n\n x = 2^k z\n log2(x) = k + log2(c) + log2(z/c)\n log2(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log2(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p10 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\n\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF724286BB1ACF8), reinterpret(0xBFE1095FEECDB000),\n reinterpret(0x3FF6E1F766D2CCA1), reinterpret(0xBFE08494BD76D000),\n reinterpret(0x3FF6A13D0E30D48A), reinterpret(0xBFE00143AEE8F800),\n reinterpret(0x3FF661EC32D06C85), reinterpret(0xBFDEFEC5360B4000),\n reinterpret(0x3FF623FA951198F8), reinterpret(0xBFDDFDD91AB7E000),\n reinterpret(0x3FF5E75BA4CF026C), reinterpret(0xBFDCFFAE0CC79000),\n reinterpret(0x3FF5AC055A214FB8), reinterpret(0xBFDC043811FDA000),\n reinterpret(0x3FF571ED0F166E1E), reinterpret(0xBFDB0B67323AE000),\n reinterpret(0x3FF53909590BF835), reinterpret(0xBFDA152F5A2DB000),\n reinterpret(0x3FF5014FED61ADDD), reinterpret(0xBFD9217F5AF86000),\n reinterpret(0x3FF4CAB88E487BD0), reinterpret(0xBFD8304DB0719000),\n reinterpret(0x3FF49539B4334FEE), reinterpret(0xBFD74189F9A9E000),\n reinterpret(0x3FF460CBDFAFD569), reinterpret(0xBFD6552BB5199000),\n reinterpret(0x3FF42D664EE4B953), reinterpret(0xBFD56B23A29B1000),\n reinterpret(0x3FF3FB01111DD8A6), reinterpret(0xBFD483650F5FA000),\n reinterpret(0x3FF3C995B70C5836), reinterpret(0xBFD39DE937F6A000),\n reinterpret(0x3FF3991C4AB6FD4A), reinterpret(0xBFD2BAA1538D6000),\n reinterpret(0x3FF3698E0CE099B5), reinterpret(0xBFD1D98340CA4000),\n reinterpret(0x3FF33AE48213E7B2), reinterpret(0xBFD0FA853A40E000),\n reinterpret(0x3FF30D191985BDB1), reinterpret(0xBFD01D9C32E73000),\n reinterpret(0x3FF2E025CAB271D7), reinterpret(0xBFCE857DA2FA6000),\n reinterpret(0x3FF2B404CF13CD82), reinterpret(0xBFCCD3C8633D8000),\n reinterpret(0x3FF288B02C7CCB50), reinterpret(0xBFCB26034C14A000),\n reinterpret(0x3FF25E2263944DE5), reinterpret(0xBFC97C1C2F4FE000),\n reinterpret(0x3FF234563D8615B1), reinterpret(0xBFC7D6023F800000),\n reinterpret(0x3FF20B46E33EAF38), reinterpret(0xBFC633A71A05E000),\n reinterpret(0x3FF1E2EEFDCDA3DD), reinterpret(0xBFC494F5E9570000),\n reinterpret(0x3FF1BB4A580B3930), reinterpret(0xBFC2F9E424E0A000),\n reinterpret(0x3FF19453847F2200), reinterpret(0xBFC162595AFDC000),\n reinterpret(0x3FF16E06C0D5D73C), reinterpret(0xBFBF9C9A75BD8000),\n reinterpret(0x3FF1485F47B7E4C2), reinterpret(0xBFBC7B575BF9C000),\n reinterpret(0x3FF12358AD0085D1), reinterpret(0xBFB960C60FF48000),\n reinterpret(0x3FF0FEF00F532227), reinterpret(0xBFB64CE247B60000),\n reinterpret(0x3FF0DB2077D03A8F), reinterpret(0xBFB33F78B2014000),\n reinterpret(0x3FF0B7E6D65980D9), reinterpret(0xBFB0387D1A42C000),\n reinterpret(0x3FF0953EFE7B408D), reinterpret(0xBFAA6F9208B50000),\n reinterpret(0x3FF07325CAC53B83), reinterpret(0xBFA47A954F770000),\n reinterpret(0x3FF05197E40D1B5C), reinterpret(0xBF9D23A8C50C0000),\n reinterpret(0x3FF03091C1208EA2), reinterpret(0xBF916A2629780000),\n reinterpret(0x3FF0101025B37E21), reinterpret(0xBF7720F8D8E80000),\n reinterpret(0x3FEFC07EF9CAA76B), reinterpret(0x3F86FE53B1500000),\n reinterpret(0x3FEF4465D3F6F184), reinterpret(0x3FA11CCCE10F8000),\n reinterpret(0x3FEECC079F84107F), reinterpret(0x3FAC4DFC8C8B8000),\n reinterpret(0x3FEE573A99975AE8), reinterpret(0x3FB3AA321E574000),\n reinterpret(0x3FEDE5D6F0BD3DE6), reinterpret(0x3FB918A0D08B8000),\n reinterpret(0x3FED77B681FF38B3), reinterpret(0x3FBE72E9DA044000),\n reinterpret(0x3FED0CB5724DE943), reinterpret(0x3FC1DCD2507F6000),\n reinterpret(0x3FECA4B2DC0E7563), reinterpret(0x3FC476AB03DEA000),\n reinterpret(0x3FEC3F8EE8D6CB51), reinterpret(0x3FC7074377E22000),\n reinterpret(0x3FEBDD2B4F020C4C), reinterpret(0x3FC98EDE8BA94000),\n reinterpret(0x3FEB7D6C006015CA), reinterpret(0x3FCC0DB86AD2E000),\n reinterpret(0x3FEB20366E2E338F), reinterpret(0x3FCE840AAFCEE000),\n reinterpret(0x3FEAC57026295039), reinterpret(0x3FD0790AB4678000),\n reinterpret(0x3FEA6D01BC2731DD), reinterpret(0x3FD1AC056801C000),\n reinterpret(0x3FEA16D3BC3FF18B), reinterpret(0x3FD2DB11D4FEE000),\n reinterpret(0x3FE9C2D14967FEAD), reinterpret(0x3FD406464EC58000),\n reinterpret(0x3FE970E4F47C9902), reinterpret(0x3FD52DBE093AF000),\n reinterpret(0x3FE920FB3982BCF2), reinterpret(0x3FD651902050D000),\n reinterpret(0x3FE8D30187F759F1), reinterpret(0x3FD771D2CDEAF000),\n reinterpret(0x3FE886E5EBB9F66D), reinterpret(0x3FD88E9C857D9000),\n reinterpret(0x3FE83C97B658B994), reinterpret(0x3FD9A80155E16000),\n reinterpret(0x3FE7F405FFC61022), reinterpret(0x3FDABE186ED3D000),\n reinterpret(0x3FE7AD22181415CA), reinterpret(0x3FDBD0F2AEA0E000),\n reinterpret(0x3FE767DCF99EFF8C), reinterpret(0x3FDCE0A43DBF4000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE6200012B90A8E), reinterpret(0x3C8904AB0644B605),\n reinterpret(0x3FE66000045734A6), reinterpret(0x3C61FF9BEA62F7A9),\n reinterpret(0x3FE69FFFC325F2C5), reinterpret(0x3C827ECFCB3C90BA),\n reinterpret(0x3FE6E00038B95A04), reinterpret(0x3C88FF8856739326),\n reinterpret(0x3FE71FFFE09994E3), reinterpret(0x3C8AFD40275F82B1),\n reinterpret(0x3FE7600015590E10), reinterpret(0xBC72FD75B4238341),\n reinterpret(0x3FE7A00012655BD5), reinterpret(0x3C7808E67C242B76),\n reinterpret(0x3FE7E0003259E9A6), reinterpret(0xBC6208E426F622B7),\n reinterpret(0x3FE81FFFEDB4B2D2), reinterpret(0xBC8402461EA5C92F),\n reinterpret(0x3FE860002DFAFCC3), reinterpret(0x3C6DF7F4A2F29A1F),\n reinterpret(0x3FE89FFFF78C6B50), reinterpret(0xBC8E0453094995FD),\n reinterpret(0x3FE8E00039671566), reinterpret(0xBC8A04F3BEC77B45),\n reinterpret(0x3FE91FFFE2BF1745), reinterpret(0xBC77FA34400E203C),\n reinterpret(0x3FE95FFFCC5C9FD1), reinterpret(0xBC76FF8005A0695D),\n reinterpret(0x3FE9A0003BBA4767), reinterpret(0x3C70F8C4C4EC7E03),\n reinterpret(0x3FE9DFFFE7B92DA5), reinterpret(0x3C8E7FD9478C4602),\n reinterpret(0x3FEA1FFFD72EFDAF), reinterpret(0xBC6A0C554DCDAE7E),\n reinterpret(0x3FEA5FFFDE04FF95), reinterpret(0x3C867DA98CE9B26B),\n reinterpret(0x3FEA9FFFCA5E8D2B), reinterpret(0xBC8284C9B54C13DE),\n reinterpret(0x3FEADFFFDDAD03EA), reinterpret(0x3C5812C8EA602E3C),\n reinterpret(0x3FEB1FFFF10D3D4D), reinterpret(0xBC8EFADDAD27789C),\n reinterpret(0x3FEB5FFFCE21165A), reinterpret(0x3C53CB1719C61237),\n reinterpret(0x3FEB9FFFD950E674), reinterpret(0x3C73F7D94194CE00),\n reinterpret(0x3FEBE000139CA8AF), reinterpret(0x3C750AC4215D9BC0),\n reinterpret(0x3FEC20005B46DF99), reinterpret(0x3C6BEEA653E9C1C9),\n reinterpret(0x3FEC600040B9F7AE), reinterpret(0xBC7C079F274A70D6),\n reinterpret(0x3FECA0006255FD8A), reinterpret(0xBC7A0B4076E84C1F),\n reinterpret(0x3FECDFFFD94C095D), reinterpret(0x3C88F933F99AB5D7),\n reinterpret(0x3FED1FFFF975D6CF), reinterpret(0xBC582C08665FE1BE),\n reinterpret(0x3FED5FFFA2561C93), reinterpret(0xBC7B04289BD295F3),\n reinterpret(0x3FED9FFF9D228B0C), reinterpret(0x3C870251340FA236),\n reinterpret(0x3FEDE00065BC7E16), reinterpret(0xBC75011E16A4D80C),\n reinterpret(0x3FEE200002F64791), reinterpret(0x3C89802F09EF62E0),\n reinterpret(0x3FEE600057D7A6D8), reinterpret(0xBC7E0B75580CF7FA),\n reinterpret(0x3FEEA00027EDC00C), reinterpret(0xBC8C848309459811),\n reinterpret(0x3FEEE0006CF5CB7C), reinterpret(0xBC8F8027951576F4),\n reinterpret(0x3FEF2000782B7DCC), reinterpret(0xBC8F81D97274538F),\n reinterpret(0x3FEF6000260C450A), reinterpret(0xBC4071002727FFDC),\n reinterpret(0x3FEF9FFFE88CD533), reinterpret(0xBC581BDCE1FDA8B0),\n reinterpret(0x3FEFDFFFD50F8689), reinterpret(0x3C87F91ACB918E6E),\n reinterpret(0x3FF0200004292367), reinterpret(0x3C9B7FF365324681),\n reinterpret(0x3FF05FFFE3E3D668), reinterpret(0x3C86FA08DDAE957B),\n reinterpret(0x3FF0A0000A85A757), reinterpret(0xBC57E2DE80D3FB91),\n reinterpret(0x3FF0E0001A5F3FCC), reinterpret(0xBC91823305C5F014),\n reinterpret(0x3FF11FFFF8AFBAF5), reinterpret(0xBC8BFABB6680BAC2),\n reinterpret(0x3FF15FFFE54D91AD), reinterpret(0xBC9D7F121737E7EF),\n reinterpret(0x3FF1A00011AC36E1), reinterpret(0x3C9C000A0516F5FF),\n reinterpret(0x3FF1E00019C84248), reinterpret(0xBC9082FBE4DA5DA0),\n reinterpret(0x3FF220000FFE5E6E), reinterpret(0xBC88FDD04C9CFB43),\n reinterpret(0x3FF26000269FD891), reinterpret(0x3C8CFE2A7994D182),\n reinterpret(0x3FF2A00029A6E6DA), reinterpret(0xBC700273715E8BC5),\n reinterpret(0x3FF2DFFFE0293E39), reinterpret(0x3C9B7C39DAB2A6F9),\n reinterpret(0x3FF31FFFF7DCF082), reinterpret(0x3C7DF1336EDC5254),\n reinterpret(0x3FF35FFFF05A8B60), reinterpret(0xBC9E03564CCD31EB),\n reinterpret(0x3FF3A0002E0EAECC), reinterpret(0x3C75F0E74BD3A477),\n reinterpret(0x3FF3E000043BB236), reinterpret(0x3C9C7DCB149D8833),\n reinterpret(0x3FF4200002D187FF), reinterpret(0x3C7E08AFCF2D3D28),\n reinterpret(0x3FF460000D387CB1), reinterpret(0x3C820837856599A6),\n reinterpret(0x3FF4A00004569F89), reinterpret(0xBC89FA5C904FBCD2),\n reinterpret(0x3FF4E000043543F3), reinterpret(0xBC781125ED175329),\n reinterpret(0x3FF51FFFCC027F0F), reinterpret(0x3C9883D8847754DC),\n reinterpret(0x3FF55FFFFD87B36F), reinterpret(0xBC8709E731D02807),\n reinterpret(0x3FF59FFFF21DF7BA), reinterpret(0x3C87F79F68727B02),\n reinterpret(0x3FF5DFFFEBFC3481), reinterpret(0xBC9180902E30E93E)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log2_lut(x: f64): f64 {\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\n\n const\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\n\n const\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n const\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\n\n const\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n // #if __FP_FAST_FMA\n // hi = r * InvLn2hi;\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\n // #else\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let hi = rhi * InvLn2hi;\n let lo = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n let r2 = r * r; // rounding error: 0x1p-62\n let r4 = r2 * r2;\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\n let p = r2 * (B0 + r * B1);\n let y = hi + p;\n lo += hi - y + p;\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\n return y + lo;\n }\n var top = (ix >> 48);\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan.\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & 0xFFF0000000000000);\n\n var invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n var kd = k;\n\n // log2(x) = log2(z/c) + log2(c) + k.\n // r ~= z/c - 1, |r| < 1/(2*N).\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N.\n // \tr = __builtin_fma(z, invc, -1.0);\n // \tt1 = r * InvLn2hi;\n // \tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-65.\n var chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\n var clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\n\n var r = (z - chi - clo) * invc;\n var rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n var rlo = r - rhi;\n var t1 = rhi * InvLn2hi;\n var t2 = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n\n // hi + lo = r/ln2 + log2(c) + k\n var t3 = kd + logc;\n var hi = t3 + t1;\n var lo = t3 - hi + t1 + t2;\n\n // log2(r+1) = r/ln2 + r^2*poly(r)\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\n var p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\n return lo + r2 * p + hi;\n}\n\n//\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p9 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\n\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF734F0C3E0DE9F), reinterpret(0xBFD7CC7F79E69000),\n reinterpret(0x3FF713786A2CE91F), reinterpret(0xBFD76FEEC20D0000),\n reinterpret(0x3FF6F26008FAB5A0), reinterpret(0xBFD713E31351E000),\n reinterpret(0x3FF6D1A61F138C7D), reinterpret(0xBFD6B85B38287800),\n reinterpret(0x3FF6B1490BC5B4D1), reinterpret(0xBFD65D5590807800),\n reinterpret(0x3FF69147332F0CBA), reinterpret(0xBFD602D076180000),\n reinterpret(0x3FF6719F18224223), reinterpret(0xBFD5A8CA86909000),\n reinterpret(0x3FF6524F99A51ED9), reinterpret(0xBFD54F4356035000),\n reinterpret(0x3FF63356AA8F24C4), reinterpret(0xBFD4F637C36B4000),\n reinterpret(0x3FF614B36B9DDC14), reinterpret(0xBFD49DA7FDA85000),\n reinterpret(0x3FF5F66452C65C4C), reinterpret(0xBFD445923989A800),\n reinterpret(0x3FF5D867B5912C4F), reinterpret(0xBFD3EDF439B0B800),\n reinterpret(0x3FF5BABCCB5B90DE), reinterpret(0xBFD396CE448F7000),\n reinterpret(0x3FF59D61F2D91A78), reinterpret(0xBFD3401E17BDA000),\n reinterpret(0x3FF5805612465687), reinterpret(0xBFD2E9E2EF468000),\n reinterpret(0x3FF56397CEE76BD3), reinterpret(0xBFD2941B3830E000),\n reinterpret(0x3FF54725E2A77F93), reinterpret(0xBFD23EC58CDA8800),\n reinterpret(0x3FF52AFF42064583), reinterpret(0xBFD1E9E129279000),\n reinterpret(0x3FF50F22DBB2BDDF), reinterpret(0xBFD1956D2B48F800),\n reinterpret(0x3FF4F38F4734DED7), reinterpret(0xBFD141679AB9F800),\n reinterpret(0x3FF4D843CFDE2840), reinterpret(0xBFD0EDD094EF9800),\n reinterpret(0x3FF4BD3EC078A3C8), reinterpret(0xBFD09AA518DB1000),\n reinterpret(0x3FF4A27FC3E0258A), reinterpret(0xBFD047E65263B800),\n reinterpret(0x3FF4880524D48434), reinterpret(0xBFCFEB224586F000),\n reinterpret(0x3FF46DCE1B192D0B), reinterpret(0xBFCF474A7517B000),\n reinterpret(0x3FF453D9D3391854), reinterpret(0xBFCEA4443D103000),\n reinterpret(0x3FF43A2744B4845A), reinterpret(0xBFCE020D44E9B000),\n reinterpret(0x3FF420B54115F8FB), reinterpret(0xBFCD60A22977F000),\n reinterpret(0x3FF40782DA3EF4B1), reinterpret(0xBFCCC00104959000),\n reinterpret(0x3FF3EE8F5D57FE8F), reinterpret(0xBFCC202956891000),\n reinterpret(0x3FF3D5D9A00B4CE9), reinterpret(0xBFCB81178D811000),\n reinterpret(0x3FF3BD60C010C12B), reinterpret(0xBFCAE2C9CCD3D000),\n reinterpret(0x3FF3A5242B75DAB8), reinterpret(0xBFCA45402E129000),\n reinterpret(0x3FF38D22CD9FD002), reinterpret(0xBFC9A877681DF000),\n reinterpret(0x3FF3755BC5847A1C), reinterpret(0xBFC90C6D69483000),\n reinterpret(0x3FF35DCE49AD36E2), reinterpret(0xBFC87120A645C000),\n reinterpret(0x3FF34679984DD440), reinterpret(0xBFC7D68FB4143000),\n reinterpret(0x3FF32F5CCEFFCB24), reinterpret(0xBFC73CB83C627000),\n reinterpret(0x3FF3187775A10D49), reinterpret(0xBFC6A39A9B376000),\n reinterpret(0x3FF301C8373E3990), reinterpret(0xBFC60B3154B7A000),\n reinterpret(0x3FF2EB4EBB95F841), reinterpret(0xBFC5737D76243000),\n reinterpret(0x3FF2D50A0219A9D1), reinterpret(0xBFC4DC7B8FC23000),\n reinterpret(0x3FF2BEF9A8B7FD2A), reinterpret(0xBFC4462C51D20000),\n reinterpret(0x3FF2A91C7A0C1BAB), reinterpret(0xBFC3B08ABC830000),\n reinterpret(0x3FF293726014B530), reinterpret(0xBFC31B996B490000),\n reinterpret(0x3FF27DFA5757A1F5), reinterpret(0xBFC2875490A44000),\n reinterpret(0x3FF268B39B1D3BBF), reinterpret(0xBFC1F3B9F879A000),\n reinterpret(0x3FF2539D838FF5BD), reinterpret(0xBFC160C8252CA000),\n reinterpret(0x3FF23EB7AAC9083B), reinterpret(0xBFC0CE7F57F72000),\n reinterpret(0x3FF22A012BA940B6), reinterpret(0xBFC03CDC49FEA000),\n reinterpret(0x3FF2157996CC4132), reinterpret(0xBFBF57BDBC4B8000),\n reinterpret(0x3FF201201DD2FC9B), reinterpret(0xBFBE370896404000),\n reinterpret(0x3FF1ECF4494D480B), reinterpret(0xBFBD17983EF94000),\n reinterpret(0x3FF1D8F5528F6569), reinterpret(0xBFBBF9674ED8A000),\n reinterpret(0x3FF1C52311577E7C), reinterpret(0xBFBADC79202F6000),\n reinterpret(0x3FF1B17C74CB26E9), reinterpret(0xBFB9C0C3E7288000),\n reinterpret(0x3FF19E010C2C1AB6), reinterpret(0xBFB8A646B372C000),\n reinterpret(0x3FF18AB07BB670BD), reinterpret(0xBFB78D01B3AC0000),\n reinterpret(0x3FF1778A25EFBCB6), reinterpret(0xBFB674F145380000),\n reinterpret(0x3FF1648D354C31DA), reinterpret(0xBFB55E0E6D878000),\n reinterpret(0x3FF151B990275FDD), reinterpret(0xBFB4485CDEA1E000),\n reinterpret(0x3FF13F0EA432D24C), reinterpret(0xBFB333D94D6AA000),\n reinterpret(0x3FF12C8B7210F9DA), reinterpret(0xBFB22079F8C56000),\n reinterpret(0x3FF11A3028ECB531), reinterpret(0xBFB10E4698622000),\n reinterpret(0x3FF107FBDA8434AF), reinterpret(0xBFAFFA6C6AD20000),\n reinterpret(0x3FF0F5EE0F4E6BB3), reinterpret(0xBFADDA8D4A774000),\n reinterpret(0x3FF0E4065D2A9FCE), reinterpret(0xBFABBCECE4850000),\n reinterpret(0x3FF0D244632CA521), reinterpret(0xBFA9A1894012C000),\n reinterpret(0x3FF0C0A77CE2981A), reinterpret(0xBFA788583302C000),\n reinterpret(0x3FF0AF2F83C636D1), reinterpret(0xBFA5715E67D68000),\n reinterpret(0x3FF09DDB98A01339), reinterpret(0xBFA35C8A49658000),\n reinterpret(0x3FF08CABAF52E7DF), reinterpret(0xBFA149E364154000),\n reinterpret(0x3FF07B9F2F4E28FB), reinterpret(0xBF9E72C082EB8000),\n reinterpret(0x3FF06AB58C358F19), reinterpret(0xBF9A55F152528000),\n reinterpret(0x3FF059EEA5ECF92C), reinterpret(0xBF963D62CF818000),\n reinterpret(0x3FF04949CDD12C90), reinterpret(0xBF9228FB8CAA0000),\n reinterpret(0x3FF038C6C6F0ADA9), reinterpret(0xBF8C317B20F90000),\n reinterpret(0x3FF02865137932A9), reinterpret(0xBF8419355DAA0000),\n reinterpret(0x3FF0182427EA7348), reinterpret(0xBF781203C2EC0000),\n reinterpret(0x3FF008040614B195), reinterpret(0xBF60040979240000),\n reinterpret(0x3FEFE01FF726FA1A), reinterpret(0x3F6FEFF384900000),\n reinterpret(0x3FEFA11CC261EA74), reinterpret(0x3F87DC41353D0000),\n reinterpret(0x3FEF6310B081992E), reinterpret(0x3F93CEA3C4C28000),\n reinterpret(0x3FEF25F63CEEADCD), reinterpret(0x3F9B9FC114890000),\n reinterpret(0x3FEEE9C8039113E7), reinterpret(0x3FA1B0D8CE110000),\n reinterpret(0x3FEEAE8078CBB1AB), reinterpret(0x3FA58A5BD001C000),\n reinterpret(0x3FEE741AA29D0C9B), reinterpret(0x3FA95C8340D88000),\n reinterpret(0x3FEE3A91830A99B5), reinterpret(0x3FAD276AEF578000),\n reinterpret(0x3FEE01E009609A56), reinterpret(0x3FB07598E598C000),\n reinterpret(0x3FEDCA01E577BB98), reinterpret(0x3FB253F5E30D2000),\n reinterpret(0x3FED92F20B7C9103), reinterpret(0x3FB42EDD8B380000),\n reinterpret(0x3FED5CAC66FB5CCE), reinterpret(0x3FB606598757C000),\n reinterpret(0x3FED272CAA5EDE9D), reinterpret(0x3FB7DA76356A0000),\n reinterpret(0x3FECF26E3E6B2CCD), reinterpret(0x3FB9AB434E1C6000),\n reinterpret(0x3FECBE6DA2A77902), reinterpret(0x3FBB78C7BB0D6000),\n reinterpret(0x3FEC8B266D37086D), reinterpret(0x3FBD431332E72000),\n reinterpret(0x3FEC5894BD5D5804), reinterpret(0x3FBF0A3171DE6000),\n reinterpret(0x3FEC26B533BB9F8C), reinterpret(0x3FC067152B914000),\n reinterpret(0x3FEBF583EEECE73F), reinterpret(0x3FC147858292B000),\n reinterpret(0x3FEBC4FD75DB96C1), reinterpret(0x3FC2266ECDCA3000),\n reinterpret(0x3FEB951E0C864A28), reinterpret(0x3FC303D7A6C55000),\n reinterpret(0x3FEB65E2C5EF3E2C), reinterpret(0x3FC3DFC33C331000),\n reinterpret(0x3FEB374867C9888B), reinterpret(0x3FC4BA366B7A8000),\n reinterpret(0x3FEB094B211D304A), reinterpret(0x3FC5933928D1F000),\n reinterpret(0x3FEADBE885F2EF7E), reinterpret(0x3FC66ACD2418F000),\n reinterpret(0x3FEAAF1D31603DA2), reinterpret(0x3FC740F8EC669000),\n reinterpret(0x3FEA82E63FD358A7), reinterpret(0x3FC815C0F51AF000),\n reinterpret(0x3FEA5740EF09738B), reinterpret(0x3FC8E92954F68000),\n reinterpret(0x3FEA2C2A90AB4B27), reinterpret(0x3FC9BB3602F84000),\n reinterpret(0x3FEA01A01393F2D1), reinterpret(0x3FCA8BED1C2C0000),\n reinterpret(0x3FE9D79F24DB3C1B), reinterpret(0x3FCB5B515C01D000),\n reinterpret(0x3FE9AE2505C7B190), reinterpret(0x3FCC2967CCBCC000),\n reinterpret(0x3FE9852EF297CE2F), reinterpret(0x3FCCF635D5486000),\n reinterpret(0x3FE95CBAEEA44B75), reinterpret(0x3FCDC1BD3446C000),\n reinterpret(0x3FE934C69DE74838), reinterpret(0x3FCE8C01B8CFE000),\n reinterpret(0x3FE90D4F2F6752E6), reinterpret(0x3FCF5509C0179000),\n reinterpret(0x3FE8E6528EFFD79D), reinterpret(0x3FD00E6C121FB800),\n reinterpret(0x3FE8BFCE9FCC007C), reinterpret(0x3FD071B80E93D000),\n reinterpret(0x3FE899C0DABEC30E), reinterpret(0x3FD0D46B9E867000),\n reinterpret(0x3FE87427AA2317FB), reinterpret(0x3FD13687334BD000),\n reinterpret(0x3FE84F00ACB39A08), reinterpret(0x3FD1980D67234800),\n reinterpret(0x3FE82A49E8653E55), reinterpret(0x3FD1F8FFE0CC8000),\n reinterpret(0x3FE8060195F40260), reinterpret(0x3FD2595FD7636800),\n reinterpret(0x3FE7E22563E0A329), reinterpret(0x3FD2B9300914A800),\n reinterpret(0x3FE7BEB377DCB5AD), reinterpret(0x3FD3187210436000),\n reinterpret(0x3FE79BAA679725C2), reinterpret(0x3FD377266DEC1800),\n reinterpret(0x3FE77907F2170657), reinterpret(0x3FD3D54FFBAF3000),\n reinterpret(0x3FE756CADBD6130C), reinterpret(0x3FD432EEE32FE000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE61000014FB66B), reinterpret(0x3C7E026C91425B3C),\n reinterpret(0x3FE63000034DB495), reinterpret(0x3C8DBFEA48005D41),\n reinterpret(0x3FE650000D94D478), reinterpret(0x3C8E7FA786D6A5B7),\n reinterpret(0x3FE67000074E6FAD), reinterpret(0x3C61FCEA6B54254C),\n reinterpret(0x3FE68FFFFEDF0FAE), reinterpret(0xBC7C7E274C590EFD),\n reinterpret(0x3FE6B0000763C5BC), reinterpret(0xBC8AC16848DCDA01),\n reinterpret(0x3FE6D0001E5CC1F6), reinterpret(0x3C833F1C9D499311),\n reinterpret(0x3FE6EFFFEB05F63E), reinterpret(0xBC7E80041AE22D53),\n reinterpret(0x3FE710000E869780), reinterpret(0x3C7BFF6671097952),\n reinterpret(0x3FE72FFFFC67E912), reinterpret(0x3C8C00E226BD8724),\n reinterpret(0x3FE74FFFDF81116A), reinterpret(0xBC6E02916EF101D2),\n reinterpret(0x3FE770000F679C90), reinterpret(0xBC67FC71CD549C74),\n reinterpret(0x3FE78FFFFA7EC835), reinterpret(0x3C81BEC19EF50483),\n reinterpret(0x3FE7AFFFFE20C2E6), reinterpret(0xBC707E1729CC6465),\n reinterpret(0x3FE7CFFFED3FC900), reinterpret(0xBC808072087B8B1C),\n reinterpret(0x3FE7EFFFE9261A76), reinterpret(0x3C8DC0286D9DF9AE),\n reinterpret(0x3FE81000049CA3E8), reinterpret(0x3C897FD251E54C33),\n reinterpret(0x3FE8300017932C8F), reinterpret(0xBC8AFEE9B630F381),\n reinterpret(0x3FE850000633739C), reinterpret(0x3C89BFBF6B6535BC),\n reinterpret(0x3FE87000204289C6), reinterpret(0xBC8BBF65F3117B75),\n reinterpret(0x3FE88FFFEBF57904), reinterpret(0xBC89006EA23DCB57),\n reinterpret(0x3FE8B00022BC04DF), reinterpret(0xBC7D00DF38E04B0A),\n reinterpret(0x3FE8CFFFE50C1B8A), reinterpret(0xBC88007146FF9F05),\n reinterpret(0x3FE8EFFFFC918E43), reinterpret(0x3C83817BD07A7038),\n reinterpret(0x3FE910001EFA5FC7), reinterpret(0x3C893E9176DFB403),\n reinterpret(0x3FE9300013467BB9), reinterpret(0x3C7F804E4B980276),\n reinterpret(0x3FE94FFFE6EE076F), reinterpret(0xBC8F7EF0D9FF622E),\n reinterpret(0x3FE96FFFDE3C12D1), reinterpret(0xBC7082AA962638BA),\n reinterpret(0x3FE98FFFF4458A0D), reinterpret(0xBC87801B9164A8EF),\n reinterpret(0x3FE9AFFFDD982E3E), reinterpret(0xBC8740E08A5A9337),\n reinterpret(0x3FE9CFFFED49FB66), reinterpret(0x3C3FCE08C19BE000),\n reinterpret(0x3FE9F00020F19C51), reinterpret(0xBC8A3FAA27885B0A),\n reinterpret(0x3FEA10001145B006), reinterpret(0x3C74FF489958DA56),\n reinterpret(0x3FEA300007BBF6FA), reinterpret(0x3C8CBEAB8A2B6D18),\n reinterpret(0x3FEA500010971D79), reinterpret(0x3C88FECADD787930),\n reinterpret(0x3FEA70001DF52E48), reinterpret(0xBC8F41763DD8ABDB),\n reinterpret(0x3FEA90001C593352), reinterpret(0xBC8EBF0284C27612),\n reinterpret(0x3FEAB0002A4F3E4B), reinterpret(0xBC69FD043CFF3F5F),\n reinterpret(0x3FEACFFFD7AE1ED1), reinterpret(0xBC823EE7129070B4),\n reinterpret(0x3FEAEFFFEE510478), reinterpret(0x3C6A063EE00EDEA3),\n reinterpret(0x3FEB0FFFDB650D5B), reinterpret(0x3C5A06C8381F0AB9),\n reinterpret(0x3FEB2FFFFEAACA57), reinterpret(0xBC79011E74233C1D),\n reinterpret(0x3FEB4FFFD995BADC), reinterpret(0xBC79FF1068862A9F),\n reinterpret(0x3FEB7000249E659C), reinterpret(0x3C8AFF45D0864F3E),\n reinterpret(0x3FEB8FFFF9871640), reinterpret(0x3C7CFE7796C2C3F9),\n reinterpret(0x3FEBAFFFD204CB4F), reinterpret(0xBC63FF27EEF22BC4),\n reinterpret(0x3FEBCFFFD2415C45), reinterpret(0xBC6CFFB7EE3BEA21),\n reinterpret(0x3FEBEFFFF86309DF), reinterpret(0xBC814103972E0B5C),\n reinterpret(0x3FEC0FFFE1B57653), reinterpret(0x3C8BC16494B76A19),\n reinterpret(0x3FEC2FFFF1FA57E3), reinterpret(0xBC64FEEF8D30C6ED),\n reinterpret(0x3FEC4FFFDCBFE424), reinterpret(0xBC843F68BCEC4775),\n reinterpret(0x3FEC6FFFED54B9F7), reinterpret(0x3C847EA3F053E0EC),\n reinterpret(0x3FEC8FFFEB998FD5), reinterpret(0x3C7383068DF992F1),\n reinterpret(0x3FECB0002125219A), reinterpret(0xBC68FD8E64180E04),\n reinterpret(0x3FECCFFFDD94469C), reinterpret(0x3C8E7EBE1CC7EA72),\n reinterpret(0x3FECEFFFEAFDC476), reinterpret(0x3C8EBE39AD9F88FE),\n reinterpret(0x3FED1000169AF82B), reinterpret(0x3C757D91A8B95A71),\n reinterpret(0x3FED30000D0FF71D), reinterpret(0x3C89C1906970C7DA),\n reinterpret(0x3FED4FFFEA790FC4), reinterpret(0xBC580E37C558FE0C),\n reinterpret(0x3FED70002EDC87E5), reinterpret(0xBC7F80D64DC10F44),\n reinterpret(0x3FED900021DC82AA), reinterpret(0xBC747C8F94FD5C5C),\n reinterpret(0x3FEDAFFFD86B0283), reinterpret(0x3C8C7F1DC521617E),\n reinterpret(0x3FEDD000296C4739), reinterpret(0x3C88019EB2FFB153),\n reinterpret(0x3FEDEFFFE54490F5), reinterpret(0x3C6E00D2C652CC89),\n reinterpret(0x3FEE0FFFCDABF694), reinterpret(0xBC7F8340202D69D2),\n reinterpret(0x3FEE2FFFDB52C8DD), reinterpret(0x3C7B00C1CA1B0864),\n reinterpret(0x3FEE4FFFF24216EF), reinterpret(0x3C72FFA8B094AB51),\n reinterpret(0x3FEE6FFFE88A5E11), reinterpret(0xBC57F673B1EFBE59),\n reinterpret(0x3FEE9000119EFF0D), reinterpret(0xBC84808D5E0BC801),\n reinterpret(0x3FEEAFFFDFA51744), reinterpret(0x3C780006D54320B5),\n reinterpret(0x3FEED0001A127FA1), reinterpret(0xBC5002F860565C92),\n reinterpret(0x3FEEF00007BABCC4), reinterpret(0xBC8540445D35E611),\n reinterpret(0x3FEF0FFFF57A8D02), reinterpret(0xBC4FFB3139EF9105),\n reinterpret(0x3FEF30001EE58AC7), reinterpret(0x3C8A81ACF2731155),\n reinterpret(0x3FEF4FFFF5823494), reinterpret(0x3C8A3F41D4D7C743),\n reinterpret(0x3FEF6FFFFCA94C6B), reinterpret(0xBC6202F41C987875),\n reinterpret(0x3FEF8FFFE1F9C441), reinterpret(0x3C777DD1F477E74B),\n reinterpret(0x3FEFAFFFD2E0E37E), reinterpret(0xBC6F01199A7CA331),\n reinterpret(0x3FEFD0001C77E49E), reinterpret(0x3C7181EE4BCEACB1),\n reinterpret(0x3FEFEFFFF7E0C331), reinterpret(0xBC6E05370170875A),\n reinterpret(0x3FF00FFFF465606E), reinterpret(0xBC8A7EAD491C0ADA),\n reinterpret(0x3FF02FFFF3867A58), reinterpret(0xBC977F69C3FCB2E0),\n reinterpret(0x3FF04FFFFDFC0D17), reinterpret(0x3C97BFFE34CB945B),\n reinterpret(0x3FF0700003CD4D82), reinterpret(0x3C820083C0E456CB),\n reinterpret(0x3FF08FFFF9F2CBE8), reinterpret(0xBC6DFFDFBE37751A),\n reinterpret(0x3FF0B000010CDA65), reinterpret(0xBC913F7FAEE626EB),\n reinterpret(0x3FF0D00001A4D338), reinterpret(0x3C807DFA79489FF7),\n reinterpret(0x3FF0EFFFFADAFDFD), reinterpret(0xBC77040570D66BC0),\n reinterpret(0x3FF110000BBAFD96), reinterpret(0x3C8E80D4846D0B62),\n reinterpret(0x3FF12FFFFAE5F45D), reinterpret(0x3C9DBFFA64FD36EF),\n reinterpret(0x3FF150000DD59AD9), reinterpret(0x3C9A0077701250AE),\n reinterpret(0x3FF170000F21559A), reinterpret(0x3C8DFDF9E2E3DEEE),\n reinterpret(0x3FF18FFFFC275426), reinterpret(0x3C910030DC3B7273),\n reinterpret(0x3FF1B000123D3C59), reinterpret(0x3C997F7980030188),\n reinterpret(0x3FF1CFFFF8299EB7), reinterpret(0xBC65F932AB9F8C67),\n reinterpret(0x3FF1EFFFF48AD400), reinterpret(0x3C937FBF9DA75BEB),\n reinterpret(0x3FF210000C8B86A4), reinterpret(0x3C9F806B91FD5B22),\n reinterpret(0x3FF2300003854303), reinterpret(0x3C93FFC2EB9FBF33),\n reinterpret(0x3FF24FFFFFBCF684), reinterpret(0x3C7601E77E2E2E72),\n reinterpret(0x3FF26FFFF52921D9), reinterpret(0x3C7FFCBB767F0C61),\n reinterpret(0x3FF2900014933A3C), reinterpret(0xBC7202CA3C02412B),\n reinterpret(0x3FF2B00014556313), reinterpret(0xBC92808233F21F02),\n reinterpret(0x3FF2CFFFEBFE523B), reinterpret(0xBC88FF7E384FDCF2),\n reinterpret(0x3FF2F0000BB8AD96), reinterpret(0xBC85FF51503041C5),\n reinterpret(0x3FF30FFFFB7AE2AF), reinterpret(0xBC810071885E289D),\n reinterpret(0x3FF32FFFFEAC5F7F), reinterpret(0xBC91FF5D3FB7B715),\n reinterpret(0x3FF350000CA66756), reinterpret(0x3C957F82228B82BD),\n reinterpret(0x3FF3700011FBF721), reinterpret(0x3C8000BAC40DD5CC),\n reinterpret(0x3FF38FFFF9592FB9), reinterpret(0xBC943F9D2DB2A751),\n reinterpret(0x3FF3B00004DDD242), reinterpret(0x3C857F6B707638E1),\n reinterpret(0x3FF3CFFFF5B2C957), reinterpret(0x3C7A023A10BF1231),\n reinterpret(0x3FF3EFFFEAB0B418), reinterpret(0x3C987F6D66B152B0),\n reinterpret(0x3FF410001532AFF4), reinterpret(0x3C67F8375F198524),\n reinterpret(0x3FF4300017478B29), reinterpret(0x3C8301E672DC5143),\n reinterpret(0x3FF44FFFE795B463), reinterpret(0x3C89FF69B8B2895A),\n reinterpret(0x3FF46FFFE80475E0), reinterpret(0xBC95C0B19BC2F254),\n reinterpret(0x3FF48FFFEF6FC1E7), reinterpret(0x3C9B4009F23A2A72),\n reinterpret(0x3FF4AFFFE5BEA704), reinterpret(0xBC94FFB7BF0D7D45),\n reinterpret(0x3FF4D000171027DE), reinterpret(0xBC99C06471DC6A3D),\n reinterpret(0x3FF4F0000FF03EE2), reinterpret(0x3C977F890B85531C),\n reinterpret(0x3FF5100012DC4BD1), reinterpret(0x3C6004657166A436),\n reinterpret(0x3FF530001605277A), reinterpret(0xBC96BFCECE233209),\n reinterpret(0x3FF54FFFECDB704C), reinterpret(0xBC8902720505A1D7),\n reinterpret(0x3FF56FFFEF5F54A9), reinterpret(0x3C9BBFE60EC96412),\n reinterpret(0x3FF5900017E61012), reinterpret(0x3C887EC581AFEF90),\n reinterpret(0x3FF5B00003C93E92), reinterpret(0xBC9F41080ABF0CC0),\n reinterpret(0x3FF5D0001D4919BC), reinterpret(0xBC98812AFB254729),\n reinterpret(0x3FF5EFFFE7B87A89), reinterpret(0xBC947EB780ED6904)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log_lut(x: f64): f64 {\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\n\n const\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\n\n const\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\n\n const\n LO: u64 = 0x3FEE000000000000,\n HI: u64 = 0x3FF1090000000000;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n let r2 = r * r;\n let r3 = r2 * r;\n let y =\n r3 * (B1 + r * B2 + r2 * B3 +\n r3 * (B4 + r * B5 + r2 * B6 +\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\n // Worst-case error is around 0.507 ULP\n let w = r * Ox1p27;\n let rhi = r + w - w;\n let rlo = r - rhi;\n w = rhi * rhi * B0; // B[0] == -0.5\n let hi = r + w;\n let lo = r - hi + w;\n lo += B0 * rlo * (rhi + r);\n return y + lo + hi;\n }\n var top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & (u64(0xFFF) << 52));\n\n var invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\n // r ~= z/c - 1, |r| < 1/(2*N)\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N\n // \tr = __builtin_fma(z, invc, -1.0);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-66\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\n var r = (z - chi - clo) * invc;\n // #endif\n var kd = k;\n\n // hi + lo = r + log(c) + k*Ln2\n var w = kd * Ln2hi + logc;\n var hi = w + r;\n var lo = w - hi + r + kd * Ln2lo;\n\n // log(x) = lo + (log1p(r) - r) + hi\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst case error if |y| > 0x1p-5:\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\n // Worst case error if |y| > 0x1p-4:\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\n}\n\n//\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\n//\n\n// @ts-ignore: decorator\n@inline const POW_LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\nand z falls into the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = round(0x1p43*log(c))/0x1p43\n tab[i].logctail = (double)(log(c) - logc)\n\nwhere c is chosen near the center of the subinterval such that 1/c has only a\nfew precision bits so z/c - 1 is exactly representible as double:\n\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\n\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\nerror and the interval for z is selected such that near x == 1, where log(x)\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\n\n// @ts-ignore: decorator\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\n // invc ,pad, logc , logctail\n reinterpret(0x3FF6A00000000000), 0, reinterpret(0xBFD62C82F2B9C800), reinterpret(0x3CFAB42428375680),\n reinterpret(0x3FF6800000000000), 0, reinterpret(0xBFD5D1BDBF580800), reinterpret(0xBD1CA508D8E0F720),\n reinterpret(0x3FF6600000000000), 0, reinterpret(0xBFD5767717455800), reinterpret(0xBD2362A4D5B6506D),\n reinterpret(0x3FF6400000000000), 0, reinterpret(0xBFD51AAD872DF800), reinterpret(0xBCE684E49EB067D5),\n reinterpret(0x3FF6200000000000), 0, reinterpret(0xBFD4BE5F95777800), reinterpret(0xBD041B6993293EE0),\n reinterpret(0x3FF6000000000000), 0, reinterpret(0xBFD4618BC21C6000), reinterpret(0x3D13D82F484C84CC),\n reinterpret(0x3FF5E00000000000), 0, reinterpret(0xBFD404308686A800), reinterpret(0x3CDC42F3ED820B3A),\n reinterpret(0x3FF5C00000000000), 0, reinterpret(0xBFD3A64C55694800), reinterpret(0x3D20B1C686519460),\n reinterpret(0x3FF5A00000000000), 0, reinterpret(0xBFD347DD9A988000), reinterpret(0x3D25594DD4C58092),\n reinterpret(0x3FF5800000000000), 0, reinterpret(0xBFD2E8E2BAE12000), reinterpret(0x3D267B1E99B72BD8),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5400000000000), 0, reinterpret(0xBFD22941FBCF7800), reinterpret(0xBD165A242853DA76),\n reinterpret(0x3FF5200000000000), 0, reinterpret(0xBFD1C898C1699800), reinterpret(0xBD1FAFBC68E75404),\n reinterpret(0x3FF5000000000000), 0, reinterpret(0xBFD1675CABABA800), reinterpret(0x3D1F1FC63382A8F0),\n reinterpret(0x3FF4E00000000000), 0, reinterpret(0xBFD1058BF9AE4800), reinterpret(0xBD26A8C4FD055A66),\n reinterpret(0x3FF4C00000000000), 0, reinterpret(0xBFD0A324E2739000), reinterpret(0xBD0C6BEE7EF4030E),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4800000000000), 0, reinterpret(0xBFCFB9186D5E4000), reinterpret(0x3D0D572AAB993C87),\n reinterpret(0x3FF4600000000000), 0, reinterpret(0xBFCEF0ADCBDC6000), reinterpret(0x3D2B26B79C86AF24),\n reinterpret(0x3FF4400000000000), 0, reinterpret(0xBFCE27076E2AF000), reinterpret(0xBD172F4F543FFF10),\n reinterpret(0x3FF4200000000000), 0, reinterpret(0xBFCD5C216B4FC000), reinterpret(0x3D21BA91BBCA681B),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF3E00000000000), 0, reinterpret(0xBFCBC286742D9000), reinterpret(0x3D194EB0318BB78F),\n reinterpret(0x3FF3C00000000000), 0, reinterpret(0xBFCAF3C94E80C000), reinterpret(0x3CBA4E633FCD9066),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3800000000000), 0, reinterpret(0xBFC9525A9CF45000), reinterpret(0xBD2AD1D904C1D4E3),\n reinterpret(0x3FF3600000000000), 0, reinterpret(0xBFC87FA06520D000), reinterpret(0x3D2BBDBF7FDBFA09),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3200000000000), 0, reinterpret(0xBFC6D60FE719D000), reinterpret(0xBD10E46AA3B2E266),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF2E00000000000), 0, reinterpret(0xBFC526E5E3A1B000), reinterpret(0xBD20DE8B90075B8F),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2A00000000000), 0, reinterpret(0xBFC371FC201E9000), reinterpret(0x3CF178864D27543A),\n reinterpret(0x3FF2800000000000), 0, reinterpret(0xBFC29552F81FF000), reinterpret(0xBD248D301771C408),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2200000000000), 0, reinterpret(0xBFBFEC9131DBE000), reinterpret(0xBD2575545CA333F2),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF1E00000000000), 0, reinterpret(0xBFBC5E548F5BC000), reinterpret(0xBD1D0C57585FBE06),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1800000000000), 0, reinterpret(0xBFB6F0D28AE56000), reinterpret(0xBD269737C93373DA),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1200000000000), 0, reinterpret(0xBFB16536EEA38000), reinterpret(0x3D147C5E768FA309),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0600000000000), 0, reinterpret(0xBF97B91B07D58000), reinterpret(0xBD288D5493FAA639),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FEFC00000000000), 0, reinterpret(0x3F80101575890000), reinterpret(0xBD10C76B999D2BE8),\n reinterpret(0x3FEF800000000000), 0, reinterpret(0x3F90205658938000), reinterpret(0xBD23DC5B06E2F7D2),\n reinterpret(0x3FEF400000000000), 0, reinterpret(0x3F98492528C90000), reinterpret(0xBD2AA0BA325A0C34),\n reinterpret(0x3FEF000000000000), 0, reinterpret(0x3FA0415D89E74000), reinterpret(0x3D0111C05CF1D753),\n reinterpret(0x3FEEC00000000000), 0, reinterpret(0x3FA466AED42E0000), reinterpret(0xBD2C167375BDFD28),\n reinterpret(0x3FEE800000000000), 0, reinterpret(0x3FA894AA149FC000), reinterpret(0xBD197995D05A267D),\n reinterpret(0x3FEE400000000000), 0, reinterpret(0x3FACCB73CDDDC000), reinterpret(0xBD1A68F247D82807),\n reinterpret(0x3FEE200000000000), 0, reinterpret(0x3FAEEA31C006C000), reinterpret(0xBD0E113E4FC93B7B),\n reinterpret(0x3FEDE00000000000), 0, reinterpret(0x3FB1973BD1466000), reinterpret(0xBD25325D560D9E9B),\n reinterpret(0x3FEDA00000000000), 0, reinterpret(0x3FB3BDF5A7D1E000), reinterpret(0x3D2CC85EA5DB4ED7),\n reinterpret(0x3FED600000000000), 0, reinterpret(0x3FB5E95A4D97A000), reinterpret(0xBD2C69063C5D1D1E),\n reinterpret(0x3FED400000000000), 0, reinterpret(0x3FB700D30AEAC000), reinterpret(0x3CEC1E8DA99DED32),\n reinterpret(0x3FED000000000000), 0, reinterpret(0x3FB9335E5D594000), reinterpret(0x3D23115C3ABD47DA),\n reinterpret(0x3FECC00000000000), 0, reinterpret(0x3FBB6AC88DAD6000), reinterpret(0xBD1390802BF768E5),\n reinterpret(0x3FECA00000000000), 0, reinterpret(0x3FBC885801BC4000), reinterpret(0x3D2646D1C65AACD3),\n reinterpret(0x3FEC600000000000), 0, reinterpret(0x3FBEC739830A2000), reinterpret(0xBD2DC068AFE645E0),\n reinterpret(0x3FEC400000000000), 0, reinterpret(0x3FBFE89139DBE000), reinterpret(0xBD2534D64FA10AFD),\n reinterpret(0x3FEC000000000000), 0, reinterpret(0x3FC1178E8227E000), reinterpret(0x3D21EF78CE2D07F2),\n reinterpret(0x3FEBE00000000000), 0, reinterpret(0x3FC1AA2B7E23F000), reinterpret(0x3D2CA78E44389934),\n reinterpret(0x3FEBA00000000000), 0, reinterpret(0x3FC2D1610C868000), reinterpret(0x3D039D6CCB81B4A1),\n reinterpret(0x3FEB800000000000), 0, reinterpret(0x3FC365FCB0159000), reinterpret(0x3CC62FA8234B7289),\n reinterpret(0x3FEB400000000000), 0, reinterpret(0x3FC4913D8333B000), reinterpret(0x3D25837954FDB678),\n reinterpret(0x3FEB200000000000), 0, reinterpret(0x3FC527E5E4A1B000), reinterpret(0x3D2633E8E5697DC7),\n reinterpret(0x3FEAE00000000000), 0, reinterpret(0x3FC6574EBE8C1000), reinterpret(0x3D19CF8B2C3C2E78),\n reinterpret(0x3FEAC00000000000), 0, reinterpret(0x3FC6F0128B757000), reinterpret(0xBD25118DE59C21E1),\n reinterpret(0x3FEAA00000000000), 0, reinterpret(0x3FC7898D85445000), reinterpret(0xBD1C661070914305),\n reinterpret(0x3FEA600000000000), 0, reinterpret(0x3FC8BEAFEB390000), reinterpret(0xBD073D54AAE92CD1),\n reinterpret(0x3FEA400000000000), 0, reinterpret(0x3FC95A5ADCF70000), reinterpret(0x3D07F22858A0FF6F),\n reinterpret(0x3FEA000000000000), 0, reinterpret(0x3FCA93ED3C8AE000), reinterpret(0xBD28724350562169),\n reinterpret(0x3FE9E00000000000), 0, reinterpret(0x3FCB31D8575BD000), reinterpret(0xBD0C358D4EACE1AA),\n reinterpret(0x3FE9C00000000000), 0, reinterpret(0x3FCBD087383BE000), reinterpret(0xBD2D4BC4595412B6),\n reinterpret(0x3FE9A00000000000), 0, reinterpret(0x3FCC6FFBC6F01000), reinterpret(0xBCF1EC72C5962BD2),\n reinterpret(0x3FE9600000000000), 0, reinterpret(0x3FCDB13DB0D49000), reinterpret(0xBD2AFF2AF715B035),\n reinterpret(0x3FE9400000000000), 0, reinterpret(0x3FCE530EFFE71000), reinterpret(0x3CC212276041F430),\n reinterpret(0x3FE9200000000000), 0, reinterpret(0x3FCEF5ADE4DD0000), reinterpret(0xBCCA211565BB8E11),\n reinterpret(0x3FE9000000000000), 0, reinterpret(0x3FCF991C6CB3B000), reinterpret(0x3D1BCBECCA0CDF30),\n reinterpret(0x3FE8C00000000000), 0, reinterpret(0x3FD07138604D5800), reinterpret(0x3CF89CDB16ED4E91),\n reinterpret(0x3FE8A00000000000), 0, reinterpret(0x3FD0C42D67616000), reinterpret(0x3D27188B163CEAE9),\n reinterpret(0x3FE8800000000000), 0, reinterpret(0x3FD1178E8227E800), reinterpret(0xBD2C210E63A5F01C),\n reinterpret(0x3FE8600000000000), 0, reinterpret(0x3FD16B5CCBACF800), reinterpret(0x3D2B9ACDF7A51681),\n reinterpret(0x3FE8400000000000), 0, reinterpret(0x3FD1BF99635A6800), reinterpret(0x3D2CA6ED5147BDB7),\n reinterpret(0x3FE8200000000000), 0, reinterpret(0x3FD214456D0EB800), reinterpret(0x3D0A87DEBA46BAEA),\n reinterpret(0x3FE7E00000000000), 0, reinterpret(0x3FD2BEF07CDC9000), reinterpret(0x3D2A9CFA4A5004F4),\n reinterpret(0x3FE7C00000000000), 0, reinterpret(0x3FD314F1E1D36000), reinterpret(0xBD28E27AD3213CB8),\n reinterpret(0x3FE7A00000000000), 0, reinterpret(0x3FD36B6776BE1000), reinterpret(0x3D116ECDB0F177C8),\n reinterpret(0x3FE7800000000000), 0, reinterpret(0x3FD3C25277333000), reinterpret(0x3D183B54B606BD5C),\n reinterpret(0x3FE7600000000000), 0, reinterpret(0x3FD419B423D5E800), reinterpret(0x3D08E436EC90E09D),\n reinterpret(0x3FE7400000000000), 0, reinterpret(0x3FD4718DC271C800), reinterpret(0xBD2F27CE0967D675),\n reinterpret(0x3FE7200000000000), 0, reinterpret(0x3FD4C9E09E173000), reinterpret(0xBD2E20891B0AD8A4),\n reinterpret(0x3FE7000000000000), 0, reinterpret(0x3FD522AE0738A000), reinterpret(0x3D2EBE708164C759),\n reinterpret(0x3FE6E00000000000), 0, reinterpret(0x3FD57BF753C8D000), reinterpret(0x3D1FADEDEE5D40EF),\n reinterpret(0x3FE6C00000000000), 0, reinterpret(0x3FD5D5BDDF596000), reinterpret(0xBD0A0B2A08A465DC)\n]);\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkint(iy: u64): i32 {\n var e = iy >> 52 & 0x7FF;\n if (e < 0x3FF ) return 0;\n if (e > 0x3FF + 52) return 2;\n e = u64(1) << (0x3FF + 52 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflow(sign: u32, y: f64): f64 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\n}\n\n// Returns 1 if input is the bit representation of 0, infinity or nan.\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnan(u: u64): bool {\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\n}\n\n// @ts-ignore: decorator\n@lazy var log_tail: f64 = 0;\n\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\n// additional 15 bits precision. IX is the bit representation of x, but\n// normalized in the subnormal range using the sign bit for the exponent.\n// @ts-ignore: decorator\n@inline\nfunction log_inline(ix: u64): f64 {\n const N = 1 << POW_LOG_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\n Ln2lo = reinterpret(0x3D2EF35793C76730);\n\n const\n A0 = reinterpret(0xBFE0000000000000),\n A1 = reinterpret(0xBFE5555555555560),\n A2 = reinterpret(0x3FE0000000000006),\n A3 = reinterpret(0x3FE999999959554E),\n A4 = reinterpret(0xBFE555555529A47A),\n A5 = reinterpret(0xBFF2495B9B4845E9),\n A6 = reinterpret(0x3FF0002B8B263FC3);\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3fE6955500000000;\n var i = ((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & u64(0xFFF) << 52);\n var z = reinterpret(iz);\n var kd = k;\n\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\n var invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\n var logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\n var logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\n\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\n var zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\n var zlo = z - zhi;\n var rhi = zhi * invc - 1.0;\n var rlo = zlo * invc;\n var r = rhi + rlo;\n\n // k * Ln2 + log(c) + r.\n var t1 = kd * Ln2hi + logc;\n var t2 = t1 + r;\n var lo1 = kd * Ln2lo + logctail;\n var lo2 = t1 - t2 + r;\n\n // Evaluation is optimized assuming superscalar pipelined execution.\n var ar = A0 * r; // A[0] = -0.5\n var ar2 = r * ar;\n var ar3 = r * ar2;\n // k * Ln2 + log(c) + r + A[0] * r * r.\n var arhi = A0 * rhi;\n var arhi2 = rhi * arhi;\n var hi = t2 + arhi2;\n var lo3 = rlo * (ar + arhi);\n var lo4 = t2 - hi + arhi2;\n\n // p = log1p(r) - r - A[0] * r * r.\n var p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\n var lo = lo1 + lo2 + lo3 + lo4 + p;\n var y = hi + lo;\n log_tail = hi - y + lo;\n\n return y;\n}\n\n// @ts-ignore: decorator\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\n\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\n// @ts-ignore: decorator\n@inline\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\n const N = 1 << EXP_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var abstop: u32;\n var ki: u64, top: u64, sbits: u64;\n var idx: usize;\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\n var kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\n\n var ux = reinterpret(x);\n abstop = (ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) {\n // Avoid spurious underflow for tiny x.\n // Note: 0 is common input.\n return select(-1.0, 1.0, sign_bias);\n }\n if (abstop >= 0x409) { // top12(1024.0)\n // Note: inf and nan are already handled.\n return ux >> 63 ? uflow(sign_bias) : oflow(sign_bias);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\n z = InvLn2N * x;\n\n // #if TOINT_INTRINSICS\n // kd = roundtoint(z);\n // ki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // kd = eval_as_double(z + shift);\n // ki = asuint64(kd) >> 16;\n // kd = (double_t)(int32_t)ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes\n kd = z + shift;\n ki = reinterpret(kd);\n kd -= shift;\n // #endif\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // The code assumes 2^-200 < |xtail| < 2^-8/N\n r += xtail;\n // 2^(k/N) ~= scale * (1 + tail)\n idx = ((ki & N_MASK) << 1);\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\n\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\n // This is only a valid scale when -1023*N < k < 1024*N\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function pow_lut(x: f64, y: f64): f64 {\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var sign_bias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var topx = ix >> 52;\n var topy = iy >> 52;\n\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\n // Special cases: (x < 0x1p-126 or inf or nan) or\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\n if (zeroinfnan(iy)) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\n return y * y;\n }\n if (zeroinfnan(ix)) {\n let x2 = x * x;\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\n return iy >> 63 ? 1 / x2 : x2;\n }\n // Here x and y are non-zero finite\n if (ix >> 63) {\n // Finite x < 0\n let yint = checkint(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) sign_bias = SIGN_BIAS;\n ix &= 0x7FFFFFFFFFFFFFFF;\n topx &= 0x7FF;\n }\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\n // Note: sign_bias == 0 here because y is not odd.\n if (ix == 0x3FF0000000000000) return 1;\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\n }\n if (topx == 0) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p52);\n ix &= 0x7FFFFFFFFFFFFFFF;\n ix -= u64(52) << 52;\n }\n }\n\n var hi = log_inline(ix);\n var lo = log_tail;\n var ehi: f64, elo: f64;\n // #if __FP_FAST_FMA\n // ehi = y * hi;\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\n // #else\n var yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\n var ylo = y - yhi;\n var lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\n var llo = hi - lhi + lo;\n ehi = yhi * lhi;\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\n // #endif\n return exp_inline(ehi, elo, sign_bias);\n}\n","import { itoa32, utoa32, itoa64, utoa64, dtoa, itoa_buffered, dtoa_buffered, MAX_DOUBLE_LENGTH } from \"./number\";\nimport { ipow32 } from \"../math\";\n\n// All tables are stored as two staged lookup tables (static tries)\n// because the full range of Unicode symbols can't be efficiently\n// represented as-is in memory (see Unicode spec ch 5, p.196):\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\n// Tables have been generated using these forked musl tools:\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\n\n// Lookup table to check if a character is alphanumeric or not\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\n// size: 3904 bytes\n// @ts-ignore\n@inline @lazy const ALPHA_TABLE = memory.data([\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\n 16,16,125,16,16,16,\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\n 31,254,225,255,\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\n 63,\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\n 255,\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\n 0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\n]);\n\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASED = memory.data([\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0\n]);\n\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASE_IGNORABLES = memory.data([\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,248\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOWER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 91,92,93,94,95,96,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 123,124,125,126,127\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const UPPER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 91,92,93,94,95,96,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 123,124,125,126,127\n]);\n\n// 23 * 8 = 184 bytes\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\n 1e20, 1e21, 1e22\n]);\n\n// @ts-ignore: decorator\n@inline\nexport const enum CharCode {\n PLUS = 0x2B,\n MINUS = 0x2D,\n DOT = 0x2E,\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n A = 0x41,\n B = 0x42,\n E = 0x45,\n I = 0x49,\n N = 0x4E,\n O = 0x4F,\n X = 0x58,\n Z = 0x5A,\n a = 0x61,\n b = 0x62,\n e = 0x65,\n n = 0x6E,\n o = 0x6F,\n x = 0x78,\n z = 0x7A\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isAscii(c: u32): bool {\n return !(c >> 7);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isLower8(c: u32): bool {\n return c - CharCode.a < 26;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isUpper8(c: u32): bool {\n return c - CharCode.A < 26;\n}\n\nexport function isSpace(c: u32): bool {\n if (c < 0x1680) { // < (1)\n // , , , , , and \n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\n // @ts-ignore: cast\n return ((c | 0x80) == 0xA0) | (c - 0x09 <= 0x0D - 0x09);\n }\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\n switch (c) {\n case 0x1680: // (1)\n case 0x2028: // (2)\n case 0x2029: // \n case 0x202F: // \n case 0x205F: // \n case 0x3000: // \n case 0xFEFF: return true; // \n }\n return false;\n}\n\nexport function isAlpha(c: u32): bool {\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\n if (c < 0x20000) {\n // @ts-ignore: cast\n return stagedBinaryLookup(ALPHA_TABLE, c);\n }\n return c < 0x2FFFE;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCased(c: u32): bool {\n // @ts-ignore: cast\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCaseIgnorable(c: u32): bool {\n // @ts-ignore: cast\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\n const lookaheadLimit = 30; // max lookahead limit\n var found = false;\n var pos = index;\n var minPos = max(0, pos - lookaheadLimit);\n while (pos > minPos) {\n let c = codePointBefore(buffer, pos);\n if (!isCaseIgnorable(c)) {\n if (isCased(c)) {\n found = true;\n } else {\n return false;\n }\n }\n pos -= isize(c >= 0x10000) + 1;\n }\n if (!found) return false;\n pos = index + 1;\n var maxPos = min(pos + lookaheadLimit, len);\n while (pos < maxPos) {\n let c = load(buffer + (pos << 1));\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\n let c1 = load(buffer + (pos << 1), 2);\n if ((c1 & 0xFC00) == 0xDC00) {\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\n }\n }\n if (!isCaseIgnorable(c)) {\n return !isCased(c);\n }\n pos += isize(c >= 0x10000) + 1;\n }\n return true;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction codePointBefore(buffer: usize, index: isize): i32 {\n if (index <= 0) return -1;\n var c = load(buffer + (index - 1 << 1));\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\n let c1 = load(buffer + (index - 2 << 1));\n if ((c1 & 0xFC00) == 0xD800) {\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\n }\n }\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\n}\n\n// Search routine for two-staged lookup tables\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\n}\n\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\n var ptr1 = changetype(str1) + (index1 << 1);\n var ptr2 = changetype(str2) + (index2 << 1);\n if (ASC_SHRINK_LEVEL < 2) {\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\n do {\n if (load(ptr1) != load(ptr2)) break;\n ptr1 += 8;\n ptr2 += 8;\n len -= 4;\n } while (len >= 4);\n }\n }\n while (len--) {\n let a = load(ptr1);\n let b = load(ptr2);\n if (a != b) return a - b;\n ptr1 += 2;\n ptr2 += 2;\n }\n return 0;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toLower8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c | u32(isUpper8(c)) << 5;\n } else {\n return load(LOWER127 + c);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toUpper8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c & ~(u32(isLower8(c)) << 5);\n } else {\n return load(UPPER127 + c);\n }\n}\n\n/** Parses a string to an integer (usually), using the specified radix. */\nexport function strtol(str: string, radix: i32 = 0): T {\n var len = str.length;\n if (!len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n\n var ptr = changetype(str) /* + HEAD -> offset */;\n var code = load(ptr);\n\n // trim white spaces\n while (isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n // determine sign\n // @ts-ignore\n var sign: T = 1;\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\n if (!--len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n if (code == CharCode.MINUS) {\n // @ts-ignore: type\n sign = -1;\n }\n code = load(ptr += 2);\n }\n\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\n if (radix) {\n if (radix < 2 || radix > 36) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n // handle case as parseInt(\"0xFF\", 16) by spec\n if (radix == 16) {\n if (\n len > 2 &&\n code == CharCode._0 &&\n (load(ptr, 2) | 32) == CharCode.x\n ) {\n ptr += 4; len -= 2;\n }\n }\n } else {\n // determine radix by literal prefix\n if (code == CharCode._0 && len > 2) {\n switch (load(ptr, 2) | 32) {\n case CharCode.b: {\n ptr += 4; len -= 2;\n radix = 2;\n break;\n }\n case CharCode.o: {\n ptr += 4; len -= 2;\n radix = 8;\n break;\n }\n case CharCode.x: {\n ptr += 4; len -= 2;\n radix = 16;\n break;\n }\n }\n }\n if (!radix) radix = 10;\n }\n\n // calculate value\n // @ts-ignore: type\n var num: T = 0;\n while (len--) {\n code = load(ptr);\n if (code - CharCode._0 < 10) {\n code -= CharCode._0;\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\n code -= CharCode.A - 10;\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\n code -= CharCode.a - 10;\n }\n if (code >= radix) {\n if (!num) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n break;\n }\n // @ts-ignore: type\n num = num * radix + code;\n ptr += 2;\n }\n // @ts-ignore: type\n return sign * num;\n}\n\nexport function strtod(str: string): f64 {\n var len = str.length;\n if (!len) return NaN;\n\n var ptr = changetype(str);\n var code = load(ptr);\n\n var sign = 1.0;\n // skip white spaces\n while (len && isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n if (!len) return NaN;\n\n // try parse '-' or '+'\n if (code == CharCode.MINUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n }\n\n // try parse Infinity\n if (len >= 8 && code == CharCode.I) {\n if (\n load(ptr, 0) == 0x690066006E0049 && // ifnI\n load(ptr, 8) == 0x7900740069006E // ytin\n ) {\n return Infinity * sign;\n }\n return NaN;\n }\n // validate next symbol\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\n return NaN;\n }\n var savedPtr = ptr;\n // skip zeros\n while (code == CharCode._0) {\n code = load(ptr += 2);\n --len;\n }\n if (len <= 0) return 0;\n const capacity = 19; // int(64 * 0.3010)\n var pointed = false;\n var consumed = 0;\n var position = 0;\n var x: u64 = 0;\n if (code == CharCode.DOT) {\n let noDigits = !(savedPtr - ptr);\n ptr += 2; --len;\n if (!len && noDigits) return NaN;\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\n if (len <= 0) return 0;\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\n }\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\n if (digit < 10) {\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\n ++consumed;\n } else {\n position = consumed;\n pointed = true;\n }\n if (!--len) break;\n code = load(ptr += 2);\n }\n\n if (!pointed) position = consumed;\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\n}\n\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) return select(\"true\", \"false\", load(dataStart));\n\n var sepLen = separator.length;\n var valueLen = 5; // max possible length of element len(\"false\")\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: bool;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + i);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + lastIndex);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n let value = load(dataStart);\n if (isSigned()) {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(itoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(itoa64(value, 10)); // retains\n }\n } else {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(utoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(utoa64(value, 10)); // retains\n }\n }\n }\n\n var sepLen = separator.length;\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n return changetype(dtoa(\n // @ts-ignore: type\n load(dataStart))\n ); // retains\n }\n\n const valueLen = MAX_DOUBLE_LENGTH;\n var sepLen = separator.length;\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n // @ts-ignore: type\n return load(dataStart) || \"\";\n }\n var estLen = 0;\n var value: string;\n for (let i = 0; i < length; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) estLen += value.length;\n }\n var offset = 0;\n var sepLen = separator.length;\n var result = __new((estLen + sepLen * lastIndex) << 1, idof());\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n if (value !== null) {\n let valueLen = value.length;\n memory.copy(\n result + (offset << 1),\n changetype(value),\n valueLen << 1\n );\n offset += valueLen;\n }\n if (sepLen) {\n memory.copy(\n result + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n if (value !== null) {\n memory.copy(\n result + (offset << 1),\n changetype(value),\n value.length << 1\n );\n }\n return changetype(result); // retains\n}\n\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n var value: T;\n if (!lastIndex) {\n value = load(dataStart);\n // @ts-ignore: type\n return value !== null ? value.toString() : \"\";\n }\n var result = \"\";\n var sepLen = separator.length;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n if (sepLen) result += separator;\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n return result;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction scientific(significand: u64, exp: i32): f64 {\n if (!significand || exp < -342) return 0;\n if (exp > 308) return Infinity;\n // Try use fast path\n // Use fast path for string-to-double conversion if possible\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\n // Simple integer\n var significandf = significand;\n if (!exp) return significandf;\n if (exp > 22 && exp <= 22 + 15) {\n significandf *= pow10(exp - 22);\n exp = 22;\n }\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\n if (exp > 0) return significandf * pow10(exp);\n return significandf / pow10(-exp);\n } else if (exp < 0) {\n return scaledown(significand, exp);\n } else {\n return scaleup(significand, exp);\n }\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaledown(significand: u64, exp: i32): f64 {\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\n\n var shift = clz(significand);\n significand <<= shift;\n shift = exp - shift;\n\n for (; exp <= -14; exp += 14) {\n let q = significand / denom;\n let r = significand % denom;\n let s = clz(q);\n significand = (q << s) + nearest(scale * (r << (s - 18)));\n shift -= s;\n }\n var b = ipow32(5, -exp);\n var q = significand / b;\n var r = significand % b;\n var s = clz(q);\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\n shift -= s;\n\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaleup(significand: u64, exp: i32): f64 {\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\n var shift = ctz(significand);\n significand >>= shift;\n shift += exp;\n\n __fixmulShift = shift;\n for (; exp >= 13; exp -= 13) {\n significand = fixmul(significand, coeff);\n }\n significand = fixmul(significand, ipow32(5, exp));\n shift = __fixmulShift;\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction parseExp(ptr: usize, len: i32): i32 {\n var sign = 1, magnitude = 0;\n var code = load(ptr);\n // check code is 'e' or 'E'\n if ((code | 32) != CharCode.e) return 0;\n\n if (!--len) return 0;\n code = load(ptr += 2);\n if (code == CharCode.MINUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n // skip zeros\n while (code == CharCode._0) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\n if (magnitude >= 3200) return sign * 3200;\n magnitude = 10 * magnitude + digit;\n code = load(ptr += 2);\n --len;\n }\n return sign * magnitude;\n}\n\n// @ts-ignore: decorator\n@lazy var __fixmulShift: u64 = 0;\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction fixmul(a: u64, b: u32): u64 {\n var low = (a & 0xFFFFFFFF) * b;\n var high = (a >> 32) * b + (low >> 32);\n var overflow = (high >> 32);\n var space = clz(overflow);\n var revspace: u64 = 32 - space;\n __fixmulShift += revspace;\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pow10(n: i32): f64 {\n // argument `n` should bounds in [0, 22] range\n return load(POWERS10 + (n << alignof()));\n}\n","/// \n\nimport { BLOCK_MAXSIZE } from \"./rt/common\";\nimport { COMPARATOR, SORT } from \"./util/sort\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\nimport { idof, isArray as builtin_isArray } from \"./builtins\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_ILLEGALGENTYPE, E_EMPTYARRAY, E_HOLEYARRAY } from \"./util/error\";\n\n/** Ensures that the given array has _at least_ the specified backing size. */\nfunction ensureSize(array: usize, minSize: usize, alignLog2: u32): void {\n // depends on the fact that Arrays mimic ArrayBufferView\n var oldCapacity = changetype(array).byteLength;\n if (minSize > oldCapacity >>> alignLog2) {\n if (minSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\n let oldData = changetype(changetype(array).buffer);\n let newCapacity = minSize << alignLog2;\n let newData = __renew(oldData, newCapacity); // keeps RC\n memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity);\n if (newData !== oldData) { // oldData has been free'd\n store(array, newData, offsetof(\"buffer\"));\n store(array, newData, offsetof(\"dataStart\"));\n }\n store(array, newCapacity, offsetof(\"byteLength\"));\n }\n}\n\nexport class Array {\n [key: number]: T;\n\n // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code\n // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need\n // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the\n // block is 16 bytes anyway so it's fine to have a couple extra fields in there.\n\n private buffer: ArrayBuffer;\n private dataStart: usize;\n private byteLength: i32;\n\n // Also note that Array with non-nullable T must guard against uninitialized null values\n // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee\n // type-safety anymore. For lack of a better word, such an array is \"holey\".\n\n private length_: i32;\n\n static isArray(value: U): bool {\n return isReference() ? builtin_isArray(value) && value !== null : false;\n }\n\n static create(capacity: i32 = 0): Array {\n WARNING(\"'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized.\");\n var array = new Array(capacity);\n array.length = 0;\n return array;\n }\n\n constructor(length: i32 = 0) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var bufferSize = length << alignof();\n var buffer = __new(bufferSize, idof());\n memory.fill(buffer, 0, bufferSize);\n this.buffer = changetype(buffer); // retains\n this.dataStart = buffer;\n this.byteLength = bufferSize;\n this.length_ = length;\n }\n\n get length(): i32 {\n return this.length_;\n }\n\n set length(newLength: i32) {\n var oldLength = this.length_;\n if (isManaged()) {\n if (oldLength > newLength) { // release no longer used refs\n let dataStart = this.dataStart;\n let cur = dataStart + (newLength << alignof());\n let end = dataStart + (oldLength << alignof());\n do __release(load(cur));\n while ((cur += sizeof()) < end);\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n this.length_ = newLength;\n }\n\n every(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (!fn(load(this.dataStart + (index << alignof())), index, this)) return false;\n }\n return true;\n }\n\n findIndex(predicate: (value: T, index: i32, array: Array) => bool): i32 {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (predicate(load(this.dataStart + (index << alignof())), index, this)) return index;\n }\n return -1;\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(this.dataStart + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length_) {\n if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE);\n ensureSize(changetype(this), index + 1, alignof());\n this.length_ = index + 1;\n }\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = this.dataStart + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(oldRef);\n }\n } else {\n store(this.dataStart + (index << alignof()), value);\n }\n }\n\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n end = end < 0 ? max(length + end, 0) : min(end, length);\n if (isManaged()) {\n for (; start < end; ++start) {\n let oldRef: usize = load(dataStart + (start << alignof()));\n if (changetype(value) != oldRef) {\n store(dataStart + (start << alignof()), __retain(changetype(value)));\n __release(oldRef);\n }\n }\n } else if (sizeof() == 1) {\n if (start < end) {\n memory.fill(\n dataStart + start,\n u8(value),\n (end - start)\n );\n }\n } else {\n for (; start < end; ++start) {\n store(dataStart + (start << alignof()), value);\n }\n }\n return this;\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length_;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n let dataStart = this.dataStart;\n while (fromIndex < length) {\n let elem = load(dataStart + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length_;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n var dataStart = this.dataStart;\n while (fromIndex < length) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 {\n var length = this.length_;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n var dataStart = this.dataStart;\n while (fromIndex >= 0) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n push(value: T): i32 {\n var length = this.length_;\n var newLength = length + 1;\n ensureSize(changetype(this), newLength, alignof());\n if (isManaged()) {\n store(this.dataStart + (length << alignof()), __retain(changetype(value)));\n } else {\n store(this.dataStart + (length << alignof()), value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length_;\n var otherLen = select(0, other.length_, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = this.dataStart;\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, this.dataStart, thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var len = this.length_;\n\n end = min(end, len);\n\n var to = target < 0 ? max(len + target, 0) : min(target, len);\n var from = start < 0 ? max(len + start, 0) : min(start, len);\n var last = end < 0 ? max(len + end, 0) : min(end, len);\n var count = min(last - from, len - to);\n\n if (isManaged()) {\n if (from < to && to < (from + count)) { // right to left\n from += count - 1;\n to += count - 1;\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n --from, --to, --count;\n }\n } else { // left to right\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n ++from, ++to, --count;\n }\n }\n } else {\n memory.copy( // is memmove\n dataStart + (to << alignof()),\n dataStart + (from << alignof()),\n count << alignof()\n );\n }\n return this;\n }\n\n pop(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var element = load(this.dataStart + ((--length) << alignof()));\n this.length_ = length;\n return element; // no need to retain -> is moved\n }\n\n forEach(fn: (value: T, index: i32, array: Array) => void): void {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n fn(load(this.dataStart + (index << alignof())), index, this);\n }\n }\n\n map(fn: (value: T, index: i32, array: Array) => U): Array {\n var length = this.length_;\n var out = changetype>(__newArray(length, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n for (let index = 0; index < min(length, this.length_); ++index) {\n let result = fn(load(this.dataStart + (index << alignof())), index, this); // retains\n if (isManaged()) {\n store(outStart + (index << alignof()), __retain(changetype(result)));\n } else {\n store(outStart + (index << alignof()), result);\n }\n // releases result\n }\n return out;\n }\n\n filter(fn: (value: T, index: i32, array: Array) => bool): Array {\n var result = changetype>(__newArray(0, alignof(), idof>())); // retains\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n let value = load(this.dataStart + (index << alignof()));\n if (fn(value, index, this)) result.push(value);\n }\n return result;\n }\n\n reduce(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n reduceRight(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = this.length_ - 1; index >= 0; --index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n shift(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var base = this.dataStart;\n var element = load(base);\n var lastIndex = length - 1;\n memory.copy(\n base,\n base + sizeof(),\n lastIndex << alignof()\n );\n if (isReference()) {\n store(base + (lastIndex << alignof()), 0);\n } else {\n // @ts-ignore\n store(base + (lastIndex << alignof()), 0);\n }\n this.length_ = lastIndex;\n return element; // no need to retain -> is moved\n }\n\n some(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (fn(load(this.dataStart + (index << alignof())), index, this)) return true;\n }\n return false;\n }\n\n unshift(value: T): i32 {\n var newLength = this.length_ + 1;\n ensureSize(changetype(this), newLength, alignof());\n var dataStart = this.dataStart;\n memory.copy(\n dataStart + sizeof(),\n dataStart,\n (newLength - 1) << alignof()\n );\n if (isManaged()) {\n store(dataStart, __retain(changetype(value)));\n } else {\n store(dataStart, value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = this.dataStart + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n deleteCount = max(min(deleteCount, length - start), 0);\n var result = changetype>(__newArray(deleteCount, alignof(), idof>())); // retains\n var resultStart = result.dataStart;\n var thisStart = this.dataStart;\n var thisBase = thisStart + (start << alignof());\n // no need to retain -> is moved\n memory.copy(\n resultStart,\n thisBase,\n deleteCount << alignof()\n );\n var offset = start + deleteCount;\n if (length != offset) {\n memory.copy(\n thisBase,\n thisStart + (offset << alignof()),\n (length - offset) << alignof()\n );\n }\n this.length_ = length - deleteCount;\n return result;\n }\n\n reverse(): Array {\n var length = this.length_;\n if (length) {\n let front = this.dataStart;\n let back = this.dataStart + ((length - 1) << alignof());\n while (front < back) {\n let temp = load(front);\n store(front, load(back));\n store(back, temp);\n front += sizeof();\n back -= sizeof();\n }\n }\n return this;\n }\n\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): this {\n var length = this.length_;\n if (length <= 1) return this;\n var base = this.dataStart;\n if (length == 2) {\n let a: T = load(base, sizeof()); // a = arr[1]\n let b: T = load(base); // b = arr[0]\n if (comparator(a, b) < 0) {\n store(base, b, sizeof()); // arr[1] = b;\n store(base, a); // arr[0] = a;\n }\n return this;\n }\n SORT(base, length, comparator);\n return this;\n }\n\n join(separator: string = \",\"): string {\n var dataStart = this.dataStart;\n var length = this.length_;\n if (isBoolean()) return joinBooleanArray(dataStart, length, separator);\n if (isInteger()) return joinIntegerArray(dataStart, length, separator);\n if (isFloat()) return joinFloatArray(dataStart, length, separator);\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(dataStart, length, separator);\n }\n // For rest objects and arrays use general join routine\n if (isReference()) return joinReferenceArray(dataStart, length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n flat(): T {\n if (!isArray()) {\n throw new TypeError(E_ILLEGALGENTYPE);\n }\n // Get the length and data start values\n var length = this.length_;\n var selfDataStart = this.dataStart;\n\n // calculate the end size with an initial pass\n var size = 0;\n for (let i = 0; i < length; i++) {\n let child = load(selfDataStart + (i << alignof()));\n size += child == 0 ? 0 : load(child, offsetof(\"length_\"));\n }\n\n // calculate the byteLength of the resulting backing ArrayBuffer\n var byteLength = size << usize(alignof>());\n var dataStart = __new(byteLength, idof());\n\n // create the return value and initialize it\n var result = __new(offsetof(), idof());\n store(result, size, offsetof(\"length_\"));\n\n // byteLength, dataStart, and buffer are all readonly\n store(result, byteLength, offsetof(\"byteLength\"));\n store(result, dataStart, offsetof(\"dataStart\"));\n store(result, __retain(dataStart), offsetof(\"buffer\"));\n\n // set the elements\n var resultOffset: usize = 0;\n for (let i = 0; i < length; i++) { // for each child\n let child = load(selfDataStart + (i << alignof()));\n\n // ignore null arrays\n if (child == 0) continue;\n\n // copy the underlying buffer data to the result buffer\n let childDataLength = load(child, offsetof(\"byteLength\"));\n memory.copy(\n dataStart + resultOffset,\n load(child, offsetof(\"dataStart\")),\n childDataLength\n );\n\n // advance the result length\n resultOffset += childDataLength;\n }\n\n // if the `valueof` type is managed, we must call __retain() on each reference\n if (isManaged>()) {\n for (let i = 0; i < size; i++) {\n __retain(load(dataStart + (i << usize(alignof>()))));\n }\n }\n\n return changetype(result);\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = this.dataStart;\n let end = cur + (this.length_ << alignof());\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n __visit(changetype(this.buffer), cookie);\n }\n}\n","// Common error messages for use accross the standard library. Keeping error messages compact\n// and reusing them where possible ensures minimal static data in binaries.\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INDEXOUTOFRANGE: string = \"Index out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDLENGTH: string = \"Invalid length\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ILLEGALGENTYPE: string = \"Illegal generic type\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_EMPTYARRAY: string = \"Array is empty\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_HOLEYARRAY: string = \"Element type must be nullable if array is holey\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOTIMPLEMENTED: string = \"Not implemented\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_KEYNOTFOUND: string = \"Key does not exist\";\n","\nexport var objArray = new Array>(1);\nexport var matArray = new Array>(3);\nexport var groupArray = new Array>(0);\n\nexport var TanMaterial_mat:StaticArray = [\n 323.999994, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 0.800000, 0.314507, 0.070683, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatArray.push(TanMaterial_mat);\n\nexport var RedMaterial_mat:StaticArray = [\n 225.000000, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 1.000000, 0.000000, 0.000000, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatArray.push(RedMaterial_mat);\n\nexport var BlueMaterial_mat:StaticArray = [\n 225.000000, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 0.000000, 0.000000, 1.000000, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatArray.push(BlueMaterial_mat);\n\n\nexport var Robot_data: StaticArray = [\n//X, Y, Z, U, V, NX, NY, NZ\n 1, 1, -1, 0.625, 0.5, 0, 0.2651, -0.9642, \n -1, 1, -1, 0.625, 0.25, 0, 0.2651, -0.9642, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, 0, 0.2651, -0.9642, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0, 0.2651, -0.9642, \n 1, -1, 1, 0.375, 0.75, 0, 0, 1, \n 1, 1, 1, 0.625, 0.75, 0, 0, 1, \n -1, 1, 1, 0.625, 1, 0, 0, 1, \n -1, -1, 1, 0.375, 1, 0, 0, 1, \n -1, -1, 1, 0.375, 0, -1, 0, 0, \n -1, 1, 1, 0.625, 0, -1, 0, 0, \n -1, 1, -1, 0.625, 0.25, -1, 0, 0, \n -1, -1, -1, 0.375, 0.25, -1, 0, 0, \n -1, -1, -1, 0.125, 0.5, 0, -1, 0, \n 1, -1, -1, 0.375, 0.5, 0, -1, 0, \n 1, -1, 1, 0.375, 0.75, 0, -1, 0, \n -1, -1, 1, 0.125, 0.75, 0, -1, 0, \n 1, -1, -1, 0.375, 0.5, 1, 0, 0, \n 1, 1, -1, 0.625, 0.5, 1, 0, 0, \n 1, 1, 1, 0.625, 0.75, 1, 0, 0, \n 1, -1, 1, 0.375, 0.75, 1, 0, 0, \n -1, -1, -1, 0.375, 0.25, 0, 0, -1, \n -1, 1, -1, 0.625, 0.25, 0, 0, -1, \n 1, 1, -1, 0.625, 0.5, 0, 0, -1, \n 1, -1, -1, 0.375, 0.5, 0, 0, -1, \n -1, 1, 1, 0.625, 1, 0, 0.2651, 0.9642, \n 1, 1, 1, 0.625, 0.75, 0, 0.2651, 0.9642, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0, 0.2651, 0.9642, \n-0.396396, 3.195775, 0.396396, 0.625, 1, 0, 0.2651, 0.9642, \n -1, 1, -1, 0.625, 0.25, -0.9642, 0.2651, 0, \n -1, 1, 1, 0.625, 0, -0.9642, 0.2651, 0, \n-0.396396, 3.195775, 0.396396, 0.625, 0, -0.9642, 0.2651, 0, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, -0.9642, 0.2651, 0, \n 1, 1, 1, 0.625, 0.75, 0.9642, 0.2651, 0, \n 1, 1, -1, 0.625, 0.5, 0.9642, 0.2651, 0, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0.9642, 0.2651, 0, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0.9642, 0.2651, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0, 0, -1, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, 0, 0, -1, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, 0, 0, -1, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0, 0, -1, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, -0.6461, 0.7632, 0, \n-0.70778, 5.747853, 0.70778, 0.625, 0, -0.6461, 0.7632, 0, \n-0.363607, 6.039236, 0.363607, 0.625, 0, -0.6461, 0.7632, 0, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, -0.6461, 0.7632, 0, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0.7408, 0, 0.6717, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0.7408, 0, 0.6717, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0.7408, 0, 0.6717, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0.7408, 0, 0.6717, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, -0.7408, 0, -0.6717, \n-0.70778, 4.659433, 0.70778, 0.625, 1, 0, 0, 1, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0, 0, 1, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0, 0, 1, \n-0.70778, 5.747853, 0.70778, 0.625, 1, 0, 0, 1, \n-0.363607, 6.039236, 0.363607, 0.625, 1, 0, 0, 1, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 0, 0, 1, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 0, 0, 1, \n-0.363607, 6.228965, 0.363607, 0.625, 1, 0, 0, 1, \n-0.70778, 5.747853, 0.70778, 0.625, 1, 0, 0.7632, 0.6461, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0, 0.7632, 0.6461, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 0, 0.7632, 0.6461, \n-0.363607, 6.039236, 0.363607, 0.625, 1, 0, 0.7632, 0.6461, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0, 0.7632, -0.6461, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, 0, 0.7632, -0.6461, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, 0, 0.7632, -0.6461, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 0, 0.7632, -0.6461, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0.6461, 0.7632, 0, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0.6461, 0.7632, 0, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 0.6461, 0.7632, 0, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 0.6461, 0.7632, 0, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 0, -0.6177, -0.7864, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, 0, -0.6177, -0.7864, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, 0, -0.6177, -0.7864, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0, -0.6177, -0.7864, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 0, 0, -1, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, 0, 0, -1, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, 0, 0, -1, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 0, 0, -1, \n0.363607, 6.039236, 0.363607, 0.625, 0.75, 1, 0, 0, \n0.363607, 6.039236, -0.363607, 0.625, 0.5, 1, 0, 0, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 1, 0, 0, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 1, 0, 0, \n-0.363607, 6.039236, -0.363607, 0.625, 0.25, -1, 0, 0, \n-0.363607, 6.039236, 0.363607, 0.625, 0, -1, 0, 0, \n-0.363607, 6.228965, 0.363607, 0.625, 0, -1, 0, 0, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, -1, 0, 0, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 0.7864, -0.6177, 0, \n0.363607, 6.228965, -0.363607, 0.625, 0.5, 0.7864, -0.6177, 0, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0.7864, -0.6177, 0, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0.7864, -0.6177, 0, \n-0.363607, 6.228965, -0.363607, 0.625, 0.25, -0.7864, -0.6177, 0, \n-0.363607, 6.228965, 0.363607, 0.625, 0, -0.7864, -0.6177, 0, \n-0.527745, 6.437937, 0.527745, 0.625, 0, -0.7864, -0.6177, 0, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, -0.7864, -0.6177, 0, \n-0.363607, 6.228965, 0.363607, 0.625, 1, 0, -0.6177, 0.7864, \n0.363607, 6.228965, 0.363607, 0.625, 0.75, 0, -0.6177, 0.7864, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0, -0.6177, 0.7864, \n-0.527745, 6.437937, 0.527745, 0.625, 1, 0, -0.6177, 0.7864, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0, 0.5681, -0.8229, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, 0, 0.5681, -0.8229, \n-0.28575, 7.64915, -0.28575, 0.625, 0.25, 0, 0.5681, -0.8229, \n0.28575, 7.64915, -0.28575, 0.625, 0.5, 0, 0.5681, -0.8229, \n-0.527745, 6.437937, 0.527745, 0.625, 1, 0, -0.0692, 0.9976, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0, -0.0692, 0.9976, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0, -0.0692, 0.9976, \n-0.581972, 7.220059, 0.581972, 0.625, 1, 0, -0.0692, 0.9976, \n0.28575, 7.64915, -0.28575, 0.625, 0.5, 0, 1, 0, \n-0.28575, 7.64915, -0.28575, 0.875, 0.5, 0, 1, 0, \n-0.28575, 7.64915, 0.28575, 0.875, 0.75, 0, 1, 0, \n0.28575, 7.64915, 0.28575, 0.625, 0.75, 0, 1, 0, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0.8229, 0.5681, 0, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0.8229, 0.5681, 0, \n0.28575, 7.64915, -0.28575, 0.625, 0.5, 0.8229, 0.5681, 0, \n0.28575, 7.64915, 0.28575, 0.625, 0.75, 0.8229, 0.5681, 0, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, -0.8229, 0.5681, 0, \n-0.581972, 7.220059, 0.581972, 0.625, 0, -0.8229, 0.5681, 0, \n-0.28575, 7.64915, 0.28575, 0.625, 0, -0.8229, 0.5681, 0, \n-0.28575, 7.64915, -0.28575, 0.625, 0.25, -0.8229, 0.5681, 0, \n-0.581972, 7.220059, 0.581972, 0.625, 1, 0, 0.5681, 0.8229, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0, 0.5681, 0.8229, \n0.28575, 7.64915, 0.28575, 0.625, 0.75, 0, 0.5681, 0.8229, \n-0.28575, 7.64915, 0.28575, 0.625, 1, 0, 0.5681, 0.8229, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0, 0, -1, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0, 0, -1, \n1.280918, 5.516228, -0.406536, 0.625, 0.5, 0, 0, -1, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 0, 0, -1, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0.6468, -0.7627, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0.6468, -0.7627, 0, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0.6468, -0.7627, 0, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0.6468, -0.7627, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0.7408, 0, -0.6717, \n0.70778, 5.747853, -0.70778, 0.625, 0.5, 0.6468, 0.7627, 0, \n0.70778, 5.747853, 0.70778, 0.625, 0.75, 0.6468, 0.7627, 0, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0.6468, 0.7627, 0, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0.6468, 0.7627, 0, \n-0.980918, 4.891058, 0.406536, 0.625, 1, 0, 0, 1, \n-0.980918, 5.516228, 0.406536, 0.625, 1, 0, 0, 1, \n-1.280918, 5.516228, 0.406536, 0.625, 1, 0, 0, 1, \n-1.280918, 4.891058, 0.406536, 0.625, 1, 0, 0, 1, \n-0.70778, 5.747853, 0.70778, 0.625, 0, -0.6468, 0.7627, 0, \n-0.70778, 5.747853, -0.70778, 0.625, 0.25, -0.6468, 0.7627, 0, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, -0.6468, 0.7627, 0, \n-0.980918, 5.516228, 0.406536, 0.625, 0, -0.6468, 0.7627, 0, \n-0.70778, 4.659433, 0.70778, 0.625, 1, -0.7408, 0, 0.6717, \n-0.70778, 5.747853, 0.70778, 0.625, 1, -0.7408, 0, 0.6717, \n-0.980918, 5.516228, 0.406536, 0.625, 1, -0.7408, 0, 0.6717, \n-0.980918, 4.891058, 0.406536, 0.625, 1, -0.7408, 0, 0.6717, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, -0.6468, -0.7627, 0, \n-0.70778, 4.659433, 0.70778, 0.625, 0, -0.6468, -0.7627, 0, \n-0.980918, 4.891058, 0.406536, 0.625, 0, -0.6468, -0.7627, 0, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, -0.6468, -0.7627, 0, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, -1, 0, 0, \n-1.280918, 4.891058, 0.406536, 0.625, 0, -1, 0, 0, \n-1.280918, 5.516228, 0.406536, 0.625, 0, -1, 0, 0, \n-1.280918, 5.516228, -0.406536, 0.625, 0.25, -1, 0, 0, \n-0.980918, 5.516228, 0.406536, 0.625, 0, 0, 1, 0, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, 0, 1, 0, \n-1.280918, 5.516228, -0.406536, 0.625, 0.25, 0, 1, 0, \n-1.280918, 5.516228, 0.406536, 0.625, 0, 0, 1, 0, \n-0.980918, 5.516228, -0.406536, 0.625, 0.25, 0, 0, -1, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, 0, 0, -1, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, 0, 0, -1, \n-1.280918, 5.516228, -0.406536, 0.625, 0.25, 0, 0, -1, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, -0.9978, -0.0665, 0, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, -0.9978, -0.0665, 0, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, -0.9978, -0.0665, 0, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, -0.9978, -0.0665, 0, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 1, 0, 0, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 1, 0, 0, \n1.280918, 5.516228, -0.406536, 0.625, 0.5, 1, 0, 0, \n1.280918, 5.516228, 0.406536, 0.625, 0.75, 1, 0, 0, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 0.9978, -0.0665, 0, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 0.9978, -0.0665, 0, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0.9978, -0.0665, 0, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0.9978, -0.0665, 0, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0, 0, 1, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0, 0, 1, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 0, 0, 1, \n1.280918, 5.516228, 0.406536, 0.625, 0.75, 0, 0, 1, \n0.980918, 5.516228, -0.406536, 0.625, 0.5, 0, 1, 0, \n0.980918, 5.516228, 0.406536, 0.625, 0.75, 0, 1, 0, \n1.280918, 5.516228, 0.406536, 0.625, 0.75, 0, 1, 0, \n1.280918, 5.516228, -0.406536, 0.625, 0.5, 0, 1, 0, \n-1.039887, 4.005651, 0.246717, 0.625, 1, 0, 0.239, 0.971, \n-1.22195, 4.005651, 0.246717, 0.625, 1, 0, 0.239, 0.971, \n-1.280918, 3.356243, 0.406536, 0.625, 1, 0, 0.239, 0.971, \n-0.980918, 3.356243, 0.406536, 0.625, 1, 0, 0.239, 0.971, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0.9944, 0.105, 0.0146, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0.9944, 0.105, 0.0146, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 0.9944, 0.105, 0.0146, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 0.9944, 0.105, 0.0146, \n0.980918, 4.891058, -0.406536, 0.625, 0.5, 0, -0.1776, -0.9841, \n1.280918, 4.891058, -0.406536, 0.625, 0.5, 0, -0.1776, -0.9841, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0, -0.1776, -0.9841, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, 0, -0.1776, -0.9841, \n-1.280918, 4.891058, 0.406536, 0.625, 0, -0.9978, -0.0665, 0, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, -0.9978, -0.0665, 0, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, -0.9978, -0.0665, 0, \n-1.22195, 4.005651, 0.246717, 0.625, 0, -0.9978, -0.0665, 0, \n-1.280918, 4.891058, -0.406536, 0.625, 0.25, 0, -0.1776, -0.9841, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, 0, -0.1776, -0.9841, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0, -0.1776, -0.9841, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, 0, -0.1776, -0.9841, \n-0.980918, 4.891058, 0.406536, 0.625, 1, 0, -0.1776, 0.9841, \n-1.280918, 4.891058, 0.406536, 0.625, 1, 0, -0.1776, 0.9841, \n-1.22195, 4.005651, 0.246717, 0.625, 1, 0, -0.1776, 0.9841, \n-1.039887, 4.005651, 0.246717, 0.625, 1, 0, -0.1776, 0.9841, \n1.280918, 4.891058, 0.406536, 0.625, 0.75, 0, -0.1776, 0.9841, \n0.980918, 4.891058, 0.406536, 0.625, 0.75, 0, -0.1776, 0.9841, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, 0, -0.1776, 0.9841, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0, -0.1776, 0.9841, \n-0.980918, 4.891058, -0.406536, 0.625, 0.25, 0.9978, -0.0665, 0, \n-0.980918, 4.891058, 0.406536, 0.625, 0, 0.9978, -0.0665, 0, \n-1.039887, 4.005651, 0.246717, 0.625, 0, 0.9978, -0.0665, 0, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0.9978, -0.0665, 0, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 0, -0.6592, 0.752, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, 0, -0.6592, 0.752, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.6592, 0.752, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.6592, 0.752, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, -1, 0, 0, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, -1, 0, 0, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, -1, 0, 0, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, -1, 0, 0, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0.9944, 0.105, 0.0146, \n-1.039887, 4.005651, 0.246717, 0.625, 0, 0.9944, 0.105, 0.0146, \n-0.980918, 3.356243, 0.406536, 0.625, 0, 0.9944, 0.105, 0.0146, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 0.9944, 0.105, 0.0146, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, 0, 0.3233, -0.9463, \n1.22195, 4.005651, -0.246717, 0.625, 0.5, 0, 0.3233, -0.9463, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3233, -0.9463, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3233, -0.9463, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, 0, 0.3233, -0.9463, \n-1.039887, 4.005651, -0.246717, 0.625, 0.25, 0, 0.3233, -0.9463, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3233, -0.9463, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3233, -0.9463, \n-1.22195, 4.005651, 0.246717, 0.625, 0, -0.9944, 0.105, 0.0146, \n-1.22195, 4.005651, -0.246717, 0.625, 0.25, -0.9944, 0.105, 0.0146, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, -0.9944, 0.105, 0.0146, \n-1.280918, 3.356243, 0.406536, 0.625, 0, -0.9944, 0.105, 0.0146, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, -0.9944, 0.105, 0.0146, \n1.039887, 4.005651, -0.246717, 0.625, 0.5, -0.9944, 0.105, 0.0146, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, -0.9944, 0.105, 0.0146, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, -0.9944, 0.105, 0.0146, \n1.22195, 4.005651, 0.246717, 0.625, 0.75, 0, 0.239, 0.971, \n1.039887, 4.005651, 0.246717, 0.625, 0.75, 0, 0.239, 0.971, \n0.980918, 3.356243, 0.406536, 0.625, 0.75, 0, 0.239, 0.971, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 0, 0.239, 0.971, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.6843, -0.7292, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.6843, -0.7292, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.6843, -0.7292, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.6843, -0.7292, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.6843, -0.7292, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.6843, -0.7292, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.6843, -0.7292, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.6843, -0.7292, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 1, 0, 0, \n1.280918, 3.356243, 0.406536, 0.625, 0.75, 1, 0, 0, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 1, 0, 0, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 1, 0, 0, \n-0.980918, 3.356243, 0.406536, 0.625, 1, 0, -0.6592, 0.752, \n-1.280918, 3.356243, 0.406536, 0.625, 1, 0, -0.6592, 0.752, \n-1.280918, 2.342852, -0.481741, 0.625, 1, 0, -0.6592, 0.752, \n-0.980918, 2.342852, -0.481741, 0.625, 1, 0, -0.6592, 0.752, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 1, 0, 0, \n-0.980918, 3.356243, 0.406536, 0.625, 0, 1, 0, 0, \n-0.980918, 2.342852, -0.481741, 0.625, 0, 1, 0, 0, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 1, 0, 0, \n0.980918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3097, -0.9508, \n1.280918, 3.537906, -0.406536, 0.625, 0.5, 0, 0.3097, -0.9508, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.3097, -0.9508, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, 0, 0.3097, -0.9508, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3097, -0.9508, \n-0.980918, 3.537906, -0.406536, 0.625, 0.25, 0, 0.3097, -0.9508, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.3097, -0.9508, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, 0, 0.3097, -0.9508, \n-1.280918, 3.356243, 0.406536, 0.625, 0, -1, 0, 0, \n-1.280918, 3.537906, -0.406536, 0.625, 0.25, -1, 0, 0, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, -1, 0, 0, \n-1.280918, 2.342852, -0.481741, 0.625, 0, -1, 0, 0, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.1306, -0.9914, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 0, 0.1306, -0.9914, \n1.205918, 1.868141, -1.073623, 0.625, 0.5, 0, 0.1306, -0.9914, \n1.055918, 1.868141, -1.073623, 0.625, 0.5, 0, 0.1306, -0.9914, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 0.9329, -0.3135, -0.1774, \n-0.980918, 1.921174, -0.773021, 0.625, 0, 0.9329, -0.3135, -0.1774, \n-1.055918, 1.790813, -0.937002, 0.625, 0, 0.9329, -0.3135, -0.1774, \n-1.055918, 1.868141, -1.073623, 0.625, 0.25, 0.9329, -0.3135, -0.1774, \n-1.280918, 2.342852, -0.481741, 0.625, 0, -1, 0, 0, \n-1.280918, 2.342852, -0.795716, 0.625, 0.25, -1, 0, 0, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, -1, 0, 0, \n-1.280918, 1.921174, -0.773021, 0.625, 0, -1, 0, 0, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, -1, 0, 0, \n0.980918, 2.342852, -0.795716, 0.625, 0.5, -1, 0, 0, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, -1, 0, 0, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, -1, 0, 0, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.5684, 0.8228, \n0.980918, 2.342852, -0.481741, 0.625, 0.75, 0, -0.5684, 0.8228, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.5684, 0.8228, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.5684, 0.8228, \n1.280918, 2.342852, -0.795716, 0.625, 0.5, 1, 0, 0, \n1.280918, 2.342852, -0.481741, 0.625, 0.75, 1, 0, 0, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 1, 0, 0, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 1, 0, 0, \n-0.980918, 2.342852, -0.481741, 0.625, 1, 0, -0.5684, 0.8228, \n-1.280918, 2.342852, -0.481741, 0.625, 1, 0, -0.5684, 0.8228, \n-1.280918, 1.921174, -0.773021, 0.625, 1, 0, -0.5684, 0.8228, \n-0.980918, 1.921174, -0.773021, 0.625, 1, 0, -0.5684, 0.8228, \n-0.980918, 2.342852, -0.795716, 0.625, 0.25, 1, 0, 0, \n-0.980918, 2.342852, -0.481741, 0.625, 0, 1, 0, 0, \n-0.980918, 1.921174, -0.773021, 0.625, 0, 1, 0, 0, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 1, 0, 0, \n-1.055918, 1.868141, -1.073623, 0.625, 0.25, 0, -0.8703, -0.4926, \n-1.055918, 1.790813, -0.937002, 0.625, 0, 0, -0.8703, -0.4926, \n-1.205918, 1.790813, -0.937002, 0.625, 0, 0, -0.8703, -0.4926, \n-1.205918, 1.868141, -1.073623, 0.625, 0.25, 0, -0.8703, -0.4926, \n1.055918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.8703, -0.4926, \n1.055918, 1.868141, -1.073623, 0.625, 0.5, 0, -0.8703, -0.4926, \n1.205918, 1.868141, -1.073623, 0.625, 0.5, 0, -0.8703, -0.4926, \n1.205918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.8703, -0.4926, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.1306, -0.9914, \n-0.980918, 2.075831, -1.046264, 0.625, 0.25, 0, 0.1306, -0.9914, \n-1.055918, 1.868141, -1.073623, 0.625, 0.25, 0, 0.1306, -0.9914, \n-1.205918, 1.868141, -1.073623, 0.625, 0.25, 0, 0.1306, -0.9914, \n-1.280918, 1.921174, -0.773021, 0.625, 0, -0.9329, -0.3135, -0.1774, \n-1.280918, 2.075831, -1.046264, 0.625, 0.25, -0.9329, -0.3135, -0.1774, \n-1.205918, 1.868141, -1.073623, 0.625, 0.25, -0.9329, -0.3135, -0.1774, \n-1.205918, 1.790813, -0.937002, 0.625, 0, -0.9329, -0.3135, -0.1774, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, -0.9329, -0.3135, -0.1774, \n0.980918, 2.075831, -1.046264, 0.625, 0.5, -0.9329, -0.3135, -0.1774, \n1.055918, 1.868141, -1.073623, 0.625, 0.5, -0.9329, -0.3135, -0.1774, \n1.055918, 1.790813, -0.937002, 0.625, 0.75, -0.9329, -0.3135, -0.1774, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.7828, 0.6223, \n0.980918, 1.921174, -0.773021, 0.625, 0.75, 0, -0.7828, 0.6223, \n1.055918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.7828, 0.6223, \n1.205918, 1.790813, -0.937002, 0.625, 0.75, 0, -0.7828, 0.6223, \n1.280918, 2.075831, -1.046264, 0.625, 0.5, 0.9329, -0.3135, -0.1774, \n1.280918, 1.921174, -0.773021, 0.625, 0.75, 0.9329, -0.3135, -0.1774, \n1.205918, 1.790813, -0.937002, 0.625, 0.75, 0.9329, -0.3135, -0.1774, \n1.205918, 1.868141, -1.073623, 0.625, 0.5, 0.9329, -0.3135, -0.1774, \n-0.980918, 1.921174, -0.773021, 0.625, 1, 0, -0.7828, 0.6223, \n-1.280918, 1.921174, -0.773021, 0.625, 1, 0, -0.7828, 0.6223, \n-1.205918, 1.790813, -0.937002, 0.625, 1, 0, -0.7828, 0.6223, \n-1.055918, 1.790813, -0.937002, 0.625, 1, 0, -0.7828, 0.6223, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, -0.9976, -0.0692, 0, \n-0.527745, 6.437937, 0.527745, 0.625, 0, -0.9976, -0.0692, 0, \n-0.581972, 7.220059, 0.581972, 0.625, 0, -0.9976, -0.0692, 0, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, -0.9976, -0.0692, 0, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0, -0.0692, -0.9976, \n-0.527745, 6.437937, -0.527745, 0.625, 0.25, 0, -0.0692, -0.9976, \n-0.581972, 7.220059, -0.581972, 0.625, 0.25, 0, -0.0692, -0.9976, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0, -0.0692, -0.9976, \n0.527745, 6.437937, 0.527745, 0.625, 0.75, 0.9976, -0.0692, 0, \n0.527745, 6.437937, -0.527745, 0.625, 0.5, 0.9976, -0.0692, 0, \n0.581972, 7.220059, -0.581972, 0.625, 0.5, 0.9976, -0.0692, 0, \n0.581972, 7.220059, 0.581972, 0.625, 0.75, 0.9976, -0.0692, 0, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, -0.9781, -0.2081, 0, \n-0.396396, 3.195775, 0.396396, 0.625, 0, -0.9781, -0.2081, 0, \n-0.70778, 4.659433, 0.70778, 0.625, 0, -0.9781, -0.2081, 0, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, -0.9781, -0.2081, 0, \n-0.396396, 3.195775, 0.396396, 0.625, 1, 0, -0.2081, 0.9781, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0, -0.2081, 0.9781, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0, -0.2081, 0.9781, \n-0.70778, 4.659433, 0.70778, 0.625, 1, 0, -0.2081, 0.9781, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0, -0.2081, -0.9781, \n-0.396396, 3.195775, -0.396396, 0.625, 0.25, 0, -0.2081, -0.9781, \n-0.70778, 4.659433, -0.70778, 0.625, 0.25, 0, -0.2081, -0.9781, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0, -0.2081, -0.9781, \n0.396396, 3.195775, 0.396396, 0.625, 0.75, 0.9781, -0.2081, 0, \n0.396396, 3.195775, -0.396396, 0.625, 0.5, 0.9781, -0.2081, 0, \n0.70778, 4.659433, -0.70778, 0.625, 0.5, 0.9781, -0.2081, 0, \n0.70778, 4.659433, 0.70778, 0.625, 0.75, 0.9781, -0.2081, 0, \n];\n\nobjArray.push(Robot_data);\n\n\ngroupArray.push(\n StaticArray.fromArray([\n 0, // material number\n 0, // object number\n 0, // starting face\n 348, // length\n ])\n);\n\ngroupArray.push(\n StaticArray.fromArray([\n 1, // material number\n 0, // object number\n 348, // starting face\n 12, // length\n ])\n);\n\ngroupArray.push(\n StaticArray.fromArray([\n 2, // material number\n 0, // object number\n 360, // starting face\n 16, // length\n ])\n);\n","import { Typeinfo, TypeinfoFlags } from \"./shared/typeinfo\";\nimport { E_INDEXOUTOFRANGE } from \"./util/error\";\nimport { OBJECT, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { ArrayBufferView } from \"./arraybuffer\";\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __rtti_base: usize;\n\n// @ts-ignore: decorator\n@builtin @unsafe\nexport declare function __visit_globals(cookie: u32): void;\n\n// @ts-ignore: decorator\n@builtin @unsafe\nexport declare function __visit_members(ref: usize, cookie: u32): void;\n\n// @ts-ignore: decorator\n@unsafe\nexport function __typeinfo(id: u32): TypeinfoFlags {\n var ptr = __rtti_base;\n if (id > load(ptr)) throw new Error(E_INDEXOUTOFRANGE);\n return changetype(ptr + sizeof() + id * offsetof()).flags;\n}\n\n// @ts-ignore: decorator\n@unsafe\nexport function __instanceof(ref: usize, superId: u32): bool { // keyword\n var id = changetype(ref - TOTAL_OVERHEAD).rtId;\n var ptr = __rtti_base;\n if (id <= load(ptr)) {\n do if (id == superId) return true;\n while (id = changetype(ptr + sizeof() + id * offsetof()).base);\n }\n return false;\n}\n\n// @ts-ignore: decorator\n@unsafe\nexport function __newBuffer(size: usize, id: u32, data: usize = 0): usize {\n var buffer = __new(size, id);\n if (data) memory.copy(buffer, data, size);\n return buffer;\n}\n\n// @ts-ignore: decorator\n@unsafe\nexport function __newArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize {\n var array = __new(offsetof(), id);\n var bufferSize = length << alignLog2;\n var buffer = __newBuffer(bufferSize, idof(), data);\n store(array, __retain(buffer), offsetof(\"buffer\"));\n store(array, buffer, offsetof(\"dataStart\"));\n store(array, bufferSize, offsetof(\"byteLength\"));\n store(array, length, offsetof(\"length_\"));\n return array;\n}\n\n// These are provided by the respective implementation, included as another entry file by asc:\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __alloc(size: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __realloc(ptr: usize, size: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __free(ptr: usize): void;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __new(size: usize, id: u32): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __renew(ptr: usize, size: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __retain(ptr: usize): usize;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __release(ptr: usize): void;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __collect(): void;\n\n// // @ts-ignore: decorator\n// @builtin @unsafe\n// export declare function __visit(ptr: usize, cookie: u32): void;\n","/// \n\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { idof } from \"./builtins\";\nimport { Array } from \"./array\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from \"./util/error\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\n\n@final\nexport class StaticArray {\n [key: number]: T;\n\n // Note that the interface of StaticArray instances must be a semantically\n // compatible subset of Array in order for syntax highlighting to work\n // properly, for instance when creating static arrays from array literals.\n // The additionally provided static methods take care of dealing with static\n // arrays exclusively, without having to convert to Array first.\n\n static fromArray(source: Array): StaticArray {\n var length = source.length;\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n if (isManaged()) {\n let sourcePtr = source.dataStart;\n for (let i = 0; i < length; ++i) {\n let off = i << alignof();\n store(out + off, __retain(load(sourcePtr + off)));\n }\n } else {\n memory.copy(out, source.dataStart, outSize);\n }\n return changetype>(out);\n }\n\n static concat(source: StaticArray, other: StaticArray): StaticArray {\n var sourceLen = source.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = sourceLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__new(outLen << alignof(), idof>())); // retains\n var outStart = changetype(out);\n var sourceSize = sourceLen << alignof();\n if (isManaged()) {\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\n let ref = load(changetype(source) + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += sourceSize;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(changetype(other) + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(source), sourceSize);\n memory.copy(outStart + sourceSize, changetype(other), otherLen << alignof());\n }\n return out;\n }\n\n static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\n var length = source.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var sliceSize = length << alignof();\n var slice = changetype>(__new(sliceSize, idof>())); // retains\n var sourcePtr = changetype(source) + (start << alignof());\n if (isManaged()) {\n let off: usize = 0;\n while (off < sliceSize) {\n let ref = load(sourcePtr + off);\n store(changetype(slice) + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(changetype(slice), sourcePtr, sliceSize);\n }\n return slice;\n }\n\n constructor(length: i32) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n memory.fill(out, 0, outSize);\n return changetype>(out); // retains\n }\n\n get length(): i32 {\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof();\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(changetype(this) + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = changetype(this) + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(changetype(oldRef));\n }\n } else {\n store(changetype(this) + (index << alignof()), value);\n }\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n let elem = load(changetype(this) + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length): i32 {\n var length = this.length;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n while (fromIndex >= 0) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = changetype(this);\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(this), thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = changetype(this) + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n join(separator: string = \",\"): string {\n if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator);\n if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator);\n if (isFloat()) return joinFloatArray(changetype(this), this.length, separator);\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(changetype(this), this.length, separator);\n }\n if (isReference()) return joinReferenceArray(changetype(this), this.length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = changetype(this);\n let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n }\n}\n","/**\r\n * @author Rick Battagline / https://embed.com\r\n */\r\n\r\nimport {\r\n WebGLShader, shaderSource, createShader, compileShader, \r\n VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram,\r\n attachShader, useProgram, WebGLUniformLocation, getUniformLocation,\r\n linkProgram, clearColor, clear,\r\n createBuffer, ARRAY_BUFFER, \r\n DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT,\r\n enableVertexAttribArray, bindBuffer, createContextFromCanvas,\r\n bufferData, getAttribLocation, drawArrays, enable, depthFunc,\r\n vertexAttribPointer, TRIANGLES, GREATER\r\n} from '../../webgl'\r\n\r\nimport {\r\n objArray, matArray, groupArray\r\n} from './Robot'\r\n\r\nconst VERTEX_SHADER_CODE:string = `#version 300 es\r\n precision mediump float;\r\n\r\n in vec3 position;\r\n in vec3 normal;\r\n out vec4 c;\r\n \r\n void main() {\r\n const vec3 light = vec3(0.25, 2.0, -0.5);\r\n float d = clamp( dot( normal, light ), 0.0, 1.0);\r\n vec4 pos = vec4( position, 1.0 );\r\n\r\n mat4 mRotateTranslate = mat4(\r\n 1.0, 0.0, 0.0, 0.0, // column 1\r\n 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2\r\n 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3\r\n 0.0, 0.0, 0.0, 1.0 // column 4\r\n );\r\n\r\n gl_Position = pos * mRotateTranslate;\r\n c = vec4(max(d, 0.2), max(d, 0.2), max(d, 0.25), 1.0);\r\n }\r\n`;\r\n\r\n// THIS IS THE FRAGMENT SHADER\r\nconst FRAGMENT_SHADER_CODE:string = `#version 300 es\r\n precision highp float;\r\n in vec4 c;\r\n out vec4 color;\r\n\r\n void main() {\r\n color = c;\r\n }\r\n`;\r\n\r\n // initialize webgl\r\n var gl = createContextFromCanvas('cnvs', 'webgl2');\r\n\r\n let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER);\r\n shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE);\r\n compileShader(gl, vertex_shader);\r\n\r\n let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER);\r\n shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE);\r\n compileShader( gl, fragment_shader );\r\n\r\n let program = createProgram(gl);\r\n\r\n attachShader(gl, program, vertex_shader);\r\n attachShader(gl, program, fragment_shader);\r\n\r\n linkProgram( gl, program );\r\n\r\n useProgram( gl, program );\r\n\r\n let buffer = createBuffer(gl);\r\n bindBuffer(gl, ARRAY_BUFFER, buffer);\r\n\r\n let position_al = getAttribLocation(gl, program, 'position');\r\n enableVertexAttribArray(gl, position_al);\r\n\r\n let normal_al = getAttribLocation(gl, program, 'normal');\r\n enableVertexAttribArray(gl, normal_al);\r\n\r\n enable(gl, DEPTH_TEST);\r\n\r\n // I'M DUPLICATING A LOT OF VERTICES HERE.\r\n // INDEXES WOULD BE BETTER\r\n\r\nfunction rotate(theta: f32) : void { //u32 {\r\n for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) {\r\n for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 6 ) {\r\n\r\n let x:f32 = objArray[obj_i][coord_i];\r\n let z:f32 = objArray[obj_i][coord_i+2];\r\n\r\n let nx:f32 = objArray[obj_i][coord_i+3];\r\n let nz:f32 = objArray[obj_i][coord_i+5];\r\n\r\n let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta);\r\n let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta);\r\n\r\n let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta);\r\n let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta);\r\n\r\n objArray[obj_i][coord_i] = x1;\r\n objArray[obj_i][coord_i+2] = z1;\r\n\r\n objArray[obj_i][coord_i+3] = nx1;\r\n objArray[obj_i][coord_i+5] = nz1;\r\n }\r\n }\r\n\r\n return;\r\n}\r\n\r\n export function displayLoop(delta:i32):void {\r\n let r: f32 = delta / 10000.0;\r\n rotate(r);\r\n\r\n clearColor(gl, 0.0, 0.0, 0.0, 1.0);\r\n clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT);\r\n\r\n for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) {\r\n bufferData(gl, ARRAY_BUFFER, objArray[obj_i], DYNAMIC_DRAW);\r\n // dimensions | data_type | normalize | stride | offset\r\n vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0);\r\n vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12);\r\n drawArrays(gl, TRIANGLES, 0, objArray[obj_i].length / 6);\r\n }\r\n }","import * as JSMath from \"./bindings/Math\";\nexport { JSMath };\n\nimport {\n pow_lut, exp_lut, exp2_lut, log_lut, log2_lut,\n powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut\n} from \"./util/math\";\n\nimport {\n abs as builtin_abs,\n ceil as builtin_ceil,\n clz as builtin_clz,\n copysign as builtin_copysign,\n floor as builtin_floor,\n max as builtin_max,\n min as builtin_min,\n sqrt as builtin_sqrt,\n trunc as builtin_trunc\n} from \"./builtins\";\n\n// SUN COPYRIGHT NOTICE\n//\n// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\n// Developed at SunPro, a Sun Microsystems, Inc. business.\n// Permission to use, copy, modify, and distribute this software\n// is freely granted, provided that this notice is preserved.\n//\n// Applies to all functions marked with a comment referring here.\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy var rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64;\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy @inline const PIO2_TABLE = memory.data([\n 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB,\n 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5,\n 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF,\n 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7,\n 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20,\n 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557\n]);\n\n/** @internal */\nfunction R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01\n pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01\n pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01\n pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02\n pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04\n pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05\n qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00\n qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00\n qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01\n qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02\n var p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5)))));\n var q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4)));\n return p / q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2.c\n k = 2043,\n kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10\n var scale = reinterpret(((0x3FF + k / 2) << 20) << 32);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMath.exp(x - kln2) * (sign * scale) * scale;\n}\n\n/** @internal */\n/* Helper function to eventually get bits of π/2 * |x|\n *\n * y = π/4 * (frac << clz(frac) >> 11)\n * return clz(frac)\n *\n * Right shift 11 bits to make upper half fit in `double`\n */\n// @ts-ignore: decorator\n@inline\nfunction pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n // Bits of π/4\n const p0: u64 = 0xC4C6628B80DC1CD1;\n const p1: u64 = 0xC90FDAA22168C234;\n\n const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64\n const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75\n\n var shift = clz(q1);\n\n q1 = q1 << shift | q0 >> (64 - shift);\n q0 <<= shift;\n\n var lo = umuldi(p1, q1);\n var hi = res128_hi;\n\n var ahi = hi >> 11;\n var alo = lo >> 11 | hi << 53;\n var blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0);\n\n rempio2_y0 = (ahi + u64(lo < blo));\n rempio2_y1 = Ox1p_64 * (alo + blo);\n\n return shift;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction umuldi(u: u64, v: u64): u64 {\n var u1: u64 , v1: u64, w0: u64, w1: u64, t: u64;\n\n u1 = u & 0xFFFFFFFF;\n v1 = v & 0xFFFFFFFF;\n\n u >>= 32;\n v >>= 32;\n\n t = u1 * v1;\n w0 = t & 0xFFFFFFFF;\n t = u * v1 + (t >> 32);\n w1 = t >> 32;\n t = u1 * v + (t & 0xFFFFFFFF);\n\n res128_hi = u * v + w1 + (t >> 32);\n return (t << 32) + w0;\n}\n\n/** @internal */\nfunction pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n var magnitude = u & 0x7FFFFFFFFFFFFFFF;\n var offset = (magnitude >> 52) - 1045;\n var shift = offset & 63;\n var tblPtr = PIO2_TABLE + ((offset >> 6) << 3);\n var s0: u64, s1: u64, s2: u64;\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var b2 = load(tblPtr, 2 << 3);\n\n // Get 192 bits of 0x1p-31 / π with `offset` bits skipped\n if (shift) {\n let rshift = 64 - shift;\n let b3 = load(tblPtr, 3 << 3);\n s0 = b1 >> rshift | b0 << shift;\n s1 = b2 >> rshift | b1 << shift;\n s2 = b3 >> rshift | b2 << shift;\n } else {\n s0 = b0;\n s1 = b1;\n s2 = b2;\n }\n\n var significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000;\n\n // First 128 bits of fractional part of x/(2π)\n var blo = umuldi(s1, significand);\n var bhi = res128_hi;\n\n var ahi = s0 * significand;\n var clo = (s2 >> 32) * (significand >> 32);\n var plo = blo + clo;\n var phi = ahi + bhi + u64(plo < clo);\n\n // r: u128 = p << 2\n var rlo = plo << 2;\n var rhi = phi << 2 | plo >> 62;\n\n // s: i128 = r >> 127\n var slo = rhi >> 63;\n var shi = slo >> 1;\n var q = (phi >> 62) - slo;\n\n var shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52);\n var signbit = (u ^ rhi) & 0x8000000000000000;\n var coeff = reinterpret(shifter | signbit);\n\n rempio2_y0 *= coeff;\n rempio2_y1 *= coeff;\n\n return q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction rempio2(x: f64, u: u64, sign: i32): i32 {\n const pio2_1 = reinterpret(0x3FF921FB54400000); // 1.57079632673412561417e+00\n const pio2_1t = reinterpret(0x3DD0B4611A626331); // 6.07710050650619224932e-11\n const pio2_2 = reinterpret(0x3DD0B4611A600000); // 6.07710050630396597660e-11\n const pio2_2t = reinterpret(0x3BA3198A2E037073); // 2.02226624879595063154e-21\n const pio2_3 = reinterpret(0x3BA3198A2E000000); // 2.02226624871116645580e-21\n const pio2_3t = reinterpret(0x397B839A252049C1); // 8.47842766036889956997e-32\n const invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n var ix = (u >> 32) & 0x7FFFFFFF;\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1\n let q = 1, z: f64, y0: f64, y1: f64;\n if (!sign) {\n z = x - pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z - pio2_1t;\n y1 = (z - y0) - pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z -= pio2_2;\n y0 = z - pio2_2t;\n y1 = (z - y0) - pio2_2t;\n }\n } else { // negative x\n z = x + pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z + pio2_1t;\n y1 = (z - y0) + pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z += pio2_2;\n y0 = z + pio2_2t;\n y1 = (z - y0) + pio2_2t;\n }\n q = -1;\n }\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n }\n\n if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099)\n // Use precise Cody Waite scheme\n let q = nearest(x * invpio2);\n let r = x - q * pio2_1;\n let w = q * pio2_1t; // 1st round good to 85 bit\n let j = ix >> 20;\n let y0 = r - w;\n let hi = (reinterpret(y0) >> 32);\n let i = j - ((hi >> 20) & 0x7FF);\n\n if (i > 16) { // 2nd iteration needed, good to 118\n let t = r;\n w = q * pio2_2;\n r = t - w;\n w = q * pio2_2t - ((t - r) - w);\n y0 = r - w;\n hi = (reinterpret(y0) >> 32);\n i = j - ((hi >> 20) & 0x7FF);\n if (i > 49) { // 3rd iteration need, 151 bits acc\n let t = r;\n w = q * pio2_3;\n r = t - w;\n w = q * pio2_3t - ((t - r) - w);\n y0 = r - w;\n }\n }\n let y1 = (r - y0) - w;\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n var q = pio2_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c\n const S1 = reinterpret(0xBFC5555555555549); // -1.66666666666666324348e-01\n const S2 = reinterpret(0x3F8111111110F8A6); // 8.33333333332248946124e-03\n const S3 = reinterpret(0xBF2A01A019C161D5); // -1.98412698298579493134e-04\n const S4 = reinterpret(0x3EC71DE357B1FE7D); // 2.75573137070700676789e-06\n const S5 = reinterpret(0xBE5AE5E68A2B9CEB); // -2.50507602534068634195e-08\n const S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10\n\n var z = x * x;\n var w = z * z;\n var r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6);\n var v = z * x;\n if (!iy) {\n return x + v * (S1 + z * r);\n } else {\n return x - ((z * (0.5 * y - v * r) - y) - v * S1);\n }\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c\n const C1 = reinterpret(0x3FA555555555554C); // 4.16666666666666019037e-02\n const C2 = reinterpret(0xBF56C16C16C15177); // -1.38888888888741095749e-03\n const C3 = reinterpret(0x3EFA01A019CB1590); // 2.48015872894767294178e-05\n const C4 = reinterpret(0xBE927E4F809C52AD); // -2.75573143513906633035e-07\n const C5 = reinterpret(0x3E21EE9EBDB4B1C4); // 2.08757232129817482790e-09\n const C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11\n\n var z = x * x;\n var w = z * z;\n var r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6));\n var hz = 0.5 * z;\n w = 1.0 - hz;\n return w + (((1.0 - w) - hz) + (z * r - x * y));\n}\n\n/** @internal */\nfunction tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c\n const T0 = reinterpret(0x3FD5555555555563); // 3.33333333333334091986e-01\n const T1 = reinterpret(0x3FC111111110FE7A); // 1.33333333333201242699e-01\n const T2 = reinterpret(0x3FABA1BA1BB341FE); // 5.39682539762260521377e-02\n const T3 = reinterpret(0x3F9664F48406D637); // 2.18694882948595424599e-02\n const T4 = reinterpret(0x3F8226E3E96E8493); // 8.86323982359930005737e-03\n const T5 = reinterpret(0x3F6D6D22C9560328); // 3.59207910759131235356e-03\n const T6 = reinterpret(0x3F57DBC8FEE08315); // 1.45620945432529025516e-03\n const T7 = reinterpret(0x3F4344D8F2F26501); // 5.88041240820264096874e-04\n const T8 = reinterpret(0x3F3026F71A8D1068); // 2.46463134818469906812e-04\n const T9 = reinterpret(0x3F147E88A03792A6); // 7.81794442939557092300e-05\n const T10 = reinterpret(0x3F12B80F32F0A7E9); // 7.14072491382608190305e-05\n const T11 = reinterpret(0xBEF375CBDB605373); // -1.85586374855275456654e-05\n const T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05\n\n const one = reinterpret(0x3FF0000000000000); // 1.00000000000000000000e+00\n const pio4 = reinterpret(0x3FE921FB54442D18); // 7.85398163397448278999e-01\n const pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17\n\n var z: f64, r: f64, v: f64, w: f64, s: f64;\n var hx = (reinterpret(x) >> 32); // high word of x\n var ix = hx & 0x7FFFFFFF; // high word of |x|\n var big = ix >= 0x3FE59428;\n if (big) { // |x| >= 0.6744\n if (hx < 0) { x = -x, y = -y; }\n z = pio4 - x;\n w = pio4lo - y;\n x = z + w;\n y = 0.0;\n }\n z = x * x;\n w = z * z;\n r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11))));\n v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12)))));\n s = z * x;\n r = y + z * (s * (r + v) + y);\n r += T0 * s;\n w = x + r;\n if (big) {\n v = iy;\n return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r)));\n }\n if (iy == 1) return w;\n var a: f64, t: f64;\n z = w;\n z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000);\n v = r - (z - x); // z + v = r + x\n t = a = -one / w; // a = -1.0 / w\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n s = one + t * z;\n return t + a * (s + t * v);\n}\n\n/** @internal */\nfunction dtoi32(x: f64): i32 {\n if (ASC_SHRINK_LEVEL > 0) {\n const inv32 = 1.0 / 4294967296;\n return (x - 4294967296 * floor(x * inv32));\n } else {\n let result = 0;\n let u = reinterpret(x);\n let e = (u >> 52) & 0x7FF;\n if (e <= 1023 + 30) {\n result = x;\n } else if (e <= 1023 + 30 + 53) {\n let v = (u & ((1 << 52) - 1)) | (1 << 52);\n v = v << e - 1023 - 52 + 32;\n result = (v >> 32);\n result = select(-result, result, u >> 63);\n }\n return result;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var random_seeded = false;\n\n// @ts-ignore: decorator\n@lazy var random_state0_64: u64, random_state1_64: u64;\n\n// @ts-ignore: decorator\n@lazy var random_state0_32: u32, random_state1_32: u32;\n\nfunction murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche\n h ^= h >> 33; // see: https://github.com/aappleby/smhasher\n h *= 0xFF51AFD7ED558CCD;\n h ^= h >> 33;\n h *= 0xC4CEB9FE1A85EC53;\n h ^= h >> 33;\n return h;\n}\n\nfunction splitMix32(h: u32): u32 {\n h += 0x6D2B79F5;\n h = (h ^ (h >> 15)) * (h | 1);\n h ^= h + (h ^ (h >> 7)) * (h | 61);\n return h ^ (h >> 14);\n}\n\nexport namespace NativeMath {\n\n // @ts-ignore: decorator\n @lazy\n export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765\n\n // @ts-ignore: decorator\n @lazy\n export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f64 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f64 = 0;\n\n // @ts-ignore: decorator\n @inline export function abs(x: f64): f64 {\n return builtin_abs(x);\n }\n\n export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * R(x * x)));\n }\n var s: f64, w: f64, z: f64;\n if (hx >> 31) {\n // z = (1.0 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = R(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1.0 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n var df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n var c = (z - df * df) / (s + df);\n w = R(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c\n const s = reinterpret(0x3FE62E42FEFA39EF);\n var e = reinterpret(x) >> 52 & 0x7FF;\n if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1)));\n if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f;\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix < 0x3E500000 && ix >= 0x00100000) return x;\n return x + x * R(x * x);\n }\n // var z = (1.0 - builtin_abs(x)) * 0.5;\n var z = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z);\n var r = R(z);\n if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo);\n else {\n let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n let c = (z - f * f) / (s + f);\n x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));\n }\n if (hx >> 31) return -x;\n return x;\n }\n\n export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c\n const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = reinterpret(u & 0x7FFFFFFFFFFFFFFF);\n if (e >= 0x3FF + 26) y = log(y) + c;\n else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01\n atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\n atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01\n atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17\n atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17\n atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17\n atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01\n aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01\n aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01\n aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01,\n aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02\n aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02\n aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02\n aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02\n aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02\n aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02\n aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02\n Ox1p_120f = reinterpret(0x03800000);\n var ix = (reinterpret(x) >> 32);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f64;\n if (ix >= 0x44100000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3FDC0000) {\n if (ix < 0x3E400000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3FF30000) {\n if (ix < 0x3FE60000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x40038000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10)))));\n var s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9))));\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = builtin_abs(x);\n if (e < 0x3FF - 1) {\n if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y));\n } else {\n y = 0.5 * log1p(2 * (y / (1 - y)));\n }\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above\n const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16\n if (isNaN(x) || isNaN(y)) return x + y;\n var u = reinterpret(x);\n var ix = (u >> 32);\n var lx = u;\n u = reinterpret(y);\n var iy = (u >> 32);\n var ly = u;\n if ((ix - 0x3FF00000 | lx) == 0) return atan(y);\n var m = ((iy >> 31) & 1) | ((ix >> 30) & 2);\n ix = ix & 0x7FFFFFFF;\n iy = iy & 0x7FFFFFFF;\n if ((iy | ly) == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return PI;\n case 3: return -PI;\n }\n }\n if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2;\n if (ix == 0x7FF00000) {\n if (iy == 0x7FF00000) {\n let t = m & 2 ? 3 * PI / 4 : PI / 4;\n return m & 1 ? -t : t;\n } else {\n let t = m & 2 ? PI : 0;\n return m & 1 ? -t : t;\n }\n }\n var z: f64;\n if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2;\n if ((m & 2) && iy + (64 << 20) < ix) z = 0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return PI - (z - pi_lo);\n case 3: return (z - pi_lo) - PI;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 715094163,\n B2 = 696219795,\n P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643\n P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875\n P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140\n P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437\n P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32) & 0x7FFFFFFF;\n if (hx >= 0x7FF00000) return x + x;\n if (hx < 0x00100000) {\n u = reinterpret(x * Ox1p54);\n hx = (u >> 32) & 0x7FFFFFFF;\n if (hx == 0) return x;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 1 << 63;\n u |= hx << 32;\n var t = reinterpret(u);\n var r = (t * t) * (t / x);\n t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4));\n t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000);\n var s = t * t;\n r = x / s;\n r = (r - t) / (2 * t + r);\n t = t + t * r;\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f64): f64 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f64): f64 {\n if (!isFinite(x)) return 32;\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f64): f64 { // see: musl/src/math/cos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2)\n return 1.0;\n }\n return cos_kern(x, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1);\n return (n + 1) & 2 ? -x : x;\n }\n\n export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n x = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w < 0x3FE62E42) {\n if (w < 0x3FF00000 - (26 << 20)) return 1;\n t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (w < 0x40862E42) {\n t = exp(x);\n return 0.5 * (t + 1 / t);\n }\n t = expo2(x, 1);\n return t;\n }\n\n export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return exp_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096\n underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n let hx = (reinterpret(x) >> 32);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x4086232B) {\n if (isNaN(x)) return x;\n if (x > overflow) return x * Ox1p1023;\n if (x < underflow) return 0;\n }\n let hi: f64, lo: f64 = 0;\n let k = 0;\n if (hx > 0x3FD62E42) {\n if (hx >= 0x3FF0A2B2) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x3E300000) {\n hi = x;\n } else return 1.0 + x;\n let xs = x * x;\n // var c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5))));\n let xq = xs * xs;\n let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5)));\n let y = 1.0 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f64): f64 {\n return exp2_lut(x);\n }\n\n export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02\n Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03\n Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05\n Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06\n Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32 & 0x7FFFFFFF);\n var k = 0, sign_ = (u >> 63);\n if (hx >= 0x4043687A) {\n if (isNaN(x)) return x;\n if (sign_) return -1;\n if (x > o_threshold) return x * Ox1p1023;\n }\n var c = 0.0, t: f64;\n if (hx > 0x3FD62E42) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3FF0A2B2\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x3C900000) return x;\n var hfx = 0.5 * x;\n var hxs = x * hfx;\n // var r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5))));\n var hxq = hxs * hxs;\n var r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5));\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x3FF + k) << 52;\n var twopk = reinterpret(u);\n var y: f64;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 1024) y = y * 2.0 * Ox1p1023;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x3FF - k) << 52;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f64): f64 {\n return builtin_floor(x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f64): f64 {\n return x;\n }\n\n export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c\n const\n SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1\n Ox1p700 = reinterpret(0x6BB0000000000000),\n Ox1p_700 = reinterpret(0x1430000000000000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFFFFFFFFFF;\n uy &= 0x7FFFFFFFFFFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n var ex = (ux >> 52);\n var ey = (uy >> 52);\n y = reinterpret(uy);\n if (ey == 0x7FF) return y;\n x = reinterpret(ux);\n if (ex == 0x7FF || uy == 0) return x;\n if (ex - ey > 64) return x + y;\n var z = 1.0;\n if (ex > 0x3FF + 510) {\n z = Ox1p700;\n x *= Ox1p_700;\n y *= Ox1p_700;\n } else if (ey < 0x3FF - 450) {\n z = Ox1p_700;\n x *= Ox1p700;\n y *= Ox1p700;\n }\n var c = x * SPLIT;\n var h = x - c + c;\n var l = x - h;\n var hx = x * x;\n var lx = h * h - hx + (2 * h + l) * l;\n c = y * SPLIT;\n h = y - c + c;\n l = y - h;\n var hy = y * y;\n var ly = h * h - hy + (2 * h + l) * l;\n return z * builtin_sqrt(ly + lx + hy + hx);\n }\n\n export function imul(x: f64, y: f64): f64 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return dtoi32(x) * dtoi32(y);\n }\n\n export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01\n ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11\n log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01\n log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n var f = x - 1.0;\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var val_hi = hi * ivln10hi;\n var dk = k;\n var y = dk * log10_2hi;\n var val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n return val_lo + w;\n }\n\n export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 1;\n var c = 0.0, f = 0.0;\n if (hx < 0x3FDA827A || (hx >> 31)) {\n if (hx >= 0xBFF00000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (hx << 1 < 0x3CA00000 << 1) return x;\n if (hx <= 0xBFD2BEC4) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (hx >= 0x7FF00000) return x;\n if (k) {\n u = reinterpret(1 + x);\n let hu = (u >> 32);\n hu += 0x3FF00000 - 0x3FE6A09E;\n k = (hu >> 20) - 0x3FF;\n if (k < 54) {\n let uf = reinterpret(u);\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n hu = (hu & 0x000FFFFF) + 0x3FE6A09E;\n u = hu << 32 | (u & 0xFFFFFFFF);\n f = reinterpret(u) - 1;\n }\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00\n ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n let lo = f - hi - hfsq + s * (hfsq + r);\n let val_hi = hi * ivln2hi;\n let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi;\n let y = k;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n val_hi = w;\n return val_lo + val_hi;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f64, value2: f64): f64 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f64, value2: f64): f64 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n return pow_lut(x, y);\n } else {\n const\n dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01\n dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08\n two53 = reinterpret(0x4340000000000000), // 9007199254740992.0\n huge = reinterpret(0x7E37E43C8800759C), // 1e+300\n tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300\n L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01\n L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01\n L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01\n L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01\n L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01\n L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01\n lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01\n lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09\n ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017\n cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01\n cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01\n cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09\n ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00\n ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08\n inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333\n let u_ = reinterpret(x);\n let hx = (u_ >> 32);\n let lx = u_;\n u_ = reinterpret(y);\n let hy = (u_ >> 32);\n let ly = u_;\n let ix = hx & 0x7FFFFFFF;\n let iy = hy & 0x7FFFFFFF;\n if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN\n // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN\n if ( // NaN if either arg is NaN\n ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) ||\n iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0)\n ) return x + y;\n let yisint = 0, k: i32;\n if (hx < 0) {\n if (iy >= 0x43400000) yisint = 2;\n else if (iy >= 0x3FF00000) {\n k = (iy >> 20) - 0x3FF;\n let offset = select(52, 20, k > 20) - k;\n let Ly = select(ly, iy, k > 20);\n let jj = Ly >> offset;\n if ((jj << offset) == Ly) yisint = 2 - (jj & 1);\n }\n }\n if (ly == 0) {\n if (iy == 0x7FF00000) { // y is +-inf\n if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN\n else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0\n else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf\n }\n if (iy == 0x3FF00000) {\n if (hy >= 0) return x;\n return 1 / x;\n }\n if (hy == 0x40000000) return x * x;\n if (hy == 0x3FE00000) {\n if (hx >= 0) return builtin_sqrt(x);\n }\n }\n let ax = builtin_abs(x), z: f64;\n if (lx == 0) {\n if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) {\n z = ax;\n if (hy < 0) z = 1.0 / z;\n if (hx < 0) {\n if (((ix - 0x3FF00000) | yisint) == 0) {\n let d = z - z;\n z = d / d;\n } else if (yisint == 1) z = -z;\n }\n return z;\n }\n }\n let s = 1.0;\n if (hx < 0) {\n if (yisint == 0) {\n let d = x - x;\n return d / d;\n }\n if (yisint == 1) s = -1.0;\n }\n let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64;\n let j: i32, n: i32;\n if (iy > 0x41E00000) {\n if (iy > 0x43F00000) {\n if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny;\n if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny;\n }\n if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny;\n if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny;\n t = ax - 1.0;\n w = (t * t) * (0.5 - t * (inv3 - t * 0.25));\n u = ivln2_h * t;\n v = t * ivln2_l - w * ivln2;\n t1 = u + v;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = v - (t1 - u);\n } else {\n let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64;\n n = 0;\n if (ix < 0x00100000) {\n ax *= two53;\n n -= 53;\n ix = (reinterpret(ax) >> 32);\n }\n n += (ix >> 20) - 0x3FF;\n j = ix & 0x000FFFFF;\n ix = j | 0x3FF00000;\n if (j <= 0x3988E) k = 0;\n else if (j < 0xBB67A) k = 1;\n else {\n k = 0;\n n += 1;\n ix -= 0x00100000;\n }\n ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32));\n let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0\n u = ax - bp;\n v = 1.0 / (ax + bp);\n ss = u * v;\n s_h = ss;\n s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000);\n t_h = reinterpret((((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32);\n t_l = ax - (t_h - bp);\n s_l = v * ((u - s_h * t_h) - s_h * t_l);\n s2 = ss * ss;\n r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))));\n r += s_l * (s_h + ss);\n s2 = s_h * s_h;\n t_h = 3.0 + s2 + r;\n t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000);\n t_l = r - ((t_h - 3.0) - s2);\n u = s_h * t_h;\n v = s_l * t_h + t_l * ss;\n p_h = u + v;\n p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000);\n p_l = v - (p_h - u);\n let z_h = cp_h * p_h;\n let dp_l = select(dp_l1, 0.0, k);\n let z_l = cp_l * p_h + p_l * cp + dp_l;\n t = n;\n let dp_h = select(dp_h1, 0.0, k);\n t1 = ((z_h + z_l) + dp_h) + t;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = z_l - (((t1 - t) - dp_h) - z_h);\n }\n let y1 = y;\n y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000);\n p_l = (y - y1) * t1 + y * t2;\n p_h = y1 * t1;\n z = p_l + p_h;\n u_ = reinterpret(z);\n j = (u_ >> 32);\n let i = u_;\n if (j >= 0x40900000) {\n if (((j - 0x40900000) | i) != 0) return s * huge * huge;\n if (p_l + ovt > z - p_h) return s * huge * huge;\n } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) {\n if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny;\n if (p_l <= z - p_h) return s * tiny * tiny;\n }\n i = j & 0x7FFFFFFF;\n k = (i >> 20) - 0x3FF;\n n = 0;\n if (i > 0x3FE00000) {\n n = j + (0x00100000 >> (k + 1));\n k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF;\n t = 0.0;\n t = reinterpret((n & ~(0x000FFFFF >> k)) << 32);\n n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k);\n if (j < 0) n = -n;\n p_h -= t;\n }\n t = p_l + p_h;\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n u = t * lg2_h;\n v = (p_l - (t - p_h)) * lg2 + t * lg2_l;\n z = u + v;\n w = v - (z - u);\n t = z * z;\n t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5))));\n r = (z * t1) / (t1 - 2.0) - (w + z * w);\n z = 1.0 - (r - z);\n j = (reinterpret(z) >> 32);\n j += n << 20;\n if ((j >> 20) <= 0) z = scalbn(z, n);\n else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32));\n return s * z;\n }\n }\n\n export function seedRandom(value: i64): void {\n random_seeded = true;\n random_state0_64 = murmurHash3(value);\n random_state1_64 = murmurHash3(~random_state0_64);\n random_state0_32 = splitMix32(value);\n random_state1_32 = splitMix32(random_state0_32);\n assert(\n random_state0_64 != 0 && random_state1_64 != 0 &&\n random_state0_32 != 0 && random_state1_32 != 0\n );\n }\n\n export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc\n if (!random_seeded) seedRandom(reinterpret(seed()));\n var s1 = random_state0_64;\n var s0 = random_state1_64;\n random_state0_64 = s0;\n s1 ^= s1 << 23;\n s1 ^= s1 >> 17;\n s1 ^= s0;\n s1 ^= s0 >> 26;\n random_state1_64 = s1;\n var r = (s0 >> 12) | 0x3FF0000000000000;\n return reinterpret(r) - 1;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f64): f64 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f64): f64 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f64): bool {\n return (reinterpret(x) >>> 63);\n }\n\n export function sin(x: f64): f64 { // see: musl/src/math/sin.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E500000) { // |x| < 2**-26\n return x;\n }\n return sin_kern(x, 0.0, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1);\n return n & 2 ? -x : x;\n }\n\n export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c\n var u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF;\n var absx = reinterpret(u);\n var w = (u >> 32);\n var h = builtin_copysign(0.5, x);\n if (w < 0x40862E42) {\n let t = expm1(absx);\n if (w < 0x3FF00000) {\n if (w < 0x3FF00000 - (26 << 20)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f64): f64 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f64): f64 { // see: musl/src/math/tan.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >>> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E400000) { // |x| < 2**-27\n return x;\n }\n return tan_kern(x, 0.0, 1);\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n var n = rempio2(x, u, sign);\n return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1));\n }\n\n export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n var y = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w > 0x3FE193EA) {\n if (w > 0x40340000) {\n t = 1 - 0 / y;\n } else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (w > 0x3FD058AE) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (w >= 0x00100000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f64): f64 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c\n const\n Ox1p53 = reinterpret(0x4340000000000000),\n Ox1p1023 = reinterpret(0x7FE0000000000000),\n Ox1p_1022 = reinterpret(0x0010000000000000);\n var y = x;\n if (n > 1023) {\n y *= Ox1p1023;\n n -= 1023;\n if (n > 1023) {\n y *= Ox1p1023;\n n = builtin_min(n - 1023, 1023);\n }\n } else if (n < -1022) {\n // make sure final n < -53 to avoid double\n // rounding in the subnormal range\n y *= Ox1p_1022 * Ox1p53;\n n += 1022 - 53;\n if (n < -1022) {\n y *= Ox1p_1022 * Ox1p53;\n n = builtin_max(n + 1022 - 53, -1022);\n }\n }\n return y * reinterpret((0x3FF + n) << 52);\n }\n\n export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = ux >> 63;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f64(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 12);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 12;\n ux |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 52); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 11);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 52;\n ux |= ex << 52;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | (sx << 63));\n }\n\n export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = (ux >> 63);\n if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n if (ux << 1 == 0) return x;\n var uxi = ux;\n if (!ex) {\n ex -= builtin_clz(uxi << 12);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 12;\n uxi |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n var q: u32 = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -60;\n else {\n let shift = builtin_clz(uxi << 11);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 52;\n uxi |= ex << 52;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // ++q;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3FE921FB) { // |x| ~<= π/4\n if (ix < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2)\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kern(x, 0, 0);\n sincos_cos = cos_kern(x, 0);\n return;\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n var s = sin_kern(y0, y1, 1);\n var c = cos_kern(y0, y1);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var rempio2f_y: f64;\n\n// @ts-ignore: decorator\n@lazy @inline const PIO2F_TABLE = memory.data([\n 0xA2F9836E4E441529,\n 0xFC2757D1F534DDC0,\n 0xDB6295993C439041,\n 0xFE5163ABDEBBC561\n]);\n\nfunction Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f\n pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f\n pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f\n qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f\n var p = z * (pS0 + z * (pS1 + z * pS2));\n var q: f32 = 1 + z * qS1;\n return p / q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2f.c\n k = 235,\n kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f\n var scale = reinterpret((0x7F + (k >> 1)) << 23);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMathf.exp(x - kln2) * (sign * scale) * scale;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20\n\n var offset = (u >> 23) - 152;\n var shift = (offset & 63);\n var tblPtr = PIO2F_TABLE + (offset >> 6 << 3);\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var lo: u64;\n\n if (shift > 32) {\n let b2 = load(tblPtr, 2 << 3);\n lo = b2 >> (96 - shift);\n lo |= b1 << (shift - 32);\n } else {\n lo = b1 >> (32 - shift);\n }\n\n var hi = (b1 >> (64 - shift)) | (b0 << shift);\n var mantissa: u64 = (u & 0x007FFFFF) | 0x00800000;\n var product = mantissa * hi + (mantissa * lo >> 32);\n var r: i64 = product << 2;\n var q = ((product >> 62) + (r >>> 63));\n rempio2f_y = copysign(coeff, x) * r;\n return q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const pi2hi = reinterpret(0x3FF921FB50000000); // 1.57079631090164184570\n const pi2lo = reinterpret(0x3E5110B4611A6263); // 1.58932547735281966916e-8\n const _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n if (u < 0x4DC90FDB) { // π * 0x1p28\n let q = nearest(x * _2_pi);\n rempio2f_y = x - q * pi2hi - q * pi2lo;\n return q;\n }\n\n var q = pio2f_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]).\n// @ts-ignore: decorator\n@inline\nfunction sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c\n const S1 = reinterpret(0xBFC5555554CBAC77); // -0x15555554cbac77.0p-55\n const S2 = reinterpret(0x3F811110896EFBB2); // 0x111110896efbb2.0p-59\n const S3 = reinterpret(0xBF2A00F9E2CAE774); // -0x1a00f9e2cae774.0p-65\n const S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71\n\n var z = x * x;\n var w = z * z;\n var r = S3 + z * S4;\n var s = z * x;\n return ((x + s * (S1 + z * S2)) + s * w * r);\n}\n\n// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]).\n// @ts-ignore: decorator\n@inline\nfunction cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c\n const C0 = reinterpret(0xBFDFFFFFFD0C5E81); // -0x1ffffffd0c5e81.0p-54\n const C1 = reinterpret(0x3FA55553E1053A42); // 0x155553e1053a42.0p-57\n const C2 = reinterpret(0xBF56C087E80F1E27); // -0x16c087e80f1e27.0p-62\n const C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68\n\n var z = x * x;\n var w = z * z;\n var r = C2 + z * C3;\n return (((1 + z * C0) + w * C1) + (w * z) * r);\n}\n\n// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]).\n// @ts-ignore: decorator\n@inline\nfunction tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c\n\n const T0 = reinterpret(0x3FD5554D3418C99F); // 0x15554d3418c99f.0p-54\n const T1 = reinterpret(0x3FC112FD38999F72); // 0x1112fd38999f72.0p-55\n const T2 = reinterpret(0x3FAB54C91D865AFE); // 0x1b54c91d865afe.0p-57\n const T3 = reinterpret(0x3F991DF3908C33CE); // 0x191df3908c33ce.0p-58\n const T4 = reinterpret(0x3F685DADFCECF44E); // 0x185dadfcecf44e.0p-61\n const T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59\n\n var z = x * x;\n var r = T4 + z * T5;\n var t = T2 + z * T3;\n var w = z * z;\n var s = z * x;\n var u = T0 + z * T1;\n\n r = (x + s * u) + (s * w) * (t + w * r);\n return (odd ? -1 / r : r);\n}\n\n// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h\n// @ts-ignore: decorator\n@inline\nfunction log2f(x: f64): f64 {\n const\n log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736\n c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129\n c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505\n c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375\n c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150\n\n var i = reinterpret(x);\n var exponent = (i - 0x3FE6A09E667F3BCD) >> 52;\n x = reinterpret(i - (exponent << 52));\n x = (x - 1) / (x + 1);\n var xx = x * x;\n var y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx));\n return (2 * log2e) * y + exponent;\n}\n\n// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h\n// @ts-ignore: decorator\n@inline\nfunction exp2f(x: f64): f64 {\n const\n c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1\n c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1\n c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2\n c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3\n c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3\n c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4\n\n if (x < -1022) return 0;\n if (x >= 1024) return Infinity;\n\n var n = nearest(x);\n x -= n;\n var xx = x * x;\n var y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx));\n return reinterpret(reinterpret(y) + (n << 52));\n}\n\nexport namespace NativeMathf {\n\n // @ts-ignore: decorator\n @lazy\n export const E = NativeMath.E;\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = NativeMath.LN2;\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = NativeMath.LN10;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = NativeMath.LOG2E;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = NativeMath.LOG10E;\n\n // @ts-ignore: decorator\n @lazy\n export const PI = NativeMath.PI;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = NativeMath.SQRT1_2;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = NativeMath.SQRT2;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f32 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f32 = 0;\n\n // @ts-ignore: decorator\n @inline\n export function abs(x: f32): f32 {\n return builtin_abs(x);\n }\n\n export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f\n Ox1p_120f = reinterpret(0x03800000);\n var hx = reinterpret(x);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3F800000) {\n if (ix == 0x3F800000) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3F000000) {\n if (ix <= 0x32800000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * Rf(x * x)));\n }\n var z: f32, w: f32, s: f32;\n if (hx >> 31) {\n // z = (1 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = Rf(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n hx = reinterpret(s);\n var df = reinterpret(hx & 0xFFFFF000);\n var c = (z - df * df) / (s + df);\n w = Rf(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c\n const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x);\n var a = u & 0x7FFFFFFF;\n if (a < 0x3F800000 + (1 << 23)) {\n let xm1 = x - 1;\n return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2)));\n }\n if (a < 0x3F800000 + (12 << 23)) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n const\n pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f\n Ox1p_120f = reinterpret(0x03800000);\n var sx = x;\n var hx = reinterpret(x) & 0x7FFFFFFF;\n if (hx >= 0x3F800000) {\n if (hx == 0x3F800000) return x * pio2 + Ox1p_120f;\n return 0 / (x - x);\n }\n if (hx < 0x3F000000) {\n if (hx < 0x39800000 && hx >= 0x00800000) return x;\n return x + x * Rf(x * x);\n }\n // var z: f32 = (1 - builtin_abs(x)) * 0.5;\n var z: f32 = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z); // sic\n x = (pio2 - 2 * (s + s * Rf(z)));\n return builtin_copysign(x, sx);\n }\n\n export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c\n const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x) & 0x7FFFFFFF;\n var y = reinterpret(u);\n if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c;\n else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f\n atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f\n atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f\n atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f\n atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f\n atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f\n atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f\n aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f\n aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f\n aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f\n aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f\n aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f\n Ox1p_120f = reinterpret(0x03800000);\n var ix = reinterpret(x);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f32;\n if (ix >= 0x4C800000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3EE00000) {\n if (ix < 0x39800000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3F980000) {\n if (ix < 0x3F300000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x401C0000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * aT4));\n var s2 = w * (aT1 + w * aT3);\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c\n var u = reinterpret(x);\n var y = builtin_abs(x);\n if (u < 0x3F800000 - (1 << 23)) {\n if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y)));\n } else y = 0.5 * log1p(2 * (y / (1 - y)));\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above\n const\n pi = reinterpret(0x40490FDB), // 3.1415927410e+00f\n pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f\n if (isNaN(x) || isNaN(y)) return x + y;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n if (ix == 0x3F800000) return atan(y);\n var m = (((iy >> 31) & 1) | ((ix >> 30) & 2));\n ix &= 0x7FFFFFFF;\n iy &= 0x7FFFFFFF;\n if (iy == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return pi;\n case 3: return -pi;\n }\n }\n if (ix == 0) return m & 1 ? -pi / 2 : pi / 2;\n if (ix == 0x7F800000) {\n if (iy == 0x7F800000) {\n let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4;\n return m & 1 ? -t : t;\n } else {\n let t: f32 = m & 2 ? pi : 0.0;\n return m & 1 ? -t : t;\n }\n }\n if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2;\n var z: f32;\n if ((m & 2) && iy + (26 << 23) < ix) z = 0.0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return pi - (z - pi_lo);\n case 3: return (z - pi_lo) - pi;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 709958130,\n B2 = 642849266,\n Ox1p24f = reinterpret(0x4B800000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n if (hx >= 0x7F800000) return x + x;\n if (hx < 0x00800000) {\n if (hx == 0) return x;\n u = reinterpret(x * Ox1p24f);\n hx = u & 0x7FFFFFFF;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 0x80000000;\n u |= hx;\n var t = reinterpret(u);\n var r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f32): f32 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f32): f32 {\n if (!isFinite(x)) return 32;\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f32): f32 { // see: musl/src/math/cosf.c\n const c1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const c2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const c3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n // raise inexact if x != 0\n return 1;\n }\n return cos_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix > 0x4016CBE3) { // |x| ~> 3π/4\n return -cos_kernf(sign ? x + c2pio2 : x - c2pio2);\n } else {\n return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix > 0x40AFEDDF) { // |x| ~> 7π/4\n return cos_kernf(sign ? x + c4pio2 : x - c4pio2);\n } else {\n return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2);\n }\n }\n }\n\n // cos(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? sin_kernf(y) : cos_kernf(y);\n return (n + 1) & 2 ? -t : t;\n }\n\n export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n x = reinterpret(u);\n if (u < 0x3F317217) {\n if (u < 0x3F800000 - (12 << 23)) return 1;\n let t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (u < 0x42B17217) {\n let t = exp(x);\n // return 0.5 * (t + 1 / t);\n return 0.5 * t + 0.5 / t;\n }\n return expo2f(x, 1);\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f32): f32 {\n return builtin_floor(x);\n }\n\n export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return expf_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f\n ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f\n P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f\n P2 = reinterpret(0xBB355215), // -2.7667332906e-3f\n Ox1p127f = reinterpret(0x7F000000);\n let hx = reinterpret(x);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x42AEAC50) {\n if (hx > 0x7F800000) return x; // NaN\n if (hx >= 0x42B17218) {\n if (!sign_) return x * Ox1p127f;\n else if (hx >= 0x42CFF1B5) return 0;\n }\n }\n let hi: f32, lo: f32;\n let k: i32;\n if (hx > 0x3EB17218) {\n if (hx > 0x3F851592) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x39000000) {\n k = 0;\n hi = x;\n lo = 0;\n } else {\n return 1 + x;\n }\n let xx = x * x;\n let c = x - xx * (P1 + xx * P2);\n let y: f32 = 1 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f32): f32 {\n return exp2f_lut(x);\n }\n\n export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x42B17180), // 8.8721679688e+01f\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f\n Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f\n Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f\n Ox1p127f = reinterpret(0x7F000000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n var sign_ = (u >> 31);\n if (hx >= 0x4195B844) {\n if (hx > 0x7F800000) return x;\n if (sign_) return -1;\n if (x > o_threshold) {\n x *= Ox1p127f;\n return x;\n }\n }\n var c: f32 = 0.0, t: f32, k: i32;\n if (hx > 0x3EB17218) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3F851592\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x33000000) {\n return x;\n } else k = 0;\n var hfx: f32 = 0.5 * x;\n var hxs: f32 = x * hfx;\n var r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2);\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x7F + k) << 23;\n var twopk = reinterpret(u);\n var y: f32;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 128) y = y * 2.0 * Ox1p127f;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x7F - k) << 23;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f32): f32 {\n return x;\n }\n\n export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c\n const\n Ox1p90f = reinterpret(0x6C800000),\n Ox1p_90f = reinterpret(0x12800000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFF;\n uy &= 0x7FFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n x = reinterpret(ux);\n y = reinterpret(uy);\n if (uy == 0xFF << 23) return y;\n if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y;\n var z: f32 = 1;\n if (ux >= (0x7F + 60) << 23) {\n z = Ox1p90f;\n x *= Ox1p_90f;\n y *= Ox1p_90f;\n } else if (uy < (0x7F - 60) << 23) {\n z = Ox1p_90f;\n x *= Ox1p90f;\n y *= Ox1p90f;\n }\n return z * builtin_sqrt((x * x + y * y));\n }\n\n // @ts-ignore: decorator\n @inline\n export function imul(x: f32, y: f32): f32 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return (dtoi32(x) * dtoi32(y));\n }\n\n export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return logf_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f\n Ox1p25f = reinterpret(0x4C000000);\n let u = reinterpret(x);\n let k = 0;\n if (u < 0x00800000 || (u >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (u >> 31) return (x - x) / 0;\n k -= 25;\n x *= Ox1p25f;\n u = reinterpret(x);\n } else if (u >= 0x7F800000) {\n return x;\n } else if (u == 0x3F800000) {\n return 0;\n }\n u += 0x3F800000 - 0x3F3504F3;\n k += (u >> 23) - 0x7F;\n u = (u & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(u);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq = 0.5 * f * f;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f\n ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f\n log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f\n log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n var ix = reinterpret(x);\n var k = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n var f = x - 1.0;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var hi = f - hfsq;\n ix = reinterpret(hi);\n ix &= 0xFFFFF000;\n hi = reinterpret(ix);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var dk = k;\n return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi;\n }\n\n export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f\n var ix = reinterpret(x);\n var c: f32 = 0, f: f32 = 0;\n var k: i32 = 1;\n if (ix < 0x3ED413D0 || (ix >> 31)) {\n if (ix >= 0xBF800000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (ix << 1 < 0x33800000 << 1) return x;\n if (ix <= 0xBE95F619) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (ix >= 0x7F800000) return x;\n if (k) {\n let uf: f32 = 1 + x;\n let iu = reinterpret(uf);\n iu += 0x3F800000 - 0x3F3504F3;\n k = (iu >> 23) - 0x7F;\n if (k < 25) {\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n iu = (iu & 0x007FFFFF) + 0x3F3504F3;\n f = reinterpret(iu) - 1;\n }\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2f_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f\n ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n let ix = reinterpret(x);\n let k: i32 = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq: f32 = 0.5 * f * f;\n let hi = f - hfsq;\n let u = reinterpret(hi);\n u &= 0xFFFFF000;\n hi = reinterpret(u);\n let lo: f32 = f - hi - hfsq + s * (hfsq + r);\n let dk = k;\n return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f32, value2: f32): f32 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f32, value2: f32): f32 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f32, y: f32): f32 {\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n // see: musl/src/math/powf.c\n return powf_lut(x, y);\n } else {\n // based on: jdh8/metallic/src/math/float/powf.c\n if (y == 0) return 1;\n // @ts-ignore: cast\n if (isNaN(x) | isNaN(y)) {\n return NaN;\n }\n let sign: u32 = 0;\n let uy = reinterpret(y);\n let ux = reinterpret(x);\n let sx = ux >> 31;\n ux &= 0x7FFFFFFF;\n if (sx && nearest(y) == y) {\n x = -x;\n sx = 0;\n sign = u32(nearest(y * 0.5) != y * 0.5) << 31;\n }\n let m: u32;\n if (ux == 0x3F800000) { // x == 1\n m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000;\n } else if (ux == 0) {\n m = uy >> 31 ? 0x7F800000 : 0;\n } else if (ux == 0x7F800000) {\n m = uy >> 31 ? 0 : 0x7F800000;\n } else if (sx) {\n m = 0x7FC00000;\n } else {\n m = reinterpret(exp2f(y * log2f(x)));\n }\n return reinterpret(m | sign);\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function seedRandom(value: i64): void {\n NativeMath.seedRandom(value);\n }\n\n // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c\n export function random(): f32 {\n if (!random_seeded) seedRandom(reinterpret(seed()));\n\n var s0 = random_state0_32;\n var s1 = random_state1_32;\n var r = rotl(s0 * 0x9E3779BB, 5) * 5;\n\n s1 ^= s0;\n random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9);\n random_state1_32 = rotl(s1, 13);\n\n return reinterpret((r >> 9) | (127 << 23)) - 1.0;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f32): f32 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f32): f32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f32): bool {\n return (reinterpret(x) >>> 31);\n }\n\n export function sin(x: f32): f32 { // see: musl/src/math/sinf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const s2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return sin_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2);\n }\n return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2));\n }\n\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2);\n }\n return sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n }\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? cos_kernf(y) : sin_kernf(y);\n return n & 2 ? -t : t;\n }\n\n export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c\n var u = reinterpret(x) & 0x7FFFFFFF;\n var absx = reinterpret(u);\n var h = builtin_copysign(0.5, x);\n if (u < 0x42B17217) {\n let t = expm1(absx);\n if (u < 0x3F800000) {\n if (u < 0x3F800000 - (12 << 23)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2f(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f32): f32 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f32): f32 { // see: musl/src/math/tanf.c\n const t1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const t2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const t3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return tan_kernf(x, 0);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1);\n } else {\n return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1);\n } else {\n return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0);\n }\n }\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // argument reduction\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n return tan_kernf(y, n & 1);\n }\n\n export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n var y = reinterpret(u);\n var t: f32;\n if (u > 0x3F0C9F54) {\n if (u > 0x41200000) t = 1 + 0 / y;\n else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (u > 0x3E82C578) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (u >= 0x00800000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f32): f32 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c\n const\n Ox1p24f = reinterpret(0x4B800000),\n Ox1p127f = reinterpret(0x7F000000),\n Ox1p_126f = reinterpret(0x00800000);\n var y = x;\n if (n > 127) {\n y *= Ox1p127f;\n n -= 127;\n if (n > 127) {\n y *= Ox1p127f;\n n = builtin_min(n - 127, 127);\n }\n } else if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n += 126 - 24;\n if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n = builtin_max(n + 126 - 24, -126);\n }\n }\n return y * reinterpret((0x7F + n) << 23);\n }\n\n export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sm = ux & 0x80000000;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0xFF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f32(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 9);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 9;\n ux |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 23); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 8);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 23;\n ux |= ex << 23;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | sm);\n }\n\n export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sx = (ux >> 31);\n var uxi = ux;\n if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y);\n if (ux << 1 == 0) return x;\n if (!ex) {\n ex -= builtin_clz(uxi << 9);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 9;\n uxi |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n var q = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -30;\n else {\n let shift = builtin_clz(uxi << 8);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 23;\n uxi |= ex << 23;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // q++;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const s2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kernf(x);\n sincos_cos = cos_kernf(x);\n return;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n if (sign) {\n sincos_sin = -cos_kernf(x + s1pio2);\n sincos_cos = sin_kernf(x + s1pio2);\n } else {\n sincos_sin = cos_kernf(s1pio2 - x);\n sincos_cos = sin_kernf(s1pio2 - x);\n }\n return;\n }\n // -sin(x + c) is not correct if x+c could be 0: -0 vs +0\n sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2);\n sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2);\n return;\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n if (sign) {\n sincos_sin = cos_kernf(x + s3pio2);\n sincos_cos = -sin_kernf(x + s3pio2);\n } else {\n sincos_sin = -cos_kernf(x - s3pio2);\n sincos_cos = sin_kernf(x - s3pio2);\n }\n return;\n }\n sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2);\n return;\n }\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n var s = sin_kernf(y);\n var c = cos_kernf(y);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\nexport function ipow32(x: i32, e: i32): i32 {\n var out = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i32(e == 0) | i32(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 32) {\n let log = 32 - clz(e);\n // 32 = 2 ^ 5, so need only five cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\nexport function ipow64(x: i64, e: i64): i64 {\n var out: i64 = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i64(e == 0) | i64(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 64) {\n let log = 64 - clz(e);\n // 64 = 2 ^ 6, so need only six cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 6: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\n/*\nTODO:\nIn compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains\nwhich usually faster than exponentiation by squaring\n\nfor ipow32 and e < 32:\n\nlet b: i32, c: i32, d: i32, h: i32, k: i32, g: i32;\nswitch (e) {\n case 1: return x;\n case 2: return x * x;\n case 3: return x * x * x;\n case 4: return (b = x * x) * b;\n case 5: return (b = x * x) * b * x;\n case 6: return (b = x * x) * b * b;\n case 7: return (b = x * x) * b * b * x;\n case 8: return (d = (b = x * x) * b) * d;\n case 9: return (c = x * x * x) * c * c;\n case 10: return (d = (b = x * x) * b) * d * b;\n case 11: return (d = (b = x * x) * b) * d * b * x;\n case 12: return (d = (b = x * x) * b) * d * d;\n case 13: return (d = (b = x * x) * b) * d * d * x;\n case 14: return (d = (b = x * x) * b) * d * d * b;\n case 15: return (k = (b = x * x) * b * x) * k * k;\n case 16: return (h = (d = (b = x * x) * b) * d) * h;\n case 17: return (h = (d = (b = x * x) * b) * d) * h * x;\n case 18: return (h = (d = (b = x * x) * b) * d * x) * h;\n case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x;\n case 20: return (h = (k = (b = x * x) * b * x) * k) * h;\n case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x;\n case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g;\n case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c;\n case 24: return (h = (d = (c = x * x * x) * c) * d) * h;\n case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x;\n case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g;\n case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c;\n case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h;\n case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x;\n case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h;\n case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x;\n}\n\nfor ipow64: TODO\nswitch (e) {\n case 32:\n ...\n case 63:\n}\n*/\n"]} \ No newline at end of file diff --git a/examples/NormalModel/LunarMap.png b/examples/NormalModel/LunarMap.png new file mode 100644 index 0000000000000000000000000000000000000000..1d9c30aae01a29547840b67efa880e10bf8be15b GIT binary patch literal 222771 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 YJg-Tv;lJKI=iGA|45D?6ViMwC=y;kq?nxh0Tn zG6zL%&?CVEdT907aX~}k05Dmw5W9-Lo`=&dDS;IxI;ZR5t2Pa<*s-E7vQEnwR^nf6 z3yKy$<-%z)&X6Zs7r%Yy*nZ{dM&vNxI9nJ7j_}ys$>^*G~+=B`|3pUaA-@G?vpV(ZR@;TQv$5HdrsSvg>)|C)10lK zN4qvVh~&Q;a5K=d>Io0K1luU9DK~BccA~apPCp0W17XKbHhJgxZutNc&I(mgp)Cp0 za1XbLzvtnvZcc=AVU>Cq)(FwX>W)Plcw#QrzrNk@)4Q;vvgf4v!a?%xn^m_FzuBFVS`vb0=sYX9MZKl4+)rNwbo$qKply7Jz*Z1?Ub6f^gbgm(kUvWBaw3XOlI)DQ#{Er>|KSm{+AlOCYxjVK8B`80@K!mw!ylS#u|5>_0 zSum@b>@c82U9u4{g#<4Q_{%fFp)>Iy2wuWU+m+uATp1~kfCIy-yxe|Vrto=2QtLI^l(P9Z~F}*(*o8m$`4tyVHT2f3g#>En-@B4+^6+>TTo0mpz^*uI@B>j z^4L)ZkwVq|rfjj2xZ7ch`pRSu<<_ zKhtOf{0FhtvH)Z`P0|wai zHb|rnJ00cc*Pv=#GO@TQV~0K6qTGX?fpj&lCUyT~>)dwawt*nZ1t^mQ2Qn&(a!O#VPKVz{yS-Fbhr&O;nVc)qA9QvZ!Q`e>M63)pcwFa^m(!DbJ~xo1Gsagz?T&} zg#MbH4uMT3cY;wpHCy0tX1T)Uc%uE{1sn~KM#KSN(~_qsokT)um10}lzDvMFlHXn^ zWx+DFE-(@K?s-bIKX}XGhOBMKfRlNci$81l|M%99uX)J>6g~**jIVB)DUv5OB$^Y` zt4Ae~b*oR6b8gS5qVE|S=NYH85R-9mi04MLh+|RYrGQud8&_~4$>#gqFkX7fK^6&! za2XDIiENz@2q{$unM%0tf1_i8Fp*Cy15F#U5f0jdvS;j8&j>6AfkLyR)e+q(nrueB z;QR&O%I@65Gg5Xqyh1_>E-Ri7?i{e3Av%#8w#;VIB3U^ABOGhGZ+>D1!(*)UHth;As(8-OR}A%8gg>0MALBk2nq`%WR5M1c(nZn5+8aXjZs6OmxiKeMCe`+ zUIpT9o2uHB^t&*S;P#13y57xOQR2p9oc|8w0566zTR%kp&kH~Z9kGL-G8k0lUtT~l zAqa?+ZDO#jRaE-Ck^mf<$}HsT_Vu+%PPn9kT7aun;GIhimp ze92)jHA;KT`3nRfG>K%6wH^VDlu#L&eC4%rQSxKPAZPlR(K9Q5X?Q}TDw_e;m}Fxc z_6R1z25Z5xzprJ+m?M%J2%Ljdc`1nIEa{C^8DsVutWGEteH{% zkJ}FyW8T`Ex=^UcYND4hgQ6SOn`VAWZfJv@S$c|$uHQEswZv&q_gN6t4+NilShnO#$ec+}? z?53vc71UeKftwoMk}PuHS_tMc5I+|qQ5u9Z;I*c~4`#;jeZ5T1l?bLQKgGQ7pI=T@ z@cno(yk@BD5}L*Gyk+EjX?|%#0)59E1I+entpX4CZG`&qCm4Z(2Wp*PCDedejwkRS z+t#P(gTWIq=!8gWjfMs^u*2t_UDS|E!4vvZep~71e>vfN?#}05VoU}wMC1pdG~HwR zF%80xM*mI%(;%L$Z(f^w2 zyCCe(PHsXG=t~4RlH`a!w<9I%oKHGD+}DXjrdt2O=bV-=0L{Tl6PycQjHgvF6`> z^>mpU;VPNtqS&MuI}FU#7nkdKTif7;eVt>0-w_Qi2-8%iS$ezGB&{SfN$t~FeYGa& zhj0DX|7-v>ZXGV=DTUCtr99oExFODa>227vq@_odr4Qcv3!y>-mW7KmNp!I^s5er@ z`-{$j@{{eO3qw7*(RJ5AB1wpRxYM9=cnnWg9p zDj+C_RVswA-RUIkSiSNpiQ*c ziupDc8{wsVoeLe(X>FV5GsCzr9I`2K7VwQpLNElI!f?(4afw6%9)P9R zU&tj_Pr%@WBpWq+_%f<&kTudw^GcL-?+AUxbk3(Bjz{4t_Jdqcfv=GdnuN;iQq6XE z5|A_X)&qa;KY*faGiX|i-FSgU*5^gmK&N*%Q_2NL^^Z2$E8YE3>|KfdoUC-odot_p zFfR@Tu5=kn*6MIdk4oe`(+tmX;8`2?OwDR|*_*n&OTL{49Gm@kc*akj)Q<%aYMlJA zO<04q+**qGTQov{zu;Q*u8EDa$`g7TRaJ7pxg6?o7`kin+>wAgPwdM$>qojimj^LR z($Pjy5LAU7nVh-(QU=NNRoygb&@fm_(zLN;#l^2Tpm4y*9yu4}MVs$A4Uh~M3iE14 zqp+lIrEpp2?I!Oc^efM4wB%}!fePc@Y91H8+B0MzcwoZ z5;mb{)y{E~5@&4(?EQBU_R4Hvsiya)V({}ZEJ04Il2h&Dz17^Clc>fVmk`ku9|q-H zx!75#YyuqPI?&8~FF6bdU z4rCz4nGr2_*U)fiO$-Ar26*|@YQr`b!$9XS%;2`R4(qxMeTAQnW8H2v>1gY1mZI6A zskv*gIE|qTrnO4aP5DmurB#v9;TE>!r`Dzmxl%df=e*In`K&f8kl>(Ja#}?(8Ek0a zFg-8zzpwQHit2NXC4UCrT*}v`Yg(v4z}E59D)G!e_e7Z_3G0x(HK9%>Dm2BmXI!I- zL&OCen7G~Y!kS{eqKx2$t6;yqE8houK$`wl8&uu@XPeC;dStM!^`SFk?di52C|o~} zl!iP9xF=M?#PRw3G|*gywL`XQN@G`m}dAH@c(Wa z{xk5S!xIPLrKieOSB6kP(apPzgTmIFW5~J2aWw~Adc6(`QybZv9`%Zfqjg*+_y`I*4IY9k&XtDn@|;na!hUN}JXEDJCI7$s5>JGE9h|3`aMk z%wP{2(9bmjaZ(4%mWUTdJ|UYBN=s9mbyokF36l9_ZRdnzV=h}9QJZIqlSS>^8RW#U zP7v-Yo7~1g+Bf4G`+KWe@`w>>=RRl-(xue;R`tKPxJ}BYX5>O2m=EdLmy%~?jT73V z-u{GnQrFNFd#=!KEXakyY&M&|bYs*J>y@$?SH8!OW}WRQ@#NKx2ZD70yEhM5&fkJL z;+XtKbteu&i9?GJpSSk&$Zxa{Yt=k0yf_N>vHO%>yJ?F6JOmS*ML|!EW6V5{yd}vn| z#2Op`vADpp1le5h|G|>wV4UUh7@VHE!e>VH15y2X#7}M$(K-|0}+E=W7)Ao0{4BphTeZN@F}XW*9NG%N=oG1rg|w zecre7`TaiMx`6FqEv#b7WNe5CF8Kndh3Ai_NA&q?2m;mUKg1(4=eCihryO8eXkIw@ zgl-#KHZ!t7JtYp49_Oo`g!Ho&V++4oyb*a zjHk2cBKinM=AGxN>ol>?)e#|nxM`a_h&w{a2OR0*jRP&4-UDS4d$!%qUPHsEnZ?M` z7&cBDiStDCen^FN^sO@3ZWdN`&51ZyzS{<19uf3f zj^<5JFOHCBL$`a;PH?gcmt_j9W4@QAKogekX^L82FOxWus4TZFTGEyv_AqTDV=B^F zCW2XZbvDcjBTV2ibV@Ylt@P}@+`hx(!zkj(1mzZUaEX21fiZ3)o@THc>V$P&)3-s% zBu@JV{aeowIF5Ylku%PV9X>?9*Uyi%fY0#j+~Z@)3a~U*651c%nbgtZI~L)StQ-y7 z<&y~7MS(#w_?UY_Z zW&m0=%Shfcg)74{&ic8R_jq7<0h$v=_>=U>AXD5h5j0p@K<3ewjSc_tFDn4>!afU@_G_p)y)P0lfXzQ^5c z5=zGvj*YF|7$)Ths1~6PPia|^d>=lOq9oS^6?u;y^9s~R_ukZ0X0i^TJ07sG?^+Q* zS8z+-LJD63ffrZey;~Fsw;qP~Cu52f9}tDfIdIa*)>h4CkU<4vzw_y6n!J!cofFuf zD?jNt6;k<%6&ObC|B-cV+pXg|Om1XLO0OlQSVfj2Eq|z$|7WdYi4jRItyd z$(`_saHL1*lx`}ENnnzq_^b3eWV?5&18pZRMA)TYUccMd($4~Uo5|($7}dF22A<^A zD|MjG_Tn0u?1i0;{$#XJU%=Dl^}=3-LBkf2$%dQFRTjF1ui-I(F_jSf2yW9x(H05+ z(%Vqc5f4PYFN=KklJ^JUGYhFB2#6I_ov`Y9mI@)ls*h&$n1;)>x=u=mPu6rF>zXVF z7yi45x-PLETuTW^0bFq!4#ASoa~^n2PmVK)`R$d{FL2k+?$T84{LFLY{-9p&5!m7W zSVW<9O^7J@Z`o+)B{^Zs=zm%ff^Wf{)!rjxi#2y`aQeQk9@tYWcB+$KZ#594x@um7 z!W955cmvHofV1Nc$n2@FM zLZ6kTX05NS+Ob6+Rl$}>EE={AwjcX`Z0_2zl(;R9=UV*}rw{X(#5rT|leWx-`@U}z z!&@?LkMBzsU(^R-{Pmp6x1DqPQ+x?^#O+Gs5@eWKYS@KQBco%!cxNS#FE~i{mOuE)&j{F$>$<6uX z-|frVC=~^La*n-T&6mF6^E%vDVW!g}dc001BWNkl}dSy>Yw>4Be zsZHr?S0Ft=4@5q|8T_mz!uawuY4Y70)W?<}UQwA^4+hLd8ia6LFsD2Sw7nHLtu%g7 zA9jrXpr;v*1U)vfvj3i}F&V)3ZPj=wKA$El=1!2vO#o{_QE&V4vImWtBX=4RJYAJt z+S~Ek82l4Ak|}{`DuJ1?7k}O#s04nSBRWlMR`S{4Xlc$MwnvA#`$moA)5)nhBBaS% z3aMC?x?rnKiu#nrj9;9C$oXaz3CRjGJNeF6yYoD~%KpT58xss*fn{`Ac)3b^XVFrf zJvKE)md>7oy2o(WcGw;G9J?auyc~6qvQQm2ua;2T-s`Jin1krvZ@W~#FolX!PP0=) zVfjYnMP1vdBV=JJTm7N6BM~)Y0c>d_0-@93$PFh`T~!gV68Wuolzitfs|=I$Ak$RU z4|V25{S-D zi2{-z07MW#RtI7XQSV9qmm@e0xQXF64OLo;SC6TKq%8X)v-3pk@3}heDLVwD)jT9{ zSk4p!x8%XwDcDGO)L`?81R%@@J{mTDvtJY51EwApe{;29dwq8Vi6d=)QTnL?_QU(k zpdbJZXoPUF)QdZBg<5ZF)b#|Z=9s-C!OfyBbg(y!9}Xpp4goC9t`9V-{B?SY73!I z+9m}&aEQRI|~K6nw0tg0cpw7(yUB+FsjR-DdB@ZM)`+7*^2dk-XP+u#EsKDoaP8VTuNa&^gjj4=-aa4BNY|eH}6%^s+YPZx1#63Tm11<%#c? zvjH8tMlBDPQ(b}7<1a7vsEy(1tW4W=$4p%lCS~MLn8hLGDkE=y&KPxKxAq%0{3-kt zZu$AQ3pN975@cT*KjeOZLIPicfjdClbw)lR=oNuF?yH~i+z9XAS>rlG#-698nlFmB zw@VVwD;4!Px#j-A39-mBzY#)raNR9cYw?B zus-lSa9g>GLJoG<8TW#;*WK%7yuX84L3}sm#YYyBUjvjCF57qc__Y6r1embU`xwm* zHyLN!7i$wx;m9d~v4XHZ~X>)ecNNoEH$FP}90YC-V+nadX7Wz;f00r9_ zcpE+?tYCj%@Ll=wEy}Kxm)uzF$1QaOT9Tr?kl9~#g{8-&F$FQVy?Og4RIJ)#gp_w_ z3isMN^YI=%o?RxbUWKWBPjzn6Q4+_R`O8Fs>WhLa9Xop&G@MW>{ws zT~S5y&iid6xPlheAc>}0$2=m$E&0P{v&(Ihm(k!9K@}q}yZnHi@PJVpBDzh7;fd{D z^Zz;`s|%%XmkjaeO1-4^rL*`#JZdFktLi;Gv&)V*@Oa3Ld-kGS%d?Le2UmplJSK2W zW$>L&fHDP27xbAvIM3(V_lzQjn(=>_PKs!O`wcNcIZG`mNQsNol3yb~=$|=N&JGsw zp|~56h1bpU>}mK+C*}P(w%Sx_Ij>%#X4O98?7(ISv)FdiWRn4(36>-3a~j<*I$QvA z`Di`Tex%K1#O(mOKt#p1cg~Xq!~1uuD3z+uC7l@|=lS22Sv1kGdr}r%7Cx2Be^7X_ z!4SDK&tj)(rwrTnq~CtT+Cy*HGw+Y92W_Tf`@EqV@cJslE?NJ)f8IFrZQ#I+dtw>c z4qSkzcUGFj`!vWFL?%89BH~kecG*l+7^Dc66$Vlf1+f$JK=qU%FJJ}Nri!pRofC+a z=F|W*7%+584Um06dDYlOq+4;!Znv$Wf&!jH^rWzibZgfw5)S8 z@ARpKrC{dqEpemm>taPr>V5#MURXEE?xw{2h8QXW37Nb@EN6hRfR-~2AcL(`Ej+F5 z&#d)e!n6AGm__mF5#4U_ETK};3Zc?32%91Ba#QFhYK!$>k0gC2LSjp&Y3Y- z)TxY9L|64JR)X8fIGj9u@03#PmS57Dg?zvx4U*kBdoSBWL^C~$7w6dOX_qkQ{4=gq z#r2b$vlbv$reHhgp4fU~VHmef=RnvM&Tk_Cthsp3h8Q2ewi=m%AHswtT4pA{AiAs% zt_)ZwPB$qvV)jhq$Yp~c;?+O!{AteLKQPAICd|*r6Zx}!RzPe-~ayov*$hs!7mi5Va?A!`}r{(aJ0E2KRAhRzCo)= z;k-n~l38@XX@IyZK%>Y?vjCxbr^*;6{dOn3&$!f{)0$b71(n%4WpAkZ&aRn`gOOwg zXPKRA{q$5k*6|#{|E&oP@I2biA@qfqq|8Ow*YQ3D@G6!K+|j?w1Fd95#Ax#WRzk!#~XvUkHQP%?S4}z zD-8F77MJ^^DZEmE51%Tp-zr+R4P~n_v+;aZNz8`wcT7crtR0$AL9Mm7_8Q%eRiXu` z>hkL7DG>Ny%S{s}7{C-W>J!q8*IvE~NcafcYXKdzM9sm7@9xeu zgE3|$-BXp64Ad*unTDV5#LBJu2jmJC%!9}tw|lIdSl0LL_IR+2 zwjFE`zbAfD8F@k^2Ce#SD=PP~!s5rN^qldXbx;hkK6GkDTj=W$%+7;AiCPv@=2G00 zOQ9j>Jmp1evaR0@2TLAyx}@7mC$GO!Lj=H1=BmzQ5ADo@ee(^yLJ5Hh7dJZbD?xSN zlMsu`b=N#Q%STm>H?r>44RiylSHcSp#4unlRY{W3*eiLDh6xlN55<@Yb}J)hW-}?u zTa5`OWaIz93joc!#H2K)CK56UXaot2>*+}pk+YJ2coYbB+caB{{(Fg)Tke~+gQ5vx z-eSJ|!{$GmIdp0BG=qd9!S(xszT1+|r;GmEV*g)iA1+U^`+8nx=sQmMLjrboAmjh{ zUw=NYFQ(|F|4-z9n*wK*%T_O^0atudlZ?u1-jO_A3JN0TI#ri}?>tojs?!h=y;u%X zXWYw4i6`^U&h*Xa{Q9X@FVyWELkyC+I6UlPYh}Z<7DENI6)!@=i-1*TR^ z!soBY0kY+7?z=t%-9hj1-gkvI6iEDzc#M}`MFmFaKjP#5h(#m-5dW~y-o|6`P6H;~ zwfN#O%9Kz9KatO4y&5Ac^07!rAYu=hUnBVyj7EcR2OXXZYg!vCwg{HhZP_}U-J0N( z9pHd#K>McDHn8$uHvGW!999m`PFtnEt_vH~xY{rj>tMEoG4jf^6!a>IY6fY)-S*v# zMk=0A?AuKGXrMZCfRR8WaEc&%*%_)IM(e(lboWg}X^dE;1d$tEDM+ihIns)g*xUz!pvHP&1_V-%ljR%a9+L?NmIbTtXw803UJ zKK<%c8Ix$MZps38>iMtt=TC%o|DMl6lCS6WQZ>JR)q!6L(7B@{0ON*FmUf8<-}rz1 z$p#$_ytnLdH;B7$Xx%>UIYZb3RXB)3rgeAAMz zW9iseM3f>;uWoDC5J@>Q>Qrh|53F$%{UY8n;1jbD0LeQM`n~s3XPb_fYfAg-o37{I zJ!kS#PW_}V;H)%p@9b*1Szxjmt2jti)92LFR$i~Occin3L+3ONnD8@SM%M_#KC@=j z?L*Q95>S&w_&@Fe|0&)8CuK%{8cQw0dYDJ&>ms3V6@N=&C!hghJ9O;OYMDq2G03-a zKqEq_B8n>6tN1 z)BE!j$al+cr|Q%oPf)7EJd@YK#xbE`A zjm`}W;NA_gU|f$u-&5AvwynQ>zQ zuKZ2i_8J&*5nzzk7K;$dS|iD_$3h1M!yJ$NW{G-(78{+&Y+uP~wrYxMxU9J+FLCc_ zqooFwn@!~JsW0Amryj30nI%uCbU{B>Edp_jDabHp?UZbe zJ8`i_uR9P?SyXhp>XD?HL157vrgYK+kk~eLb>sp#PjP&90Hnkbu{r{%B0cVp|Ni^u z@aMn#9{DL^4nAcgWhe-RFo;RPu{Krp3X$*D_(eDC4oqZ>grb*@PL9mR8dz9=fDRA= zamxo2`G9g+HixA(au1Ec@c*AONK$D6#o4kDL_UY}Hw1Nh^1dM7&iN;xujP!-9Bv$&x-7I{W4qB_+#+}A1yeYDR%08rhLO!n^a{>bzIr4K! zny@y2fyf%B`T%Q3WW3cG#cn^rN0)VjZy%`VuPq%5Zm%q~JImz8=SqvYsc$VxAL5K* zjEdtzi3Y$`;kuSNGQ(Up$po%Hb!eivd=AAxCq+o4S6G21(TwmaKoj_oGE0XUv=NKO z4ucRX&fKEiTkLgI|2E`7alQ+1QbMFBaMoyf6Q4Xa{jyIxK3X1jfY;)CeQKVel`7v{ zN{*Qjiu!10w}f%=39*CvKdR2hXR0#t25mnY2(-v{8*l#}{{jQV$NeY%yl=4m+x`9% z|4JO+ybDO|5T>!dB81D?vbhKhM6Vt-1NcTcvaC|=LSQb>JT7Cr+tUHCC-abTggeyg z^YeFO9;r}J2+Gl;Gu*lu#gTS_t#X(^DP76jy}AkK%q@Lr;){+nIFt_3p?is&^DYhB zd^qKt6c&t-RXJkd7d0#@hWu zq4o9ElUjZ_k4gJy4*M~PbrZg^B&W%~`}A1H(9MACl1gi|Zaxd6K_Tlek_#wB-ZNWQ zxo65Mam7VqiP1vwm4KXgiLzFoZ=3+}T4*3hSY@_g8s4Czf zs+A=D2zvn1ywoigkbFA=tS$HOKqlN|NRal^O3aMv%O-tqlR_gtK&CDw22iLhN8rX| z5dk}U_rI>`TF$F)zSBlnkkR$ZtvTKsm(R#;xM>%#MV}4MXf8CRr_rpQ?-G7KyTiY$ z2x{;3!%PgMSMYySor!YeMiNAE1C5Im1F|C!oc;gL+8Uuf~b-x|V-6?{NL0>G%`T=%clZKNW7b4@_A+uI4LZ+X7_XuBBGk-HPKWVAz) zKGEAoYP5d}B4BQtM$_`vi;9^eYWIDVUVa-FFddi_tF?KBd@uDv*&`hcJ`$&zvD)JM zm1iB{4MZWgkVJi!1E*nh5z`}}_#;o3GXAo2OeTgIkWL0Ku~&W6Vfw!Qs{rs*D`~N} zxr|apIE(h@e}asnIx!eTdoI>Xw`qhyJ4P{y`(+{k3~CMZd*&cyQ+qmv1Vj0_#5_b~ z_u=PE?p zM%LRR(4*Ez$~aFVK0Z7!WMP0J1*}ut|!Dn%Zc*5`wDn@46k}1NgoFRQ&Lr zk)98K{})F1B8e3;tV-ZL7cuPB?74fhSRQpc&OVr1%lW18Tzv9j^i;xj;sFL_Mya$W z+102m%Y-7yRd zDpde=suYuNE)Z|eoBWW>SDlIron$L=--y6Q4OG+|M8DuHX--y2WtV~%pqWj5_PJd| z9ISwE4OM3F7EJ**+eck$XEB2EB$EQ5ZTN7?(M7(Ud9J?bQjZUc#!Fy-S{1J znO927q~A9laPr-KhU3R_MUbA{n7tb$}r^ssTr*ENL38| z75(2705yP6!2V9e2t2O^3I3uJN$G7s+e>}^nn>fR1Kdng64?a7Mli>viwksJ>HuWF zUQFMVVYDg~BkRSeiV#mV%ud<@sMtzHk~}gKxiB#?w+5LRz+|nA>+|q2lhXw@P2Lydif8DEh9)El|-ad4|PBFE)LR?cXR%+A`;%>(R;BSrfmq)Mds4m^Gy} zVe)JVa0($xverLMU2i8cQTbv*m9|AK?8X-0&z-FR?b>uiL0zt%-eYTLF_l;2wE;+c zq&(MlFMjb^iHWs{OP-m|Bj%VRy?vz-*VdS9Epp>{e|kO0Q|vkF0&fuX{>Enih`+Rl z6*fUC3eFMs-wXL=L@`&$j75e;)Df0Qn>8 zeg2?e;ZeliGk3kw|YK705p5>(4Gt|gq6h8ouCGy zAqjgPf9R)c{I^D<+f3sc2a1{U9$Gn!EmM}f5t!+-a?@oy{fNWk9bp==C2g8rvIH-{ zz@09u8@pXR)M~lmf|m4-jQiSiUmd+EzN^8y|J%^N8~+scrJwL^u>1C)@aL=ktsbIp zz}M&(gWz%EeSfS}N@R7}Xhhdd5r7|4RN3Fb?gsfG%9zo_+-pJ=43_(4wqOOsK%*}3 zX~d2M?r~3#QV;Ks8SFs*;J6^*2JJ#zwY2Tf`VoBA{**D**g)j*9SSQsb4{q1JG6|E zuIXL`xDy*~y1zagR0>K(@oe-b)eM$vop#R^5M`3w3%S(dyGD4yu%wqx7C;HZ$3bo$ z3SMWTud}%~LS&~UirY&~Ksz1g`8wTyBA3Ao6!~rnGJ=>sBv|?rav;%%(r#INq*|ZL0Hg+`L7crCbheFs-s_4TM7D9G2&aQ-m>(Vu zRI{}kN3vKi<+-n+?nr@tn$yKSJiJR&E}a-%m$qq}E9Z8T1>*9)eZA#AAFsh0}csK4`+)Wt+`d)3nRKpx4nCE6?um%P!E%IE+LXr3C&AWWPiJP z&4#*rQe7JB`h{fr+o*DG|-xr3NNH3 z;A$4^R0aa6$G5;Ldd3(%*~qYg!p55ZA_9C(Jp%)f$bUM*Q^6I3H_z2YTQWT!@io*zLW)Sl5LRfe$_Smf3JC*p0~jr-l3gBkYsZE7v0VB2_^#GZWCw%`c z5l(B7r-DoXb-hrf46E6=E*sIv;Ymc!GA+H%9Sn~>%?w@h6a$D2Q<4^W@xz6UZhqU1uFpB$hrkjgMqZp5M8%Q4n>3AMZ6QC=Rv44 z<41t1e#eYYVE@M3KNNpD0MI}_r^-)!3kuMmek2fn@}*82{~m_YaCq#1Tz5~*8OYw%Vyn)W=X*)QZ7n$GVi%e?QwmK{3=RL({a5>Jz0sOYs=SmX-Pb*zoeeG>VPZF3HKkp`x>GjuV&z;8g7qoSR98!`4`| z_yn1wvX6@SXV&UP(jZ9~j8e+_GN3hR0cdToXmfg+(pzZp6=f`!9ipY=X4GBI1=%Kh z-KSiniC~e-xp@77By=`DrbPl`LK<9rPwE1IgX5=av{vYyuJ{UVMQg3~Y6AZGC7?AD z^b?8UH-`WZ2~>aLU9h4){`cR1{!!P!x8wUd102VP&Wo$LsqOy}^1ypH0Fgo*-$E?_ zZb=Tz7M+32cr7e%>(d;*r8XRCxTI!qgWQYzEFonS^s8ml=#+RWqvf`~4ujxuflKVZ=HOleK@_XP9hr7?Wc&5`_t>_dR&iyM#MEet-zz zhMv^FjBoX1rzz5+h1Bs|yduWl0D~N2<9ErYR6n_#PCOc|*X~0ErJ^0HNKv}qsE=tl z+n7cq=(7cQHR`7x##~AZQBfv8b$!YP0i)2Ct6_jHF(B!;7NCt8g{#p>pvEr=Ys@gR zORc%E8etjJE;Q~4DwhY7P%D6j5$*p}or!KTxe|rjxc3F<2y!Jv=KUY@*7;5uW`2z_ zN8VmmP6KA# znrb$*P#V~%x{Uk{&SN2J<==(>JzKlq#(*cS|2>+7r&l{a$9Mez|IDeTAvS>60eh8RJx#M^Bidv8vCGKqM zsdr$zlf3vluYYNJa2EZ2M1lEV_WGv%8*=b&d5^Y$q;lTDfRj&b=q*t~CPWZahg+T7 zhLK!!m*5by^)g&LN^LL2vo2w5&3=509ZZnON@Z7D$a_GpOC79gF)CN)x-cU;w!WD0N#=ixB;RO;557#XH!w z%&h(KN#=546~G;HK6K%&cg_moEK}wcRnW-_2Npet3|Ub&1qEez_Vv*2NmDvD+V4-_Wqi7L6pjp=dvY;1=aFn#E zSQob1mkBU9blH|>a%&7$QWtd6!Q!pO3nOP58FZNHCCD-Hqx)HtD`J~i5aVjI>Ty_& zE=`k!UIHKXcb>nZ9D~>2?Y$$|R z$mggw6K`YeQ^#5kUDoTxS`=EHd3wDFry&)m0H;X`hnbd$Ku1#Vr02h1gEQ|I%ZLPF zX>xE~qlc0sDN}IJ8evKRu32n}uqj#@Eb?neO<-NWW|}4XHaLijEU@Z9kj<}@Sy+K_ zoD1#$CdJ>NU0jHptG`G#YOugJF#|vM0RQc6n z3$0&>;sPTUk|AUOgLkDILk4R(T!^r#5U{k-1${5AxNf9j1|-k|Dx)=BMh@nE*w7Fu z7e>0ci)2Ft0Sv=Nw{CN+{8J*yilcMIFvzv9Nv)$%n0n$lHs?=R0Y1<%x4E^@N5o}} zc@~-oVvZSO7+XFsUS_MsZ;nkTYXCJp0U_hG$9QvbCd@KkYWmUy41n~HRDFCeH1AUH zj&5-DK)o(9heil(-L#jhy(gPUwJ;}-PQ zSR5xgk$)u{_F^LaMX(BGH41Oaf0@)Yn8i#iQ+kw8VPd`T5rFC9$hL(Qc)$y1vhp~dq%@ebt&mFud z>Yg&Fh>NkN#oWORQfJM!2siJ^P?Fe>A7H>&8{*Dc8;z`rs$%h8Kc)eLPIP`7*3xRB zKBa7hbfN_y4N19L6JTrp2j97QCUMH;Q@BqOB-orpG24B+ml&REzsyB zO=4RiWXQ7$@gl{_4Z4*yHz&nClH4pbEB>K1;(N;7*|uzm6^daXm2`~6ItV&qUjtZ| z?rRgMcJ=UG&G>2Tzp62a#dkNd4}O0)zW?)C+h>mao(a$Sbt&%W*VkG20sQd_|NToU@C^?7YXG1_deAa*exK$EbMM4F zI;Gdz`nmsm0|n_>jUDqRowRM|yTy48VF(_PIJS*UQH2WhE zy5%I+!c{i9(obIIL#kv`qU9LSjCj??(pguNY3}3+=q|3->j===u#q!Z492a*R?Dg@ zgvY^DRkH(b0`15B!{^O#O4=hY>n=WENHqEVs# z7YJrb3pt&_Olm4o$H9sf1q&{lO=p(ZLaft#11+$>Hp^rar4s)&raY$*F}&Wbak*s5 z2th+*>H*>jD6ND|`FmX9l1Fzv9?tnICVFZ4>2QX{3S0dicr+L@71)clKCzu0X5?9V zceuCf#T_^Tps4uA`K|Ncwq87-Cj+nV-<%2b6?Oe5%bo3l`Tyza|MZ$S5s-jlQxdQR z^5Np|eU%2d?cN#ovD~N&D3q zL;924J~_;ypJeH}y&A@?d~>rh}y>;J-%>GzGw|`NL&VmRA@CGmmT)$vOFWtHrMKz3aGFEVbU4jGU(; zfezkvFtx=RSP}ZeI1hQ`x~ncyk<546hI$ztria}+c|>}Io*>Yr9p~x}*_N3>FlFC) zo@E#4Y{l8E8DP?#tfVhKm}4XY3p5>%n3msakg=lC)pGNhU7Q^tUhw_T-z!hi+3B`~ z#sZj?3=LpNm#s1W=Jbd!v%L`wnA?$_4!-xcIbn+(CbXOY3xP5-fZDG&{zWJo=T zmz8H+NKHREW}^@rIZ{covq$g~kDV6QHE97F24wo#9ef?_h|KfQYsYGf{Wu|4*oSNk z*0r-wly$S>IaFRSTTjVa+zDhY_|}|Kr@zcWFi`qS4iiJ{-Mbt=f>}6lmZMJ{L#mCo zOCztye+CPQWb~WF_SLBW2ad-i%42yUs2HkkN!8{QlOSCB)!9KxzhVQCf@Q=gqy!A% z&@r{g(`%HKHA79@ELN3%#Rm?6dlN3Q6w=6XL6_+>R4X72E(M|s`j zCIHL|JSqI%5LEx3Uhp~mfBt#tXMs;B;KvIe{NJb zYzQkqeBRp&y)qzNVFNY^+vowJ(sVMLr+)`YO|SLYah5Atb2L-SjZ@Fc@VLoUBS9@F zkWxpM0TwdahJ6zL&oOxGnQ%y=9I>&g=DD}z79g3WGk@6M^4Q%xJn(bqpbrSqy*$ge z+dtmvCqTRSf2z(zw{0W{q8#3bcu0^OKydc|KXbcY^~esen*=^ZiZjz)S9?HXZ%z}H z`0Po{e1f#s1u1xnKuA52;JkSCB~QP(*7kT+Qmd@BiTmI{$gNEMK#qlgB2&^uMBY|r z#pA9e8mgjno7g?I{Fbe=FF18ts-WfGimex+-nsbq!~@wt@A{+??d7RZOt4%G?pfbf z(`4jPijC_1Jz0KO=FEp4m$()0lgphw_wY<-wi>Db{>BEt4{&DRQtUXCl7Op=XJ(v0 z0)a|1AZ(t}%%EMNbx1AEkTEol)Oe(d{t%KLPZ~CLxIuM8^N61fC^*~tbRA#{COOEE zl?3f{73K4@`BmsdNp<`n#*{ySKnd8mP4&*(ErM=99-)3r<-0)yAchb%+tJ>lE zVE0%}6>ec_V%Z>Q;NIn*u*e2=cQ*S)UrS61*^maYJ*IViV?`_4*#RqQ{% zQO(7pR`@9+zMF$E|L+pNat;C)<0EU?>krOf>&14jj)Zz0N+&{5ydn_X(>tid*P92< zBcWrm2A2LONo(w$@l?c9*r*p?*vGB1aBw^A8p$zT)>b-y8cB?m<2uD|`Oh7=8?sbO z!faWr)yk>usY5*FvknXYH7(>#GQTs4RCrE{ykb8?gs}pX)cy3l-N9C|8-}ockU|70 z^pL?=YOx(oh1L65k%B8#tz{2L0Iy-GfX1(LuLrgnAo>JIf#0d}=dwl4#}AECDsGzW zZGxU8xB*YVN9U*(H5;qcJB?B`hm6aKuf>csrq@QlV^+G|-@m6vPH-A8U21~MaK0z9 z!+H<=?PeZw(l-{;FSHYRL?zqcw-wcK%ciDSmVn@BF{QZy9!%g0z#mm2P;%l|=0!0c zYf%5lVkP=FdKEc~5hVfx$d<09ML?CahFVhS;S~uBMylRAn%KeIUF!rzEz)>AI;(PF zy+t)?-{h%Zl|!&adF#aGHviK%8*C{l&6qv67(fFi!>^epPdjnfdIR8yygs5GEl#)g zv5byGwEeYREIJ6c9d^KQmO9(GzzXZVDj4|kssHsO71A-!$?Le_s|p8d1@O9CYEX>? z4}I1BksHl%VH7eEz{kP)uIoo+RH1|WKjNfU#U4|Hj9BZ~OQ)_!{nX5eOtZyG)|#fL zhhUtJ{gAwVVYos(ED~3XoYvVxxQ1d{%CvZ138?WnAblm+c3ck$A1ePLDCEkn$p$Db zf1N!u5`)H4BxFd*31s}w`~CMRfY%8@v1f_onJoe!3i?KhzF-Q5wgM}uv5EGAgHXx? z`tj3&U5Ikw(s&7nHUK0*o6}*@kPHAD2w;%LAmNE!qov_r-hXEkVjUEwIKx;fiSVqv^2oBv>~ruqfe~-_z|V1V9A?0AZnS}&o5D8lw+!~DmjjNhV2b$H1=?tj(qU38jmFz(mLAMoJ4ZYDt{KH zhIC@0u#@e=Y z@gAXwKiu?^eD#3mGEuH2coDuij2Tvt_$4&~uK5hb-S)J}u%)z)@5aby?~Ysdug}5i zO8%<~`R}GBIg|~*eLD9%%YPNTSrvR%=!MMxs+2zRA}@`v^aK3Bd=G$r*YdhlfFfkC``8V==+@sUg?Ea`Q%wY6f$JtQ3Stjxyo0N+nX z4%Z-}Bn6(t{JM<2;d76}&yj&C{^`kvkQXH`LVYd_VFSTKFJ{MczAs@+`Y??Ypy4xy#$^J&iKF4Z|KeqJBDGlF=m^#h} zc1eE@ovJkz#A%T#V5WVK#ckE<7X7CR8ObU-;>FcT3P8AYR|m;jfjd@CepoKU*_pXx zbb0p*yi^f)k8Mw9_*9QW8ecZzMhc~~~xc;f`=_Nj*!L~Ae_j^SGVyB}OFjjH@w@eVI;63W` zkPf4k{2vnXgE2hnUwR=-cxY`qo*88@G(@+N@yisfXc#BOEcT^{1P}~JW2`YqRBMD; z^?KaQ2{DRbzgh-CXrfVrs`kicgkndzNbncFObQw0C=MP5x2OXkbL31m!WJLHeNneQ zW&X!T*h?*^fT^5MaC0nSPa1|sNr(jy^~FYJp}24DkT#8M%=fvqkAan0(8aW9#G) z^J`pCD3UGyeh$^t&v4qsfkTPV37b%u7qpAMhR#dBz+=(CGL2dxA zsz=}oyr=0d39M;dz35qvw@FD%jBkHRL3h?E+PFriqWs+3glF^JOR}+y>hlXuwrL>d z3^)gMR=kaah8B#}!YzcypTs*Jwl!Jb&{7Lr;;fiWa`UhT4|8%tpsfiO{wm(X>Y)Fk z4G=Q!d1aYAs<|M9Yl~H=J_Z>Nrkw8MQ+l9|)xwLjQnlq}Yt3;~ zi9@KV8^JmBZV=_#2apn%7q)F$H)=+yS zz<1By<57DLBN3l6=AT~Vae)6~b7(!dZWbg(;5ciLY*p3N1F4LR+7wf}DyB*r_rU{7 zg$OWKegkvur~zXO9HZ9mECJt+$5(Eh^)_ZZ$GfcqLCo307{cbXX4TPUiSC(|{Fbu! z;}(n$H-hPg>;PnSKTn6_#`=c~>=j248;d0AQacVL+r}oa2?iN6>v7*qv9Wa5F5x{! z>MfA_E4&xpUI(yCqJkJrk1*C5=Ep7_Xn5!U3llzKN7cxiQBv%j?36{QP=V$>3r%j- z;Ob}{8-}~N9ucO_Ko0F)LrMV*xGp{H1!9?!Rs(~w-28||f5*4pVfyA-Fz+q|?4sI>*tHR$Mya|xDb??{iqq#eYaKwzW(ceJsH|E`~HHSMQ)f4r{Gzg`tkd!^*&p2fThSG_2bf>hSD)asuS z;#lJtRviFC@byayC@hoOM_h*W48nr<3SsERNc3=Vv|k@4Kz04~cqAKO^z0)L+LP{k z)a7o8(JQx|*Kd;H^}7{_uZoN4w2f{$6&(wO&P1bSfUw2Ly-%I-6Cus&UnPc;`m5YD z;6S1=mE4+*a?^MBv)*Y&Led*50E%gO zbsSD+g24vlm<-W@@#wD7yFC*CkhAoBO6ePq@D!Cp#uE(;>?PJ@wB5CkUN0?63+7K* zp!gb@8i#l>#gbj0;**>4l`%^IVL+b0IvI%#nPq}h#5491G0gaL7Fo<1?50vTj~Z&N zc6u9Uv*`m6*mel|j^cRs*%VJkX+#7x>)!*uBIn5i1Duk3coNZAZqHdb=h#oc4vRJb>w^j-KjR19gaJq2$5TOH zwEzGh07*naRA5VT4(#eHy=F&<>~&d9Qr+kr3Y~C^#DwE+oIujB0U&kopfn_g@nO~A zs-t309;X7khnhLI7-Zvnx9rJYUq|_$s&i3p8&`rTA0kMCPbspUa#{KR&s?1D0p(5Q zW^ZM^@tV)4v0C1iDR~vxWkt}KiF2nT#PZHysl_$dYam0U+A^r-ffs* zOV!PeDiW=+lVIjj-b3jZX+~fl*Y?3FqtVYGQ0}B3XTA^1gxpw>B-|T*R5q+4MKZZ) zz;gr{qmhTyT_J#cH|4Bzfz?x|D`?-+H^5piYOEHve8YY4)|b@G!iXSf*)d}pzalie ziilor$DZn%qg9hpnq-5AZb_3T-J?kqo?&Y09pB3?d2YGcIxA}ytv;DnXPJqTV9iRmwfuAx**T6P#3PDmM|8mIcSzPHw0Vof zALzqmU_Mg^5p#SZn+%o|2|@!^Zd9Xlf_h!Pk8!0PkZyx#d%To@!@2JQXXx@grkn6bcd|V~}#U=PP7*sQ&wgN8ivAUL9%7z=$ zz`?(kB$zD)zs$1}R?-HMZn^0Sc&?4AJf#ksZb<-eoDw@g@56(!a&Fbm4Ssnpf5U?7 z#5??eiRMl_(qhmN$o4_S9!*)Sb69$X_7%p4`@Adv*XspPNY@n6u6}$)u!rdNL+gV1 z`%~n9FMjc)C+GL5UzM#{q10`)h|7J|UbkVDGGEZ?gpM$U8n&EJ<^2I8P;R8djbgv- z7D{8IoKUz^GX)cGXa-7t#IKY@%4zc~5TV@Stfy)w)_YGm$Xn1rf}L&UUSKVagCIJk zL?X4-p~WHq3;Lsg_)?@y{D2p=%ViA+$L$nmq*i3_)Er}K8#fhkA}}$zs2Rs$M@=u` zu_T(eX9S84-eo2+2f9d`qhi$tiXn-(*-df|%!yij!sl#@Xc5*n=?1QLKFyS6@y!86 z1Xa5kyrqcXN1jmQ^KU{)ATLWU&&sA?;_`K<|HiZZ#qV&{eO~pgMbV}`X-gKlbU%aC zwP7-h4Is`<{`w=NbZ_`a9O4hEZIi*XrA*rEHhqsi-F7;jtbcAI+-|9nQMs_$_eOp1 z=7Oruz=y#G zoiW0TI$UM5%4Q?X0%-wE&;mT3&9a3WQJZji8p~s{mXi`+YF3zSa}bup;eqQnmv3fA z@!#2Z#cEs|7LDLio?=;D18cXOyszgf4FX+!EpK%Lf>CmK8W2vP?-*zQIEwhN%2g?0 ziYqF=U;pqc!aW`*MP&?OJCe*bxb;|hwj4Lb?BsR3Nub6J12mP+s#P0Uk`}mKVxeX~8UM&-8I>R5e^;+bgph!fJXm|GKhM~(#7U15ykK&j|9F(omw zm5SD=g(#q(;i!||>)O2ZB+c##jTp^Gh@hctBZ2PXyY~zJJ4yJIsU_~nG-ROSo83LK zIDu=PlqD<;f!ZOvDY-nZ{cN)<>nQiT*1w=y{Asj~cpPVW)j_0;WC2onzIFfBW&M-n z(AC7YVLCb^BGj#qQ>MJ%$4sxI@8Nrtn}EJx*%%qZwAAba$PeCT`QX~u>t`06eWWO` zBtUx|2jA2pMVSd`R6xXSG#!tiS91rjt`8h}vp_Yk(hN2L$uT&rVf>Cqz{sl!Q*~MeqmWof_PG_*q+?w2)!^T&|`wkWlFf) ztslxE(UpsTd71S&spZ(u-=k20&MT7uKzxg|)u)LY!Y*Yl&E>N2|Ni}itMRG-d0Y=V z=b_KSK*gX8Rn{*3-!l2PPN&`hPJOXCgaQ6#Kj1E0a+Vjg{6uAae4(NDNn!@xx& zsb#_AvLU~F0-qlju<+UlE?jXHRq^PTvk7xBO>MQ##>6+*^<=9y&u1I-qm#kI-hvQp zp0{-<7q`u_Gc^ssv4ERNs4>dJj)7y5rA;nvh7EvkCMCU$$0*-1!#X==U|B;P#FB8k zRajVA;EmMD;sn+BV6w&JbXOLL5=Mdv=)7<&4Ekac&F~3=Cc|`za#D5FY7{;!R=5gh z%L-6ltYB>54x8T0z}`NRATOKw;U{{NukqFdC|_F0NC%cvYGOcVq-QpUC)*OIx#@0s zimrl9KTXQh5K&)(97BG|I)%Y<%))#)$#AFuVqTD%s;t9tK)pXCW-QG*>l9vQ>wFbf zzE}{W{O8sdhw@0KU<(T7AX1*>w6pbjOMA%zWa-cL0W45Z?D5wYQ8t)mTgD_UP8acE zyP6)v2_#){H*5J(fR~!5s``8VEFhpIiDd*mUTk^Hm2bmJ$RKa%f0qmNy{z`Xe`D>( zRp3h%z_~vj9kq{$KGvQ1(tE#Or{#T{^2hsN)XF)NikD@p9$ad6XQZgPrRr6>txk-R z5CTZkp#)IQTkgqxjT8YS?5&`v7k3{sx?=0$dG*J(d9c8iJRvsiwudzYs$}-FPW|rT z71kgkT9{D)SPb;>@zw{~!w_6TKQj{8iCnFr zY|Ohp%U$VZxa%4?tAq0m6+YRlm`w2$l|wc&9NKi1&GOBed^w8V4y3l@CIXWBA~XdxJcW@U8_z? zi!&z?>8KmkyaUbf`uA^bbzva7P|Q@9J6`PS8Jk zK`})1(MEu54&R)YmGpp1)6dcjJIz7G`9ymTT*}aXzeo}R<`LmW$-j{@=@DWQL$jTh zGw17KW~Yqxj5EnSyYipKaA+IoS&Q&HJ+e=R!M9SPX*e*)S3h(?~hG7BHKmrP${v@N=bRj_|QAryf@a~puJ7pl3v zpNFO_khu#j;Z_c}%@%t(@XLmgd~=|;=l_}_zteGww+g`yi@$!YkHvUz#|&*i9B-6$ zb5?aj zJ6)0!BjpKY)*v_uKaBK*;zfBlHWabFEm)}J=p2?s2h2Eor>7}3w}uU1v_+jW(ZQFh zcRiE^sU$0^-tsgKasx91wB1+JKrRDL7;_VV&EO>v2=QMU5guZJLo)a#7J6iyrv}+z zH$J1X@+(Ym$1#l3%D2K^*;U>uGp>AInO<7})&i;4T2>>Zei8PvQ(u|pPFb@oVoC}d z>y-?sa-V)f3w0ogw9ALcH^6L+uC$I7gYMJJOrlX+loDL@_LjP0T{XcY1mpFhd@45t z0K${m)6GUo=aWR^nI2oFg#D!U0TQ`#1`b&*fiBHz(2c1}x1-&r zTUzFc#-DQhL@y>Kz2U^b9J7@0Ui+ z%O}abZlMteUZ-12^PCzHU$;o;85T7rttQT!Pio>nN%za%aTwz39<7}MvCpRE|L4!2 zzh7VXa!Q8FuWSwK#g3R<7JXiw|J&V~Ss(J^`@Ba4uKz;`9bNr!C*JRG_0QvfN`ROj zFwpBFZG|T!ULAY?|1-DiR#Wk2&g5j0 zcr42V(CDtZMW9lnyP*WYQRB;SBXKdt6NvTS5tH4`MIRZ3_jpf@k6o(_0+UnhEb`aOfk4RuV@r71J{(sB^$`yCkGMd9 zheXe$2s!!c)ySGrvoh3DHkR+tctUl~>1Hg52>o!~WoIkM>nSEh%B}AyHM^Z?ta}UT zwGSZIwUf?8Z3o{^DIPuPgG9fs5(*BihBm_lDt4npvVM@xq8_*xzKFbDX*B4FSwkXV-eql-YA~MB)**q$2i*0 zFlm%?muxYP-+kKZNyS;)r1Zysem!&bx&xS%a|Uhv@!`Fj`Six0-~7-f@WBT@o{xWj z)#9U;W8LC>L$np$rqaM_;tL*q3pjTRlVVwYs3lM#iD$JgU1I#k(CfxG%<=iYzd!l$ z{lwdQG2C01KEeyC&St@7@QvdQ9lV_q@{|8_dqYY-{!oR!{^Ch2W{B5r z-g#vz=B#UZ(A0_S?dga|PYzjW?Y3c&^Cp(((ZJd+&Zb=Bh%^vyHQI7gr4SFsoE~kP z>h#cUN8jJ^@Vz7@Mqey@AHkhU70@z0tp3l2|3P>EZpXi~e_v-T*v~Hs;l%!JKtwjh z0v@ErA4E=eBH}R5mQhB&{1F?2rxGljrn6Z`*L9&{wJ#up0y|5-lq+0Z>#Epw-A41g z)8B_rrMCW57M`)$5ixl&^)~F~+h&QnKs5i!!Lea4-zM%sKpA@_YOy&9J zo`M2{^lhX!7ooYoVyiYcR8|1#0vNhMFF~x3Bk!H5`9Rzyb|6#|tJFW}Dj9xY>|4l32`!s$)=Joh%>H)+ju($XhdwgX=)X=x~VD zdTtP*PGWBvGD%o~6IiT78RW%Rhq;qYZK*UDHqP8^!HY2ma0cqq)N|baGX5CsV zYx3eOQQ08}?7P8{o-hlAxW#; zu66>f^m;7ek;u^1E zC$s-}3roM(GOB}6jl1`}zH;pJE@N4tP%xEV(~70O{;uk}uv|iw!UOm!Ux0_73=CJ8&hh zTmLnOdmntV=kx2!9e0h-hMRW)edf=vg^_=J9d)_h;2+JsE^(#x+s3Fs(n9s#9r)*R z-(S*sZ<#yC1kBy0U`pg7jL!=)yBs$I#=@vie*HwOy`dEabBgHO48Y`2 zO=-`|(C_=175Yk2_ z>bOpKCSJw{AXw(yoBGQtRu@3i>gpr9!nBItxsR*0a6^wUB?}1?c2-+}xhdP^nwj1N zgr@pN-SqWL=7vfpL7(t7LXzRZ?S)qVeF?lksI&97REHZAjJ^lHxN5Gb;bh}Ab8I*6 zZ2-}&4M|^cM<{{L?V7pe^|U>!Ua&))7uyTfXnH_0nhqwCqTcg?X2s`v1v%)$gsIJN|~9by~S#@B%+&5 zU>_)xuU5g){|B;_+SeNvUKa+p_J%Jfe*2-NuYak**#@3Z_5j@n-j3Yc1-O0-poH;d zYB`)5W-YNredny8-e*B^CDN!WEFU!^p^J~;KpB(uW9Cgjl_Qj?PnBJJ{^f$HNbG~crFn2^M#(N<%^L=|MldV)G zk_`?4XKEhT0*Q4bKr5ruG?sPhG|g!(g*BmNksz7@8=24?-Al^)J%n2!el+^fwkndE z@MDc`Ap{N#I#}_$mqVij1O}n2v|`$jXam1~f9BzgrmFzx>+V#NRp$sZP}wLX!!}m{!(}XnFTW=GuP5gNcczOe% zS@_h+PZ99_-U4(Xc>Gx~w^h!Ndav6oP7D2V8b8H#4SP>UbQ-?BboJzQ8S%kAgC9B3 zV~n@g{figyv6q(Png7vFnvyn`GTn)x+%w)wpItu3OVLQ7P3{0C#R?jhzE3<@8CRBS z;nW7J#6bAGD0o~ofV_?1+oj2jqeCji(i}Zk0aZE7Xx#L;UNOB(7X;W*59j>H)WEFCk7UQSN01hrD+B~)io$?Z+!4!tH@vGlhwlkVfNlJ)Pd zi~Zf}9{~_vKo$Ehhk$tKe~4LbO^~h>WRRJ0G|mkno`8+W2R!BsN|rXD#vc_HEK*ms z3FVDhFs=|_>k1t2M;K9;~4494eNYeX{zZlQd z+Ar^H%=U6~vmfvNO^ZFvW`B%9@kcio0i5qf@;3KrD1R1Ipuum&N33b@|#VM4` z|HPzHM|!Dc%?quRnY1P~)!O8Xr+>NLu8PNS%#S2=D-f$V8}0H?Axim3qtG-t-D}l% z(vdHASJddJ(+PSWyW(SN2IaSz^6@eOKr}l-Lhoc0())9FKslrc3V-fe_i`|d&~L;K zmb6&30Y#Llq(BNU|G}t~FtT}w2Go%|shU+1rBOBp|Gooo_v9BEX(^Zo8gB=HRv-0b zAUmRNI^!ywq>7MEcXQtJr8E@o4k)HkqV1y5Cv23uP6|^evgglBOj8*P$E{B^pn^f7 zkowVhaJJ~cdF1K_WSCGz{3nTnOi4DLFL~;#71@=A6HTvcuC1=~0|^OwHvp|1@x@1J zH#k&o(HU)#;gAqRaPWm>1#^};958)Yey3Y~JkqeD;$0F5pwMR@ z13WpUlhB>5zQ#x$VDNVKw;v4P2G5-6pkFZG?I$CIMVwhtgoMQzHCm~+jw_CoFIoXkMt=rJjT`IF~W!kLei(KU<)R_%qo|LNipp|(y zgbn(=y9WjqpAn2(ng-pUZnX0;=Q7d4?{stuW<@uzyE`}V^)C$s8UTtvH3k32)S2ie zk_17t?~|qhHD=Yq{{PS1d=XhNtJP|>9*-I5tjdgxW0Y@^dI4<%L@JD19)sZ>apC)9 zhyWvq(EuLdNJd!SBWKp&AplLIHN!QgDBuGbx5`7^9kUR?#f)9uSKM7nju-0Ambw}0 z{fus)XVEYV=97AdX6JnwisPO#h#4j2?JEesCLW}gVkfG)VjIc+%NtM$qk%T5`*^!L zyO}xtk6rm7J8+HP`U1xXosL5?Smj}5HZck$1J7*c<#VA)Vc4(>knw*l{UN46B*0ai zE+86m(~-@IoX#pGo>?_43!%(u?y95W|T^jOSOB2duw%@)sZIwq751 z^>IzSyV{Kam$rkA{BK17B%ko?I$~TyEXJF8bz4++1a7R1JD7BAO{3BTgwF8BLuCaU z7Ppa)QwY$ICeZPK3Wzj)b?mj))v|XMubB$CD(CO4 zjCKe&LI^|n@7*aIuxCkGrO8o6_&kZAlZ>G<81;t|!U*E*ZGh|X=h2rEy*ffg880AZ!n^~wb+@zKMrEO`n64yKcSt<){=J$R|dp@b07Nw%Vi+fcFpt|{c5!)5-mk@ z6-fX)RjAZV6xgHILyWWBMD^Tu5WM#ao&tjFbltmp++MH&M|HbBnB1S*0hV+<{&|(^ z_d)Ql`c0T%rgFGEON%ZD;N@>Hjff)Sf-?@}usHNGa&$@TPaHlOZExNbY}Z^omc=3+ zhJONFh+Ig-&$)}ggu|#-2hBLetTDN%<_$G3Jer|;SWS4;`2O)0FO0yee01j4TM5)n zsTdZqFn!LTF)KCTX_r7P544*uIqt$(IkIQW=u)h%NcVW=v`)gXCqAxBNxoj?wJ!Ud zmrfttQ{d?W^4p14vop0`$`^~ zungjUQ0lswcg-LC&5T6OtJWI zi{hZ=@a1=(6SvRZf7UM)zk8wfr8M|ijOd=9|C0y6D^dDF1o)mE52uld=C!Wr z;C8*%%7+Boy2+bZ+IS8qFnV62F8`Nn4Mo8A^a1b~+S~V)J_N<7;ZUc+pS^Z7cqo_7 zIBWxBdrbh<)@ZEH1%Ju`omP6!1khVi7~dY>n4*#iCXZ2lUsR>PH}|}YrWVJ_LnYxs zpA7b|j=W+MZDUILG87l%_`6D5#&dMLuHr2T)aivj(IqT`xE1~azU<&kPt=2KF#1Xz zay*=uv+Hs1wIvsfHPkr0xB^op_n%)y761NTLwu4#jZY4R)C$YL2*~U>-nke6 zKtE4Ai+Cn@OD`}g9E*(uiRTJMLpP{MF9|p;QSOC1!>EzV4o$z`wKxI+sTVuT)@{?X z^=cLSJx$&FeGpL_Eya!~MzVBukPA9J2`#bSKccuN0=)4uQHq}k36+x!3~ut*BJLco z^pVCWjsx5nLCA+z`ByX}^Nxk4wyA)z@jK{^c%!(~XTuLPGw#F&M}8{VqFMXI1o*^{ z8P``F2WQ8TGD58SsE2vAM^PT*PDP`!;LK#XlFSJii8*q2#qES9zrXZw{Ap6_!AT-| zG8$@IpxPpseX}y7R*Z5?z>8$rYmUc?uiw&~I1^_!f3gc|><=KunfPa$b@+F$7-bNYoahn)Bha6yW(PoK4 z@eh=lux!)UVX^#FL_G$6Xf6ddQbq$~olZMZJo~|{E9Cu~U_Svt^3!x|lVmi#BUi*N zRuch&!php3A=z2?;=t6@Jer}Ap8e?PH0c7wT*G01!kt{aeuV?5hJ^{9wg|%UZqj=2 zP1V!#AEQ}=9t|)SAkIMFxM$;VVi!u&QC&s{p^zkivw0VlX3;B(0Dv{RX`Ap50@isH zB;iw}hsc1Uw+Tqu#D$ZTO&%OlP+w+SjvA(2m6awQ0NhGMGYT5yxa#&!Z$LM-EiF-} zPy{VE6_zw!lziN&!-=;In?tktRB+-J#K*_(5Ln|Pk;U&H*6Ne2{$znt`IPNtIW}kn zh>u8#94*P)V7Ww@0MhnqhQwQtsL$#|u3zn(R>ye`*74Q2xkPJ~h^R>qW?8i}NlCsR z2FEEXHbFX~dP%*);9yZ_0Ivp&q|uHcqN=!OO7n>`ev8BusmwFS|5O5g2*GNYva?WnnQD@8Mt36nOEK&!lBAbUB7};s*DL1? z4vS^G|J>KjY$YQErBjKDUTLo5&As0FK;mbBO{sy@MDAezPE z@eBaVSHN#qSw%%UP1d@WCZ<##>tEH}!WUpNa@FO?<+ez!7 z{N3F4iWAdO7M)7Xj1nbJ$CHtXVoE~*ww#Z7MZbncd10GUNe!XgL>ix}PO=dE`WCcP zykv_Hv8ipib4%P;z3;*gIZwQLm(FLkyOpRaI_qSi)+^6wC0)70q6D^>Ynm=Vu0E@* zkO!x4Esl*@owf`W0d_+49eeNHnmmRYn<1+~i9c-aq7Sxp=dC^0yMqDlxBhAzAZzZG zUI1ze64P_{|C1u20?xfYlYlGp=ZA`VlmS^w^XBsI)F(^oIJ7o$t93DNw`b;Dz%OK7 zux^U%d;BD&(3PFg!YiAMxO?Z}mh8k=dEK8^6F+)5*~Gx3!vAc8hS;_CF-;DEJAfSa zZ{P0U5hXYAqs{Q!Ql_97p-XcqSug8l{ii|Io1UEFSUBq0bX z9^X4*B#?Ve4o*`*GzF;Q4G2UB5nsdL_PZ;f01i2d=wEh#SPc@zIpG;7dx2kaM){=wuabfcIDdSwa{8`Q1CyIRIMqly1Rx7H<4uf$uo;e(Z#AMiP~3g z8MFhukSj%)Im$}v<#CRtA0N|h7T0-RHMllUcpeA}#X?&cl zOwQ6Q{WB+&xI@-0>A)CEoSPlQB$>c?1X{*`BGiGUA6mB)joT*MnfQxM*!Mz+I{r?u zKL?G;4y9>pxC5&_;vgI9#-S%74M1acJOsG2S3>)Fkh)sG33c!wuV@{(+-zKcjs_Lp z^`y&ws?2`W@TVWh>kGcWd;t6uz3}t-^XULeBximJ-~BC3cCA>9H){~Z2K`iPeZ?x; z@BLZigU=#ChS+egyZc>yV(eph#Z}40!)|9A4#4HmuGCY~tBLuGsbqD;Tus z`-(K7YrT<AF{!A*`X6&+eMr4BC@>U~0fuN>U9SsKWKg3_GyCDil37Fp zwH*S?!JpFX+P36!1f#8&@gMI0@le|&eBYG-MmKY}`mKhuRySpoqw zD7|dj)iZQB4%1tcxA*>MzStF|ZBu<=UtocwM1isi&(KRHGcCF4PB2V$VJB}0YiK&@ z?!}*tfnUL=(PLNVF7ThUt0=7~nCgNWH^%;H5E)Xwk<}vWBx)Z*4qJGJr1QiOAujj# zWpwzFNx`s*+ke%J@FsEA zjt?a0o<8beG_Pr0V_tA0&NIV?B<>;BkdA-ylG+~-Ju{=gLeNH`I4&OQ`iPE6SBA;ss(r>I0Mis4U~%)F$O&>{dV$aa({#-mWA zO3b_f2gS=MTE52C4Bh+l-+!C^8I}yfW~j&{fMTwN4=V*s&N9scafZBPvwIEHl*9xX zudFBKGrp2mJ5#d(*p5tTaIyff%j~P?6&Ot~f`n2fwqJ1)2$~6Z$m5 z2`%(%p+M0AyI#n^P0(5y42WYOXz}l_00eM{3PYI&N&cb=z@JJO9iMEIcN}1YtP`jm zdTVT7ns&?5-ljcGYvz~;aJ-W4SoI28jP59#hg#XDh=1~rG2gd z9^X`;_rws8KG0>|k7QGU4VlQX7B`lFnbZrk(xPx$(|X}J&fTMjjq&SN#Q`gl-%naA zzH$OE3_wkZijLbOC!sSlQIG7mw0>X|uw1ir`2}Y2#WDas%dc|uyq>OlrbdjWV6Rp^ z1aG-#N8nQ+6l4Q?zN=x(aekx3{<|%0-L7g0qNYRDX6n3=Ddx|A_g)L%b%|h46iKv} zq`R&?l1_DEtQje!u#l(8H4-LXWaFhVF)r@}v7@BfzZ4EfgD#+DIb)E)0PDqc7c z_MX$R1FJy>n)6RBKnK7qZ%d8+j90kq0y0TZ-Xb2FDFH+@AgaaE@RR7qbP1miEMzBT0^dJY(w6s>Am#+Omq5U;1Wfq{6u>~8;F zH!F0CRFnJa+-5t}fZjiD3E%Uj_#NNwAk71w2@pVCeJJP*^AlR$LcNO=3$&QHE+%v= z`}6sy+IW6bO}w)|jw2I{&YJ&B0LQtPa0Yoi_tiiFlu6Efz}tPT6w|s9oc~DnB*L-1 zw3MGbg%sY$P(J~1M5v|(uyj|V4Xs%MXkSHXu!1p6gEBg;EzaK#Ko&kuBQ~y4SuP^1 zL`_*R0THopvKZ^W4~+l?izwjo2(}ftxLOF-YBMFSDa@5P(UGV$f7Vt|dRg_j2t*F* z!MEcr!A?BB5mFp$qfE+T>WW=p;)N!$}<=wqz#+->F)$2X8C zK#fU&WQRAKj>VTp$uQIR7KH|q$l)>ospP_gx`BjBQ5Ca%7IUpu-W(A}ZSi~GZ@@LU zJz)Dq8;o1PRI{>Zrt#cWQNWrK^iJz|tb&jpkDGu0#G{Fb7BrADyc9SIJ%dOAwe->v zKYD8xz+jW9=?oxP+sYDlFq~am1oo2kZ&)b+EhPLTVBCtn2ZcwNeglR?ZsJ{L+t0Jd7rU-ulS@NpUP(UywZH& z8?s4_%Xl9V>I@ZLmwmOg$Eof?|15OB9or~U9tqi#mj@~SU+Jes`2U0DuRjT1coqZs zyw7b&b8mA!^2IG3&*%iO7F&0lgvo+|TqGj`9sA<&E~4^#DYq<%EOGx8Ia-zaS5P>u z3Jo7xk`;r%!6dzM>!5w1bz2$LvOh+oZSif4aJWNqm-@kEVB*Cb$TTlmlJjf4gx<9T zZ%S79Qp%PUW^|vkCy8TnWF_lUI9_NIX(DUf1`7@2aknkRp#c>Wr6rO+O!tw-Mi5sk zKw=nzoVRy%g#BEIGW z%}r@3G0IlW@5{>e*dQFa)ln+l9&1Aa&_7rW6vlI@zIpO?D=`OnTdKZLDBw>@eIvkspk4zpl*hP)O1u;p zY^Xp{1-VmJvLL|GWVaCOVu~rs$Wb_LeYO^3h&*b>Lh3x-FvW&76aWXjbn>6UMF%fIe)Yi1&hvtFa@Z4FPUF1S_-wxOf(5gNCxMMwNx^r6j^n%iC@AyQuiE zxh9p|HYvGAFO1xl>pF{@m-2WC8iQT7v?%2+g)toq`A);bvIC z+gf7Ut1I&5KLX{Rp@ia}3~n#e06i74L=Kt0i$-#{wO0#1WkIA8Z`T$C6eocu4kSbV7f9$uOSag zjtgy44&aFK`=@8&+Uui@JrPQ&i~xfygD>6q-)Ys;2}=23T^v zRsiNu*SW18Las;=y@)*x9-@lr6_=>B!YuE&(!@{%7z+vP>bR}EvO+H#g;1P(NP85+GK z`DmgG2{d$1^jt9WzMl3&`>KUW*+n_Jk*PTD(5OV@DxUK04&VjTH-TXcJJ)QeEbp5b zEFxRPZ%{v-!XGZI#crEO39|FrG@*~6uGx>*?C$Sxj&taKpL-!=aH74F9H2%7ku5gO z3*r|d6$d-uU2)x5vj8fiHNIkg~;C2%rQ_#l0rfWK9K+#3QHad z_Dspr)q_Zrgji$*6g|s`t4G z48R0H8hh&i#vKJoC6rd36cLyyB$pkv(fV?n+;|7h1BLvDgO}Q6~^fX{%FJF*!7P_s2J3N3SJf{4e;4 zby0)BWI#^qacyn2OC5whVzuWRGwXQq&k|CiT%C9gF6w|vex$e@>nyE@EH&h>2}7u&|p+;y}EQobE*Jsve=&EE{e-W%v01(4ML z;xEoeR)nb%%PJXQUATP{|o!t^t`fL24lY4DM6X#naXtOzD`QmkO%I%&GlHKz4=?-qBP8orms zp8(1={WJYO4G?}O@Bi>ar%d2pXqUIO6DKjKqsS?EEua((HlWg&p+UKQzN2zIl^SiD zDXdlHz%7?=IIx9=q2qv4kpJfGnSHVG+K4qbUVpo+m@teiIeh=p+`D=-;4JT3ite50Upnk zAe2wC|D14o%ktwh-7TpTSgPbdB#f;Zr|Z8%zat2q#~i@Jsr^?G$Q2-;^F#?qz@aOE zx`afV9V(;7el3HDX%VLBJEUS z^Q?*;^0LrAW@}|nLs*29`R!AApW}y|X7>yB$l1VLQ-tHr={8bOj4S81)}{u@U?P!d zlCGnbC6Es}oRjEgYokInGQc4^L}68Z98hpUtj84T%k_<`2OWQ}B_8_U`)7=4MKJ=T zW!O1~V+<=OK6PUk_xqirBrLEHz1|T7*oO)=Ko;2Gk;w!C8Q8ZgN(GEcnxEfjt>b$F z#X}+BqU?0~y7oNOvItwXHI;L?QYa@m@yTMqfwYHXaBI%4_%`v9Aq%zAC$;SR+7zh- z-pP|J^dFxAJ%pqT*mFn>buK8Y9bQIuaEJmj7tyZsj&hu%KJ{8Kju4;Kibq8#WO_P~ z_W}1{jKXr3xvykDS|@1np^brm4eGWEK^CP<3O*8M^h#NRMBLf+zb8?W5wN1b z{q+N9AsRQV%}eL0pK39tlp+RzG-aRdbt@ob(^hQpyBUB|&*t+`)dDL?S#K+STC|MI$nPv#*jc$WD|>(4i?QS!6{4 zXrfz%VW5oC5e;463-s%IW_ixf9WftvK+&!bqRPb)=?lJyqjY>$C2Id+mB6)6r!Tir zISFc^4$=l*Jv1>*u!I*j)+rphC$RK$9|?AXq0pk_l_}4Lnw7kmy##-l1WLzAeR*KgbIw3qxT2k1mlFUtdjn=*3>c+2h<4&m00V-D_%2LQXpIN&UOT;HhyZdPvjuQGq&BD+xW*gB z*XHxje<+Nwhi^|xMUeHdK>)gZWf(!Yit(m*yc@T_NFBlwDo10lQ#(!PkM>K-M3J2i zJLOXprK%oUWrJ_o zVgkB+14I?yfxh};`pzO_a^9-=a01>prGfpFO(2uRVLt zVS3q>c{^kZCcs(sWz-ajF1}{h7lVr6~GirH2Cqau|jN$xnQqqtTD+=7TgwX$67@ z1qnpo9u2`6f?5mpSM+%4>*f?ZdXLT;w6GuLOB5&VqqTTD%CIX6QX>xa`DyMI2Ge*+QBv!oF>@i-D^VJPB^W2sN1_UPIDhe!$fDG2y zv^UB{m;CXrEVMgpeP9YN?MxuFmRhXaBPCyHz5_WHcq8;VdtOB61t5Cg?MTkeo zsyLU>D%%>?n>uYf2rEI@wi}t~o>My20qi<|w|82$y&mx!IfC!+43HLahU@<90Yu?F z<^@^vrb&P^dClfL$%X%q0p~KEF4^HD*N*)l1MRQl+^Y&5K)}IMI$+5ywGGc|@eGi; z326j~UuC0C8wvtbfL3sFd0nsp;|g7CbN5GeXp1l7B-c$*Vs~l> zjy|-U$OcY8Iq~Clgyclx;kxuqRz+A3dr1#Tz+?RWRX%IaVwMvKL=Ljx%!Bh!T+3r^ zq8NNdwuLj~?$dJfPE=J}QjKEmHM7|JEdwz}5zt?efem^fy#Il`aLXCA9ivk|+agTf zz%?erZRfI4?7C4$t>g}El~&_>(&;$z zIKD6 zIgnIY+LFq6n72}1D+S6v@rW0Rg|rmBe|ovGQPFhy1G*@lp|RW2s5g=L#o6G248+&d zh?(Xx=@Y1#3XLUuuFCN{_RqTJ_11MiuKs+q9@`_g^S9jv;27@h&G-6(@Oz&A^8oPe z2A)?#WL`HW`HML8V&*-LqwE&o_WE-E|6cs>)Sb8sd1YeKK?uNl`8*Gf(4O`I zTM6^-M894&rP!tQ>RvqFt@xmws?uWnHje*EJ-nxQpbN(mxdz0miH{^d()bsdB1oEL zFR~@~^NZ6DB`r!RM<bf<}{R;U#%t&Rs%fR~C_K!I5fqOw7gUQ-s!AXWD*9Z>%K&k)$AOJ~3K~!C`1?cjmW_=7p zH*RcBFb1M!E1hhdhytD;SRj5`MciWC^h^i$UNV@oGBse#aKkkK4DkqObqL7skqX=k zEg-e7lIUkNEGJ(8F#vkNw4{)gX|S@j`=-=p&<;Lja?7X`bYt1SgF`#n49km$B4HCh ze7n1}AcQ8{31{b==|L%SMSs`pW?C6Uep2I-vXRePaLgm%ULhd?=TdSW}uRMU9-U;+}MGR}$(2LllH z1c{OAUb zZ*N1`_^~l>8Uj$=sId*(tc2R?ag>$ASfC8ydK@iUEu!I$4_|zIe~J<#aGU@0xugdu zl&7T}I?>Nr1NKtB#(`j79wgQ2c$}Z;?4vQ3G^P>6&+?90756V3bA;_tGjR74L0-j2 zaRHzNh=3Hj)7uFo=7Yip7?9@hHH*))vPEsbSC|&W5n%x~Bi>V}Sn}DZWp*RtnoO3w z6RbI3paCHD9hxB0)kf~>!Xz6+5d!}0^WBLS925L`9^#e%Vi*)pGFl$77S5^ZiKB}a zP=fuT><#&A3V^o2xs9sOSazh~aAtc&4Uq^&%)k#0iAV)VaUe#ipF%o##V2;S}x zPLYJO`A!}I7MU4cUzvmKU>^?}E+6k(W&x%GkYIt=bN?3d zpVm%SbftJv={223(hYItGiEN1J$F8eTvd*#CG||8h4GJTWjl|QMw}{bC9bij0C_A~ zOIR7rg6b;w2BHR5@r>>8vs4{`jk|~V28unjP17Tutju1fa{jco+BeF_$_aa&iTeX~ z?_CjS1vvtva43gV7!5>VGLlAPBcJ&A6tjALP`^064Tkl1+l9k=k8{n%*egy{TR#Fy z2U%5Sxe;(U3?dTEe+2GPP-aj4tguF#V(GIVZ7fRt=4>X952h6hP+)633mdeBEYt?= zzo>G+TeM))G^Ggb{tn%7XyTcua&`kxYqa#4^Qer{xzr+(LA>)ij#okfC`4eCZs`XH zltTOU=t)d9LWieKijaj?Lx7#v%fWQzQbgYgw-8zPwegf-9AUwt#Pm6a0mZ5_TQF95 z=8-8vJZ>`}*eKXc;!=Q$BYuY1fhr#)nLO3W4ZS7Ngi1;tOEdN+V>L>7C;UNP3GsEy zrYt695U>hJ26G1dszd5x%l)*wz6jJx@)xzY8t3zIe~S&2Z~n~3G5qGQ{<*JT-@o+L z*Yg$^SaK7W`dGXJ7Xsar{QdYt`bj4~V+rr$e{u_uv4Z{e`fmQd%;Zc@N`3$841=8D zyJY<>VLvOb2$JzcF_JsNl5`W9zHA(i1^xC7Cb$|7Bynh%1OTj_{PkjJyDm0bSaZIC zJ(o4Ni~1_z#v&Cq%whUBve9dGXgtSN^q0i}Mw`jOxWLBEjTJxqFTkilJ>&meor!Xz z$Pz^Xv4eybv^2K=|2JQqlLhv?h>4z=-YiR0R_4vSQ1FF|`|Z2%y6JV2@K^;qwv0q> zreqpMW%?Khr#?S!U^Yuj7oK&@BT@=3}E`Dm% z)({`LE{)FM<)8t`Fob#1Ui0x6OuY**K>9N4HXCbHwgtNC^d_B+Qn*Cgh@B^9|; z|IX$Y&s+eaHF@p=|Ge%y0Kb1ReB=V~l}kX50NuxcJntV=1^#>YGt{#5o>RQDd5@e# zl|bY6O})Kbv2Fq(oq`q+n!$7Al=AwNIo@&r!5Cbi<~(-gcyWu6OY2@Tg!3{47!X3p zy+`a>b@LY#fTxjWlC5sbYM9CXiDFT~``2SFkGhbsxhOa^}$6qPW{FxX&l8qPC*k5hnFp$d0XaqG4Y4-_K^ zhCZBxBOlmrKw~3Ad{OC4Qld!E7;xngJ+$U^#sK2?Ywu3MNRxes(AhZ#QiS&4yi;TX zLL}n475F5g4a!|%;JF2$vGW0XD|7!s3ql9uZkO!j8EjN81g2xlMxfFf32TMgpgzEu z7V3aYgkF=-LHYqMLDh*p%uq(=p-EopZEfS-nzHw3!z5r2P~d7x=q<%?)JK_=z-+pY zXT$|H?m5gZ&I($%{;FFB|E_A^$N+qLFt7UCT@Cq_b-#DvF5mOr>jdu4eLjK9?Kkh^ znBlWskH7nUf88_AP({$E7=TAA=s?s4_`uO%{LcIP&X2$5lZSvESL9cA)j|LOf0cr} zEzolhG>XmLGh6Spz8kWDB+{i;yu?c3ti95B(1XG{JvB;qiK#geEejqm()cf-0lZ!Q z+6absFs%cA?Yac;fdEsPIfrHAIatYoYNsa}&A1=?#Z19^n6gzq^+1ElF$nPZM1lU) zQ1#L7g%egAAz}+SI?fY5i$lP~%F+fc3cXrE=1HRF)Eh^RPJY?Gfvh_nfICY9OKrd> zd~j;w2D?DEiy~}y$o^p-8Q|Q~bgH112OX?$^%(S}Q-%jV$5j;6+%YQ~uajYDl>S6t(?s~w7yyEqg(SQ9`s)(EpaP(=4bPxa zWq~;xkwBUz+tX#t37blCpyY%Tm{q}xKlR6N=ztW3(cQr7z~uLiJFnk&5PqKzc52>% z;2jXa>-j#=!&j;+6`q}DXc_tu2L6{I3Eto8hyGyxU;nQ1-1~LQ~B_Pv*zzcU2 zGQR%n$RrF_at<+UFMlG6kxWHAFqXO_hN_Co&rpA2s;@GKiX%Q%x15an%&YEl5zKyKa_2L?7hYStrlP{J|Yjjcr(`Z6!-WYPk^yAdA z6hEQlj>H&z_-Y`#T0!V3L?&?<-S@Z3+MBxcj^&7ku_Rk1EG-y`4F%y0K+-QLCk3Rx z?=^OWH2j2srfYuL)XfwyZ5y+JB`I_5^@?CP#0?afSu1fp%#7@G=3qnj}oB+WW<4>?%rJ&DXU z!no28h7IGamX7vmSj04KeO9=Q;dxv~K)5-FW#LyX`pEiAjnEpQ9AOav`Mz@|2MoZH zC%q%SRjfj4Ef+H%a+6SP1`!CvyzvJkv+$%8K&}!$Q~H4`h%^&0Z-(n_NL4@LBZdV= z0{m|r3D#h3xMYO=+?r`{(l?eR(Z%I(Y4)BQ?{jRU99FLt3$3%@mE?90pgu$Ss| z*^|B>`84lPoVW4&m<=9#W3Z=y{GVgbBd-KrQf4lT@APl*VSc+Lmc<~<107& z`}+Trn}dIk&<5pQ!>?>HMu5lX*bTm7KFFa4@B4JQ|Kg9=Tf3I&+l-TYNgV-u6D0Ja zcFK7K?V?VOF|gd9*9&JKMDd=p#q&&YC)GY%hgX&FC!8X@I)j3d3P5^barUcn=9uci zd$^aUE;o(Y>~FA0rFNM069CQ_!9T4Aui+}19-H~++vE#0Cyl<@O}JD;94Vy(^#aeb zf(N z#u0$(L37Q6UpmKn>`(k&!H(4H_Bou6n--50;}hqwCV{1=i0>y}$r_a6Wf>xx2cr_^ zo$y5+i&g4yHUcQSCRIcz4*H^|leYA7bve6}ENNYV8GVR8-0T3l5G{N!+v4gTivXxZ zg_b{&q}bD~mxeP$Tn}V>L`^5Ox-3&jP>!V{@0r1Ck^Tip=fnXQDV3e7DZ;!_JHW=# zES=_X3AQtg95neI=pb^^uixTe#-~IgiY@yazS%-cVoU;xPHzZ83vr#Ozvs-H2qD|~ z$hp6UOs&eq6ECiGo$)|xE;jTggYLNBzYyaD3h+3>fAdxRZ^s5dM>g;$RtX1)|9BfV z7^;_G9C2)(rfY=)k;)Nwct8MOfBOHp_;;GnJH4LwFI(}@54``o0C?{PL*Weix@Qt^ zFp|=t?wa!nUw=yCsR@X#9ICj@b@%3%P>pF?JYrR#n z3bbn)wXi*pJT~aE()AGzZNZ7cOgKHyIDX-IQPHEBo;JyLpMu*Z;5@lTC?1fqoFljHy+{8e1v)+l&FoR8Li+FSEUUTuM@x=)^TBK20UOSg(Fok*ER|b{2#7 zA{d$vUDg(`w~su-!U(c9+(cV5JDNc^PKV{bO(%5_q@ytKX||_+HYgP{&6Cu;rKwl* z02B@4@lV_tEWmCyguP$Zx>57r@7`YA&TR1pB?tO_xV3DSj{Q50m=Z&;{w?efa8r?M zxFS91SV!PO)<^94>6D$3`RJOC88ARlb0d7K^q5UEe06TSQw6lAGr|0Hr zrx@e5dCtmkj&E?mouZQ^9XSvwfq(l|iKnrkyJ48eAaK7%=xzGtr#J0mZ~x<}|7Gj# z#UW4SA63JTgE92T(?jkY-Z{nluK4g4J-|yl|NBn+Kb8Rh2LSM;zmDGj{eEPMLi7du zCO{|R_vgPN@j^f*a+ZUF5*o8 z&_*V0*yT;}&|y;t(JWn!b!x<&iW?HM$|6#E+n7={1chhE16}v7x6-8VbSn1^^Df$e z?Pr73kC<;svjKHr=0+{LZf>F7 zH9e*U)~Y^QiNTQ3Ow#Q-3&s;MOaT3F~8=wzrfux-}RliB3 zUceB4om3n6PO%_Vrf zM#Dy^FGHcv>K3ufNG3aU62)9Ve8S;>POn__qKdeOIRA!@Av3l&oT60v5UElfvmQk5 z7*w#(7dh>b@fNJeQevcABLt}D>_Ajy7%8FvFWKHU(r;{j$B?l|KI2rS=NC3Wng(70 z$9*0L3aBU7<1fdL9o@gjPTV_cL-rE*OACJPXE1AN;zYTe3-QilANK75zM}I72KYMK zfnN;pkp;qe9YF|5q?2cDVD<{j5TMN6TQ=U@6MnGnvJ9f)yH2H_aa_OdC(n^fc{%TV z>3gUN?h%Uex@Ybb@<5%vcO~zO_Tn5qArTQLj}2^bth9608FZomgkPE(K|m^_Qrana zegCSxJL(t0zhi$DE zywE-GsLCSkJd#l50q^&12@F=-)Gn~_FW0EL-xXpKuoh(8=;yjvo{i6v_e{b;Ia*hnG421T#zk%CyL5@U2p zI1CugOd~UCeh#!nmhKnhb;TudVxQ;?`=77`_u*8qR)SBHsE~w zJOfK|k4H8Knu;fDc+MH*TezQxW?aW~HkZEEZ%$c+WUtOPfTP@m2saHy@#9{U1(pJ_ z1I!abk_pf59ga0C!cg_*;FhA|OkFYscSwW%g6suR3$L`|{VUUWAsuZ#hF1_^V1N2Wa$g%?c ze69cf{UtRloe#?W!0TXMXUV6eMKY(@EmZ){(cx{Nuw{xy1ASUzf!#RGwq)l`OTMi! z$sDEig-C~{9+%=y^@4631_@O90WQ@_fKq|o9gIPwF}h~pa^j}hMT~DPE1<~>N1*{> z#v3z$v>Kc&yx;H0MCRL9xwtbKNs6&^&nT%BF$I@-;PAsPX~YclIs?*eqYlq`D#cV@ zET$_}cH-J9l;G7zsX~ZvtHP_gV6k`Kh3xk?P9WNdWDeum6|z_c3(nP z28j=pB$KgM2PTQaw}Kl-VTt(t&{rB>+8wt8K38tLf=@@HE zQ$TCCNR1)cL*)>7JW1MN(_~fI8)!X>r8N*l6TMoYUVU$RT04tFYqK}!!VVUiH}r3y zzJFh`0aoojJpIw3iy2I%G$G^rNZxSuPXVH~HJy$&_0kxNJ5BV=uMU!Iy^ms$9%-55 z`yF^(02W9UF(&Lo7>7v+n!(OJ<3OR24i7r`QM(f|i5~D)McW`$kF-25n9RO2LP$qhL>2%q@rK+3D-%yfY78Pz(v4d3`}Tr3oC#1L#Lhl_8E6E>efbC;hs9AL zB(cS@rG$ZqSvM{%RawG@(kEYrK2#@6xHkY<3-z(ml6h6r_88=ZMh4G&c;U z_$(%c{QY~f3P{%gq2cLTSl>R@;Q#Ib?7>V^ivPGyk6(7xVn-VE3* zK(aN;d+y^ymmB*ycH?X)eWtl(hl0pyX;mz7YWXUWKC}RXPzWuHV!9?$fUGm5^CIfN zLXF=e2B6S0Qa{lNAxyQ>UU;eC6TUy9(1C|w4%{1quI4#x3}8}eXBCdA*77T>3v^!@TWMTBD8$z&)3 zDUKHXfqe3NY(hc>ZERI8K*>kqr<Hog8%e%I{4I;UzT*N>|1tacgib)?91G)Ak0O7(eM4?;0h*~px5 z6d_A`uv}b#fPlZ#qyHZnfG;+LTVg2VZH|VN&ruJn>Uj#_!AoUObFbeOPb>hSHoU+T zD)uGeT|za_J6|Df<=55qrWmlu=-{4S7`Az%11g_N+Bm~Tm|>OC zno}rg(w%rh!m!hX7$F_01sKT!d>MR7!sjdXJ_`$meE?AxCWA(QFOiuv`ttc-km9nGmd@lN5xSQPsJ&;Pn-1!Gtl{G-9BUwIIE2u8XgW*u6!W;7%2k6lHl zHwQvv2Sw(72c4j$D(p`0(WMa0A_acKB)c|PQmqLAQdRs(Ge-EBq7r=Nb#b?)Ps8Zn zI4sui(X{`R*xOULZ2WJZ2Aw#CQ3Pxc`?wk6ZrDg)&*#;Le`t1}Ic8M6*5O=ShDA#h zrNHg>{U1%B7r^a94Xh0D{%a4oSpqT&?0zW>uXyyIqgl^fZ<9Z|u>H_=u_444eJ|br zCg{CHz(}A^yh9%47EnaNr-B=i1+7i}>`E@54*qHKXY!;C5-r(bTN12K#}igH=DF zp_%F&_k5~!DsVIPHvf&X1*E_%8`c;AM$p-tEOh+L;tm$)f)SmFcu)M7IY2Z4s0y_! zb*ZmEt)t3Fii7l33Kz}csp%e#l$AAthY2A@KCMzKD2+GA>=MzVLs4NujJpK1El&rv&QI!UjJ2yim% zD!gr>%nPs1{TVh}75M33T^=8m_p_Y4XDJRe`fgew&Ri@8ZiOFKFyay6!(cpfdWrtz zf2M<$Ey(3*{z(-3)d2k2kO1Gsigf$L6qJ;b=Z`t4Jgm>ffyk)yYKHi=)^7{Rry*gB zUVUPMdVS<|0*OM$&$!_8Bun&0cqOHMi?6d;Ko)FBV39r(IRf&{>ZVG;RSq}Kbm1j?9oQ{3hnhi_`Y@}v- zPwO7uRm?l9#ae!8)d2kUp_mSa@qeU$fT+_mN6OclQ?>E_;YbLqe|o)P1OKNIdeq=I zAOv8lKVUM7$A9{}%)Pro#mg9@02Oa@C4#33ybja;c9(t#dl^BfTzcUGt>b}8Ksa(6 zat_-y-Civ>n+jN(>ivly!)};W&-WbL3bhh{D2DK4d;a1A$YIB)ov}ttJA!_mzFAa* zeF$v%y4I6*P8V~<^yM%p0Q51SZQAYP{L=wY13*`LM}iuvqjn$h2g67FmicYoPxQynb!K~og=NmMvYMwGq>WJ=AH8GE!^y8`K)5;il z?$%eAqbmSW9!V|MczQM&^!j{U9smK0#EvKL7iGck_WOGy1AWMWiZRGt-X}dQZ|K7l z@chz``!HY#S^Yf|y&lGXmDyi@3BQt$`r|)?fb29ZzQiq7>{kttpT$K0R6Z`APm{{$ z{(6}zb~1A+Zvy}TAOJ~3K~z?zZUz2l1j`M<$1Fd?|9CL+My6Tb z>uXsSCGARPBK!x8U59LDmm`2t61|zAv#XbuC$vt9(9RM7L zG)*1>q%#t@aDe>5-SW)j4FPGAi!dVAbJ&r%k?hJNEgUtBaMalvXR^aciyF;Sk zKE|w_f=Omc!_q_&u@b{P)jq~voJ8O!J^AC7-S&CI&cV5rNAGQ013b5wfDIk`V-73? z|J!GbZ@wTLpm7hd1~^amX!akE&2x}n{5#tXe-8VH5%4>^3w{cK4?0-b0KPI*Fny|A zugAphoJ{tv_4Ryc9E}_eEmJt;OYc{ z%ua^Xk($K|60CIb;y

        8!BU)5hG1CPt7{=zGt~r?Ls*lkbt9kKYcZYCLyv^vc33! zT%Cz_;zkffCA5P;*sNyo{QqaB@2zg3$>f}zBtyp7sH>}9z2&rvkk^A5GVa;hndHw?!2xAG3XcrXSi; zIXELsfJzS}$Z@q)%nA?YO#V%$46hs`fpEYX8+Y1faFBsEyd&=d4S&RWyVO31mriN((}RYN|-% z651kQ9E}N?VO|>mU0m;AblH3B_PrtIm6kkHa0~JNlN@j3oC7QQ&UpW$2#qu4F#nDJbUwo90h=Y^fnkD)7gI17x~RYS zvV0sc>5j3l@08Yzt$l&Bf>~MnNDqvfjfcvi)GWn@;bC3JK2bqMe<_+HZ>P7;8Ym~Q#R z1jiA7F_!MVFU>Wgffm4*gOJc2oMU}=;W?u>?qFVG z-6_WzGcnu_9ImJUX;Qk{0YpC1(yC(cUj~@KQ2|+$9HK7?^=4z-6Myw=9jRZ;>!eEV z!aM3%7J)E)B1k%Z5#_D7)Ly%I`9jkAcJ;D%kqx2husakjKrgF>(NR7T<}#<)F`UYP ze7kwFWz?3%|7E?>e=g;}tm!_ zv-l35@7+Csi;x@K!sjSgm*S4hp74z47oS{u+E4f~0>zUP+(`O49t?FhP`Zx3jwTsQ zc%*4YjQ|`xNe&_YGF*vZFgD{93XjH@G!8Kb_kwWjcD2s5Xww#a<|gC$*tl_TICD1R z``uwFUx9r8zCWiw62O`FNfBo}PWSShrv+|+8=w}d+B>`!-TpzxFfNs%rv*gg^QvNYuX>BIw0Fw z{SxK~EIsuW(Q7Ep5?8F#%51^i-{LI*0HI-XZ~R$p*n2OsM+p3!`lIUD@VOHO7${N1 zXuH_khcpzrpph09&b_9dX9*>zJOe-~JnUg(Od%=`^XW(fjqn>70c{mxl-;=BV1V}v z>$!iVKc5!hQksBOkNX+ApJidUcIB6kVQ@K;S+ehf-kjfbW_I62S6rNio~xwygEr>3 z@n;JH7TjU)a6ex=6wqORxHU$7hMZ6WkODw< z2(j?YMy)7MdWAiXdw2+$tUXiHiHxkds?mP3F5gpt)9P%Uasd{nxzQ0|#kGiJ|l*(Vc{mlVTo=ois6X8L%?S#>VFaxFz^6tF+eP2mE zl>55_uv_X71o^GAu!mlVNPtKJBSXWi=WX0Eo4?oce%lY>%x#Doi-XD4ggQjw2CxAQ z&z3Y#ymRPe_gNrzQYU(MHi4wdx2__oI|l7sb#gdc)w7W)@#pjeSrz zdrAG-!(L_p#8Fe~c7{UfC9iUn@Xs_~HoH`;``w|>Yhj{o>>QM~MLxwDzU0vM;j^qQ zXi2)bMUc)T#P)@Z8?AW0`u_>&yFGFY(1suI-2DFkf0g8p#|jGg#quBR#=k^--0o34 zF5xs<0Kf8vR?J{E1%GaW%RaWjIifhTc3|nJM&GtQ$C#&YJ3WKAP@Zlvifl?&dC!kn z_DN-i4e%&#iE;mb?{7>|YX~74#|TAL>DwRT1Fdj{0Ku&}{d?s?N057vU}ORYXPVbd zDt1mJ(=+TKo4YwUvBc@O45$)rCIrWa>r12`5gZFSBq|d(sUkx5;4(%dZ63B>YVif# zmWhDu&FQxR;LN91_7%IVHZDxk!LKm`q=&lAN_|@KN^km>n-1KrrEB22)3cZ1Tj{Tc z8X;M5Uzh4GFa^pew2+~EY9#f62s9Pyg&fRH#6T?^$L4`ODeq$l@156ssaQVr8X^N9 zO!)9uy+I_?5V_xwk1^5bf?pyNct-TV#7+;fn0gGHLGl6n2HEy9DVR*MI(eR1F1GFR z`>Q+(k5sB5UH}>x%*Lmy4HosZ31WYUfLIK13a3F`&@iB(%%xLlhP(5MGDo_@$c{UP zECtADXLh{l6=`;?zv4#VVUjDTf*8Kp&Z2_0kcY+fAyhyRz_C3Vx{zMglSi2|ZobdW z`5R#Fe);*6FWe8^KdbbM9A`}gdS15aVTA|uvsQp&6IAp$#a)2=)f9rVP|V=Mr9g)z zk#r*|%JxH-Pl>sd5Yvx2d65;w>hW}cMp2Wgf4`lXdAOb*Q5ERxRbLWBb&oPrQc9m6 zbMkvo2VMP_RAj%I3=ka8IeA3-p&;kiEf@!>-u4Tr&^p-C+i7l#%#&(D1yC)V&asL; zwqH1T?iFzDgBupv#D*9j1raIb=FzLPb< zLtsuhvR$`mb9_Y?JZfn?Vt@F4wXQEx1>iTiwg;yQ%)Nv?gGvc1IcZzeUVl+O0RN={ zWTb~kbqy1f)^s#BAqIBN{497|&K>485b}Y>!IWUf8R%XS5)(djY=Ma#h2d;wqtWR7 zPJa&EL3T1#ut)53uH62hv3%+iBHE6B~=0mitAk6I_B@Sb+W0R~Sb8xUb0K zW(?TQA}#}-#g{015Iwe3q~J50PbC;2_V!=LbbfXU5gZD{0YzBTPxO4x_CoifYkID> zLicDPN@8K8mqlqn-+T+;FEbDERyY;25W-J)rd){oqyu|Wl#?UJ;B1$h+`)1&yRIF< zi`5Cbz1{8e{DxOJj{}M?p&U?#c#awuVGZXIuxt$L`X#W}AhnIav+$QMKFP6BVGbC+!4S~V~hXgjn$@Ox_m z!MV;I5JC&1vd&(+TR0I$d%9z+LqCJFQ5OO@T@iH28xaOfSNt{<-C*KDgwgN2m1{E& zJ&+n-V!{eMRXCQC1CvTORKfu12mNZhk?}trVcK?PFEKuJeU+LY(gjR2fLzTN0tCbW z6ze}HdB=! z3^mZ#Jso*S`uBhBIDUej`*>ddQR(D}?tI)XD^`Em%<09PC%^2HV@2{>kfZd>3xHTZ zX78Y&^Zdg(zO1akQZ9-cV1Wp>M8fP~knZQN=m2g-fOu>oxuX#IZ_ovp z);Qei5;j!9w%5e&9moG~YV*@$J=(v{_;cZP8AE|=*O&Jk3iu&XHvt>e?ivUXvLxNe zDFEpxhA=T!eVUbnnNbnC%v%B-Wk25c#q`fx-pH~ZW+V;(sC~i3FyLG!(sYR;<8s%H zS3BZV0QmBF9TJDoj1KQ<&cXXL-tOFG$PVA~>)>+o^*i$x=P>m$?1P!cedSPW_t~Ec zLUw&6_n@*6rP@ckaLtSf?f-_sj}mJ_oWvMBa79zIn3|cFMJh7K-GUx$0<~-o>NKjW zI&7nC_Eh;EgU1W`E4A*uypUZsu-gLzpCVI!uk!ksK5(Wg_1NfKe26TfaNbxzabujc z>f(Il0&xGi{Lzl@vSHoG@p+b{&d-efc>aUl|CG($iUwwi{tDPVR)KIv>elmL_`~=6 zCV6~gC~*4-l0QPk(kJ{+fbh)k;Bi0Q@}%w>?>kN1yRYM3E?~|K{g13OQF0qcf+%nB z6sd!vF3Pl7*|j*sF}$S&e>0OD|o{=-_NDbBpk%TW$iuB0G<(Xgw1 zrAQy&1AcRx0}B|Tfk{$8WR8O_q;t^?fC_hHtp}h0T~KqavNsOzua#*|MMx!XckaVS z=KNM@lP+50&XK=fj7y;c8(m@>S)DrJbKTIJWn~`?(`Dz0pO}M@G3gCbp-8Ntk-J)x zRn1tC&MLS*shLpmg9Hnj@%>vY)(A&zXZGWc}0)gxJ~B zSQmvI|2=dd+Iept@VBr2w~&0v_xn1szs^&C&jY@n-T7yPSG*{sXrb46O-Fg4t?Mn> zjZZkQL>Jjkn&an*4|q>4gHy}zeQrDMq{1!r0M-cdy^;sAID|-W4|c!nL>^Dv2WQNhT8bi&z@!OecD{cI z5b<16(aLJs6H(4dO^~tjySDlO9Izu(=>oLuYsqWfG003nWrW57${1tvrt5`O(KWCT zx9yDbD+XzjN7;^<{>xl3C}ZDX^&b&KiOq7 zf+>7dnI^eNtI1=?eYRP-O@fOMykV>_4NwEqmYSs3xKRS{?wJ8rm8O=%1W)kK7}h4 zz2v}RPb$&&X?6dqVdRNZD%OJLfGf+8k_Yn3D=c` zuge;#L}{?F9X6(I?=GkqSk_b>kawW$kFs-S(CRKjc7vwB(OS4JR%_YX#q85K?Stz& z5&+pgSm8MJg?q~ht0jFjEcvQ&zfi^gPIxPIO)0hX&AD?mweL2fO_+#KT zs-UJdHrlPaMKyqhrml&v3Ar{g`~K~EKh%Kn8v95^J3%yitBup|CL56)A(8=Pgd7Fd);(Lwa@(U~iw+Nmo$P`uPbmm!L`1a6Re@F#_iV|Ak z)qwz@mu~UxWKtsvbOVqNo zijKG5dMzr zPhY$5)Czp1NRI;(wCz%1j}F_3L3**hb#RaQLh-U4i~S@k-Y*!(ZlE5+Euq2QM<#j7 zCrE7w%>fh4U&1Gs?W-|B4ubH0&vYL-qlQoa-Qx$+4Pd=*(P^y6Q1u8E18l#ROUGs_ zC5QV{bNPaXs=^UZ#mjy#GB)lNr0wi zji3@h0KMag5ImQRtRK&CY05I%S(%2#}oVPgA6jQ z=$EDmo{A(z9Pb4Gw5=65_Sa-3)I>z9qu4U~A6euh@#t!xcou*nKLk&e&nN^T#^8q7o-2@(v(jh_giESt34-JkdssRMz zNP^LsdFH38OISjs?0?RibJeIk#tH>mE`5a9+-}?b`v$0Y|K9oSH~xC>MjYC6a`CIF z<=wz<4DCrVA&KR6#s|LslhhRzyL%%sRRX)uI0||tvWpGJQ~{)n@cT&>=taZPCx|zd z15uvDgu5wF)BMFZ0BHfx1+5?nXxX341xEz>7F7%P=x_Gcf7%e}EqLr|FAl!T#wVbr~7txYjDB6+zo=$+;;0y|- z|CRVhCx}P(FhuGUk)1nYNa35MI6$L4>HvMqNEo;EUSrM!YTa{W6b-n1yXR;4^#Epe zxsTMwkH^td*LD)TeepVXT??+;_1-uRl|6nDele0a9pg=ne z9}n4&W-0n>iT)eLvPur4ef#^LD`!e8vCD}gXqeG==-`~%NeaaJ){NHIH3<)xV6Kvs%gpMfKPI;?g zaBsl=alA6KQHg_WKVusKqTG3t6Lt!;w2*nGXQL2@MvhKALh6%d1N|8VIoI-qH)4SR zQD`cwqLeN7C=@KzRrIHYWyLcEbr@fV<8osm8TWOji^IgVq22;s9*A{_Ayp ze_!uo{eO4iy-ICa-DnoR-n%X5``$N+J*+3S2;WJ}xBYd3CJWL1q}@q_z;wuN>oFWW zT8saO109pcUHck5YOd_J^*P* zLl|4*+D=!6t1+F^4NkQ0rkt8gf?uMnd7Ns6WH6>329OSo_xlv(!DCnA{btW+JTOIY zQXa<(%>bUaL2y8PA(aGei~}A3spzmb#CF=->9VE= zd}YVDolnzZd(IF(zj^#{9)Sn|gi&WB>wM;XW5BJ8x6H3|%&ArnEJ*cFOefM~fdOc2 za-i}2=N=Ml=O15VpU*Kk+95hWKoC4Mcjt41K&Y4~6)B+Gu{wfG1w`fN5>-0=D3dM- zm7%H;#(|17dOR@c=%R1ypTdHupG*Q@B?KzKhiTvq; zCl}0^fcYhx4_P3}GO6T|n#B|waYvIq3aS7@lVGYLeFv>d5zR^-c8wHL@ z^dOpp2ylhO9=Z)^?#ea_>j#z$_rpeZGh+T8E#!cHxzsxK?Wa7rjIfBLde51$4SQR zLQXTneU5=$@?z_zxS-iwoHT;Z*z0~4Fxoqv*o||1N_!CC*yWwaJ$azJ5Knfo%Q!z7 z3ipy~kyKLjmzX|=41~&sNNHF36@;h6> zS)<4TWP*S#=gRILJssgQjj8sk|~YkD21R?9O4Yz%^#z0Uw-p&`SZyp4ZI}`^w6bLR&te zr$aylx2qa-7obP!Wp}MCWJI}{pa$X-W{Tp5V~nK$8kuchwKzsdgjwpDTo3k+IvMs* z0p-Gdw9;qr%B>ojSyl6XW!z@?AvMrr6k3R`AfpMpP@z@U9Ys@5ho9T;|NJUSkW6Yn zCk&HotOOSko+N%~JuOUDu)d@A*EW&swrAy#ZgHa5k@HiC2cW#qo<@KV2QJvq;>h2z zRhKCuZU~$$Jf<)9uWUuX(((U#pY8Yz0#!4=k|mGz@4xjUbEkqQ!9Z-HB|}h}BBb8m zw#RvH+YvyPmhp2t)}rqKf5{6@QloQC5yOgKuXH!j<{*czEBW2aw>TVVy?JEVWqRtL ze5Lyg-~Q=^_trwO4t9w0N6!lCI%SDe9u)$EuLB{M( zP?%f=GC{E{9mzL+^arzLL8+l18Mn4lnNs$@T0`;yv;+6Rq6iheWKK{$LW;Ll(3P@u zl=w$|9>kNkW0q@YClhfatf(EOrGg5kKDTH1^RW_j&S(z;#B9~-_Q)S%^N`HBgML=X zH~?&AjoL#k^-Kg4s+--2q>pK+$+hGIDxV;=Lj$494Rm8Ch<#&E`t|B5>l8o?!Rzq* zLsO42+`n9%iE`q|5=AAnTLQ6J0@|Mc|IAnCWJ%yR6EPFfi@`>fm3i|n7=4nh0HT&o ztocVY6(SOh-{^z&CT2AcRp(yoSx^wDM#BMxf$O`#ka9)bsP0CPiZm3JRt!fVtV3A`rXLqjZjW^b zSHzcd+44h&LUa@>XUa))uJ{_`qc2nDeQqyoyY>l`x`k zcnbnLN2E0z7I$OcAp(xuKSy#0n7-%nK6X9MzimVC=O$jaD|kEMkDW7=(Y! zaAP8Vij%j^z(*>=VhaGnx<7<>nCal*@j0du4BB?3Dr+>os`9p)N~ONR&(^y-GJ8qM zC|U4?HYnml4jRXt`^Z4=574z?%Q!&})6An~MZ5#UBX3N5l2pkR_z!w{M9K6A`)5SLt zb6`V@O0hr|^v?hQAOJ~3K~yq0K=V-E89RK=AR~pmf*QPFMD)1D$8m#M1C&VAwUR(2 zjfm=zJ{15&K)b(@fylLr%@F6a4su>mzk-uAX!PyyK9k`?6|7%0EwBgpgG@q@WkB~D zQDIRM%HgD$1fHxx@GClW$UKy3;^PmI-L zYQTrAE1hyuOV_Xi!{k~NsJ2)Ttf}I`x`ahGTDavA1mL&-??+Vkhb`B>B)IKGAUt~3+q(P_0Pc~2 z%XPc%-@e^JD+mF8-r%k4V^10Tj3C-{KyOxXp3%z~Q&MY0F=Id-C2yE*EJHJCVz*UyE z<@ctW@cvs@&HbQ|A4FHWOck6L_&>&pAp<>_U0Rgp5}2Zheh?I~!jEf!QNX=F9@vxd zq^P^q?kC+fHQH95!E~3fm8Kr_a@)uB+qg$ab3fD?e{dqc+Foc7Z;o`~PA~$rAhO`4cijm|ngOWn(fps( z)QHbRd-}nptEQbGk7ev9JyhG&FLWtnl~2>My}f4=j8vf&rYn^XMUWJ>w`XWTN15gkN2FZa`yxp)-n z!_7f^uEQ}LztDnC$iewsr{69e_~ZFYRIrgTJ36vMszu7B17Pah4wox70{XaNRtoAn zS}g>Ovd0&op_mxlug)1YjT2Kksz39+*Y|7ip{2_W#c`N|h^UR#`COfjm*YXR0-0qa z2Z5-Gv7E!7S21iYBF=>eDSiqEyjM&DXzX}o`(Pij%a-Gc$PHmi$Z0y(?1paWj0Fl; zPrv`&?OGUm@xwairOk3NIk;7p>wiS;2H_3!kYOLtN+K?l1jLfJ!1-PJ7^q;MuLKbVNnT6`S%t8h%C+doJE;vPt!5d0B}g3!aI{FmAq=jgQ8hjUxf%`f`V14CXq+X|@0J*EXTEJ`mjQsk zc71zvzyhB}ir^#LbZ*{%`|W>Qc0chP3j$X6{TWCe=X-r*m%z^*!bStw*+TJq>-x46 zjUMCsl9_pz>lO-_D!^t898cK}O)Q(o(CyuQ{E;H^&G=i_<^8L~A)F5vujsGX?J=^Q zj$(U}_s3YwSm;a)kF^aysCH-k02zST!Ce~^bB$r*%2e*Gp!_$&J+KohD-ccS@i|bio&NZ$W0iRiPU#G1sGJq9^hqK-)oBDpsiCQ z&pv*-b4hp5l)q#g4ymlUv!BocWBcK9U%NxaQ79lRHthapf5esv{reI*RXRRUm zfCr?X^F%V>91H)#=oIJ(P>cgq4dn-~G`~8{hmj;|-I6}%)Tw}YjuEL~7)<4uHfp5? zCW`JyceT_g92q>vE!YCKNavH39*ob#Qw{x~#@k_?*p6@IWEdbUX%1i&sI(*(fhw(N0b@?^~ z3wOZ&wyqzMg^ujk%f_1Z|67+=_sT_<+R<@jRv8I5_SxPTm3m}pZ2L6DlSb~_hJv}p>Ssb=GK-fMaM%` zH^*~1w@{fzx>cCD_;~Sk>faw)3qWykHy&X#v8GAy?(|gvvy3E8CCxsd>>wl$unx+I z2EYYhAVaSrflA+YdT=lPq{E$xFvL-&3~h@8o(m{DI99d zl>5|F5LAF|I$w<)PE`li0Ds8}+PQo{XqaBMPnE+rI5Op)G4MBE`4q&f}_XJNh0dU+j_{Z^ukg(9~4rVp1A3g zKVIYd2m8Z}6UhAeNR9LLxZZMyj=jxp*AvD)c|EuX_kDVYXZfv#!7(5VbFB(*PW>OH z554=c>5JnJ#Vf55P5#)?z2F2s1CYEe-|I#z+H3)Kp@NVghTT#aE|J?wzmo$2S^OJM zv?G_x_P0OXMww`CnRK`=|CeAaZ7{uci;F$L$!g90j>(S@Kl}ZL$jiF0DG;-=2 z|Ng0g6-L9rz&x99^l=eL5C~biIAe`whs;Q62-Z}#Sc!R_uDZpq*K2l^zoxOLuO$%G z_dC`d+T4GQ;dNiq=Fco8?LhR>NR_8kQ4J~Ym9sitLqu?v{s1~MjLQz{QC%A;(i*3N zaUqNWItV=f;1L>|_VY@WfLtJC5$J?_eF01iBeQ&d#eJ?M0FMDmQSWa~T`I+08C^Q? zKvP7#P;6FGCjr`T7Me>+oEy_mj)$mWVFFG3OF#*b#43pvAQgW6mB-`I9!^y%7s$(P z?x_Ol57Q{fno?jL{lkGYGWUU(^PzRI1Oea~^dI-y-yHjMYQok__;$NLU)HyxcjL+^ zxdSqPJpOHNeY;!emd8ixU=A&N z$Qg`3vEDL*_~{d@LN6-;mMtRqEE7oH9^V_U8E;_yK=>aYrXzcaS$7%mW8KFeHlS3P z9I%YOKR5nf?BV)creUt0gX16LEQ~Zre^r_rsx*6#!}L326^2jd(d~CS7wQBK^8UZD z$I&;0nZdRi@lOMsJw*bDN+XT4)2jk-8;ms@BHqpa{iG8-qX_IH=WZ~Mi1^^D)N}w0 zPV+eM<5a4q9-UG%7pi2?!s)H6;l*rn2Dk2vHINzO+;qWS5x5f9$mw^f`$dyn7QhJ; z*kjcdWvR&*XgRdE^lhC(qZ!TFH+WCFrP2%y?I#_LpPy6&+VF3Q2mpZn$s)vXGSwBY zlgf);;hK=EZ~S>l$V1v>&L5OWB71uUzAcjwISNGn)yySklS&WnBIz@AJg*s90gVrQ zCaAiN1r`gZ`t_ULgi|%Xhxi~3Os)b74>ezoiipXmZeuzl)OwpCIH=tI6}4e1GPOq# zVfK>x2ggk5M5JMwX2~!W*bAK6{t(^0Ykq8^`4FX=a^>`{fSo01&G4u<^V$gO(~=IC zxc=iQ%OyR}_~c#w$JLoAw{GN6loWUED=9nU{QqYT&OwvXj4Smj$+JaEWOoA>cOkqx zdGxolHNe_fKR!vm|NIo)U||jxF#qQ#7W{iN5nRe0)pKN7zLY-8hTvIjT=nbDxuA%I zu>MaW=ZgM4zDtLaWB5hXUAu>OkpShgzuwn)fD-T_X)i5&_@fN@SC+yT2D)u2?^PDK zh8ApJX#&m|<*F}p=Jp)406JLUL)?k`*qV$w`}P{YyeH%8BC%R=aCR5 zBe+BL*;GiucBvr91R(}v@nFB+st)Bj%(RxG)%Q@*oFZF^HcN7kbPtqs9sR9;?g}o`hN5 z0&C3yfbyTeSRArP=o<tsvpi91#irS_FWIwx$$J znmCc4$S$LcdW%l@C@qkJX*_DGOo3LVEQnt!ebK2#!22769ZfSrs|fWGiwFr0Tx~dr z^C#=0s`tc9@ln<#O;}6oQ%SJX0+b2CSz}?7Xg( zEzoRBldX4A{3l(ocncNX(0jEIFYQK=4RQXj0$#VFIQ&mHS9sCszqAB|19c`BJ$9)1 zy1Qlx@J`R-rBE5ZGLOq{_cgu9CTJa(ikwhdWQ5?(;AV){2cFYi5qg&hSnio!FT~NR zD{XI+*;r9iMn8T#8Ei3;Bf76Ab0Q9D3D1+=?} z#q_)k`1Iy=+Qf*2*5x@G4J0L4E36SS0SDf(6yigQvrCcoyJWK9 z7HQ-xV~_ZVY^I;U7;LCbdZfU0WKvJl4h3T3Bvr)I4!?g)EywonUqiqJ?9u(Tf(G&s zD(Qo*N!vx6t2|IOVZ#0>q)8Br4G!9`XE)s75w?JQ0JjLzlzzR+CH=hG-{&aSM<{_+ z!o^96Fk(Wr?c9uWI8j>u9aPGV2QQEh!<;0!Q6N8LRzCyyY8e9nE@#Hc4`dGw#AP zY^XA>yN$B8!!6?|-HkWC<7O@MYbjwdYz3T2_uEcC)P9tIh?Ys(Bzz?cA;HEmg9Ap5 zxAi_X0S$k^_AkqG9J)FEVdp5zqi2AGKt=&8O-&|f%%pb*1=9f2?}<%H28QL>(E^H1 zhaj=%AP?a0UvgEYOQ0@BlXx6-O$6t_Fzupv3Jc*36=ym#C~MqX(kbEWREv2M5YxZg7OR{PG423VN0DIEaPU&<(PxkW$lb>I z4JBuM4rNR7+9?TIB@i34u=ta_=H;<^C9j>&Kd}MKGAnn?={xuBZcyLv(`XN%X4jCW zdccGd+YAR}cm^LqW=`k&lzL7qoer@`db23m4)FPihW~H^u4)AD_USIha{}OwizbsW zFy(2&&#N7!06C%_K+1mq(~%f;&>V71SwYm9{nfD6IB4;v+@)7^bdb<)rc0G&1)g5; zccIKjGoyVz+PF3eg2$4zabf$R#OW$5h|LD=Ip%DN>h8A{ya3|jtVN$N=0v2wmS`o( z)^Dpto}>A0K4TOo6A3#`_s{_3j+pF9rzuU71fjHCh<&ayRIKZsCY_Sp3r=rNFFgY{ zASyA=ZLNs3XTe9?w@c*Nh(~}^POMOo6;h$|Mwx#+3kA5vV0q9^i4uUuuD#%aEG5Zg zC34LNQc~m;wAq^&a(En$$$bzlfs(vGry2-kXf%Ft7#JfRN;cN!+N6G2 z|2|9xUI76AW){x>d8cw;xbIGgUgl-ZMvu;U$kPXuvW9+hJ5Sx!5J;2+ zQ`a(ri%0ql;S1WkH9M@Isb(wK*FNsUu{R8~hIWdz7Q^XQUqJ)zvHc>KK6>Dh^vNde z$U!L0Bdl+}>lf-8pkp2`5=VMURT#K&Br(oXLC5lzRM6((XQbvat$9nzW{$i2D)q`H zl|7@M*wuqZgrmZ@riNF{q0O6#zJ0ppQL}L}$~gFC#Bwan*i694(yf2!TG}deul$&& zqBShudWv{-9PEy1VyInNmEpWe8XWsUTv4yU_+2H|%m43;FJ9)HSxi;ElLPdc zmjjo>It9B7i4!_=vbCH-daZb?4aW+h@@V z+RL2=FHEuks1B6Ora`X>^E0-Iv86RQU^Q~xF{g$y9(B8~alS$IQ7&3*ms{ggUHo(h z-S2ojTOP}!>42O8Q|ui$$ti}|F&yr@LuW?g>+FFF)$HWi0WUp{$_v9Ql0bm3`wQ+E zSah%h{QW|Nsj^XiKCu*!g)lgWt97_z*Mr=CX?rdOnAhlz8~#deB;&^|+`zxj>+oV;?(QZ4In9Mm-6j@tHS3Md!oKgzq%J&{i2BRR7Nm#n>Ta* z$CqR9BN2rEkMI4NGhm#}w8_tw0PV)G|7u@tMGv=1r)1<@V; ztYP96lTV{;brejmOwSqhD?6K@hiU-sHH7AEM$BMn5`V~#~J=L0fr})SLfY0|)sCC3R zVph=%Q`|nb^6QmjE}b^0rE$oDAt0A+P`FQ>i;rhKz4%g2W^u;06sw7c1v!WhNBn49 zdnaKLVI!;{3<~=loS5NgTRdWLO<(MwkNQGu5DfJOPggYopa9gsN`Vc#pbi>aOi2y+ zvOVuRDU#q@(IacExjWzT;c)Jhqoh}6x!v@`Gxi*Jj80^8qHPE2mh)2EM$~DycyQtS zWoIwt7Sn&@3@a;v;Rq`?s-{XeKQgp>61NX2#m7*XRPG^jewpZ9;=e8>^7CkR*aS>N zq(U_Q@j=92z!$&-OsC+Z;s9v>XpzZKxJXjuE(ysSkpfq!HYr(#=ODIkP{{ep|A_5c z*ulB!DFwdQi~z$w&RK9uF7^&_)0{?C&`#Nq`5%1OJ{cM6i5oj6+P(XtPA124RPi8x zr)#?E&#wK|5l=1fcN~dDa!0=DF`mKvtoVnWplil z7_PYkUzSJ9qclJNh6&myP~k>s-Bc3Ua^6#Bk~% z{?$XriiSsl9l9*Py1FdgbRfhuD_#DQuE_20g$9rzgukFF@>)H0F4eO1hm4$vhso!( z@}txdlnMpU{hgrcR!*aY3M=JSz@om&y~*5`dz3{8Y9V`Ibsp_P0S8HjAOm2x>KQMhv#L>SGT za=>6;XQhi3%e%++X4sv%j{&Oys0>W$o<&+Xg`<+2Qm4K~1%Rol9V2Z|&L>2HVfa~r zuyhImu@Q*5pp*+4bAFb+M|K6zu9Hx3R9q5fhw^Q=SMSY~AW3H75hktmG@W81iyPaY z&`y0P2V!0{fqnUWqba=M1=yC1I(-a>tA@#0KuV1cGLysZK8G+_2xY9{FX%BS+)ezk zyA{ALYhQbem72FD(```sACJj(mP{o5t6& z2wqH!#bgt9t{1~LF5{Eeh<|eO9NyE%7+6wWaEH&>0Vw->iE*GFeyS!wW2T?;ZKnA_ zDyUTS>kEI`4LF~``3C#{*_8WAGP$8h$MBeMI^cE1`m7b zzo>zf{i+x^1wTU50>6=CtJ}N*aLslvOl%5~G!>aOr9s8N2reYA#6_14uN}%i-Br=u zCP+jKV9*Y{95f&N<+`Hv0qcOvkk_3^H`vB)Q=rpkqh$|}-IZAFwk4`PoW7w4<1tp2 zdbsb&jw6HZ&+@|VCx~cm3c(Xl2RPae@=Ecv@V|GX?dVOZth>9m9a<(GkB26!K8A+_ zY)YNiyx&=Hg2W`kA#f&)fEt990fkUgYgS%DC*8^T>B{BIp*zS^6h|?c1>Li|U}^~R z;sM4{&L_^Ni~&jy_pqc!M(A*l)jf=zQos}n{$!dEkr1q*dEpp>6;PR}TPou)CWewV z2!F38Q@E3}CApP{A>P!)_Z7erfXdydh&2KJ%JyYaE5h>)yh_+~KFR#cYC%=gKjbX= z`ibiYWWj1S^^(_Icnpa_b}ioIVB2<{iTC4JmxBQss~?lkW#@j4;~#gPYwynqNcI5f z2>poItLdFWKFg`Zb9JZ)$9A37)5$hbb>oHQcU{xCog9g@-iy`)t|<2J!V187k$~d1 zLW98;)4zrIyZ^z$Gp2dpK4-VO05O2r-%oA%iYH#zFEMf?FsJ_DjM2mq^{}52EYZd@ ze;kQnDVfF#k+nqcFXm~Ol+9kx8_jo)Y2y$nLw4Am*{bGlS;X2_IIyd>=bxe#D z6NTD+H9#1I>Ti~P2uwj(m`(S55}>H4AWaBjQ#Gg&3QvFPMI43k2`2UVDBtw{8h~oH07Yxj>16bDUpxqRE8B%Z^3>;r(`I>{o4;L`go;2}=X@n3V|9 z8yqG803ZNKL_t)Ttj4~K$JZ;9>?^9^iX%AIs{)+cNxBeqhQ`*qE$Frqbca^i){4NA zHM4ZTK=4?7!0?52J4^a64hP-ag1}q44o$zqBwaUIAmZ%f2!iOZ=HX!zoU>e%O9-wP zccLo-DLGJew7Cm%8q$K>{*wrkZ4vGMK?}el9s#*E1cP>jLl8j}v)LMUe8o;-RLHml zc2W}A|7`0}W*!U%zed}@v2g=Zuqi^&p(5kBK_D{xAd%PH{t}j4LtBA*V8|bi5y1iB zxl)$Per_;Z;l1+J7;X?0JL1pAt|lw6&I*O;4C;eu&f&bZEfh(=mF>HH{k?QeXCm$4 zVi383Gy~%LG2UA-!++d{hgVZ^_?p`JZMU19$Y}P*=)`=R|n~uieZk%fh$XykD3oqbdC*=5F z&94^!-t(XC4i+uKE=SNkrfh8wn_yjb8!JGx*4D;%O->*h`WY#rKlpi}Z4v5Qlc}(M zrtjvWamV^|x&J1#UTdUHn84yDpq>nFH{bcA%43hdOM-zs9>@8CF407+$qO}(1b+W- zu_XN@VsJ7~*o9V03Q*s9o2q-m^X_2}f@!I_R-t9Xz^2{a9^5@{_9j}RZ+AXh9^kBQ zkgAA+CI3cuFCzs+UQbh9p$8PoW=E4dP;3zE$!#9QeXPuQ+lnXv=F%>!l5D7CzE;YYXJW-%s- zvIl8FRIcm~vUe`BwwL9p(-Y&CT$(sOx5uz@i@6hr=SD6YBc8@0C^5iuu$n7{8cNI5 zqnMYN==+s(wO`71#B|aQ+ zxI}yue{y>nM^!~t4vzkx3l7yufDp(!xqNbY^IgkBjNQyA{6KEQLCaM47i8qM>gUho24*kI7X*e!SOa%+=^Oj|(EE|g_s=J^5a z0Ocj;v4Dt4k+T6^%LGi8AsAa{b(0OVLQ%zqaz@A$f}6zkEW&Dd=oMdPf)Ui)*l0%x z^6r=oVjGs8?#U9o^MM#2UVwEe{93{OvOefE|45L6A8;vi-V8iJWP2L{6lko|Ja36} zCY9C$s_4GtGdnIjGy{V(`dpeT$(bV&h`oQI&;h*5@2!Hh+9qOnPsiW1v_KDmm=On3 z4*$y~e5KFtqol)tegKVlgL(|Ih<-Z%OhF7kT_v~SmrMxl!$hV(N6iZmt}Bjh5aS3^ zC?yk@@JyDfV2=7`eVtm}5eL?afRh`j^)oU-h-&dcvB^M^Wrq|51R1V?2;p7<<)UQ& zh8h*ARRVNaZbbpGAe%FpPS(CS6d_3WO{l?}7GIv(ah#XK$#shVIS)TSJgVE{j5EJq z%y9&`YyzW^Xq*CmB7I&HIe^tN{QW&ARe(pV0WJ(kYjx-NeI*K>;^7=$N#lpd2F7*a znG}f{`PZ-O|BQUW?IHs@55RvX39y#SIH~qGpFEXvph|WbqF-dA%O2?bm?5NalgI*a z$59>CX}BrxyO6Ud4H&8}T6?Pm3wC5SnhcXK;&J)0cA>uQi&gEQ)?l^?pyn*h#Z503 zU?IEq;m=h^3s9!d=wKS>lxNF)`mKJJ~>f%2Usl<)6zMA zuDAyGt48sJvEhViiz+vE=OQShwI{xq<4g499}cOMpHfMTt_#sk0s+{q|HI?5t66NRF&5H zch;5Vl22szHX!=2V+*oitvd`Q1;OMV888abjNMf3&{0GcO9j`1kMM zE8il>8*v5wn!<(Sh5Jbt(N1!U<^w+;CVp}a7Ee?iz!d=G<>5$%1?L`ZKphKwEYSvN zscWxmSvxuZbp8Ff4u7K=DFAU#q2|}z6RlAq3uupygHU#6^t1wIp{T&S$>scQulJ&@ z3oMSD-d^@>_79W@nLX(Jv|G8H9`;lGN7Z>KH*y3qbaPImmhp7=|DWl8zzik3T;+3} zD2dWe=x*TQx*n>V_+H0zY~IuDBBTE0x~Z)i4+GI(ngBtvX!lbCz;j0rphZV0hvn_D z88Az-33ZhEbk?)UTBk^fKS^yKi?*zEKCl6hMOOl*QBv)I@3 zzcQ)}R06i0coZ_Z5G66RA^NP4hG<#L-|35{VE#7Ohn@|mwfOfX)Gb;TbO4-iT%;A0pMC-Vi)U?Z$&qPzv}WQcF4D7y>G`J z!Tb^SQ;tBU2I?iq`5!w3;b^=Vqs3{|pWx`R9TsJ|41x#1fEX0AOf4Trd+eg%96C+< zH7B*{7eFL_%sbO=+{Bw#67;t}F zkja8L4F6EPK0&^pY|^K$ zABXoa6T#zM&fS`rATSizg}#0Tp;_1bK_7i=!urNuKMu&RpArDWiXw-kTH9LFnAE71 z{n7y~wAU~9t9@G{2*)wJbyd8Qi1vz$8OJ(ZiHjOCmx;WFn<{odo>99qphLsBUe=)l z4_7H61DK$4|L8KEO93p7Dw!BeTXEuX>nS23=(31-&<4PPG|~^H$=9b{D{;Pp zmz-n*8U^kElqcss8Wt^e$yu1e4f4I9s z&`h+DELgpL^##oIB@I?}fSIqR1uw(4+su zE<~kMEN3AZbw|5DwhvI`42IOkh~2T&Jj85v)c>Q_YkYEkoVD<;E7G9#m{bNY7=^)(!9$B}Wuww4ir#r?}Bcl!U z@@IZKxReqr>{lj{#}R1^h;>D!6hwf^znRzzs;&~qfsG*QcP=1@Guq5!Kjx*JkNYuH z)xmMu(U{M!Xe(i<&FIojl6g_StjAh1)Bq8Hji9P?pfu-999Q2ajd?90lj(AV>5YXUHJgO5LlJMH zKsZ&^Hb&88D+uE19W>Ce+!+@RN;KCkAMh6eBdb_NQeOU3Pem**!lohM10iPANdyolWLwQAmkN`3tO#tLpgy} z%R3bve^Oi<&PG>=d1}!l*0gBW7S+M`BG^(n+x}aT3S^@&Zqn9lC1O!^_=_Av=a+A- zciJ*z27W=U%s|_b2ssjm#M3LvR-)x=%?Or5Rj(T0^%KLH+HaqnkVF-tFQ1Jxv;d=m z?U1f0d(-gY>+SxN2=w~R68patFDd{+%O7dtcK47dJBV)AG){Q_;0km0VA2oe=KWm* zPW8Qx^+I23E~&MR2&A9*CtdviS1@6rOZd7b)1y&`gKWht;^U^e86x^;kFGZt__;;$;gQ$$yJ$0+0YCy?5 zucBgzKT?XDixIT}ToW}Vk${6liKSFX2UtFQ{b2j)8@BP-wf+X;yMZfiXDPeGB;VK& zf4d47jtPdxx|f_at{5nKDBdw5cIx|C=-b(K9#7%YmyG1V11Rivh$@1aHOw-tn8gDw z#DXNHl|>xrSR#~RCBOw@bLxQns5~(VftBAbG*~frvmxiFNy! z@MHH{fP0+9dlBP{vVB)W@V$62cq(8#mik})eN^|5ME?DYVqg*UAMwE6sO;&BQLs?m zAQTHGkr8N=LHhqr4H$^xx-j@gvMcp?(4m|*;&L9dKDw)Wg}&*9YNwD;d@gYRbh9T=jkibQmnMZyG6npK8hu#OtX6?ik=XOP0zs9>Yd8U|aY%XSuTLy; zUhgt9WFz$JS4vr?0{wYiu@g@n<;8VVj8CP$1OJJYTiLoU2H~+v^nsdZid{YSB6g*k z_3s~)QxXzOJ&rvDRXzNLCsy%Ry-qh!EHnVn6EEwFNE} z4;+Q3BsAMZO;D*LLA|2&NezG}jb^}zVPD767JU_?Pt` zR{&wfS>vfGKmal}e>Q?XSt67((&GLpzEuI?$ELa-43XE>IU#Y^e_V~vw(g(D?Q;KkZ@wP#zjCp^A@sXHk{bpj;480w zhiWB~j%B~U;QNWsnFs@k-1Q;sKQrFj(R;}YcFRfMPfv)x5+W$^VxFmum|a0h()e=L zXqphB3cAQh;XZdoj333%;l6WzCut1u(F986C`94onQkk8^1a~eBLw>MxWuyEs_mwJ zy$5$nBJnK%n<*{3iku61G~zno-ZsPi8$8~Nxkb8cn4jS5jSiXiS;3*9Q%7;BK)i|e8u71jEwbT1K>&Hny6TE026bRlqAd>WCmh_G4dD{ zDa{B*kIQ>6lps#J&8+)7|4*AB&TZhD&FH`n{EbRAOMSVb=-498hOpvN2mP%3JI{8M z^T7881?FOdSNnpt1>ab)R~lCVFnwg0&O4eH3PLzJoG}H+r z3cs!`wL7cUVTb7Y$?!tHvvWY zAY_ugb;n@Phxr#(@rYcg$0I$6Jm{cu5J7Y%dNpEWtLnKLsU0`;iAx&yDH05Y2WNZX zC(b@A%rW~+mo(jsXBqj|jDE#oQXm}dP(U-X2}>bbyoWaK5siS7|YBbp2ZF2+v6(}G4ej(9UxcG+#)hYfM)*(4Svs&V41&{ zJ-&AOJu}^d1Gy2kO~MB# zh}6A*OMw0)zIkqRaxcnBAbI^~Mevt>&)3H*J`p8U)MNs!XxwHio$R$1mW@t>JR3&d*qlas!NU zn}@ZBu?44WY)6~231T6%1a+ zaP`Q7A=;O)8`fMSPu;BabIqMP(X~cy4g{LUa}E}L#G62*MpJiwYz0JOxps0$Rd&5h zmG=@O7F(gODjD`In3>H2>e{9y96&lq4%?*=dK=$8hy5_v@GJN}LR}Rg?*6eDPxQDV zeHM+=eu(YTf=4l=^z^5^wkSC8t<2e2*zvPtw4ngM*D;y!65_^ zP&7}V2GVCiIp@cf1~*s*So{6JU?F~h@fC;8B(bGw=dyRG@F>*>foh$^0tJ~D_57t$`Spw=`LdbUm_eX< z`TsD&P1Cs>De48Em;YxQNPrF7jP9B1V_4ABenFVMn%n1jp{X72|H=6O`poDa>6VZ{ zCb<|$!$p#cIh5B?TI#lzHNhl+^j3Z=06vDpmnx5EhJ<{$XP?yar{k2r;sX{7x^2}lkJ*QLTp29sEVdczs^ z1_$mP*EfD6niT2KzI$(St&V)Ugbxh@#Mxxr6Nm=YbT$Ohpp)I8To{u!-;}vCm4ewb zkP%8Jsto)D@x>a))CIVGF(crdorDx99;F9yTBxw$gf7?X@{#{02m9^3`@(R30|9P% z;y>>{xq`PXVPh$v-z7JBc>z408ycL`RiAQde_hsa@Wr#AVu1n*T8cjC8INhX09Y1o zAzoW5DOb;J*{YXYqP}Rz1#jVzbOzu{YmC_Tf8zE^OTcZFBrlKWp9q6@kvP2nBp3VJ zuCj+!@MhRz@jG0narph$sMELz;Nwf}{Dma}bJ(v`z^@rass4F9m*?LM1^#m#yXT{M zaIJhX#)uv+F8D*@LJuiF?3|}{s$?h0B<(bS!1f0cjxbPb{CN|Of0ZML!j%SU*z7BV z$*0yEpu*GJj=aX~r79rSMdqg#7_J?e-wgV_a2gNo6mJYLk(O+YN*h9}g5MzVJ}!d$ zKI#>q#-na22jeoc?f*|q3g>x{n%3Im943=P5AHkEJ{deTpl)m#amRhJ1GPmBPPvRZ zDPHPBw@-3KOv6Zb5<4q=d`hpk&Mt7!qcwf*waa+rd;i??l3?&oi*b+5j_u|liiDGnh$8Q}- zMi1V9btLDuQNKmpTFHr|B?K;kIRvdBb(He}3?UghL(7Em~-qTHW+3%+@y3e_44>_lwTdsjl zF$p8T`pgS*!Dv*~=c}&Lb9}Y5BFEp`krRm9F#1;g1cQm(6^ zJRu8{(LemIIG?oElFEkNJb)}5*ob#KDcsEennANXGS>rcm_43eHW)1#IkdbwU|Q3K zgdi%VBfU4yn5w!~H^Py^JeO`HqoGxh?yISv$i8m@A%N200t!2hvj#alGd<>v8P6-A z_=e+5?&fs*%%ytR6ZtWwB$89=r$kN8DI3(_>U%KfdoO-GK16gVfJ~-l*VXPtyY{|U zse_HNCoh%NV)7L}QG`1v#ydlmi6q3-1hB1|)O8Rj&CAbT!Ne)oqY9{y4Yi2?Xfp|# z2$E{v@kuBtMWgDj1sMPe0GZr!fZ+t@f;^hzQsLi{n|a$*bE`G*XG;q%Z)A%31q0-M z{#nvLwkzOI;)W?BN#4ymVNo%VkWY(zK@qRA9#}FWEc^Q|of{@I#}@S_>%N?DZp{%hHJIsm=m(X1+? zSuY-Xa6jPMrw+eHQ-7`JJ_jR~4W&#fQG_e>RO-;_6fSkw-{Y8!aV$T8RCmAcb`H*j-)|? zL%Qvw{{Qv0Pm>T@-@E|QPK-T3UFAHdiQoHE#OXo>oS8SWwKKa7;SRgTMtPS1VGv4 z9WaR*q%3S0yx02VJ z#YOQ1_*dT_W0L6Kq6M@|xBjOFu;StOE$L~Ff7}{!^4{V=Zht|51%+B1X zcLsOUYe#p2REg|!uqQwadvpM90Tk{qi0H{A8VMYk_r&xb&G=FdlrEwy{qILDIb9s( zsvEQn%w>}(Z!qeB3~WCd%^v^mjT$1iNMSHz&iEXSBpW1j0*vR!qSdPHb|cp$gSQZ9 zH2}m|7g%Ai=ZkL@Hw+y1eYOC`2g`)akuU7DrmTj%|79@w*SM;y+{J3-!rxUT0f|e2 zmPId0M(897SIsS}@b}i^oA#Gad^&>5_mqPR`qP)cm;Q1<<;>u<++4PlvV;c8qK5lW19O`RH1xkB>3qYp;3q=m8 zXfKDC&&PWu{V^QK4aHw|!FB=UFei)gW$<8dP7XF{}7AJS+; zKRd~Ha$E5C^siWhRRHmcAWRJgSc4ix@a5})oPY;>WW;ZY9|z)oH!G%=$4wZLN-Bt%jg6EYrW|B1C#d_?J1d@2p&LHY?H2H0>t_BeA0rVuK@;JE= z{^ZXxfsTe3?p0eIu^*DO0VFTl0S4yAV&Ec*rw-meI|fa$l_9zI!8?4*y5sCgPABQA znR|qqzEwuo3J6nXJpTKShr%o`AMix^>L<&f*CT`p=q@o-*vZg$2kRhR(>wi` zo;o(D@l`R9jk``=MBF8nV%^St2H2#iC8A0B=g@)xOF*>06=m8K$rWzf`I{i73V|^= zCXzn7j1KbBX~YWS!NvuIb(kwglcDy}E=3dZ&GC|quly`LrpwExNjunCNJg>g`P0px z{e0f}_cI&u+oqdYM*yoK_zx^_6$O=4;LTN+?QKDV+_s>hS9*I>N{}Oi$CBm!hWlB| zaRq+XD%nhY63CGoK36D-V}4`11cbQkaA1Gs@i+E#DW`o&5XtIp+-|bM1^YAG$bCdv zf)>UxA^^qH54}OpvIWo{K$ZjF^Lnby0*doW`5#v_n}f${jM@;XTXgD%K6@7y`|U~C zGRbYr*K|=>j35Z4kD87NU#{OucWBWd3?1~(IL^}ngy6Zc@^q0bWS;5dDW30vVB-z~ zF{26$V`m1&{)x%Nln;VI;{*~lUNN_d4{$2LMF&GUKJRTy2kM3ZbBu1(#(O>;yvJLnvePn=n82EzmB8hZkrD=DeSp&fUi8xmfU zoeY}*K35jJ(Lxby?4%M8hUjVPtC9`V;1=w>1CUm5an|ND#z$jRo9Xjyd*65Mp0E6| z(Nn0c5ZyqnKAol17LN1EcyPEn|NR$->C-~L)|;Tjg{@8jj%7-ORvP%) zJ|v-hmH1^b{9OJn5wok{0H@ht#Q*fmXbWk|5|r0=WxZxcLz>Hyr*pNs%yp< zuCat`IC|-Glr+CT8sz+1JnDGX9(8qnUZHOz%L5`L7piH>`4Oh(bmqKMj&SzRyicCgGh!ZuDWK|!4A z%9jvz3(Y+PviK3rl%dX_+KLC8X}^WHv7OA-<4$2*&}mnQhjea@$2~w3)4JGI-k6qsvJ7zAahhXl(l2;@@r6>FLKQKI3Xib0D3;u1|#L_YA#nuPPZ*!GKcdt_t|O zxc{h=|I607Z6~fIQBXp6ArJ_})&BqAoQlX2xM#)>XRXuiwhdNQWo7OiThw=#u0Ljn zK=!HF?SkMDR>a8pa}D+yn=5Ed=`NGD6J{mc2dn{#h%OL5OrygkY*bT*7|ROn%_7p+ zY%l>RfwTc&L8gzAepU{DTA)~i3l9Ib3JY+0p!U(|AFfRdU_09v{p-~TRS%SS+QHK< zQ&R|bJ~{kA_&%V}F5hD|i}3yd|K5WElsAAsyFhMx<{;i3;dY$u>mXr8Hx3O+Xew^4l<36<(9AJS{qS4pL0$zGDkM6 z%Ofr$Icbz+fo~b}WrTjo$DhVWEXvzrD^lobI20bY%s&n!(v1unqj(qa}$wbanh3&m$+Ne_ScI^5wE#=+OorO{V==CDfeQ7NoXz-?L-UZK8?wq!P z5tjU7wAGL94|sIgy5{{K+| zyt6Op`CTjDoAY-p_skIA?B&b%UOpj?xiyPmG7dDV1@S~TdypY7%E+;3qvzbw;F>8J z$X+@ReiH(8|3Si9qh>$TL0ImW%%RRhM9om!stY3M<>OR%W&-m2`3H^8<>7wP>4)%lC3i8`k4?N>y=-mLb*a zXmcValXxf%w9L##sNYr~s1wu9SK2`%#Dhfg!)~APBiv8+>BL8$NcS(UEJxxa8uAGs zg_2ve9}l$ZiqfH(_hno$6HIa{UB=ev+y}DCaRO^fcfV__+zIWiN$+JXzyaU`jb3L4 zXFWvPZMlyY8mi)5rr43$HTHBINV)}%RWM8p+YHTfZu9icI8se03s=A5y`N71K7)SN zKMH-!KUbOztWsrs3=*(9!3DTR6Oc6E^x1`eAv^%x%qpTA(3jwjM|%)dTnE%%_@l@! z8rZ=~x$s!8I$$8?iIQS!|1bR-(zcm4xyoFoDxwoeQ{X3}3s4L-y!0u=OOl;3Y%<7@VNWE9TlRt40Raw9@tXVO_Ylo4%ce2p53-kLX^$@ZYzO9&PA71Q9fRmonZPR=fahboTfjwM z9~+%GFsPTUsQEy{K39RL(ih?mR_y-K?p#(2ooIPF8a(U=o79~RBLr(DXYlE~!IAIx z&kpc`99{m#uNugj-q6(;!jrz^bd#V$KIokX1PdbWfSTqU9g*}Vq+jTIK9H{2bU&_w z77n4>54GT2u;Bw81(6?k77iFm%$CD9EIbC#Q7c1a=uFy0)Skoc@Z5LGY(Viy!-$w* z_+j#>N|_#x2y_P!j@K)q?-|#>(n%?s$OQY>OeHJnoXAcJ928HEurla~;J+f{2!`0blcfwUI*jitAVXt!O2q!}B8N4qyn+Bdl5 z_hgI$(Lsnws=}v1@z>Zau`D&+qykzR*cSiy@ML?w|8D~z`eK*c<@uolZSe4Th#!$Z z_IP~Ef}!*e56?52e7S9S3y^4d6GZoc^Y_$HNGIBvR2T zy~=*bGZ#{TwYAsu%vzZ&k69Kox9MOZh5CoA-YpPRVAqdJm>B_70RHxBhmBpsy9$SB z7YxB^iuU{54|9=N6!XuO0i`*_g_|8Z;#6L6YV+oY1rfgJz)ek+CELol3zE~Q z_S}@$e!z|KwkkKzgqf$yowGOYr{9#QSsZ|D6VS zHom_{e_S6P-_#AoM6rG&&C?6KpQ-29(t|^E)jdoZzhtrp7Qh_SdtT!vu!L_Ry6CGn zh3GBPEKetL5P{D)^H1kn{!&_%=ynEVC@T9)Zas)IvyUJv26%7;To@>ApY@CBkQf z?=aHIYg7Gy4sLwQNPh`*+Onn>A%1YjL-zUwF4<2M&PaURI7pds2&iAO1P6Xf2Ld^! zWcZC$--0yqx%JHN2V8F~`cC53Y!cZdE*K2BOuP^Tz3QQ3jc9*C>DCDhp+nESpI$&c zT`8T-Q7xVH50?Hgj5=V4jkFRrpt768V0+b&m)^pc-yAA=7ZGK15WHzG{{9x7ab>UH z91so>sGf4xC--e!cD)W~wl?A5+JdnW%&H8j3w~&r)%DMd{S7P^E(H|VTuDl4-N+vq z6OxrE8JQQ?HZ&g)0}M_DoBHbLq*RPkh(j>)Y%eo)fa})NcASh|=`8piRWKDSD6(SG zp&Ni5jr#_f?eZ8~2YL9ZDJ?nDZ)>`okOG7SPD>RfLAsTo1H?*RVgNy`wu|+Dq@FpR z)6!YuBsH)dJs>AL_@B_ry#Id%@cv_%{l{1TLF{f%x6xoZsy9yh4Y8ejafSh{c~lq| z02lHWRUY0skeSZjH_+(TE0jK}HYd_SB6jZ_p~0Kmb`9?xzK3UY+#FzIYxkB4*G zL2eI2PS3vXto#kz;MNz|Dgv1$TiRiaHQ4&F1dI8W?SI$}v*A+2NL`CP*r(GHs;evl z_@DYefBjHja}S`L3E)_|9@D@n)0aN)%Hw)E($w3NG_V9O%?*xkeqh{9*6mM6LSWVI z_Wt%GPR@wgQG1bsX}*3XY^-;bKp$QnDcp_P=xYY*wc0t?VtPJJ1nKE|(Ey;n)qg9b ziv1%UZIC*+AUOAqRnjO{OJ~z=FJ^$oLE18kP4!0knzjuf4r6IBNC&`kGLVE;Kj(61 zSO@V~82evWq{5-HBPlt3X}S_=%Thmx-S?LPV30vx*GgjZL>ck> zdu208^*?Oxs-(_`!?071gz}%Ze0om@41k^1=s{VQLl=6K`wCqIudwWp{%RXQ1Hiu8 z53y?w2AZIg?ldJvgjmjA5@XIBpw2rTn&!GI=Q+kA5&TX%Q04UYz!S`_fZTr{5h0aR zo3@4DBpQ6gW;x;sjnjkMcN4C&CW_Rw&;u`7*<#<+a&)Mpxyo&Y>Tf})NAn-pef{9vi*nC5b)oUQMq3GhT^n#ZMLvVEciF_O;};Kus+6?J;HRznYti;PV!A?=t;#ly zzA%sKpQ#IEw*Wx;5YF~A>InD^Ezgx0Ah{lF05ukSFD@>snkHl_WmrH=-=k|7f`NMa z`LUDMNAx%IyqdOPIz%0&d4p^1SWtjh@Jvt#a1v9v00U}}EA0*C>S6libiM}TGSLl_ zw4PvH_o~a9`$kiu+TjpDG7W0N#8=paMZb0Mo$o*LSgm1hlXh1WDrOj13CK zfGCjRK!ykFG1~4~@`-eg>Vt0@7Cr(xz?W#a{CJ%w?ky68z4-xgJ)9c=!u|En&yW2G z%gmNpRi@qpe9HgmM-DM*uP_1(|BMuS9x~fXvZ7CD>1+cSnDWg)&L_rpn(PjnyDDZ# zB&nV3iUVk^RWJA{_m{?@aH(cR=mwgAnbn2>B}8?ALi}0{0ikx)rBiTx1MugP$(Wv9 z&@YsJQ-lpE_8TqZq5w8C<)OM&fOMWjj`jfpL9fU=oyFumZ7(SYTxJK>!Ayn78<*T*Gg#zm)Ya& zpKVXi5pvj0R7YM5ShhU;)UzU4lUhsP9oM}FYN;3Ykz2$7AHs7UCphanB>VNdMGp0X zdu5Nv3=VXmkn$04$-TSZW9&w-65Pcj!K^+xmV9 z7eDkqYw=Ts4?0}abhJltwQbn`F0ayM`;|Nz-=o_Ro8242P*DVbn{$PgTBpyOcCoyGC?7Mf%MA6zVL|}gh6TwP!p$Mj2d}L ztP)6iL@{e zfJFN;wly#wOypNZb~}#mKN>Jr%IahLsfto|-crAb(A9Y;X();%1MVF2uiJpH4S)|w z*68)+#dithQgC@#|G}Nw(hW`8b44>zB=QN<9B`FjD_Ef$C7g6h6AEk80NlMvnp=o~ zBqQ(z{)%b>Wt-bsOfr*I3B-#%bK)cGYPE)d%(jG*1eTaB`xOXt4KKM;oIvFUhb}r1 z^}YRJ$f*b-Z7^!H7@Q`flwqXLWg7-BqD0$-5w8E7(N>kY(25K%uGSTLT9pE9lvzV8 zL(sG6Dc8|+kL)~;(1;lCf_|;Bg9R2;Wec66akWr*9hx7mD zafxh9j5ilx(3uirk@F0;e=g}vo?klHwyD9xtVydTljJjJi!K_MHnV>z4w{9ITy8UTQ&q}9-*w8~P||k7D8M@R4h=hwb?M@O zRuC^>b+E+iSmK%sQ571A35F%y80CV<24M7lY}KN)FC}7Y+X_=XA_NrwKboU(mx!{b z^HcHdLp&vR3G01s06(JlCadlR?d_M-mY2wg&KBeoRUo;eGWeCYMPNk8OUjA-`J?2Y zwYE14CRbpcBdFx&y^^cgBR-tEQYe&#o~g@)JIRsc@x`bK$Tw%*Tlw*ny|Jvt6z4A0 z>ZnmEOQbIa4>hKx>*ySlXRs=ZQq-wL$^`+otrIt9h4-(pWshUj-sC*P7iRkwx=ol( zuBxuwfFy&bIPioDwA6ko0c-&x#Fs#ii@leKAm>pR+WFV5a0GiQN+z1$bbXcS2e; zHPW7^O7)`6l{n1MK$ie?04ponwo=#gg7lD&&(}TdK1ceTGXM#E*TiE1>?n5AFybL@ z>|g_7vKu?J$yI%&6VJ(62M3U^Kku%z%FW&;_9%hR8mVs3U}gbngzv$_Js5ykYhQyg z&h5>Rc0bpE#Qs)Ujof$IKP8=QE49ZMQB75Zi4&;O^8dOUz}_OXR@cZe9Alc1GfS?5 zs`ANdnj21h!C*9nF2oZvLoVjj?j1qA%OdP=6v!mb;w$)m`EmSo3jcREqQy0DWb*m#bPsQ z);FK2Uz!FkgNy+8dx-Mhy&qU&78w8_ou#)38`he&^?|&bn9w6~fspj?SOz?_7N4-M z_3v)y_R!+Ly}oWe{Ec~>Nu&N6ZHMvNin>Pea+jjk?iLNt)?0+I!!s&9l9IUuv_e9= zGL23nD85vs!ugQCv>|b}w`IRAzN_d{xwF#VO#6Ri#oCAE&PFjPqmXx0PXT^%M#!{+ zG=zu=dyz{}8x?h_oF8V*IU)dCNEqpW)-kB(+Dhr5D~j4tQ*P__G2U}!*n#e%?A6R0 zi$Pc6hNzfe+H+sC8mRAK6?nQX zH0lD-ssw$%N;cD-#x+Saak+SO3WC5^vC)J{;}7a_2nhw-mAVI5FGbf8{s<9*t0X4A zWH9!P)Tx8a`kP<4xn0h0z@j4Pe9r&w3i>@RRO;vBJlR6dSB!$3Hy^g&{J`{5U839x zgYxG1u35dbfW8vF=)Yzk?a$rp-aynk#EZF`P~rg5&7>s^&4$Ml&k!f;)&O7>O-S~7{}J8{bced={^(~n);ge6pAUiWA%ub5LdrgP zp|-RYPH>foy3)9$5*vYkf)J2MHpxpbeFRGyfwYejWjiTNL?#7BYjyXYN_CMYSg%G# z@C)XzvgX8R_>cSw_&T@0JfTVi*}_e|QYaoV2`?f)kMs1u-=YWLe@lQv+^v|V;e|lV z2lgv{twasGr92Swhf6?vL}ldDE#N*2SivUcWX*W+d+-ms0r&cZ0Ad7Rg&=)?-YBJ5rGY2{JzgBlCrIEixe@AXmAO5WocM{jxTP+~=wa<~ z24zu|Z+Fr&`ID}t)**?OAlC(Ei<%B`pmgko251f5Kih`jkK{sq*y-8N`+|4jB6Kfz z5VlNN3YAz{;Ux4D`lNSK4ftGe4bA{X``88`($=VH#YH)NW1Ja==3!;(wssdT2dx?C zlq+tPz;zYx1Fw>O0S13;oEL6bWU5E)EAM}yCD+Ocod^Yt{DBPsU62?Y8o-z0^kL|! zBu{)J{Y4|BeGUPz@(jmPB^KMCP^av?>;t8fhKWRy1f%d&S}pQM-Y|6jGIOYX%5f@ip61A+#Vc5KTjIy?=krQ{rVVdgQeyXAV8-T z-q%2YaLJpqd75Wv`(>H~h}FyO!l~C!q3sW(A7>f+$S-Pr=mQ)J>ZtMi*>>C?kB>3o z@M(cx6yA<-Dd5Qj5+ogeRX%;HqF+OS7MsXr(^p!$MB83e%T3`>p2k|jud)uxX7AofBDG-`E^BcFPYdGajt(o4e?@n`X4rc6SeJ~>}Q-aK3Q1K!uP^} zRDtV5RXvUGjIN{cM!vLbV7-+A@PH+l{+$JZ?Y_P78c{zN3BNvTe?op$WmEA@MM*S; z>^|3R$CBiVN{@kv`}*e%;2F88zg+P719c!luuq7rc+pvhX=L5L5(eC;>TUbU{@kNQ znlhq23>>bHN%~H_L+v}}`71Q2Kt21SCpx(E`WM-}kSAe!>ciA)FipI>KZAugw#kQt z$zDvVLL$kc)S)7mK?S%_Dx8=CCaPrAg*o^VlfaroQ-vrfm+Dc;y4%icYI=0p4^SUG zk~A2xYARn+_C2_SgZ;G9unKFWrX^TP!3sQy!c-14OkC3f)}hi^CSawN8^DTTEl&DD z7f`VO0PS~#&!D6Kb<8mu5O_e#iz9O&bC~H+rqupzTVwl>azGC&z?tG(PzOk;MH|!! zY6>q5_vx@Nfib2&>?i|Xj@I1Q8P~^lAT6(i-->kPo&pijHrlk&^5yqffPrA~R+Mmm z3kW1qH!HugH*l5}sc3+;nl7jp5oJO&s+mv#l4?&_!hlgkFV{FKl)SQGs34~_xf@ki zf`G8;+Xj%x@!h^_87vQ!c#7Zhrt>o;c!0i3-0Qp5_4R!I>jn^9_MizxK7eFuaR*S% ze_I_F7-sUeMbl|2R*iz~2cVzjt-1PXllYrUV0?vQz~-XBXzBgI{MSkjS^s;$HzwJS z;8&ngLp2VUOJ`5LB7oe#{+t4Mx$g1&bu8-42{ejuxo9WTlCzs*ru2k~lg!!gr|oHw zL!9^lzDfkNQKJOa$KCy>B7`X)CAUD(yGOc z3MB)jhg>R_9VG~rjhP(?&7eM#-8OZtnVDL)n6Fomrwt;6(5Iu>S2IM@Bo+XG`bm5Q z$YO(eAU|e+l}VJMmUWeOmO>1R6j|CRMww{mF8;CIpdC^QRg|@`*!3V_zSXY%LklB~ zjH&?9@`K))Zw23O{;Akr4YWiYZ}J$_1a#(XtI#ojgHNVOVjA)mcPp<(XiS~n&QN>? zhbGAOQ9QJ07Tll&IbbdCa&i7e=kENJZyS-u2U&7q3qa+jZqPLrrJTHQQXIq}lKv-Q z@ypwo-ijqusr0~fE4(bo7E#Oo6h$L6MhgL`HWGHojh*$+AJIaY-$uSIh>!*|MGYPG zc9U5_F}DrilB9N;H zc#{onPxRpPVgAj7dn(fXD1Cw#056Mdkux_nTRc^8Re-yFe89%`{nYPE-}eR+M6hpA z@^duGy4=GN%61d8$M@&gpBo+VFH_@q{^b#Z5?sO#X0h3*UO28Bwyv=Kv=<)WE1?Jw zEm*zug8FX(Cu+}wA(*PyJ!7jzvYtcJNqvU$oG>%9I=LCyJil&BWh6zM9jAz@|2bY7N~C2|pgO{q_%ArL))bK({%5x(8EiRN8l0;HgJ4iZ`v z?i|{7htC?36`r~T2adY85lYMvmZRUWS>8Y{NTsmp^>0@uUG6A-atypS6VKyi|6Mr1 zH+05H@!iNz^?*qCVfKPKpBd^{?N334u+e~oouM~8LNz^11Ym(ojU$($7p8L%^c2V8 zBTp)6mYV04wqF3iR$c!}vf#v#rQ&ng>TO6*DEmM?Oxe<)6{d_JrE~;=g<)k3Gq{l7 z7##p|k)pv6T&F#%V7ZKG1HgeGWt<>UL$!2^W|6LB1}5e!N#>hH#?kwj4u|FU$_rDAM~EGuELJ@V zH^XK?C@pR2sfj3;50Yd%u~Y~zQL58*R8LI0)zwW_s>%{AhbbmC%ksnJq$*FT0*t*>T>>g|>wxaEliLTnHp3pRfPm zt{GGe@zr@V@GY?kWaAhEXdsb)9;6~Wb^FV*Kc8Pe-H$%={BV8i^IwvnponC^$cF-^ zi2_pI*?E#PCb+11v7ZoC*a)Xqab>aEF+IGBDordr+t>g=^w?*miVcFDK4nNW3V2)e0;u^tH$UNRJTWjT>d#iAVbHQgjmOQboYh!Vb-`Q+}i{)d%A;+W~6$ zp?D4`lCGu8WBrtIB8C89kmP5+1qy(a0KOl9_`SW!K&bx`uw}IB>%k@Vs$bYHpyHo5 z3tqMXXuxq8TFo^A1)DK7RBT>@{bbR~Qly7bsN}jhZZ9rX4row{>2zqQ0bn6+!L|0B zmL$Qx`#u`1kYW1Cvs2AKiz03ZDD#TnB~DT;^AbE+dl~#d13(&VLlK9uch_{= zPwWaa1#ca<7@MtJ+}cuJ(rA7Bn_j*DQQZLOPt#cHjvBRTq!t0LX!o$D zxas%jhd20d*8lqT_7C`S;O;{y^&={Q?pv_YVtN-^=VSfygdF>itDpHqDHfqfNvC)< zgUD2kK?dNhK&gVZFcy6On6HnA^V1<>u`X~@&Clq7p-1gJ*zc^nvWrat!}+Km62Q=? z+t=s69RGId-VbW>I?Dux6jO|$beM(=#vJ6$79i^`hxh~`&FsrxM7`q`S^@F`t!YqD*eg&M!`qy_ zjzRNJ>BCEpJ`TS|Xu-@0;UeT`w1x9?BEX@1IG6&)j~Sn&<9lWymZAc?A!_bZ7J?Rv zKHvzW0w<6|1qj|BfrKE1p&KeGEzmt6^+4p?G%`U*X`JSXB@gzhBob)kMACZt;S%Jk zlg*%o^C-o<%cA!YcL+HKqx#AG!_B2&%8+QuYMI)f{k5XA4WKE9q|YaxzF#Ky(DO>w zbq^+iXJY)^e?9;9bBUZsW)uuP<5?JOZ|{=uY+(aXv~ddbki2Ij+BxbKm-wd>QT2v) zJ&Xv&E#MNG>Zcc}r_=G}L{>+v4E~5+0{zq>{YW4#{Rrdt$Nu*GQRnyJh<*PLZO{-1 zs1>J><)Zm4<-Qcjm>%VIvY6n$c#+b8m9i5GW1hQ7N~Y1NYX+Bk+e-Sx~8cbZ@ohBR&9eau|yzgL?&uP z_hD^UO`$v5-m(M$K_k8q^*!n-J@^2PPIJDum@5xuLz5C>LSBln4&@Iw0+$$c+y!=r z;0xXHgoUgLXdG93u(?bYGao3ohp@Ac8v3#vQ&k^qi_@M1*{fH|1!U`S7d-pjp8m*@ z&&6^72?>qSz>hh?pwuN5R8dz~IyxabT`#DD_uD>W!P>`2+0E^?XaJHGe9S++cmS`F`tkFUFU^4t z2Oqz-E~giFm^ySM;1Bij@%~3iSBUdld0OU`k z;5u5rVl9gHFQyAcz*_UhePD=?3CB2qds8O3J`(1WO8oS}o7QPp$L8yaAijIDcI#;1 zEAc0(fI5WL_80?zIW(UIrXfQt_x^aUqrzcBpfNc|AX_@OYFjS{8gl8*Z%))nILr%I^F?_?I4K6F@}e;*)r3-x_|!9 zQ3c%jZGG5L3rRKIY-31^A9*9404f*T0IWb4;NKYkn*GwGN*Z*~8kr$Xxf=o2)nutS zr5;lCm*2t`v|pQ0R{*UffWBHXFD&K`j4yJsb`S8>7xXMuP80yX3(J4`z-aie3L<>B zH^IstzBWF0FrYdvdZ4P?6BEl59e`pRR&w0 z2Efeh=jS@pe5C-a!T*u?YxBqOkcWO$!~~SNt{fgdT@>=jKmuJXo@2zBhZ)KPBLKKR z3FO__W}MEdr}~U(l)_UXSO;Z^PQ|@|$5-ngPO2#>(t_w02<*)`fnn@5K$ZQxLpl_v z8<`M#l-JvfMrkj_#687xMdj-*r2Ilq~Gcs-wtN@4t--GSfSyU ztVCNR`6=^JZQ$=CfAUy-ib;KCW>8-3G3k4`hzOBYiy#|6J=rHU_>F=oukvJCp5o| zBIsu&B&17Vw*0v!&@cdgpq2p!c~(#9OWd@sGf@9v1WYl33mA8ERD!Rwg5u9kf8I}$ zcnl<}m~-Y`k+CW)Ek(T;TRI4Zgt5;not2}JJJu(tuO*_DFAVR2``A}wqn(S zsWN|Owc5!3SS=vOHFKBD#g$z_BSh;EfK^~wy&)o%ZhyRgFVEfx`49H{<4@~=kN3xw zNbvOi-Q#e}9iO&6*H z_6OxKm__;n!7R4ir&E#*wxoSfP)tbtBfsh6-|zp!-rZNR!lL~%1X&QA0g#zz2Q9h!cq^L5v z78;c2KIM35m=s_RZd^@l;E2YHq`}7qiqXnY9y*PD!F21|Wmr+&ppe_)X(R3)1z_HN z{^yywl}_2C?A3U^gH*-Kvvmu&(x0+0;v}&4nOs{V6RNe);MUg=T0PmlA;uhWeP4q2#Cgz=QTd zsSA2@0A8VlCmDcc?Io|tGI6m2WX3@%X6|VfOh+6i^mr+*<+sznF8Tho0%)O@@#>e& zA=OQUuyfXI!?45Be`Alf2{dkn*T+8TLTWR4RNH0mt{>A+5Cnc6`{*YSqcu6WOOO^G zOqo>l7@M>j07i^2T|AbPR?V&7;Fo@}!GaOemoeMC60W!Rrxwo5u0)av?`zKHk1Us&@-IFaF zqb!;hFCs!tmCdlr>Z9q#V;6xQq23TUYoWztsvoKn< zc1a%ARlF<_a(|%4aWt&gQ$Ei607gC18K|-VJiC+>V&Ov$NT-p{8gHNVm}(w$24}YR zGc5$cX=VhY5gaIT6hp|#L^g@t*TVVchsN^)O9(<$k9HX4#AxF}ve1l~F_hwZAlHcv zpxMxlPz!M`)Xz4J!rAGp4%{q2F5*3)l`GR~mwGjiq!Zw5h!3PafS<}m)c8X54!I<^ zCT%~zP4Ql6pqu{N<7e}q^1*L7@HLI6qi6DX%YtwJa`!KSKG68f3+m^E%9Us81kk4> zwp;?dECI3r+zJi&4f_+{7u|oYb|}|{xe>dTUg1`PN;v+cb?vv=PGrpJ|8@R<_hAJr zr3kT1DOx4(Ve%V+%M4d8id|W zh0jl;J5VZ)nz`L3nG;+ir4*2VH_4?qY#LJ_6XancTwL_kF-+tH7*`Qob{%hq2?%g$ zyR+M{D(*u=G$;Vf&?0S+X6KZvb}(N!JxcbUUuV*E<24~)pW}$Fmf2k)OS1TDe0Ikxw8d4cQ$hROL6Mtm{-w}L{B@}Rk__lNT{A6h4CzU* z74C9%u+~dFW`i|efJq|OTmZwpY3>-v^Uy2 z50@{39#p!Rd-%gOT`6)fe%wz#62K(ZoPJphJRaYYw(qXsUX*|Z!H3u*0;Q|pI}Q~8 z?n{oU7aXo!SH`av$1$4H+zB2v{m7^jU7LI4kT~Wi#Hg_ zEEy?-(5Rj&G$rx?GhnnI8t#>N4bNkOU1KL$_Jv>WIc2vy9PD=bS+6CrLRvvCC=kf6 zssk|ZTgWXmrv02i;2;#pc1KT*ctJ1bTJ~B1)f#6{%VMBKrd;DX7Ke)hP#FW9@<1Sd zzp1ax1=&dyQoHcXt$&pcX2|=|`IZ5IO&=;7J-4kFFquvIsu>yxG_NfHv?^6bn$v+} z-`i&d0&ad2p@>$13jI!J1}70?RX4HuoFMIv=7p_ym6(WTEA?(1i5sdZhrRKk?Od&N zPLGF&DC7D_Y9JAKWvlfgHS>Ol8{>JS-)}?~vL+-f$Okdk*pxU#{T!3CE%ZDr-J0F>l#yB&46n zcax^Vg$(nuCAei2!FJi^=Cgp3*WXM4r_F18O1NiV(^SO7%`Z=xh$j2n}@9 zG2IGr@Fb9A!tZCEM|T;t>ZI>R!(L6Ac(F7vios`A^#XuZ=f=XopmY$5S7WN{_JVw1 zARbMpLA1GQ_+e41zG|yliqKxW5P`7xA1ocE|DrG4)*IYOYmLX_X~#g%9I;PS!c;I+ zHFjK;Qmip&0k$%AC&xHSm~;p;9*nf#Wt>2~o$>_PV4I!ySa*7l+_S}dI#+6s;%Q%M z#1ElBVgTs|a8H8kX+eOd_yE*8xxu$0UrlMAaXv-tvlJp-V*hFVpZVZC-pT~Le?Hbc zk~J|r0RkR`jIc5VoR{;9ikuyQJ#v8_!9j^E`h5Gn+kgA_T<|}0#Qf>wCvbmqeqW=^ z%LsI)25{iw*hZagj%mrtZV!WwsCDSD5EF8&;}$+fC3(No)E{ENTkhu=5BA3>`}%iL zs97Uu3Vu8`8=wsKA;m(K#=p@5CWGLVC#$z+zd$(xci%_=#2KhG0r8&N(2Z}L5u8aO z`?b#CUm^jMdv;0qT6S{W2?;`X3-yId8q1xwR-ta7se$IwR_a`f z1NzitZE(=0%T~T3n3~Bsm872$xDggWg-_wvAD@E_0g_QocW2v0_iwK?F`^KWLN3{^Hk>6DN$?H%JcHG7 zbwkaK_sGyqQ@)5>yLgT=ArhTxL371BmHVZT z6`oh@&xXF-(@82Q;UI#EZ&?J2=XXg6=PP33UEKxFwA9zkCP*iNtVxW;o0LMl-|oK_ zeUG;_H1Oa4XTLWDZac3Ahe>rR(h5qzl0saOz4*1{jFZ3%B`7nESXQzC?e^W_j_UB9 z_FudjGz#?Srb3?9a=sDNkFpYF?mev)3Q=lbH^;-!s-}uxe-=AYe!c%v{#SB25gSSw zAy;l_WC%5GmvQGFCfKhG;UBu}022(5001BWNklzH7^#_QM`DG@MH;=pj&4O=c2uOMJ^qhxG z5A_f>uI#q@n#897RY0o0f8bUC2!Iz#Pt*r{(JDqBMbYsRJzKnj$nYj{H7bPm2-MqA zndc^Te60MXTk9wioj>TDFDfHD&js0$CDhTCnHGhvHd z8oY0!XkW?OyCT z_WPyC?qPE5xsex<*Hc<@@FX`dFU~Xo&BDXPD|$R6WKnNuA`Xi6>fPylq|?KRc7Mp! zM~d0|xp<{4>8Ti%q;29Cs+fr7Em3X7KImlutJRz|KA!Orkk38~5 z-7}Kbgo|n+L<%p9fL=k+Wx}2yEqpIA0C?!}3aVrUq6_+Z_Vx&>`X{$_vH+hKvo*KS z7+Z3|VE&JjH~2uQQUt{6z1k*r8P|BTos-WyN`6lGLNI;ACk-|v39$JZ#G`>J%rhU5 z9@s{?q@=*zfen&+ANH-_e)l+lfHvV&?VcHlT0>12Ow~;y~^*jV-GI+D--`-ZM;bQPJT;t1vaffC?*IT#XvyuKM4;no zmHy;3QtoX+1WTH*2EO0m{zD9qC1N-3e0X*UOQ8)Mvn#)5pwN0sI2`WclU4X_0{*RR z`kNZ?v&H$xTyR_B1xvr*vfRiWfT8ARuuY(c-O&O-r8TjmYYc9WW*vHCs@D9R+E!KFLbD>qe*mCe=_mwcMsyX)UQbK_(3(N5_Fu4izxC72Ux>YD&1 zHpUo*PK7uW_v+;f4!_HJczz}dUGO;|pCdlah>y!9TKGza9C=2t0c7)zB7YVDF?-;E z3`?GgK-t=paFo)Xgh^id5$K|3fDK6jag0g$gmbaSLP6FJX^9P34BvnHNT!uGp>^tt z6cquy!1nFhv4bVZATR>4>OvkZ#^s66I+3Qm(4w#=G1Y< zA5@r&?TR1I>0sW-Y3;Xf-?>=dCnKGIeths*aDlgPH{p_eo2EY+WoY?BJ9>RT7e0`8 za(u#}TXOt2SnHJcn7rRL@xy_k;CgBO`=brd5g=~K4gfsHI%pF4a5;tm76axEO@czn}5yd-hEa=YBEPz?S!JjVR0|QZeanNc!Oc*mn zKYOwf237s>GEGqzSj>~^-9otQ4EY_}uP>$yrhMbmsc!8IQ=!#ZaHuYBL$m2X{TIzd zOgt6%T?IFQIK{To69w68JkArok~u3BAxzn(oC&C@UE2QID@C_74pD^W9^x<@Lbbgk zerrh%j;rNht!V^%nFhN3u4V)40u%|Pi%mgDOv0e2X~w%Td;Yi-yPcx&TY>&nA@EY# z{ZP!W4x;IN`)NAIO{#4%^ec>>YsvR6S$@U;s+{^H@tza-D?@~gzW9ds_j}rY>nQq{ zW)BZ6uE9;3hZG`=%?I@MV_FDEH+1|yZKho&XPlB&fd0{D0)X=I$^`xk*m(OENTf0F z_e)X&lwcaUWV~j|Q9f6v6Xkex*n0yVO>8%r2S2ynPQl(n*e632PM@SVU!A2`;ISc$ zsj+I6p4Vp9;^|^BIW(stmd+l)#h;Y#v{PEnMHGk;1QB=JmSCCPergZN!`&9v?nu6c z+rhex`=T54(89-#>#f9Aezu1{5F|y!CDKA zy$wTUNrtfg>dEWv@dvJy8N%>w4eAygtcUr6*#`CiP?U8QBtLb;qz|KH z7KR{_=EApqJXv7@CnQ9|QM}{T8;udgTVNieYB7pewN?R0E2k%xDl8dBK6YM5GcXMR zhlZ}FYe=6Kgj-`A(zs;P2>0(tZ->T35s=|7wb$|cj`m^D+%-CYCjDXKSFx9litlvJ zew&>(f~L-_rn+&MS0d2cPk!J!1H7nk_s8dtLy?l*J45!eq|1LEMG5mSld#h|>ihQf z{GZObyt`(6@GaHI3SP^#`d0z4^M(L;NG9`1$6U_>`~zKt-j|IjxwOSB$&U^Sb{ZK9 zQU?Fq%dPKMyZ;@7_)-bH>=Vr$=VkJTT68&IHYdx$dm5R8&Fx2N*p4}<@d)acg=y!5 zT*7$eMXTm(jP~&W=bbDMe4YGN!WzYCKK-i6)85r8h%=ZVB~|IAy5FA;#ZvJcbx<0X z)}KRbaI`PPPO&~$^47C3R4fLXE%;bnlbE5G{fCB|aDnW-4FwP@fU`2v*DKy}9H@HX zY}f!jmSPqy257Ub@V&r!qf2UQW>@a9BrJ; z80tIc0Osi$V11a~EwDl8G(^UQbacXw`T;Yzk7nRPol1eh$Q?eCMkM3OkZ_;`h*VQu zr#C?LA6sXlomz53(F=DTnBjsk_Wyrow6_Y|Z*|gHNq0XR1Ey5c(HTr92Tw(W%=5Q? z!Gc6o$Wy4W2Z~<{y;wStCs%0H2)xc;W(yuTbvu1Y<4m(SFxO-v#EdYM!+=H0HY-Cd z4RlIB2vr1dP3mj{)_1t(?``{+{C{~bLGbJG1Dy6hyGg>oa0)=$rPv?-TrpZdz&Hc zbJQc$zuOoJw#T^^0$myYcf=e$?hq#K>#pCh%n_tv?vJaWf4({z(i8=O1ql7w0BrX% z93@`5X{4;gyOMT`Km*ez?*E~cF+v(J6M?q1bsKkJhi&Mz+YFtCI#O?6-@mk*5?p!E zs#*qXwa`WC3=E@(dodRQ%@ z6`1wSfnfr+0pbG~xbdAx(y$EGj{_ILIA9}bCb>^ zeLbg%StbHPuC5*I{JqCeVB|u)?c>+AOOfeDU!kZ0%c17{Pef9)3ECH|jvMju_yN9u zn&3BB{;_`iLl^k?e7D59Rjs!S---%w%=4Bv_`ReBl~8u$+VyeH?tQnxEci`gh#ZqoO6nanF-tMY%^3)Z9Vi*tOwT-Z?X|5$lN8JS~F zGy;P9L6#gQ+SfWo>G23=#FWrPbVyO+PDFwoMF6+E0;m|Rz{n7vljk))W0NWzc0=gw zFs@*_Y^PmUu}7{qgaVofAQ#9AkU4b_f)L0-b8j`b1I})3q+^0NQh>&^GWMoPI}dz! z$ihV1#+=U~9+qfxjqXVAowjkj5gTZuXO8X{Os>y#0D%AR=iu1O{tfOd3Y|gL2s_*@S*@9drsIA3Ql}+!Shn( zfEGXp&-kCXQ4c050ylbN4{)fdkk9Wp!pZ?)T;r1xuc}QO)K0y?>jlYRWFf%Mp@LHP zT8hJx%S>ZK(I2oNfaoCd5v8r)SYa8>7$I770qCtpGlF=;E~$fN95VAE-PYZpt13a) zns3?a*DPmXW8&bvcUyPP@VQ6HuljFTP8s`uoB_Q--`1dUXWQpPvsrZlo4fe%p9>4v z4Z*EY`z!$N#iwqcA6TbU?eXojOB=-dqrm?^v;Uvqqm(_|6BfA_s4z>$$2;@B?F z@p*SL*`?7r;e6}^rulR~*5Y+-H0k>r=^%y|osai*k8mVz3jxFv(gG$oP@SPo$3$ia z4Bk&sT|tzw6gA%rwz$g871#{(lH7n)`v?z*M_4tKmjZWK-(+56(S%xbYvx$ z(HH|v+HtAuh4INAnimD&t1*hsdiiT7u0tQIJDo?E@bNvLCrSPMY>;#} z66@n9bU0Imetm$;qooW_K>=WZW`ajd+vfxycX+sqdbR^QQZc#X(T?G?_o!xK@J}C8 zM*TknPde`=(dqI?om6r5ea9XbC4hqbw`+OfN;w5c%Ln?~Znj6ZqVYCNlcwEAvOJ(z zbA6w&4?EJS$5+<1w1J~JF!76OD-=JQBnL@7-C%UyKZc6ax_v>i^fO;nYMy9nuc!O|&AsGf>VXzoq zsUrwSHBJ)(V$5_*-R%&h<}m{C8ubyLcC}s^;BC(5XHxA(EWV}tl*3{j;@5@j2 zfF%V~AI_c9wfvmshFl@*nvA(Luw?pIs&~u+pnu<^xPKR)@l}GtZwqk0r_T?5V{0l0 zH;rgmjU%^LE*r495K-v>CQi^PF3#dD@Z%!*gJ~2ul*^Ch`DX?usD-8seVC?x$$tW{ zf0PK6d_hW(NVwx+b^t#SVX^d!_&e;Udw}K5Bry*+TS@Fp%e@{~ znnly3FIW2PWCDHRr28^IQ%4;@G%YWr1KM>)M~|P?xWJp8yRlMJBRpWnFJV{<0>O=z z7_eN_*x{?g`X6wzXJHn%(lgp~xis+Bt88?O_3uIVf%rNu`M9S0A)N_Y!h{YP4_d{O zj{kBzqqheqh;zI!*mE^*1TNzoEYE}XTFx2JnBWtm8Y1>6F4#>4-(Dk*V&Y*u5cPuI zpYn%=_tGaJnkW-v3*{%FPhR@yqM}-v6F7HL2(NMAL^xRJX!6(1Z3T}njwoV-N+a;b z*O|FYj6jXAwaN*MUg%r1M6ug=-zw}_;4VpOPLF{>e_-t1;0aEfAtjB11T#<(MAE3F zb+yTO2t6EPOc|gR#%HrE;2m^7FaNg0e+s}OqeC+f;GZCYyc0_(@SWoI{u5@`P~Z#^`A=gJ}cj`*ir#*R7GSPKOI*2mAHK&}++ zK~jTh(X~RH#3=Xd^br70yYp)P`HE0~-g4xTNyo2j7a!YP2h76|&3m^?z@HT0HFq_a zcTgDP7x@9&t+D0Vkxhb4v9t4X0RNE+0BQyAeCg4_=nzVD*Ss08OuV0D28pYc@_>4G$V)( z8zXfqaejornEof%rf2ycH3BL!i@Qqq?>=*auhk)K0(*@$;@s4HJWyQ-d|?zr&NHQ|pJ$0Cu$AXvEcije;UPDkpbKOheOm$IozQ&5q)~H9 z;P${js`Xe`ixCgpC%Kaau!QU3wV7`w#?Pc0%()2EEpS$uy0htET$i43|K)F?H!N|thcz3Punj25%!6AkS9Lp?(()xbF_6mMlIMu z>E7K=H@Ap&6}=+$A*y-jq=wNbMJ!{PeM)ytmp`HqCJ#C#56m3+hs1vlFZR`AYiNAe zAJ{C(o0DXuRah-SKYCC&HjwV10=$Z)emZN?^g8+oZw2q++By28EeEQG{Lp!*)0+bJ*tI3TIwU^wANNJV6tB6YACpIese z$xi=^O~z*r_`^i}wYvkqXyVsrF#i`ELBqS6Jb)Y*&XR zj7aU*`LZquM$flQBRF;FHLp*Y#Yb?1YpK;Dpd%nls;OCm$-BfNkm{0tE8b!C>3kS4 z?K}wE;TVGq4ls;ixJ#3Ax`{5wQn$eL*kh>I>I)ic0O#v(6L@(z=_FJF)BFxY-AJFS z+w_=+Cml1Fj#q`cb3kl(e1{@(M6lwh(lk~YXH%p;wM6>L;b`UI6kLS554YaQotD6F zIQKNzW@zF|*gjCqLgyy}g!8u>34tmCR>lerCQYag>+~_EA-%e#C*9xBf~SZLg6tr& zIJo?yeL28fXo}X7)z{eqkaq%sqgBV|lc}GolP_*?Iuq49y#;MFph+BDwkYo8G!}jY zBw5_r;nWAEB6feReNSYxA+*-on5~QjAT*8HFpNEA7Y;wAwO7Gmdi0TfVL>!rB#jU+ zS4O&^UQG-jU8A!glCU&&R*!;&j??K97fbk9zy6k-`#Jxwe|~rZ?Z0qbmo=K=+tF;S zhy~5?U%2^bW_yoa6&4}S>j;7Ue$N1*gTrgfck6!Jt!C@Y@zgVmEV|+z2zgK|o zz}V!hGct6z^9qDP#DScLEk-?_mGvEMLFt&Kui_U#*cD4I5JEbFprf+3COe~fyp6!% zm13$mr~^!e;NXlN800qr+X!x@$W-CR52=ua1LU9K5E(*rHK`VKigD}cMS$)x+QQpx zXmu#-A^)}kuSLS3d_(G5HH7qW;vLdC1Go^@RJ}h;BB9ZJq!&z`6()lbLy&%CZtuX| zN}+>>eyY>*XlkYB9nDQX@BOz#o}$mT9c{%vMF#|&&a__3_1J%OJR<+lwm!8_MZ@sL z)`ED6rVIxO<%edRM^xY_+lSf^UIfM;o8_dDC{+PT7EL49Q`~pk-`z1@uMfucx%xkA z^VdI)=Dy0dT*~Kji>#1mq;oDJ`fJwB1`$wl0G2(n^t1Svk(;%m%$jsfa_S}TtOOe6 zPq<+&=9qAgRh$Jt3oZKP)J@j`9^?C{JqGOiI|y7lZ2X}R7tXufVROY9O#q)UGJ^c? zoS3|`ptopE-~eLK!8cqo_&5JBN}3}%Vdnh5W{f<7vXHL$;;U1FwcStSbG=;d!1kQq zR5P=A`X#uO>0Un#og@HOH7ka~7pAOb$qvaDfM=`(wTHrYyJ*j+E_8MRK|sFTj8cHH z{ve^c0}!@-KbL{LeZ}*}4DjvkPYuwC_u#&p`}W`!-9FwFfQki0dF~w}j0o#Z#HuyA zSA-@2h-Oe%0Ilk46e(#GNd-x2&|^B_WrLMKMc(+Kg(EY#VEg`}&U97g(RFI)IF_jx zRO0`KDguQhy$p{u^0x|$AmSji=OuA6fp45@0*B2Qv~Ld;q0EljVJCXC_1M>p?``Lj}s3%kK~o4vFtBSv_fn=nre6%_sg zy<{g_3ZPoO&G^qdEDrf}gUJD1p(}ufq9`fCww$iNjP(VjB{cyw!lz?XAx6exw5eJH zTy=x_xigxc5KJ~EY5Ze{gsXNgHdQ(JZCUpa3L%M*6a;*59^+g z1>UcDm8CR5Bk@mcDLry}tvO-=muGs^gCFGB9Sgx{(1*kT(|0;XE*gTVj>si8Ry_6c zfdVhM>}kW10;0*l_K7|fVOt{f_<6lreb!HZkfj6j6Vjr&Co!(XWxTBW&*C!(%!}_L zFhYPY-oH&Z+HR4OkP5&V-Tzsp!aA>Ei!_FYm;x|0;+)vdsHNGJhV1tgODE zVZcnle28qyFE>2!FI9PQhOxXv8^EKPhC}b0hXla41>oNtt!=x^ql~P?FfIdarNl$7 z)2<3#`=CvDZI6MbkD(r88ya@}v)oQ2W{;rY^p<=SxIMstu;Dm$=xvD4?yDZ1FYrIv zd6IS}c)GRB0Hm`TmGMc84x}Bg)f>tsCc?D z0fwezA-WJ|1f#|pBo(e1Gynh~07*naRH3*7W#jGb^?yvD-{=2VjM$G^fC1h1bYYw~ z$u9i)R5bUmzskwR4t!rlgW!nN>eYfD;eoOUrHWc{cyH;9l$W&pG1IUXk%M{M94NnnaYxtn;nStK#!63IwXxQr=`e>fDZ;HUuX zo_Mq?ZGi;97?@SwX~h9D_5j2>v>@gE)E0_g(uK!wd9()P(dDLQf&2@e+OzmNe<2(# z35BW)s`P<0-D4%zpFMXl@FCjB`~!B^r(4+|0|r9;DYXZa9^ZUGc!udxOuq?s5!OU) z)gjnn`3Zh`NJS&HCR41}1v?))W?;9`($T=2 zE2#$&SYT2}nxkL^z*{8d71D8&a~YiYG?Rk`uU7O(>1~F8CmiAA444;v(yR@i!15TB z+wA)DJ3a4b;^v=7z}Lkg19`5N-2OIm|G>Dbsl9f}LByGmHOP0(dKJ{ zIh2~+Rc_9a1`#&~p%2gN9-bk073Lr@RL7jGzDUcRNZIk42KJBtzt%m!!{v*Ko2I_= zHdb~EmzRqZMg4^6y=zhzQs+6hkOGkU!Irwj+5$g-+Bb#LIOXr?_Y-r(k&_d4cnlyI zym!k4ps}vhWhNjxT;^md08;yL$@7@Hr8(=+)DWt` zL`1*eqg-wcI5#ECJVDl21|Gw{fFi;2#$`q-bA3y|Fg{;_DzI#5Z1&3tVGN;oY4C)9 zP2Ur;%NkW#*gzQU&L(&qrR?N8?0-t##X0gT z$p#6Z|K*lD0LifE=%+GVe4@8sqXNhXTFu5a6Gy)A{k|s-txH4@;ta;>gJq|2N`+)d zp6t3d73YZEZU~4|&0#sY<_Li(03XM*Irr@8GvBo}8;@MrPWqq|Ij%TH{{RJd20*6g z?B?npBE>fA9QG8r(6-dn^lf`SN4%GAmuqU+RQKm(RNd6Brver89UZTk`@41BLzyLD1L3 zDR*!{jlEtq6cXbnEcDg8^=%mfrjb7{1`OC!u|DCQpf9D*%*X9?^nu5%c`Fj@Fj45j zY4ya&djK22_z?i2RM43PO2o$ad(=TJ1D_xDvfAoHPCfFVq zludzu0Ah0<7EA_nnYKOS!SvaV^<5lgrGhTZBGGEu_SD{Rx8MXvn$SIj@wu;#0ze-@ zDG?)3fpfcOh;g%}@XEZ8v5S)8g!k2dY@La68p#qxyPMwGK|q70`Tx&+c}`X%{KB4z z@Qh_ifT*m@n|EOt9M#irWnadNp(y|-sVo?T=l&A;mm0V{i#q=hrwEcnd`s0%x`LB8 zet%n}FJ(=c`r@kq!Y@hk-5VK9b|-@LvF`Ejr^C1h|KICdwAv^z{YM{gKWx(R+r?r0 zt^4h{oNmdfP_^xM_lubjaux@*1jHNcuk=Ra+wV8}OaV{_z&$KYry|ShXy#rk&1Xt3%0>&lzH7UjGAgM?ri9@E!p1*(f|0$X zxj~HB8?mfJ4x*=zW?_f$D2^$~JmT%{*(;s4>bD2g)imCtl70E&q!DZ*Bk?r6g?<&tu+|1aF5ort6_44_E)8l_MU zX;ID&ugc^wBtSdZi8a?gKJD{fxDGm0ru?ZNrq>7in-UDfw2-P}YD2sfHSLL9WzEFL zDXj!2nTslY)m?6@@77BlWiYe%@&w92jVGwW4^Jlcl^(v zUtf&p$Hy`v6P^JmC|B`k71;yg(-0A*ug!j)4CB@%7y4 zr^(%mNh~Zw4j|q*Xwn%2$lA&sfIPrBYitg6;YFt=NQQAZdU*T&VNe>VgN-HtT$b(F zr&4v(rTs`WpIwLZD3_|dVKv2SaN>x{yYDLhKpL*Woyg{YzPuY*eaCOW4)N{(J1WbG zVFoWRVzqGg%#GWKBCw=z@ern}%ghj%3JL|k1lK>(rtF_G{N zF?uS^fgj6qUH!oFVE=jk9hd!lt_FP{_}>R9C_94kD|_QdqIt{PH_VG%*${he*8yqZ z%>h3ZC%_aATvvh7gZ+8h-(+BrR-FDTj9{qtM&^S%uWeEtNv}0H5x5gUtVTU>@61Py zlJ|J0jy_kp|57G^`{DJf`@>;2&DiD~)o!#l$no>De0IxP0oItrHC^?(VvJWYetIccX`oBX8^Pm~z?ctajRKeXLKS`;S|(Z(R||+^`6OfCI_;K_9F$ zD=r}Dy*Udp4w&XO#GBscu}6E%S}5&!*ns6uOJk610hkL21%cUXPq(~_+_B>g z$--Z18WeSXYpN-&fwyYb4b`sGET`Mnqed5#J?!K$&`a>LU{ z2!QV^lSo_b&tF4kgK+xk%ty6&+IO`tRT3Ogzfk%otL8ZZm40h4q!Tx;;-k;BrvsIp zL!*XM2+yFc5i!X{RQFIReyseDA$6BTh>1k@6+4RDOF%OQStWr%-J7IBwq3dScN3W0 zST@6SA9|tGN`SE%{)&bS#~5;APr0ODZkzkBGqAJkU&^58Ix_!xv*w1iYPu@|8-)&f{cMK{|tK>gQbvg!1|6mm>*;yj8maS@w?8|s zpYNY?QdFv%x}}v?-1;#LjG+76NK^Xxa!#bSD?*F6c7n_sGqK#>NBiMbO{HjQ1T?Eu zGpsVU)&d6`M2HW@qcUO)%J*^Ct9LJ&2;51ed1CeH;LT)0%61&H&42}8HEPlC_S1Ux z8h6L8BLS#Q-(frLUB(Jg1Yicz)gKK(owW2}gmeb4>}sSKz*DC0Crdr`I$xPrc64Xi zw$#mU4T4ng#bYD_SW?DZGI_Y87y+hSgiJmZP(*hg_!ltzkEyvPaU{daCT#)0H7LZ+ z08U@DaMh&!$*9q%3e+tw7zrhJbc6HeYo`_yq!65?f(n?YPkE9f={Q;iZ=>>jD z{cSoCUtI3l{?0l97^5CVZeHz}`4!jyahR3ps~Lg^fte3nqof`@?yNk@qm6UEmqIXO zE;6qi0&T_tD{?z|P4wSQz#9@>-jc~*!?cC`^fM9$F;Boe+Mf%Op>tXq9x@bI#^R~l zUQ`Y1WWv*RJxUqjfj-{*$~!H==@4Jf2!NUQ#^!L|8@vktnMheFqB{3W#{niAz@a;r z$T2qQ)rq^Ep4;Cn0PzQh3`C~hcc$!OxqF;4MMy$D%R%lUH~4W=Vu}a$r-l89c@RH{ zI!Z#^Sqg;P9g_yze{MQ*u(~Q;bmAlore#eS>hmf{X=Z8Ni>M!w+Q(-rp@R>@t$a*- zQkMBsJ@8SFyYxfmjy|eeU*_tbky?Vl5#H_&hHvF1Pf&np2Ye&L241a=`D7&<1PD0E zJ8A+`hvUPS*63dur0DGrl@R(8n&GHWLsS&llbr#C(TEJlvf`5R{g?!uEl%DPs5b4* znMbN52N|4Jrx;17q=g2dtzdjvp%uu$oMx63z1vkiamam~A;px%u-H%>kg;nrJ9PVv z@)4<0lH@O`!!HE5=bw*@{+|)r&+Eq);I|BF~&h$k6Eu!OI zV<3UrhTRg|Kiwa{v0`a!G0r}G<8;#!|S6Em9IG=-Nt@-oZ<%> zj}jsHHiZFtk!D;#)58PVnpsh&{fIM-IL=eC4 z0e(uw)zgoy)|e>fq2#nSyq(Fr=>8{YxM){9Xc={7nl^`m8+&Ng=HRvwA0?k8I@_kV z03e&0w{x!{_FyDAvV8)z%-@~rqv}97#FK%<`VdVSN{SSM;TSjWx{9tLZ9zF(x`7m1 z;0#A?cN964(vpjI!$?V?Fw$7K^3)6%kFXL!U^v0?n6gQ+|I8=YNom9#tZR>?h?<+E zA%p1soL=5rkvMNBa1&lmmVX!lNI#@FQJstt*RLdAxp-OQrHe_ujvkA>QUg`@h8aWWzQw5Z{tSxMUV!8e#emOMm3{asbb3&|o9d z->7`0zJj_q5DA6#12!mgrg-bprE-uUEhw}X_7=-^eb5i(^}ITg>wGaYf8cW1o+uZk z!@1`EV0kRR_~?gF`aK}zvT%_=$O_|fiV*aV1!Ud8KiQ!63iIbJsQ+ahh&#mxloy|%uOCriRT>6T&?FNmD2M`P01^@=MNN494zvSpMr~5rGLe)PKkoehes-^K z&%ew))&)DkQj>YL`)i44LEuRWc4f5DwE< zYa!)9((?2ICmXAQ(|+SSoJ%pyaWkju%qHu4&W!Pm5wR6H^x9P z9l|miX!+b2ULV)zZ+cjU1}0V)_baQ$r4V}VYvykW^3C9o5*Y~1?smzb4Iu#Gf9XQf zhP;LMeUlDfCj-LG;oMtPSvdp!HJc`BF>`vPnWjpt+LnAY{>auoO$7G0oK+IeL(Fh$ za+!{wM_i+ECL3sh7rT(P^Dla*<+7X}@7ZWIP+xJ7{K~7ok!8Rs6Vsg0;yH8L9o86p zb9~QCai|<;gFenF*G52nE;cJS3wecB?W6M+pNB@psA%VY3padyh1 zDUx#oblBC%!|g=B3I_PveJ2;_N4Xt6>TxycgI~pEHOQjDj4ke1nZt%;u+K{w)`;}2 z>(*FO?e3RJ&Nq%Ab2*FKV@8aq=tXTTi9 z3v*&JKBqx<8n#9fwp}TTSJMP(aE@XHX5%P^C1LkESYAu0$39RQrs@X>izljIaX zo!CR8cyK#WV!S^X>Q489%mCoqL$v4{|9GD1Z&ooNAo)dYIDuT33<(G00F~zqkc0vT z3O&tcX)uG*J2?>(n59f0&MJQ5?5Zl$GheT#8FF24&pH#r&U42}c!?2v zI%~d7@&88$;-|j$qwEjt#c!7G*H6CK5#|{W{=NqhBrS%^Iqvm{Sz=|}vPmdYLoa9K zLXTYb+b;|Ps8h6yu^ZL^>-jLjgVkDV?u?VPg{~iJ1yC+?#)J4_(y6-B0CNigbeaCx^xAOabszM$Qds{b44X$gfoD9yZwSEMjDT|{07k8kzzhN9cD*&+1Y#@=F z`&6y*so(-#B42vMJ#O@PDh}umWe+^iP)xQTL39BK`{a7ytsXtqp^8?9QFp3XjdV(( zuoDDA2rsiQ@;zz87v^kmnu^pqv383v!#7RYf41@dHz|Lpa|*@;eGfK-Ph?to&wbwo zAH7V!-zIMd?2fTN>6K4!4&$_300@`$6w$uv_f`qkZjtnt-hhhV<`g{(qCK$&jL}^e z(5tuzIPZId58e#%^#(3U6A`401fATeXoM0L>)(kYO;S4rjPnY#%?vq>jgIJ@lwoh54IPUXP(a!b8H-S=^(2_6x4IyN}9S<+g*~p!2U}yKmT#F|Hg6obnlN_76WBj(4SwX zfUo@rvi&m@^Vr9-N)szBEEazhuU|*K{S2=_$b57Lqt>V2etCSw1|T^MwUDAdZ7;#u zh%Mk8$UNp7b$xF-RM*@gk%LvSF-$}wn77QWfLz+rI;@_MOEPy4et|08>(rj<60*}o z`(Y_FRWSWQ_GgHBjv1m|z+ZL$@z=2dJc4R+^Oh5#s5IXu_ALT^mbnz~nUS90zovTY zBf&A+9?v5;#aRk1lWW#Rai;*fkS+^LNW59z>9*rIP&GK8THOUMbsh` zXgp5HbTn+Mfc500BR2rbugj*4W9yvuW|IuHGNNKc-^Bn+!U$J?7G-+H0vWzc&#r?9 z+hW8Ot4v-tS{XFY(@x=uxE04bTvLHvwo+sW=b%totn

        c-DjJN360V@X90x&qmuT)>Sp>Z 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 z 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

        &egw9b78=h%BEW*b#kD3`G2(*8ZEhNZe zn~xMy;bKiW(atH>o*$NByk;9Sz_qt=c`h+$OTs{88SrfgZug`&oh1<)`pV$*N&e4V z*nYFjS;w9YHWVYo4NlUsk|j21?cDL0Hp49{7umJyP4981r7G<|bg;cD36mKcMb=(3N>@Vz$vrZTv9@3Bl#+3t+w!C&OT#~04`-4+nJ zsh)nY9B2Bk8E8*CL#(Cl_kh}bp0h0|vbv(XV0{w;G`H-Ww#w|4TuTBTrQSw@h2cf&?k9Bao_6t-Wx6xm zKcX*`ZZ=rk(|Y5XNuM9!KN1s?|Gbi^VPgD*bGT!PgH>mgaBswcoVzyp>t%wG?0!an z^aOS8cL{f;mwVsk<7x`a8;_XZ!Z$59sz6Bi5>Si1db@SdPi?R=kZuOm*_e6 zza;BKk1GBm*{T=buGeU4P}P&BtE(A#KypPXQEQ)EMPc0jF_mn%w3xWr9~#vda3p(COOXRDq$q ziv9tW4133TI|r+)JHH3v!ica1k@i9;RXH3`U&**Ib2$==70LqOn8LYv$LS5KPh&fx zjM6t$M!uRd&0MX#$yzZo=KvHdsYs9Ne*xrF|(T+Cc#xJy6OA>ZxsCBPV%d4GPa4ODuC4>ErIFDgoXxk8ux&FIxoJYN1*9-au`Q$MA_N)5t-e zJuK{Uh!Lsu>6&5h7*2k5X*8}%hM`TPi+SF4+vN%V8ab=)b-?{a4nlpig6kEf*R@~o zDSB2S#P<^!XxG9iCltLUfm?ra`-VrZzLIaO5ua3%rsB8iauZZM!b6|*Unv4|NFT6~ zDTci3@xsEnrxA_t?LTW?!=Khz=DXgLx2DL9NJ2FgkxlZKiQSJNI_0rVL{#Ov3t*o9 z*Gs?}%c3ZE5`se}(UXl!ipnZ1u`@lH+s99qRuhXh7t8lXZKaB|xSmkya6+o6OW(ys zm%8FBUiEbN-CB-z&{rUHw7it${gG!YGm7j6OgU7fY%bo125gVUEJ8C0eZrDnn*kTK zO|6xPt|fZdPkgKv+#sV+%WiVNY8WAPE7V}LaED(6z92x|YMOYVwr^8R?dr+-mz%>- z8grWZ5&2&IX*cUX#@)-59|iR<$L25>IC^6EIWT>t@v-9JhU7C=+p$4pyuufp8QGyq z&g$T<8QH685UcU+rqLlPN>l}3i+}UQ<>3Z)a`2~Ltkt>?b^9E#JiA1VdU~ekC)W$g z-Y*HB(H6c0eFdez#Ad};j>s=;5jKl8|O)FZ_%B`?QGFWxN77It{0I?Le$V6Q~8g1kJ`=mU?@ZFidS?(+kD3VQI$-BOt zK))zQZuP@GjFuVAO+Amm|LK%N!{$*^B|d!Y+AgiQAw@nD6Kq#GkZo%g=}GV$d2K{P zhJ5%;_cr^hlk#y{A>-s84iElmnE9=!?ji}zWQg(}MZV>~2OppM5vsB5Z37I+#R-pgHwVb!%GO2s07I^mG z=jh-Nt}8z8mqZ&iWRh9H5b747!rgF0He^_h_)Eg98cJ!-gw9fM1Oc5IPS;wKp!z1u zdszzC98it>GONce%E@GCxfZ)+vT2;zd^}tI$H9U?K%#<^vEB{HD{K$A#bFri~ii0N`wGnft|z!_*dv5A6`PP*7C#Hx?2%Ztj_aXzR+z%KJ?pO7iQ zatXt6w}(4o90lO1nAF}0%F%D%fButS!L%)=^mN7isD%eVg=CnbDg($tLVa8XW6S?Z zuv=21j;AT`rw3duiq4Q5PJF`^e-OkFeIfsK;LAWghmg+^6(dQQ7<4-O>1usltaBzk zANC&An5cuiR_Ub_pJ=lPi=~93+!k0Q0QDVT=Aa)7JNbt=R3u%G*#fT;W_IVc!b^+) z`i-YQH=ep@?rnn5`uSY3=KOv8NTxfjW%})Pe{}kgogLy*IP8=zTLh__ZUtVwQL~n1 zwP#wWs6wJFRXCqWak_PE$yw35O`%!+LL?PXQBjq{iW`21RE02*iD79N>p{7_>3Kn& zp1+gzPv*^So7aKv@0$d&u3N;e4z*4m8^a>qUE#kuM`y8}#kdv2IG(^)$+o=nJ+ln? z8h~=XwwinO{Zzi+%s#|~b}vWG&FFnDu|IhAg-!P0KR|~ITszjT-9R+1+sb0R(GI^t z)QHpa8w$q5L9C(;rB`;EqxojHGcJ)BOg)fL3uZShl(Az1ga$4li*)idy40KM^q- ztkk;+ZM9Zc<}#e+;`n3VlHlh`GMpVoAc70>W78y%s=eb#P++V(ds4?=Qcs^~U8=tT zTrMFDAHp>~S9Gkrcm|_WNS@_>5m8G5)Aex#(wtn3!W3R~Esbo<(cxm1JP@Q0QMJ+z zSSy8Q;ccU=}~kN+&=24s0a005i!18dgL|WD$|MvlJ!Y=f66k%586!n7NWA<1`{zS{|w-pC#aR2-d-6gkIcq zZB`y zOkiAhYyLJ@H7YLzN65AC_pjlCml*qCJH}gvI6eiB5IohHEf?Yax++Hl`sZ(+lc_{i zUUHytSEp>%=+E~JHz==mNAz(DUYW+TA|K&rJ|C3P+N!HZw}{7j_xY-nHh!sG-u#HA zcBw13Vt0__6e`+PMKluCdg5|wQr`__(Ej+qw#O}3xx1^Jzi&u&tSH1>l>7QWny!MY zs)kvMqJSXX%^{^xI;9(=yCtMSx}^_w=1-w7th%tiM3 zK~wEgS-N4GD-n(g-{(X}PtrAp*W?iqo*(d+#_1y4NKlH)QEle7n0dVbga;_UpgSm*>Cv_FbR?&k*jr#iAo{iX`dNoM}x3f2k~u8f7It z3!~eQLSd#)aql9S`0ay|5+W)qsIbpf$)6Y*;u!_%?jCZEk$aXZ!NTEg=>L>HCQf}D zqHaRhRqVOG+sb%wdGgw8OBp#zFue3|ql1w*yYv+D>(6+(bYID^k~dp?TVc1?<@j^i z4bKRrPXA6)aB&THnfhWzLd`D_?)pU3vcJ9`bY86SaEKS*9`CaipkwwHFR^i~0oxuo z9IpmJgSKF;DlH?p4FzvLsynsU1htL_#oVl@-U+m)T_k)g=zY@R6W8`nUUt<${M^ed zb}9_=IE}}u7mT8x`OB^OjzOu*O@jSC8&aDkcP7j~-7#k&Dp5a%s_l+>m_X5`>4d&k zW-7f8d8oJPZY7Hdn1`_N-Et%Paog%l1RsUkYx6U8Icjn(w?770{n3PV?*VrGGL)5T z-U??0-QxFB2=wUViIP}gtiX-ZP`94h%@!oeG-8SNz$@+I^UknW38&CVFz)nJD#~CJ z5bFvTCLrcLoT;oP#=VENh$RLVYIh#+cC^i={j#y7kX{#R$s@6{CpjLQsoHbnryKsR z?#dJA*nZM^+=jQVib0UV;KCuEbr`#_Qc9L-glPWEDXiXagNjpq+fWFsvCSom6$5;sxAD- zEcM5atfRZ07UL<~TFySf*iILdgrpGj@QSB!(y*VjC%wnZ5eGUI8LQ~e@X@gku(IXd zR_1tg*lWECi=iMx|J`Qd3g!}`@U#faisGi5IfJe3=E12t)b>oY@E9LM*Zp-dg`|LN zE_4;=cmH5;pg}kooZldsQH`*W5mDl#P~LASuD|%F2HtxS>JG$j1{{cER~Y{y))H@{ zw%l=->Anso)D*eN{DAgS25el3n$Rb^++xc%f|b?E!R=jjhF8;L`FrPZYzmhCK0F7H zUN~u?OlaOBcB!?}IaEGu`*_7Icn3dpS2TN&ubizlMad4DGpLz-Uy(Z#QX2f#K1{tf zeBkkZQWopRK25khc(1s}K-H>XN?yp_E9WelA!mTJiMP8cxo1ZBq1%MLC^uz|K$p&kehM)e*~oa~$H zLhq6qH(=xw2RfBMmX7dHIaUh0JGExYWZ)b(eRei6`^?yfhb9#8XOXRU2;#{KrZr?4 zzeyi&7(mDZ`mYhH`8F-xSLd`Ek7Bge@~L*=x_DgF}>-0I~&TZK5P|Cl&wy~maBit%3y@@w8?+ncja zadKoEv1-nh0|&!v`sc7vt61|?<{)BFz6!>*B$*wF4h3{wEs~#}0sv|LE#%QUXXiT` zualzh1(-~i_je`qR4Y5P5CLVCJ+-}e?~1o8v^+9;N~FpZhedCmRKB#+R1U+upI_#z z`$TV6aHu}6$6MRy@ic?Q%Qh+P4a-M4XSqUxIJADESL6eF@REW(%DHj8)rO&!1-YI6ln9Ziz9&bb}AP2|6}}{nw{TBhUG$^71gq%Hqql z9^5e8VfF+RLkdU^tia{kSBhuSnSNHPK$uB(hp6osA0h9l93GkNRp@M%=P0Hq6n+PLM-Mc)+va9?eNtIirX>=%_p7aK21*h21+< zpZq3Kh5p7X_7Z@*7jN&qcCP;Uc3v;>#uLNDS&-KQTV2*Ajdd3BT9|;*`x_<+4Tghi%?V?UES_nfSUu^3 z-ETnEVUE{MSLPH2Fy$J7Ky~{TZc!ZEqFVZ3da+t%YN?QSUA#{VH&EzA@cSy7ZqZ+5 z`JTqVViKx%_AbJ3k|D%3n(Dy9>%wzkBeZ+tX2p*;GFF5czxWPL2XUN7;dP}_HYAh! zz*46aXCfc?xxSQ)wEtbN70PP;H_%&tLeD>6mi?91WP0>{o$8KZ(LkrB7rL}4vexhw zOIj(J=ozJ}!UqFJ!|rp}M%?vK;}}w<)kgfTY62Fmpr6v9sti(;ELO;6XhqOFy8Xg1{j4CDKA&&7BIq1b{BF%lbr2eR%h^GY~0V^ zd!6h2cxp(r`hGOYcqEcMKUP*w3x>+Gz+}Xs{|6g9b;s_;Ma<`)ilAKiyfawyJXQ*L*yNrnp?$zfQ8@4v=^^p`Vs#Zp_%nR* zyi>J_DBRkZCrGjY9WnKykpVc!fnMVjWUcKWTrzHEa6I~+o=u!N;Vq1@9GR;;VwKCe zGP(CTH-?NgFX1u4K1q|ZvcZavu1Rfcs-7@`UtHULuAcF3#hKP{zMyILr-Vvp zePV_idtWH@Wd1KklRr@0cAL$lRBlG}WgJgeaAaF=2hG+F8?c zmH!+S8P4^HxXhGL#d40^Cg~|+-X~FEK~x*cy~ut{od34=>U~1qyoTC(`|zeMc7<;w zsEv_9)X?)h$mP*gAGx?0-f$QcfUU(BCP@jss~V1MfJk)iy(j9|kvvo7#I}{{RFKq=L@ur?f+-*H%d%giqr(czIRnWz` zNaIZ(V~LSStBJk3QrJXC8dvvz>t}p=x1%%DaH^L2-KeapmlJq5BhB>eCbT3GIKJ_Q zS$(KiumDw@qG09Nh$9Ey3;zwZ2=u2TmM&esA>`+FrB<)^FZ)=9tAPsm{gZh&hKz-z zPfk<@&PtKykjlmx^zC-_EvSh%hX(>WLH5HZSm~iLcR&*jw+Z#ebxNr{%TEmcm5pg$`Bql{^zS^ zlz8Qv3au%_MqB|M_NuI}U(}EgAX7^Z(KNT0~SAU16qJV`sM8$4u~|OR zK%C8~fdVTu&9e~qXO?@0H0TUbyya3PN z&+W}@=%VdY&l6Ouegz&V*t`@5S9t3g4+p79rYH%9tkAK;+{uM}l_Ru8;^x$xwlA8 zup>%Gmf=+0n!s$<%U6_sMPBt|fW3bpzjeJdTK^;{bgBZnw-#A%Pmg@P^}l&Qn|dU- zx8PhRKxbL!m)w~(1bsh~uR{BEkLG~f3b1GSjvMY8J=IN)ZN_7q`YZ0tmO$#U^OTcj_U9OZrXk=y;IqfLYL4_dX%{G45`UP64!N#kPlk;w zfbxW~X#~KUJHAq&(+-ln)_r_qB9RPQ_D2AMvAtFzE z5(CMXn2_p$5-KMXc8vHbKdLGIj>*t3?HWuqp;?DSmd)yNE|M^n99LilM$)S%$~u{M z@rv%uJ>jU;f<7 zpIy^!)FMEG`Y#sm*6`1-0xjwGEZ&qfxP|6yKfcg&qo;E#-#5F&Na`>Ce3jrrYGDZ% zmgLYk+06t7$yg|%yrJwjL1!g9M!vz7o6o68FNMGC4yJy022W5qwvy`M$kHc7mGnfS*qIO@*Q9&=J>)+*x`df@|&w0FZo22OEK@0Sh;N5i|NB;1( zje3-zbm_(R<=)v|{dtj18;3Q-E1llDf-2V5d>aS?EBwM6Il3H783y;L#2TS2o2(iw zm$)A!fEnuAl?2*80}DfZ>IXv<>=LU<3@IfEnH|r_4^DpkW9H$MIp+;tw329OFlEz+ z=E83CJc_irhAh-qf!(Rab4Ol10}97&43kuQ?+zXPN3FX`2!+$`e2hQhBzeBF{;3N2 zPdpql#K_2zs6@-K9XLJ-j2cWajw_ri#AI*5sn1E#>`vEk4pzI7N5-Rk-dC^^m>7!M zBDI{0c#|5O_oGrg(5x-u6UlQzuPsOMGsXnC$7*pCKsE4MjWP;J)Pw$e-w52(Rt0RP zz{wH0n72d#g2(l0_!1h?K2L)m7knnw7nCToEwVH%i@(TE!3;l|%_}&{vCz8gRGQJp z%7_lr7Zii#gFxkD=|(dXHfIpkRaH$&-$vf^TTFr(2@Qim;)uUWg6}t>TY%nbCCcLO zcehv8c7?Y19Vf=*iqvJd=GPCoFytUf?I4eB5vXP3il7Lu0fA-2JNoC~7+ygRK z4U8we+mQ#_pm`H~muJKzl(*_|`F!<9b1`JS@#e7puICf=6~U9PXa8|4!Sv;!r$>g8 zbS3eP{as7%Z3-5qzR0^RY`Isy#Ov~p3efaGEv0(J7hzBV6hD%@Un72@D=fphYVRkV z`7!euns3&o5x%fh`H#YI5Su|TK@y?m0Tun{JJ}Qe(r$Wi_zbLt;5p@ys8p#$!67wk z2$j1mSuNa4k(h5e7McS`TsVWmL(TE!`I5*_`FDzt&qdVlig+R;iP`Ms-#wlE*kMdN zc&aCeTB9M*MI;pS=(Lwvr!T2`vT@7GPFARnx(GDEht*)B5h!fw)lQzEOl-FE8-#Vxwim z+d`WOv~}IXF*Oq1TIAL++SQ8q438a3QP&CfHPjsNAY1P}=*B9FXhS3a(X+48>jMH6 z^qXds9GhWPwfukJ6~7;>{`BME{hK>RdoK})%cut7UEVVDD>9$&vcdVIIR>2F!eT&> zg0dqZruTdm>DPOGj0L1y;^SzI;`~N0#ZwzMydbXCv#~MdZ zbSX=?pOnHyGFpNtbyo-;n@~3Mh_P1S-D#=m1u1Uk3Tij4@x^$G(MFs1FB3KY9yjS~ zlYdfAamx6TH2RR|m??MG-EG#rF(ZGK{R!wsn4hvbS!4f*!~8D`pkbNqWlXX+`02TJ zq%41CDXabSy&$XH%YRH-6#_c!olwHz;!m=i!YA1xFc7vl*U|!sF`M=LS=g8momf%b zIdqiBSi|(ctH1u~ZHsrRR$I7_*t-Pig}5GlusFh85tCN9000Nc9`pKiN}7GGB?jT4 zqZyFT(U(zHh2qjT9tK^8;bDGYeI}=EgfkK&@cK=Jivh>kQ13^MFq&v2ei7ZL4xlYz zrnNuCUWuI3%<&IiUEj__ca{Taq17orsqe`|5xXJH=crOBc6xL?H`z}&pOWjZFWmR( zhn&YZpT{(y>tjaMo(;8+-NpW%9^q+vv4)Rz=@$W3mMM-X-Oo5IuP>yXdIZ%k@~2J?@C<>V|v+LGc4mpK#MkZ zaL4=%hLb0XZ7MV0Ia&ffHU`j_N_CXV3QZUMz}F6NGvjK?+C9Nn7gU5`T=H3;oTwU} zE%;X2F;!wMp0v_L(_2iRRbTxeK-@}B#8wz}p1i-PxeN7Am9p%`Kz2aYiVAP!i`^h* z%S!7!F-IZGHbSf%-ON>^vV~rKrRTccBIcP3>^_4l;aZZ}=(YD9zFPF42ISQUzWe&h z0$H(TbCbtYiZ)(*FeT%t#JL{mX4VL{H9GJ{3O~!qWi{WMn0n`y-f(@$s;6Lp|W?n~CGSQlM2(9l1o!Dx4Vx~xJDsfl}r7Xw=NfJq- zBiTcu4gZ`2r$quBr|ACx_EhX&Gp$3tH$-9~(dpWn@$3C%1ZaV<>-40Vd$_O8O6q@{ znabLGP;Hrri(W|$YQ+)C28> zy6rt{Lr7aTMAVH}s9adh4eDk4`^l(ds)IWTqLG?jiD`MRmb8r{`G7N^W}V&oGeBMy z!+K74a&!tT8z9EUSO{$sE?fzUioZqWZbmp9riJp;_B^+G0586<8xQ2cxoYu6mzbbn zy;GVmggYm^bUq}w#S2`Bh$T_P$4LN}NaC8&D}J`&+JyWl^C7CyF_9@D+VhUSKSDW2 z0=-q=D*M6KOnKXd>0E>ZxV@!uZwuYS4oPxeXsq!Aj9m3mVO*n+c$#Qr>_4Aoh<8R* zZ*cxGC!`yh-YO`6L4ak|T6h^Ic2dc!uBFcyoi7LJG=g7+uz04pgJb(yzFHon!A&lb z+hP#qnw{cOgmq06!#Nh1-_a(E2J@*uPMoXIQNmp{7$S~ib zD~f00ul;s@uBHBH3Gd~NK(@p54Ncyf>=iHRCIKn+Y2#i0UaX;N2xqpp6pEs~05^~A z5C{^TNdQtL_xgdAtT5x2#h#R7vl-KCs(xp{PM|yf;|o1<=oPSDprg?u4+&DAkw&XEpDJH${qZThHN(jvytVnL8}X4kVTO7t~jh z*Gk{i(szT7Oy*-nDQ=@|bCY)d^irtiS6;6Xhkbd5FB<3tY+H_9)Z)FhUZWvdA%0rW zQLBd&lpO1^=yU)AXW*he8qq&1!ka|~9p~=KU`Kzv5**2hs{$m|JWc4kPkGK8G1ET% zmsB1~O;P9{vGg)lg1DSuTU}Gls=pL#AR)A^DfOnfe{;1sN8pzn-Q6BRY8!3z6@T(% zm3%Q%bQ9I=;ilhOztbG-xl;pz0KZ`+XYWy+8Zg%BC@stQJJa2}|(*x|ga z9VnYY$cs0q5La1x9nEpICC&JAbXrnbMFH;Sdi9}FYCzDl9I+O0&PDt>7g#QeYEIdV zq00_FPMic>Ho)4({!mtt>m{V*b}5hB)6MG(vG%z7X)wdzlZ{F=J^_f=*beaQA&#i~ z!VL6M*7}k{-^iA0zVADd1#f$7;n_#`j=tX6*ghlh>USremKx;={{0GkvVDtYe-j}bgPJoVZ z%G8H(>4CI4t}*e(hCi)GUcq1QH?Z%#c|U}fYO>NbI|bRB`~Ci`H>c%~89FVNdR#AH zwLnA5(SO>8PW+iQV^Ya%Qjdt$3k4OV=LH=rP$ApSER9q)PywEz{YvnLI^n5E+GHSi ztrpUI8DFJuSy5>dw}wBm-onq6 zP0#o6SwUhY_0;YTPL%1L6ttS3p0j>b`IXE}=71Qm7(P{C6u~XZ`DVy`TCg!!w(EZX z^oyh;Iea@YeEWTyxtetHR$yh%7sGITib>8NB^0!ui{~7-H%Ld&pO}glUNyd^2r!y# z!+n$>!3KDS=oAVA1)V#X4T9>{5Nc&=!J^an7x>GjxcyUD!>Zlhp)g&hlsQ)mORYWw zdRq+OV1e}}B>bOIrK9m5p>CY(Y;@{#wb5~W$ei~jT}8ubjwr0K?EMwBw4tSx2`rd; z#!9BX#bNvAJgcKx zdMvidADp7abawUvIy(DK7084i)%0z^_c7}ZUo^RpcL9TxJAq7w-zaf5JO5H^G+W^f zRcWQ70U1X*n`iomnOo4r4CO6GJTuKdrAhXkT$o&_rqIw8LJ^OQM7P&ujE%%Epr>E9 z(v5ewAK(k_{{!$X$Q019rzm~0r-Wmzg=yCLg2tzpf4)eHZeR#XjGy(~jA>*wX)O%~ z=5FVWk|s9j+Dz2qCF%gicOikrd*VY;kyLTne_@zYiGMO2-~GXvSOb_RI)? zrR@N7ux#{-bByz4GANOz%)O%t)GCmq86+=xpcPCQ_BY~{L~_zmb=r7ZPjP`Z`>>tA zg>97*vfBKrz6BJw*S+6cx;#Qx0{1b{L9V-UbjhaL;^s-tTZ|$+qji25##@;)p;BUM zppjTBSy#9Wee`;Of(Qgq&D%~h;y!CZh&{I9E>`A4#cxo7p1t$^%ZY$i$gU;URNiO6 z=|)SO1x2&ptxKq+Zs0#WE&XizlI4i~St1QNtZ4N_%Ay;cgNENmoCjgFxZ9yFutA#A zU(K|l(T-`!{StPTSlDs5FE?YAx;~;KbQe~KQP{QYb4KbXXjSrLhIx-e-KUp0ATx`F z<^>P~X9~MhX3d~W=~HxRj9py*b#_uu-Oe+c^Q!Uc1c_1Hs^?(b5vBvwH_IQ;2$MR) zq1MpGOrez=)7p)ub_}ZE1>)M|7FNFhmTJl zn?f!Y!w+yAw~o0xmS$I7#@iu=dqmm=aTuJX@rmbNo!-Bx%gR=LA2ZQ9;`@BTX3hRi1vN#HpPHY4zKa$$G!HXj-vvO>ODIY z_E#@9!FFeZX%Z|62prm-G7SrpdZaF2;8U8%fBo@~5+wTjHt*&7yphvM?|c!;3zQul zht2Q`PdJ4$*n5&~ZZ5w9YRyV_%wSo#F8}jIux@3!f6U#TQ@uW==7=wMO%Bv>N7LyT zRH;hRr5+Wk{S!Cq)H2kHxd2q!$p@#2% zGWX_6Wlm#lXr;d(X|W;0?1$Vrswq#ce%3*2pGZJAr`%B)T<&S(xQ5affS3nYUW01H zdF&Wy^(VuP=o{QZRObIE%n)`qKjE%XetgiO69K+DpqY~cT08wUKi~s%IprqDh)Z+1 zLO+Si$J^gHAi!N)XL4!r&b&JZKp%ty26)4JZ3|hVvSOKS!D)LC}!#GGc1>2H< zzLsR1Gw8cR(4LXSlbXju_y~j zPbmOeoS+Sec+|@$d_7AWNLkldo#ChL zdcq4NE5XngbI|Mf-$HSm%InET5x%C#1_92B`^(!N0So*!K=@)&HIK`;cP=0&I}xo~0Vgfwp4f1%wa z-bQZ!i%NlfdXep0nt!K8&pi{UsXvs@8M)%k@++V_(qO>->;?8gPw@uEWMxp=<1i+Z z@wUKjsvon50TsMh%^5&D(mpLGFD5qo{DME@MPvk~n8o~sIe1JECRAIpNs3uzYBYM# z*bszi##OTZjiBY;H~GP;m>M#^C9N8pGG`Q{69CsGFQB=ofHSoCFy#f+4HJK~|D2+S z?pkue+^5OqxGfPA6|A$AZ6Q}vfYUO5ry zJDzWv2qWeOyXkV+ZY!p{Y8-&hkd!F@Su#y!46Q(Hi`c()_bkhYCPo3#4uUByyGxRumtjR;y>ZaZ zt}=Uj1Il9~ZdZC}=S97U(5ovUpsM_rXWJyvGrE3GSOD;vkSPaP*F=oqRdjwrw^6cZ z6Asjruo848fum5ACej}qdSl_01m(LSosQ5kQCUQ&8Eu}d4?uGgh+cJ++|eG$GP^e( zJ2aP2Mh-q~A;K((`dBf#LC&9(Rh0>XcwG

        WB@Y^DP%tibyNz5EwLzEM&TLhcrKpy7zH!p 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 d-I7 zR#~2QgF5@5FVExVE{xdsDM7&459?q3)1Hh$ScsAhd@5zu@(>_;z-mSyg%~ikSu$v> z(YnRaBD70|dt>snpw)K?%k8DDuRbnk$s3>ieRgExLU2!R&!wX8B-)8dIwU|>5sL0_ zW)8*Dl$ANYFR+g#ZIT_`g7FUq+WD>~M9n3+$P42AF|vwUt}-H>)0vIP@4pM-p9uRJ z&o$h!cz6j~gq)V`(SA%qWV~?gwtxl<&+VDOOxS)j3dU8vMmOipE_*nj`@%BX&YM;@0fkGbBIMdfBsXUhy zCt5csrFi62v;?||x`(X7W|y4GBk#N)RH#rA@tOJOW6`%#v=qwx3=)6TE=C~d%2EHw z)Z3w~dj{mM0z$sFO~C|5lKwj^4CETg?I&5Z89LSiiz{6%P0MX(kze_#Ds%RMmw0+D z#&+r)$1<}IPW^v>9X>Vrwh0DVeKzk%Ww9`-N{q?rI(+8An0K6fKfl}MmgUp;4L@b7 z`j4nrTc;*I-QA(hmS*EePTF3VkKKX1_NS*hiV|D3^U*bM{B4GzyEWC$Cb2(^gE|jJ+z<F5$g!Sx555Co>$jvqDw+(e>MY-(zbu+}l&xd8G zXyS`izN+Or+s^mBEK(g-nNcW7g0Fes9?^CHp# zo2AOUx(`X~(Su?(0^Hc(fSJ}RjLtz2p>*7{0MH=h!h&*O&qV-%3SZs465IZ4x{LhUn2sk8C)JNecdR zo9I;;3K_B}!&o{XQUQt52bGoDLiYAZc|O~x`nHDCXKV<*N@iNg!<^=N`&cUSUq%>5 zXjkdZ{MYR10{h&N3^qQANI@)M6BI*d@a?khS?hNoBz5ZXYg9*5&RD@^cx|tHAntuw zIeF~zOSiw+t-ZNnf5qW4X{gI`^sBka7bW9%MK5|Zbc3HR z(jJ9gRVmr7>*nV#3yY#r|LZ&>aa3m}@u#Io2@?xxbPBt&(U8|xf?rI){hy0^%nm)C z6i|+IyXWD49+AY+t-*fqN_nfr#VjQj3T-W$@5S9Lz*tc!Gtz-hma5xJDKDvnKzEK` z03$~lb+3`K^El(q(U;61#ZnAuKjdf691O1x5N{k{)qfyDxDf{i+a^a3u@3xtAHrtfwjTmMx9K#6H`l9QDK5;+$ X64&0mIO-E}X(4BXdQenvK?ue;3wZQ-+oK%EN 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

        RoMKnt@t_JjEF6i>l@7Cg;yy5 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μ% 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≤8z?f&GKIW)SZ7Z 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�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

        JnAwRRn`M&o47+Xs8>u#NQzk4CB2G52j~ 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

        hK({Lfh6VQxml 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
        73|x?wHP17d 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
        >jcO(Q0jaoO2!+Zb$YtE7j^ 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

        |^ReKkj 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

        xHg!3xPhae8rV@qm{cx~ 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 DiPI$E literal 0 HcmV?d00001 diff --git a/examples/NormalModel/Moon_Sphere.asc b/examples/NormalModel/Moon_Sphere.asc new file mode 100644 index 0000000..100ee86 --- /dev/null +++ b/examples/NormalModel/Moon_Sphere.asc @@ -0,0 +1,2949 @@ + +export class VertGroup { + mat_index: i32; + obj_index: i32; + start_face: i32; + length: i32; + + constructor(material_index: i32, object_index: i32, starting_face: i32, len: i32 ) { + this.mat_index = material_index; + this.obj_index = object_index; + this.start_face = starting_face; + this.length = len; + } +} + +export class MaterialMap { + ambient: string | null; + diffuse: string | null; + specular: string | null; + emission: string | null; + bump: string | null; + + constructor( Ka: string | null, Kd: string | null, + Ks: string | null, Ke: string | null, + Bump: string | null ) { + this.ambient = Ka; + this.diffuse = Kd; + this.specular = Ks; + this.emission = Ke; + this.bump = Bump; + } +} + +export var objArray = new Array>(); //1 +export var matArray = new Array>(); //1 +export var groupArray = new Array(); //0 +export var matMapArray = new Array(); //BBB + +export var Material_001_mat:StaticArray = [ + 225.000000, // specularExponent + 1.000000, 1.000000, 1.000000, // ambientReflectivity + 0.800000, 0.800000, 0.800000, // diffuseReflectivity + 0.500000, 0.500000, 0.500000, // specularReflectivity + 0.000000, 0.000000, 0.000000, // emission + 1.450000, // opticalDensity + 1.000000, // dissolveFactor + 2, // illuminationModel + ]; + +matMapArray.push(new MaterialMap(null, 'LunarMap.png', null, null, 'LunarNormalMap.png')); + +matArray.push(Material_001_mat); + + +export var Moon_Sphere_data: StaticArray =[ +//X, Y, Z, U, V, NX, NY, NZ + 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, +0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, + 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, + 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, +0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, + 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, + 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, +0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, + 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, + 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, +0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, +0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, + 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, +0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, + 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, + 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, +0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, + 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, + 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, +0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, + 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, + 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, +0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, + 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, + 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, +0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, + 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, + 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, +0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, + 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, + 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, +0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, + 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, + 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, +0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, + 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, + 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, +0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, + 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, + 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, +0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, + 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, + 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, + 0, 0.7, 0, 0.734375, 1, 0, 1, 0, +0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, + 0, -0.7, 0, 0.734375, 0, 0, -1, 0, + 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, +0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, +0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, +0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, +0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, +0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, +0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, +0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, +0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, + 0, 0.7, 0, 0.703125, 1, 0, 1, 0, +0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, + 0, -0.7, 0, 0.703125, 0, 0, -1, 0, +0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, +0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, +0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, +0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, +0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, +0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, +0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, +0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, +0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, +0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, +0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, +0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, +0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, +0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, +0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, +0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, +0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, +0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, +0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, +0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, +0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, +0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, +0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, +0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, +0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, +0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, +0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, +0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, +0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, +0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, +0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, +0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, +0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, +0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, +0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, +0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, +0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, +0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, +0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, +0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, +0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, +0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, +0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, +0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, +0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, +0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, +0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, +0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, +0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, +0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, +0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, +0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, +0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, +0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, +0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, +0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, +0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, +0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, +0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, +0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, +0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, +0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, +0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, + 0, 0.7, 0, 0.671875, 1, 0, 1, 0, +0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, + 0, -0.7, 0, 0.671875, 0, 0, -1, 0, +0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, +0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, +0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, +0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, +0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, +0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, +0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, +0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, +0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, +0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, +0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, +0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, +0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, +0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, +0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, +0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, +0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, +0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, +0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, +0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, +0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, + 0, 0.7, 0, 0.640625, 1, 0, 1, 0, +0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, + 0, -0.7, 0, 0.640625, 0, 0, -1, 0, +0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, +0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, +0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, +0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, +0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, +0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, +0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, +0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, +0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, +0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, +0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, +0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, +0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, +0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, +0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, +0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, +0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, +0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, +0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, +0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, +0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, +0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, +0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, +0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, +0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, +0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, +0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, +0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, +0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, +0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, +0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, +0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, +0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, +0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, +0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, +0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, +0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, +0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, +0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, +0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, +0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, +0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, +0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, +0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, +0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, +0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, +0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, +0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, +0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, +0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, +0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, +0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, +0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, +0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, +0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, +0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, +0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, +0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, +0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, +0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, + 0, 0.7, 0, 0.609375, 1, 0, 1, 0, +0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, + 0, -0.7, 0, 0.609375, 0, 0, -1, 0, +0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, +0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, +0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, +0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, +0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, +0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, +0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, +0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, +0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, +0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, +0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, +0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, +0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, +0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, +0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, +0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, +0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, +0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, +0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, +0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, +0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, +0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, +0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, +0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, +0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, +0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, +0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, +0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, +0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, +0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, +0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, +0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, +0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, +0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, +0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, +0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, +0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, +0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, +0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, +0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, +0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, +0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, +0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, +0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, +0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, +0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, +0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, +0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, +0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, +0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, +0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, +0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, + 0, 0.7, 0, 0.578125, 1, 0, 1, 0, +0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, + 0, -0.7, 0, 0.578125, 0, 0, -1, 0, +0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, +0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, +0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, +0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, +0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, +0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, +0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, +0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, +0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, +0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, +0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, +0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, +0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, +0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, +0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, +0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, +0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, +0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, +0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, +0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, +0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, + 0, 0.7, 0, 0.546875, 1, 0, 1, 0, +0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, + 0, -0.7, 0, 0.546875, 0, 0, -1, 0, +0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, +0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, +0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, +0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, +0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, +0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, +0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, +0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, +0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, +0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, +0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, +0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, +0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, +0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, +0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, +0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, +0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, +0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, +0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, +0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, +0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, +0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, +0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, +0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, +0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, +0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, +0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, +0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, +0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, +0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, +0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, +0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, +0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, +0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, +0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, +0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, +0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, +0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, +0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, +0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, +0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, +0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, +0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, +0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, +0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, +0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, +0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, +0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, +0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, +0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, +0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, +0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, +0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, +0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, +0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, +0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, +0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, +0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, +0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, +0.7, 0, 0, 0.5, 0.5, 1, 0, 0, +0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, +0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, + 0, 0.7, 0, 0.515625, 1, 0, 1, 0, +0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, + 0, -0.7, 0, 0.515625, 0, 0, -1, 0, +0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, +0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, +0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, +0.7, 0, 0, 0.5, 0.5, 1, 0, 0, +0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, +0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, +0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, +0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, +0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, +0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, +0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, +0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, +0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, +0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, +0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, +0.7, 0, 0, 0.5, 0.5, 1, 0, 0, +0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, + 0, 0.7, 0, 0.484374, 1, 0, 1, 0, +0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, + 0, -0.7, 0, 0.484375, 0, 0, -1, 0, +0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, +0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, +0.7, 0, 0, 0.5, 0.5, 1, 0, 0, +0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, +0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, +0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, +0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, +0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, +0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, +0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, +0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, +0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, +0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, +0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, +0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, +0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, +0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, +0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, +0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, +0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, +0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, +0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, +0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, +0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, +0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, +0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, +0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, +0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, +0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, +0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, +0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, +0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, +0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, +0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, +0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, +0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, +0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, +0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, +0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, +0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, +0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, +0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, +0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, +0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, +0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, +0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, +0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, +0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, +0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, +0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, +0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, +0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, +0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, +0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, +0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, +0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, +0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, +0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, +0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, + 0, 0.7, 0, 0.453124, 1, 0, 1, 0, +0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, + 0, -0.7, 0, 0.453125, 0, 0, -1, 0, +0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, +0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, +0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, +0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, +0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, +0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, +0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, +0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, +0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, +0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, +0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, +0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, +0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, +0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, +0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, +0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, +0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, +0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, +0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, + 0, 0.7, 0, 0.421874, 1, 0, 1, 0, +0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, + 0, -0.7, 0, 0.421875, 0, 0, -1, 0, +0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, +0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, +0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, +0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, +0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, +0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, +0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, +0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, +0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, +0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, +0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, +0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, +0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, +0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, +0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, +0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, +0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, +0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, +0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, +0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, +0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, +0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, +0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, +0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, +0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, +0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, +0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, +0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, +0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, +0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, +0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, +0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, +0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, +0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, +0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, +0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, +0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, +0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, +0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, +0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, +0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, +0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, +0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, +0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, +0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, +0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, +0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, +0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, +0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, +0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, +0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, +0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, +0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, +0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, +0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, +0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, +0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, +0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, +0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, +0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, +0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, + 0, 0.7, 0, 0.390625, 1, 0, 1, 0, +0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, + 0, -0.7, 0, 0.390625, 0, 0, -1, 0, +0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, +0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, +0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, +0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, +0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, +0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, +0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, +0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, +0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, +0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, +0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, +0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, +0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, +0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, +0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, +0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, +0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, +0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, +0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, +0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, +0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, + 0, 0.7, 0, 0.359375, 1, 0, 1, 0, +0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, + 0, -0.7, 0, 0.359375, 0, 0, -1, 0, +0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, +0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, +0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, +0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, +0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, +0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, +0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, +0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, +0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, +0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, +0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, +0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, +0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, +0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, +0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, +0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, +0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, +0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, +0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, +0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, +0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, +0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, +0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, +0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, +0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, +0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, +0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, +0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, +0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, +0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, +0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, +0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, +0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, +0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, +0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, +0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, +0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, +0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, +0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, +0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, +0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, +0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, +0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, +0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, +0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, +0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, +0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, +0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, +0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, +0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, +0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, +0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, +0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, +0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, +0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, +0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, +0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, +0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, +0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, +0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, + 0, 0.7, 0, 0.328125, 1, 0, 1, 0, +0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, + 0, -0.7, 0, 0.328125, 0, 0, -1, 0, +0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, +0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, +0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, +0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, +0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, +0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, +0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, +0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, +0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, +0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, +0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, +0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, +0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, +0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, +0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, +0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, +0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, +0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, +0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, + 0, 0.7, 0, 0.296875, 1, 0, 1, 0, +0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, + 0, -0.7, 0, 0.296875, 0, 0, -1, 0, +0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, +0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, +0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, +0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, +0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, +0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, +0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, +0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, +0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, +0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, +0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, +0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, +0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, +0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, +0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, +0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, +0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, +0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, +0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, +0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, +0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, +0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, +0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, +0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, +0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, +0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, +0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, +0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, +0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, +0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, +0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, +0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, +0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, +0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, +0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, +0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, +0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, +0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, +0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, +0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, +0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, +0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, + 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, +0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, +0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, + 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, +0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, +0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, + 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, + 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, +0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, + 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, +0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, +0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, + 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, +0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, +0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, + 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, + 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, +0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, + 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, + 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, +0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, + 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, +0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, +0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, + 0, 0.7, 0, 0.265625, 1, 0, 1, 0, + 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, + 0, -0.7, 0, 0.265625, 0, 0, -1, 0, +0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, + 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, +0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, + 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, +0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, +0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, + 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, +0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, +0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, + 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, +0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, +0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, + 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, + 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, +0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, + 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, + 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, +0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, + 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, + 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, + 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, + 0, 0.7, 0, 0.234375, 1, 0, 1, 0, +-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, + 0, -0.7, 0, 0.234375, 0, 0, -1, 0, + 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, +-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, + 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, +-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, + 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, + 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, +-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, + 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, + 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, +-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, + 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, + 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, +-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, + 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, + 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, +-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, +-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, + 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, +-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, +-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, + 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, +-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, + 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, + 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, +-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, +-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, + 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, +-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, + 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, + 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, +-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, + 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, + 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, +-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, + 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, + 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, +-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, +-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, + 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, +-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, + 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, + 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, +-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, + 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, +-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, +-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, +-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, +-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, +-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, +-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, +-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, +-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, +-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, +-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, +-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, +-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, +-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, +-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, +-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, +-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, +-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, +-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, + 0, 0.7, 0, 0.203125, 1, 0, 1, 0, +-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, + 0, -0.7, 0, 0.203125, 0, 0, -1, 0, +-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, +-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, +-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, +-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, +-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, +-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, +-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, +-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, +-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, +-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, +-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, +-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, +-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, +-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, +-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, +-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, +-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, +-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, +-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, +-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, +-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, +-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, +-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, +-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, +-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, +-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, +-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, +-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, +-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, +-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, +-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, +-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, +-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, +-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, +-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, +-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, +-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, +-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, +-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, +-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, +-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, +-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, +-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, +-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, +-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, +-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, +-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, +-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, +-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, +-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, +-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, +-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, +-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, +-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, +-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, +-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, +-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, +-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, +-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, +-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, +-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, +-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, + 0, 0.7, 0, 0.171875, 1, 0, 1, 0, +-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, + 0, -0.7, 0, 0.171875, 0, 0, -1, 0, +-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, +-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, +-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, +-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, +-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, +-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, +-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, +-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, +-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, +-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, +-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, +-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, +-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, +-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, +-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, +-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, +-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, +-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, +-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, +-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, +-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, + 0, 0.7, 0, 0.140625, 1, 0, 1, 0, +-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, + 0, -0.7, 0, 0.140625, 0, 0, -1, 0, +-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, +-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, +-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, +-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, +-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, +-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, +-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, +-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, +-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, +-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, +-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, +-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, +-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, +-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, +-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, +-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, +-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, +-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, +-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, +-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, +-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, +-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, +-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, +-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, +-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, +-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, +-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, +-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, +-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, +-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, +-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, +-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, +-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, +-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, +-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, +-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, +-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, +-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, +-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, +-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, +-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, +-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, +-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, +-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, +-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, +-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, +-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, +-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, +-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, +-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, +-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, +-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, +-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, +-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, +-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, +-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, +-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, +-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, +-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, +-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, +-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, +-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, +-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, + 0, 0.7, 0, 0.109375, 1, 0, 1, 0, +-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, + 0, -0.7, 0, 0.109375, 0, 0, -1, 0, +-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, +-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, +-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, +-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, +-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, +-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, +-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, +-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, +-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, +-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, +-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, +-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, +-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, +-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, +-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, +-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, +-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, +-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, +-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, +-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, +-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, + 0, 0.7, 0, 0.078125, 1, 0, 1, 0, +-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, + 0, -0.7, 0, 0.078125, 0, 0, -1, 0, +-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, +-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, +-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, +-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, +-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, +-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, +-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, +-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, +-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, +-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, +-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, +-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, +-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, +-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, +-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, +-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, +-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, +-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, +-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, +-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, +-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, +-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, +-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, +-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, +-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, +-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, +-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, +-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, +-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, +-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, +-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, +-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, +-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, +-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, +-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, +-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, +-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, +-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, +-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, +-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, +-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, +-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, +-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, +-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, +-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, +-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, +-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, +-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, +-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, +-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, +-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, +-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, +-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, +-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, +-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, +-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, +-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, +-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, +-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, +-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, +-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, +-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, +-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, +-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, +-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, +-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, + 0, 0.7, 0, 0.046875, 1, 0, 1, 0, +-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, + 0, -0.7, 0, 0.046875, 0, 0, -1, 0, +-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, +-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, +-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, +-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, +-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, +-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, +-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, +-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, +-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, +-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, +-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, +-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, +-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, +-0.686549, 0.136563, 0, 0, 0.5625, -0.981, 0.1939, 0, +-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, +-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, +-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, +-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, +-0.7, 0, 0, 0, 0.5, -1, 0, 0, +-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, +-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, + 0, 0.7, 0, 0.015625, 1, 0, 1, 0, +-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, + 0, -0.7, 0, 0.015625, 0, 0, -1, 0, +-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, +-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, +-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, +-0.7, 0, 0, 0, 0.5, -1, 0, 0, +-0.686549, -0.136563, 0, 0, 0.4375, -0.981, -0.1939, 0, +-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, +-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, +-0.267878, 0.646716, 0, 0, 0.875, -0.3879, 0.9217, 0, +-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, +-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, +-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, +-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, +-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, +-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, +-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, +-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, +-0.582028, -0.388899, 0, 0, 0.3125, -0.8333, -0.5528, 0, +-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, +-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, +-0.494975, 0.494975, 0, 0, 0.75, -0.7101, 0.704, 0, +-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, +-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, +-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, +-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, +-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, +-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, +-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, +-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, +-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, +-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, +-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, +-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, +-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, +-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, +-0.267878, -0.646716, 0, 0, 0.125, -0.3879, -0.9217, 0, +-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, +-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, +-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, +-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, +-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, +-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, +-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, +-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, +-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, +-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, +-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, +-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, +-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, +-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, +-0.388899, -0.582029, 0, 1, 0.1875, -0.5598, -0.8286, 0, +-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, +-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, +-0.646716, 0.267878, 0, 1, 0.625, -0.9247, 0.3805, 0, +-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, +-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, +-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, +-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, +-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, +-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, +-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, +-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, +-0.136563, -0.68655, 0, 1, 0.0625, -0.201, -0.9796, 0, +-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, +-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, +-0.7, 0, 0, 1, 0.5, -1, 0, 0, +-0.136563, 0.68655, 0, 1, 0.9375, -0.201, 0.9796, 0, + 0, 0.7, 0, 0.984375, 1, 0, 1, 0, +-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, + 0, -0.7, 0, 0.984375, 0, 0, -1, 0, +-0.136563, -0.68655, 0, 1, 0.0625, -0.201, -0.9796, 0, +-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, +-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, +-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, +-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, +-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, +-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, +-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, +-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, +-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, +-0.646716, -0.267878, 0, 1, 0.375, -0.9247, -0.3805, 0, +-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, +-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, +-0.388899, 0.582029, 0, 1, 0.8125, -0.5598, 0.8286, 0, +-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, +-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, +-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, +-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, +-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, +-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, +-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, + 0, 0.7, 0, 0.953125, 1, 0, 1, 0, +-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, + 0, -0.7, 0, 0.953125, 0, 0, -1, 0, +-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, +-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, +-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, +-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, +-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, +-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, +-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, +-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, +-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, +-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, +-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, +-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, +-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, +-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, +-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, +-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, +-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, +-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, +-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, +-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, +-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, +-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, +-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, +-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, +-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, +-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, +-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, +-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, +-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, +-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, +-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, +-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, +-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, +-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, +-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, +-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, +-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, +-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, +-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, +-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, +-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, +-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, +-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, +-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, +-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, +-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, +-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, +-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, +-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, +-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, +-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, +-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, +-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, +-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, +-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, +-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, +-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, +-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, +-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, +-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, +-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, +-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, +-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, +-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, +-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, +-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, + 0, 0.7, 0, 0.921875, 1, 0, 1, 0, +-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, + 0, -0.7, 0, 0.921875, 0, 0, -1, 0, +-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, +-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, +-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, +-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, +-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, +-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, +-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, +-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, +-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, +-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, +-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, +-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, +-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, +-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, +-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, +-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, +-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, +-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, +-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, + 0, 0.7, 0, 0.890625, 1, 0, 1, 0, +-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, + 0, -0.7, 0, 0.890625, 0, 0, -1, 0, +-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, +-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, +-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, +-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, +-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, +-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, +-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, +-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, +-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, +-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, +-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, +-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, +-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, +-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, +-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, +-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, +-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, +-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, +-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, +-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, +-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, +-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, +-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, +-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, +-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, +-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, +-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, +-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, +-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, +-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, +-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, +-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, +-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, +-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, +-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, +-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, +-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, +-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, +-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, +-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, +-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, +-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, +-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, +-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, +-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, +-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, +-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, +-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, +-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, +-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, +-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, +-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, +-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, +-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, +-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, +-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, +-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, +-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, +-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, +-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, +-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, +-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, + 0, 0.7, 0, 0.859375, 1, 0, 1, 0, +-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, + 0, -0.7, 0, 0.859375, 0, 0, -1, 0, +-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, +-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, +-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, +-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, +-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, +-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, +-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, +-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, +-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, +-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, +-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, +-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, +-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, +-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, +-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, +-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, +-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, +-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, + 0, -0.7, 0, 0.828125, 0, 0, -1, 0, +-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, +-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, +-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, +-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, +-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, +-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, +-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, +-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, +-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, +-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, +-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, +-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, +-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, +-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, +-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, +-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, +-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, +-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, +-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, +-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, +-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, +-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, +-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, +-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, +-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, +-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, +-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, +-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, +-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, +-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, +-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, +-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, +-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, +-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, +-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, +-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, +-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, +-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, +-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, +-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, +-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, +-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, +-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, +-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, +-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, + 0, 0.7, 0, 0.828125, 1, 0, 1, 0, +-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, +-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, +-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, +-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, +-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, +-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, +-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, +-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, +-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, +-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, +-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, +-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, +-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, +-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, +-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, +-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, +-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, +-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, +-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, +-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, + 0, 0.7, 0, 0.796875, 1, 0, 1, 0, +-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, + 0, -0.7, 0, 0.796875, 0, 0, -1, 0, +-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, +-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, +-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, +-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, +-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, +-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, +-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, +-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, +-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, +-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, +-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, +-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, +-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, +-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, +-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, +-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, +-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, +-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, +-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, +-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, +-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, +-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, +-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, +-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, +-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, +-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, +-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, + 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, + 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, +-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, + 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, +-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, +-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, + 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, + 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, +-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, + 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, + 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, +-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, + 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, + 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, +-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, + 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, +-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, +-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, + 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, + 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, +-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, + 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, +-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, +-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, + 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, + 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, +-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, + 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, +-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, +-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, + 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, + 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, +-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, + 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, +-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, +-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, + 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, + 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, +-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, + 0, 0.7, 0, 0.765625, 1, 0, 1, 0, + 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, + 0, -0.7, 0, 0.765625, 0, 0, -1, 0, +-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, + 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, +-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, + 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, +-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, + 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, +0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, +0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, + 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, +0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, +0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, + 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, +0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, +0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, + 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, + 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, +0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, + 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, +0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, +0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, + 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, +0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, +0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, + 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, +0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, +0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, + 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, +0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, +0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, + 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, +0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, +0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, + 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, +0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, +0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, + 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, +0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, +0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, + 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, +0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, +0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, + 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, +0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, +0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, + 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, +0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, +0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, +0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, +0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, +0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, +0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, +0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, +0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, +0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, +0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, +0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, +0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, +0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, +0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, +0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, +0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, +0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, +0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, +0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, +0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, +0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, +0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, +0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, +0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, +0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, +0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, +0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, +0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, +0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, +0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, +0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, +0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, +0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, +0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, +0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, +0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, +0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, +0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, +0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, +0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, +0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, +0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, +0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, +0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, +0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, +0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, +0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, +0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, +0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, +0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, +0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, +0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, +0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, +0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, +0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, +0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, +0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, +0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, +0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, +0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, +0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, +0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, +0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, +0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, +0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, +0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, +0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, +0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, +0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, +0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, +0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, +0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, +0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, +0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, +0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, +0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, +0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, +0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, +0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, +0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, +0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, +0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, +0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, +0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, +0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, +0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, +0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, +0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, +0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, +0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, +0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, +0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, +0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, +0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, +0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, +0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, +0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, +0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, +0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, +0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, +0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, +0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, +0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, +0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, +0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, +0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, +0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, +0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, +0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, +0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, +0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, +0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, +0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, +0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, +0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, +0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, +0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, +0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, +0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, +0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, +0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, +0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, +0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, +0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, +0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, +0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, +0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, +0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, +0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, +0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, +0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, +0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, +0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, +0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, +0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, +0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, +0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, +0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, +0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, +0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, +0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, +0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, +0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, +0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, +0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, +0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, +0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, +0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, +0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, +0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, +0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, +0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, +0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, +0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, +0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, +0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, +0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, +0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, +0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, +0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, +0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, +0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, +0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, +0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, +0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, +0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, +0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, +0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, +0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, +0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, +0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, +0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, +0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, +0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, +0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, +0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, +0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, +0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, +0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, +0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, +0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, +0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, +0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, +0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, +0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, +0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, +0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, +0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, +0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, +0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, +0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, +0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, +0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, +0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, +0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, +0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, +0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, +0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, +0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, +0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, +0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, +0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, +0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, +0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, +0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, +0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, +0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, +0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, +0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, +0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, +0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, +0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, +0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, +0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, +0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, +0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, +0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, +0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, +0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, +0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, +0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, +0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, +0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, +0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, +0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, +0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, +0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, +0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, +0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, +0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, +0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, +0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, +0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, +0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, +0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, +0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, +0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, +0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, +0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, +0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, +0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, +0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, +0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, +0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, +0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, +0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, +0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, +0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, +0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, +0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, +0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, +0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, +0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, +0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, +0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, +0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, +0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, +0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, +0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, +0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, +0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, +0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, +0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, +0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, +0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, +0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, +0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, +0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, +0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, +0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, +0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, +0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, +0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, +0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, +0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, +0.7, 0, 0, 0.5, 0.5, 1, 0, 0, +0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, +0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, +0.7, 0, 0, 0.5, 0.5, 1, 0, 0, +0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, +0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, +0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, +0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, +0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, +0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, +0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, +0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, +0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, +0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, +0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, +0.7, 0, 0, 0.5, 0.5, 1, 0, 0, +0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, +0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, +0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, +0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, +0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, +0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, +0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, +0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, +0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, +0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, +0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, +0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, +0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, +0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, +0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, +0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, +0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, +0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, +0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, +0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, +0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, +0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, +0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, +0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, +0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, +0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, +0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, +0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, +0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, +0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, +0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, +0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, +0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, +0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, +0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, +0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, +0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, +0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, +0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, +0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, +0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, +0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, +0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, +0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, +0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, +0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, +0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, +0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, +0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, +0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, +0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, +0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, +0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, +0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, +0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, +0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, +0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, +0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, +0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, +0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, +0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, +0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, +0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, +0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, +0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, +0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, +0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, +0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, +0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, +0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, +0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, +0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, +0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, +0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, +0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, +0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, +0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, +0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, +0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, +0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, +0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, +0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, +0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, +0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, +0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, +0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, +0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, +0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, +0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, +0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, +0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, +0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, +0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, +0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, +0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, +0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, +0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, +0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, +0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, +0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, +0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, +0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, +0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, +0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, +0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, +0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, +0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, +0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, +0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, +0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, +0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, +0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, +0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, +0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, +0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, +0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, +0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, +0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, +0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, +0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, +0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, +0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, +0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, +0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, +0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, +0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, +0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, +0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, +0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, +0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, +0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, +0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, +0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, +0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, +0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, +0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, +0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, +0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, +0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, +0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, +0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, +0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, +0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, +0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, +0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, +0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, +0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, +0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, +0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, +0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, +0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, +0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, +0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, +0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, +0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, +0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, +0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, +0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, +0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, +0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, +0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, +0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, +0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, +0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, +0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, +0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, +0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, +0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, +0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, +0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, +0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, +0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, +0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, +0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, +0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, +0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, +0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, +0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, +0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, +0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, +0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, +0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, +0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, +0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, +0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, +0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, +0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, +0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, +0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, +0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, +0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, +0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, +0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, +0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, +0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, +0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, +0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, +0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, +0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, +0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, +0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, +0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, +0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, +0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, +0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, +0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, +0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, +0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, +0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, +0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, +0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, +0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, +0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, +0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, +0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, +0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, +0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, +0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, +0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, +0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, +0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, +0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, +0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, +0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, +0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, +0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, +0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, +0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, +0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, +0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, +0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, +0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, +0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, +0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, +0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, +0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, +0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, +0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, +0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, +0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, +0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, +0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, +0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, +0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, +0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, +0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, +0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, +0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, +0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, +0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, +0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, +0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, +0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, +0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, +0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, +0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, +0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, +0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, +0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, +0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, +0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, +0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, +0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, +0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, +0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, + 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, + 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, +0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, + 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, + 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, +0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, +0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, + 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, +0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, + 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, + 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, +0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, + 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, + 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, +0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, +0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, + 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, +0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, +0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, + 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, +0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, + 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, + 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, +0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, + 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, + 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, +0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, + 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, + 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, +0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, + 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, + 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, +0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, +0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, + 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, +0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, +0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, + 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, +0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, +0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, + 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, + 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, +-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, +-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, + 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, +-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, +-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, + 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, +-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, +-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, + 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, +-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, +-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, + 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, + 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, +-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, + 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, + 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, +-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, + 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, +-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, +-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, + 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, + 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, +-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, + 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, +-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, +-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, + 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, +-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, +-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, + 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, +-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, +-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, + 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, + 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, +-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, + 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, +-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, +-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, + 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, +-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, +-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, +-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, +-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, +-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, +-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, +-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, +-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, +-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, +-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, +-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, +-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, +-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, +-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, +-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, +-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, +-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, +-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, +-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, +-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, +-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, +-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, +-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, +-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, +-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, +-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, +-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, +-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, +-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, +-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, +-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, +-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, +-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, +-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, +-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, +-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, +-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, +-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, +-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, +-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, +-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, +-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, +-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, +-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, +-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, +-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, +-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, +-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, +-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, +-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, +-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, +-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, +-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, +-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, +-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, +-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, +-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, +-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, +-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, +-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, +-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, +-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, +-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, +-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, +-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, +-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, +-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, +-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, +-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, +-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, +-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, +-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, +-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, +-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, +-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, +-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, +-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, +-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, +-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, +-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, +-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, +-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, +-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, +-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, +-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, +-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, +-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, +-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, +-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, +-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, +-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, +-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, +-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, +-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, +-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, +-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, +-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, +-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, +-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, +-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, +-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, +-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, +-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, +-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, +-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, +-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, +-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, +-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, +-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, +-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, +-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, +-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, +-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, +-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, +-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, +-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, +-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, +-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, +-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, +-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, +-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, +-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, +-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, +-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, +-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, +-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, +-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, +-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, +-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, +-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, +-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, +-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, +-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, +-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, +-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, +-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, +-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, +-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, +-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, +-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, +-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, +-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, +-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, +-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, +-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, +-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, +-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, +-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, +-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, +-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, +-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, +-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, +-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, +-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, +-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, +-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, +-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, +-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, +-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, +-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, +-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, +-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, +-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, +-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, +-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, +-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, +-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, +-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, +-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, +-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, +-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, +-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, +-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, +-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, +-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, +-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, +-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, +-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, +-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, +-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, +-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, +-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, +-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, +-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, +-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, +-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, +-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, +-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, +-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, +-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, +-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, +-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, +-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, +-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, +-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, +-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, +-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, +-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, +-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, +-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, +-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, +-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, +-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, +-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, +-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, +-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, +-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, +-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, +-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, +-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, +-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, +-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, +-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, +-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, +-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, +-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, +-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, +-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, +-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, +-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, +-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, +-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, +-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, +-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, +-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, +-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, +-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, +-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, +-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, +-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, +-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, +-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, +-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, +-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, +-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, +-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, +-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, +-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, +-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, +-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, +-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, +-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, +-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, +-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, +-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, +-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, +-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, +-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, +-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, +-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, +-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, +-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, +-0.267878, -0.646716, 0, 0, 0.125, -0.3879, -0.9217, 0, +-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, +-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, +-0.686549, 0.136563, 0, 0, 0.5625, -0.981, 0.1939, 0, +-0.7, 0, 0, 0, 0.5, -1, 0, 0, +-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, +-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, +-0.7, 0, 0, 0, 0.5, -1, 0, 0, +-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, +-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, +-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, +-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, +-0.686549, -0.136563, 0, 0, 0.4375, -0.981, -0.1939, 0, +-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, +-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, +-0.267878, 0.646716, 0, 0, 0.875, -0.3879, 0.9217, 0, +-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, +-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, +-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, +-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, +-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, +-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, +-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, +-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, +-0.582028, -0.388899, 0, 0, 0.3125, -0.8333, -0.5528, 0, +-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, +-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, +-0.494975, 0.494975, 0, 0, 0.75, -0.7101, 0.704, 0, +-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, +-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, +-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, +-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, +-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, +-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, +-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, +-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, +-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, +-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, +-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, +-0.646716, -0.267878, 0, 1, 0.375, -0.9247, -0.3805, 0, +-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, +-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, +-0.388899, 0.582029, 0, 1, 0.8125, -0.5598, 0.8286, 0, +-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, +-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, +-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, +-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, +-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, +-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, +-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, +-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, +-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, +-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, +-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, +-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, +-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, +-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, +-0.388899, -0.582029, 0, 1, 0.1875, -0.5598, -0.8286, 0, +-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, +-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, +-0.646716, 0.267878, 0, 1, 0.625, -0.9247, 0.3805, 0, +-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, +-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, +-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, +-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, +-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, +-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, +-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, +-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, +-0.7, 0, 0, 1, 0.5, -1, 0, 0, +-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, +-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, +-0.136563, 0.68655, 0, 1, 0.9375, -0.201, 0.9796, 0, +-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, +-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, +-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, +-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, +-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, +-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, +-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, +-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, +-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, +-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, +-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, +-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, +-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, +-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, +-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, +-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, +-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, +-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, +-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, +-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, +-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, +-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, +-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, +-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, +-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, +-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, +-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, +-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, +-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, +-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, +-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, +-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, +-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, +-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, +-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, +-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, +-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, +-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, +-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, +-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, +-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, +-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, +-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, +-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, +-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, +-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, +-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, +-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, +-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, +-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, +-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, +-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, +-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, +-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, +-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, +-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, +-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, +-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, +-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, +-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, +-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, +-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, +-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, +-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, +-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, +-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, +-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, +-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, +-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, +-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, +-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, +-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, +-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, +-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, +-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, +-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, +-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, +-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, +-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, +-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, +-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, +-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, +-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, +-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, +-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, +-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, +-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, +-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, +-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, +-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, +-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, +-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, +-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, +-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, +-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, +-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, +-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, +-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, +-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, +-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, +-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, +-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, +-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, +-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, +-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, +-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, +-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, +-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, +-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, +-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, +-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, +-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, +-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, +-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, +-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, +-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, +-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, +-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, +-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, +-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, +-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, +-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, +-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, +-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, +-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, +-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, +-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, +-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, +-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, +-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, +-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, +-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, +-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, +-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, +-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, +-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, +-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, +-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, +-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, +-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, +-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, +-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, +-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, +-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, +-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, +-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, +-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, +-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, +-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, +-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, +-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, +-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, +-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, +-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, +-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, +-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, +-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, +-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, +-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, +-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, +-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, +-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, +-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, +-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, +-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, +-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, +-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, +-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, +-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, +-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, +-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, +-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, +-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, +-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, +-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, +-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, +-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, +-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, +-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, +-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, +-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, +-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, +-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, +-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, +-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, +-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, +-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, +-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, +-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, +-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, +-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, +-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, +-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, +-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, +-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, +-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, +-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, +-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, +-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, +-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, +-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, +-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, +-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, +-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, +-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, +-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, +-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, +-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, +-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, +-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, +-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, +-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, +-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, +-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, +-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, +-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, +-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, +-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, +-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, +-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, +-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, +-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, +-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, +-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, +-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, +-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, +-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, +-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, +-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, +-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, +-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, +-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, +-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, +-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, +-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, +-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, +-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, +-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, +-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, +-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, +-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, +-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, +-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, +-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, +-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, +-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, +-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, +-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, +-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, +-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, +-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, +-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, +-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, +-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, +-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, + 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, +-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, + 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, + 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, +-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, +-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, + 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, +-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, +-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, + 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, +-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, +-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, + 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, +-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, + 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, + 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, +-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, +-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, + 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, +-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, + 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, + 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, +-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, +-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, + 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, +-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, + 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, + 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, +-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, +-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, + 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, +-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, + 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, + 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, +-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, +-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, + 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, +-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, + 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, + 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, +]; + +objArray.push(Moon_Sphere_data); + + +groupArray.push( + new VertGroup( + 0, // material number + 0, // object number + 0, // starting face + 2880, // length + ) +); diff --git a/examples/NormalModel/index.html b/examples/NormalModel/index.html new file mode 100644 index 0000000..6418bfc --- /dev/null +++ b/examples/NormalModel/index.html @@ -0,0 +1,86 @@ + + + + + + + Wavefront Object converted to AssemblyScript + + + +

        +
        + +
        + + + + \ No newline at end of file diff --git a/examples/NormalModel/moon.blend b/examples/NormalModel/moon.blend new file mode 100644 index 0000000000000000000000000000000000000000..eec717d2bc1622be9920983c5102581b808b38dd GIT binary patch literal 872124 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 ZKlpvlz3fwYVF&iHg;XtH7LV`z`#&Mu$({fJ literal 0 HcmV?d00001 diff --git a/examples/NormalModel/moon.blend1 b/examples/NormalModel/moon.blend1 new file mode 100644 index 0000000000000000000000000000000000000000..a361680c6424e086f54d6c2a65233256b05aca56 GIT binary patch literal 872124 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 literal 0 HcmV?d00001 diff --git a/examples/NormalModel/moon.mtl b/examples/NormalModel/moon.mtl new file mode 100644 index 0000000..f48f025 --- /dev/null +++ b/examples/NormalModel/moon.mtl @@ -0,0 +1,14 @@ +# Blender MTL File: 'moon.blend' +# Material Count: 1 + +newmtl Material.001 +Ns 225.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Bump LunarNormalMap.png +map_Kd LunarMap.png diff --git a/examples/NormalModel/moon.obj b/examples/NormalModel/moon.obj new file mode 100644 index 0000000..8016d01 --- /dev/null +++ b/examples/NormalModel/moon.obj @@ -0,0 +1,2489 @@ +# Blender v2.90.1 OBJ File: 'moon.blend' +# www.blender.org +mtllib moon.mtl +o Moon_Sphere +v 0.000000 0.686550 -0.136563 +v 0.000000 0.646716 -0.267878 +v 0.000000 0.582029 -0.388899 +v 0.000000 0.494975 -0.494975 +v 0.000000 0.388899 -0.582029 +v 0.000000 0.267878 -0.646716 +v 0.000000 0.136563 -0.686550 +v 0.000000 0.000000 -0.700000 +v 0.000000 -0.136563 -0.686550 +v 0.000000 -0.582029 -0.388899 +v 0.026642 0.686550 -0.133939 +v 0.052261 0.646716 -0.262731 +v 0.075871 0.582029 -0.381427 +v 0.096565 0.494975 -0.485464 +v 0.113548 0.388899 -0.570845 +v 0.126168 0.267878 -0.634289 +v 0.133939 0.136563 -0.673358 +v 0.136563 0.000000 -0.686550 +v 0.133939 -0.136563 -0.673358 +v 0.126168 -0.267878 -0.634289 +v 0.113548 -0.388899 -0.570845 +v 0.096565 -0.494975 -0.485464 +v 0.075871 -0.582029 -0.381427 +v 0.052261 -0.646716 -0.262731 +v 0.026642 -0.686550 -0.133939 +v 0.052261 0.686550 -0.126168 +v 0.102513 0.646716 -0.247487 +v 0.148825 0.582029 -0.359296 +v 0.189419 0.494975 -0.457297 +v 0.222733 0.388899 -0.537724 +v 0.247487 0.267878 -0.597487 +v 0.262731 0.136563 -0.634289 +v 0.267878 0.000000 -0.646716 +v 0.262731 -0.136563 -0.634289 +v 0.247487 -0.267878 -0.597487 +v 0.222733 -0.388899 -0.537724 +v 0.189419 -0.494975 -0.457297 +v 0.148825 -0.582029 -0.359296 +v 0.102513 -0.646716 -0.247487 +v 0.052261 -0.686550 -0.126168 +v 0.075871 0.686550 -0.113548 +v 0.148825 0.646716 -0.222733 +v 0.216061 0.582029 -0.323358 +v 0.274993 0.494975 -0.411556 +v 0.323358 0.388899 -0.483939 +v 0.359296 0.267878 -0.537724 +v 0.381427 0.136563 -0.570845 +v 0.388899 0.000000 -0.582029 +v 0.381427 -0.136563 -0.570845 +v 0.359296 -0.267878 -0.537724 +v 0.323358 -0.388899 -0.483939 +v 0.274993 -0.494975 -0.411556 +v 0.216061 -0.582029 -0.323358 +v 0.148825 -0.646716 -0.222733 +v 0.075870 -0.686550 -0.113548 +v 0.096565 0.686550 -0.096565 +v 0.189419 0.646716 -0.189419 +v 0.274993 0.582029 -0.274993 +v 0.350000 0.494975 -0.350000 +v 0.411557 0.388899 -0.411556 +v 0.457297 0.267878 -0.457297 +v 0.485464 0.136563 -0.485464 +v 0.494975 0.000000 -0.494975 +v 0.485464 -0.136563 -0.485464 +v 0.457297 -0.267878 -0.457297 +v 0.411557 -0.388899 -0.411556 +v 0.350000 -0.494975 -0.350000 +v 0.274993 -0.582029 -0.274993 +v 0.189419 -0.646716 -0.189419 +v 0.096565 -0.686550 -0.096565 +v 0.113548 0.686550 -0.075870 +v 0.222733 0.646716 -0.148825 +v 0.323358 0.582029 -0.216061 +v 0.411557 0.494975 -0.274993 +v 0.483939 0.388899 -0.323358 +v 0.537725 0.267878 -0.359296 +v 0.570845 0.136563 -0.381426 +v 0.582029 0.000000 -0.388899 +v 0.570845 -0.136563 -0.381426 +v 0.537725 -0.267878 -0.359296 +v 0.483939 -0.388899 -0.323358 +v 0.411557 -0.494975 -0.274993 +v 0.323358 -0.582029 -0.216061 +v 0.222733 -0.646716 -0.148825 +v 0.113548 -0.686550 -0.075870 +v 0.126168 0.686550 -0.052260 +v 0.247488 0.646716 -0.102512 +v 0.359296 0.582029 -0.148825 +v 0.457297 0.494975 -0.189418 +v 0.537725 0.388899 -0.222733 +v 0.597487 0.267878 -0.247487 +v 0.634289 0.136563 -0.262731 +v 0.646716 0.000000 -0.267878 +v 0.634289 -0.136563 -0.262731 +v 0.597487 -0.267878 -0.247487 +v 0.537725 -0.388899 -0.222733 +v 0.457297 -0.494975 -0.189418 +v 0.359296 -0.582029 -0.148825 +v 0.247487 -0.646716 -0.102512 +v 0.126168 -0.686550 -0.052260 +v 0.133939 0.686550 -0.026642 +v 0.262731 0.646716 -0.052260 +v 0.381427 0.582029 -0.075870 +v 0.485464 0.494975 -0.096565 +v 0.570845 0.388899 -0.113548 +v 0.634289 0.267878 -0.126168 +v 0.673358 0.136563 -0.133939 +v 0.686550 0.000000 -0.136563 +v 0.673358 -0.136563 -0.133939 +v 0.634289 -0.267878 -0.126168 +v 0.570845 -0.388899 -0.113548 +v 0.485464 -0.494975 -0.096565 +v 0.381427 -0.582029 -0.075870 +v 0.262731 -0.646716 -0.052260 +v 0.133939 -0.686550 -0.026642 +v 0.136563 0.686550 0.000000 +v 0.267879 0.646716 0.000000 +v 0.388899 0.582029 0.000000 +v 0.494975 0.494975 0.000000 +v 0.582029 0.388899 0.000000 +v 0.646716 0.267878 0.000000 +v 0.686550 0.136563 0.000000 +v 0.700000 0.000000 0.000000 +v 0.686550 -0.136563 0.000000 +v 0.646716 -0.267878 0.000000 +v 0.582029 -0.388899 0.000000 +v 0.494975 -0.494975 0.000000 +v 0.388899 -0.582029 0.000000 +v 0.267878 -0.646716 0.000000 +v 0.136563 -0.686550 0.000000 +v 0.133939 0.686550 0.026642 +v 0.262731 0.646716 0.052261 +v 0.381427 0.582029 0.075871 +v 0.485464 0.494975 0.096565 +v 0.570845 0.388899 0.113548 +v 0.634289 0.267878 0.126168 +v 0.673358 0.136563 0.133939 +v 0.686550 0.000000 0.136564 +v 0.673358 -0.136563 0.133939 +v 0.634289 -0.267878 0.126168 +v 0.570845 -0.388899 0.113548 +v 0.485464 -0.494975 0.096565 +v 0.381427 -0.582029 0.075871 +v 0.262731 -0.646716 0.052261 +v 0.133939 -0.686550 0.026642 +v 0.126168 0.686550 0.052261 +v 0.247488 0.646716 0.102513 +v 0.359296 0.582029 0.148826 +v 0.457297 0.494975 0.189419 +v 0.537724 0.388899 0.222733 +v 0.597487 0.267878 0.247488 +v 0.634289 0.136563 0.262731 +v 0.646716 0.000000 0.267879 +v 0.634289 -0.136563 0.262731 +v 0.597487 -0.267878 0.247488 +v 0.537724 -0.388899 0.222733 +v 0.457297 -0.494975 0.189419 +v 0.359296 -0.582029 0.148826 +v 0.247487 -0.646716 0.102513 +v 0.126168 -0.686550 0.052261 +v 0.113548 0.686550 0.075871 +v 0.222733 0.646716 0.148826 +v 0.323358 0.582029 0.216061 +v 0.411557 0.494975 0.274993 +v 0.483939 0.388899 0.323358 +v 0.537724 0.267878 0.359296 +v 0.570845 0.136563 0.381427 +v 0.582029 0.000000 0.388899 +v 0.570845 -0.136563 0.381427 +v 0.537724 -0.267878 0.359296 +v 0.483939 -0.388899 0.323358 +v 0.411557 -0.494975 0.274993 +v 0.323358 -0.582029 0.216061 +v 0.222733 -0.646716 0.148826 +v 0.113548 -0.686550 0.075871 +v 0.096565 0.686550 0.096565 +v 0.189419 0.646716 0.189419 +v 0.274993 0.582029 0.274994 +v 0.350000 0.494975 0.350000 +v 0.411556 0.388899 0.411557 +v 0.457297 0.267878 0.457297 +v 0.485464 0.136563 0.485464 +v 0.494975 0.000000 0.494975 +v 0.485464 -0.136563 0.485464 +v 0.457297 -0.267878 0.457297 +v 0.411556 -0.388899 0.411557 +v 0.350000 -0.494975 0.350000 +v 0.274993 -0.582029 0.274993 +v 0.189419 -0.646716 0.189419 +v 0.096565 -0.686550 0.096565 +v 0.075871 0.686550 0.113549 +v 0.148825 0.646716 0.222733 +v 0.216061 0.582029 0.323358 +v 0.274993 0.494975 0.411557 +v 0.323358 0.388899 0.483939 +v 0.359296 0.267878 0.537725 +v 0.381426 0.136563 0.570845 +v 0.388899 0.000000 0.582029 +v 0.381426 -0.136563 0.570845 +v 0.359296 -0.267878 0.537725 +v 0.323358 -0.388899 0.483939 +v 0.274993 -0.494975 0.411557 +v 0.216061 -0.582029 0.323358 +v 0.148825 -0.646716 0.222733 +v 0.075870 -0.686550 0.113548 +v 0.000000 -0.700000 0.000000 +v 0.052261 0.686550 0.126168 +v 0.102513 0.646716 0.247488 +v 0.148825 0.582029 0.359296 +v 0.189419 0.494975 0.457297 +v 0.222733 0.388899 0.537725 +v 0.247487 0.267878 0.597488 +v 0.262731 0.136563 0.634289 +v 0.267878 0.000000 0.646716 +v 0.262731 -0.136563 0.634289 +v 0.247487 -0.267878 0.597488 +v 0.222733 -0.388899 0.537725 +v 0.189419 -0.494975 0.457297 +v 0.148825 -0.582029 0.359296 +v 0.102513 -0.646716 0.247488 +v 0.052260 -0.686550 0.126168 +v 0.026642 0.686550 0.133940 +v 0.052261 0.646716 0.262731 +v 0.075870 0.582029 0.381427 +v 0.096565 0.494975 0.485464 +v 0.113548 0.388899 0.570845 +v 0.126168 0.267878 0.634289 +v 0.133939 0.136563 0.673358 +v 0.136563 0.000000 0.686550 +v 0.133939 -0.136563 0.673358 +v 0.126168 -0.267878 0.634289 +v 0.113548 -0.388899 0.570845 +v 0.096565 -0.494975 0.485464 +v 0.075870 -0.582029 0.381427 +v 0.052260 -0.646716 0.262731 +v 0.026642 -0.686550 0.133939 +v -0.000000 0.686550 0.136564 +v 0.000000 0.646716 0.267879 +v 0.000000 0.582029 0.388899 +v -0.000000 0.494975 0.494975 +v -0.000000 0.388899 0.582029 +v 0.000000 0.267878 0.646716 +v -0.000000 0.136563 0.686550 +v -0.000000 0.000000 0.700000 +v -0.000000 -0.136563 0.686550 +v 0.000000 -0.267878 0.646716 +v -0.000000 -0.388899 0.582029 +v -0.000000 -0.494975 0.494975 +v -0.000000 -0.582029 0.388899 +v 0.000000 -0.646716 0.267879 +v 0.000000 -0.686550 0.136563 +v -0.026642 0.686550 0.133940 +v -0.052260 0.646716 0.262731 +v -0.075870 0.582029 0.381427 +v -0.096565 0.494975 0.485464 +v -0.113548 0.388899 0.570845 +v -0.126168 0.267878 0.634289 +v -0.133939 0.136563 0.673358 +v -0.136563 0.000000 0.686550 +v -0.133939 -0.136563 0.673358 +v -0.126168 -0.267878 0.634289 +v -0.113548 -0.388899 0.570845 +v -0.096565 -0.494975 0.485464 +v -0.075870 -0.582029 0.381427 +v -0.052260 -0.646716 0.262731 +v -0.026642 -0.686550 0.133939 +v -0.052261 0.686550 0.126168 +v -0.102513 0.646716 0.247488 +v -0.148825 0.582029 0.359296 +v -0.189419 0.494975 0.457297 +v -0.222733 0.388899 0.537724 +v -0.247487 0.267878 0.597488 +v -0.262731 0.136563 0.634289 +v -0.267879 0.000000 0.646716 +v -0.262731 -0.136563 0.634289 +v -0.247487 -0.267878 0.597488 +v -0.222733 -0.388899 0.537724 +v -0.189419 -0.494975 0.457297 +v -0.148825 -0.582029 0.359296 +v -0.102513 -0.646716 0.247488 +v -0.052260 -0.686550 0.126168 +v -0.075871 0.686550 0.113548 +v -0.148825 0.646716 0.222733 +v -0.216061 0.582029 0.323358 +v -0.274993 0.494975 0.411557 +v -0.323358 0.388899 0.483939 +v -0.359296 0.267878 0.537725 +v -0.381427 0.136563 0.570845 +v -0.388899 0.000000 0.582029 +v -0.381427 -0.136563 0.570845 +v -0.359296 -0.267878 0.537725 +v -0.323358 -0.388899 0.483939 +v -0.274993 -0.494975 0.411557 +v -0.216061 -0.582029 0.323358 +v -0.148825 -0.646716 0.222733 +v -0.075870 -0.686550 0.113548 +v -0.000000 0.700000 0.000000 +v -0.096565 0.686550 0.096565 +v -0.189419 0.646716 0.189419 +v -0.274993 0.582029 0.274994 +v -0.350000 0.494975 0.350000 +v -0.411556 0.388899 0.411556 +v -0.457297 0.267878 0.457297 +v -0.485464 0.136563 0.485464 +v -0.494975 0.000000 0.494975 +v -0.485464 -0.136563 0.485464 +v -0.457297 -0.267878 0.457297 +v -0.411556 -0.388899 0.411556 +v -0.350000 -0.494975 0.350000 +v -0.274993 -0.582029 0.274993 +v -0.189419 -0.646716 0.189419 +v -0.096565 -0.686550 0.096565 +v -0.113548 0.686550 0.075871 +v -0.222733 0.646716 0.148825 +v -0.323358 0.582029 0.216061 +v -0.411556 0.494975 0.274993 +v -0.483939 0.388899 0.323358 +v -0.537724 0.267878 0.359296 +v -0.570845 0.136563 0.381427 +v -0.582029 0.000000 0.388899 +v -0.570845 -0.136563 0.381427 +v -0.537724 -0.267878 0.359296 +v -0.483939 -0.388899 0.323358 +v -0.411556 -0.494975 0.274993 +v -0.323358 -0.582029 0.216061 +v -0.222733 -0.646716 0.148825 +v -0.113548 -0.686550 0.075871 +v -0.126168 0.686550 0.052261 +v -0.247487 0.646716 0.102513 +v -0.359296 0.582029 0.148825 +v -0.457297 0.494975 0.189419 +v -0.537724 0.388899 0.222733 +v -0.597487 0.267878 0.247488 +v -0.634289 0.136563 0.262731 +v -0.646716 0.000000 0.267878 +v -0.634289 -0.136563 0.262731 +v -0.597487 -0.267878 0.247488 +v -0.537724 -0.388899 0.222733 +v -0.457297 -0.494975 0.189419 +v -0.359296 -0.582029 0.148825 +v -0.247487 -0.646716 0.102513 +v -0.126168 -0.686550 0.052261 +v -0.133939 0.686550 0.026642 +v -0.262731 0.646716 0.052261 +v -0.381427 0.582029 0.075871 +v -0.485464 0.494975 0.096565 +v -0.570845 0.388899 0.113548 +v -0.634289 0.267878 0.126168 +v -0.673358 0.136563 0.133939 +v -0.686550 0.000000 0.136563 +v -0.673358 -0.136563 0.133939 +v -0.634289 -0.267878 0.126168 +v -0.570845 -0.388899 0.113548 +v -0.485464 -0.494975 0.096565 +v -0.381426 -0.582029 0.075871 +v -0.262731 -0.646716 0.052261 +v -0.133939 -0.686550 0.026642 +v -0.136563 0.686550 0.000000 +v -0.267878 0.646716 0.000000 +v -0.388899 0.582029 0.000000 +v -0.494975 0.494975 0.000000 +v -0.582028 0.388899 0.000000 +v -0.646716 0.267878 0.000000 +v -0.686549 0.136563 0.000000 +v -0.700000 0.000000 0.000000 +v -0.686549 -0.136563 0.000000 +v -0.646716 -0.267878 0.000000 +v -0.582028 -0.388899 0.000000 +v -0.494975 -0.494975 0.000000 +v -0.388899 -0.582029 0.000000 +v -0.267878 -0.646716 0.000000 +v -0.136563 -0.686550 0.000000 +v -0.133939 0.686550 -0.026642 +v -0.262731 0.646716 -0.052260 +v -0.381427 0.582029 -0.075870 +v -0.485464 0.494975 -0.096565 +v -0.570845 0.388899 -0.113548 +v -0.634289 0.267878 -0.126168 +v -0.673357 0.136563 -0.133939 +v -0.686549 0.000000 -0.136563 +v -0.673357 -0.136563 -0.133939 +v -0.634289 -0.267878 -0.126168 +v -0.570845 -0.388899 -0.113548 +v -0.485464 -0.494975 -0.096565 +v -0.381426 -0.582029 -0.075870 +v -0.262731 -0.646716 -0.052260 +v -0.133939 -0.686550 -0.026642 +v -0.126168 0.686550 -0.052260 +v -0.247487 0.646716 -0.102512 +v -0.359296 0.582029 -0.148825 +v -0.457297 0.494975 -0.189418 +v -0.537724 0.388899 -0.222733 +v -0.597487 0.267878 -0.247487 +v -0.634289 0.136563 -0.262731 +v -0.646715 0.000000 -0.267878 +v -0.634289 -0.136563 -0.262731 +v -0.597487 -0.267878 -0.247487 +v -0.537724 -0.388899 -0.222733 +v -0.457297 -0.494975 -0.189418 +v -0.359296 -0.582029 -0.148825 +v -0.247487 -0.646716 -0.102512 +v -0.126168 -0.686550 -0.052260 +v -0.113548 0.686550 -0.075870 +v -0.222733 0.646716 -0.148825 +v -0.323358 0.582029 -0.216061 +v -0.411556 0.494975 -0.274993 +v -0.483939 0.388899 -0.323358 +v -0.537724 0.267878 -0.359296 +v -0.570845 0.136563 -0.381426 +v -0.582028 0.000000 -0.388899 +v -0.570845 -0.136563 -0.381426 +v -0.537724 -0.267878 -0.359296 +v -0.483939 -0.388899 -0.323358 +v -0.411556 -0.494975 -0.274993 +v -0.323358 -0.582029 -0.216061 +v -0.222733 -0.646716 -0.148825 +v -0.113548 -0.686550 -0.075870 +v -0.096565 0.686550 -0.096565 +v -0.189419 0.646716 -0.189418 +v -0.274993 0.582029 -0.274993 +v -0.350000 0.494975 -0.350000 +v -0.411556 0.388899 -0.411556 +v -0.457297 0.267878 -0.457297 +v -0.485464 0.136563 -0.485464 +v -0.494974 0.000000 -0.494974 +v -0.485464 -0.136563 -0.485464 +v -0.457297 -0.267878 -0.457297 +v -0.411556 -0.388899 -0.411556 +v -0.350000 -0.494975 -0.350000 +v -0.274993 -0.582029 -0.274993 +v -0.189419 -0.646716 -0.189418 +v -0.096565 -0.686550 -0.096565 +v -0.075870 0.686550 -0.113548 +v -0.148825 0.646716 -0.222732 +v -0.216061 0.582029 -0.323358 +v -0.274993 0.494975 -0.411556 +v -0.323358 0.388899 -0.483939 +v -0.359296 0.267878 -0.537724 +v -0.381426 0.136563 -0.570845 +v -0.388899 0.000000 -0.582028 +v -0.381426 -0.136563 -0.570845 +v -0.359296 -0.267878 -0.537724 +v -0.323358 -0.388899 -0.483939 +v -0.274993 -0.494975 -0.411556 +v -0.216061 -0.582029 -0.323358 +v -0.148825 -0.646716 -0.222732 +v -0.075870 -0.686550 -0.113548 +v -0.052260 0.686550 -0.126168 +v -0.102513 0.646716 -0.247487 +v -0.148825 0.582029 -0.359296 +v -0.189419 0.494975 -0.457297 +v -0.222732 0.388899 -0.537724 +v -0.247487 0.267878 -0.597487 +v -0.262731 0.136563 -0.634289 +v -0.267878 0.000000 -0.646715 +v -0.262731 -0.136563 -0.634289 +v -0.247487 -0.267878 -0.597487 +v -0.222732 -0.388899 -0.537724 +v -0.189419 -0.494975 -0.457297 +v -0.148825 -0.582029 -0.359296 +v -0.102513 -0.646716 -0.247487 +v -0.052260 -0.686550 -0.126168 +v -0.026642 0.686550 -0.133939 +v -0.052260 0.646716 -0.262731 +v -0.075870 0.582029 -0.381426 +v -0.096565 0.494975 -0.485464 +v -0.113548 0.388899 -0.570845 +v -0.126168 0.267878 -0.634289 +v -0.133939 0.136563 -0.673357 +v -0.136563 0.000000 -0.686549 +v -0.133939 -0.136563 -0.673357 +v -0.126168 -0.267878 -0.634289 +v -0.113548 -0.388899 -0.570845 +v -0.096565 -0.494975 -0.485464 +v -0.075870 -0.582029 -0.381426 +v -0.052260 -0.646716 -0.262731 +v -0.026642 -0.686550 -0.133939 +v 0.000000 -0.267878 -0.646715 +v 0.000000 -0.388899 -0.582028 +v 0.000000 -0.494975 -0.494974 +v 0.000000 -0.646716 -0.267878 +v 0.000000 -0.686550 -0.136563 +vt 0.750000 0.500000 +vt 0.718750 0.437500 +vt 0.750000 0.437500 +vt 0.750000 0.937500 +vt 0.718750 0.875000 +vt 0.750000 0.875000 +vt 0.718750 0.375000 +vt 0.750000 0.375000 +vt 0.750000 0.812500 +vt 0.718750 0.812500 +vt 0.718750 0.312500 +vt 0.750000 0.312500 +vt 0.718750 0.750000 +vt 0.750000 0.750000 +vt 0.718750 0.250000 +vt 0.750000 0.250000 +vt 0.718750 0.687500 +vt 0.750000 0.687500 +vt 0.718750 0.187500 +vt 0.750000 0.187500 +vt 0.718750 0.625000 +vt 0.750000 0.625000 +vt 0.718750 0.125000 +vt 0.750000 0.125000 +vt 0.718750 0.562500 +vt 0.750000 0.562500 +vt 0.718750 0.062500 +vt 0.750000 0.062500 +vt 0.718750 0.500000 +vt 0.734375 1.000000 +vt 0.718750 0.937500 +vt 0.734375 0.000000 +vt 0.687500 0.062500 +vt 0.687500 0.500000 +vt 0.703125 1.000000 +vt 0.687500 0.937500 +vt 0.703125 0.000000 +vt 0.687500 0.437500 +vt 0.687500 0.875000 +vt 0.687500 0.375000 +vt 0.687500 0.812500 +vt 0.687500 0.312500 +vt 0.687500 0.750000 +vt 0.687500 0.250000 +vt 0.687500 0.687500 +vt 0.687500 0.187500 +vt 0.687500 0.625000 +vt 0.687500 0.125000 +vt 0.687500 0.562500 +vt 0.656250 0.312500 +vt 0.656250 0.250000 +vt 0.656250 0.687500 +vt 0.656250 0.187500 +vt 0.656250 0.625000 +vt 0.656250 0.125000 +vt 0.656250 0.562500 +vt 0.656250 0.062500 +vt 0.656250 0.500000 +vt 0.671875 1.000000 +vt 0.656250 0.937500 +vt 0.671875 0.000000 +vt 0.656250 0.437500 +vt 0.656250 0.875000 +vt 0.656250 0.375000 +vt 0.656250 0.812500 +vt 0.656250 0.750000 +vt 0.640625 1.000000 +vt 0.625000 0.937500 +vt 0.640625 0.000000 +vt 0.625000 0.062500 +vt 0.625000 0.437500 +vt 0.625000 0.875000 +vt 0.625000 0.375000 +vt 0.625000 0.812500 +vt 0.625000 0.312500 +vt 0.625000 0.750000 +vt 0.625000 0.250000 +vt 0.625000 0.687500 +vt 0.625000 0.187500 +vt 0.625000 0.625000 +vt 0.625000 0.125000 +vt 0.625000 0.562500 +vt 0.625000 0.500000 +vt 0.593750 0.750000 +vt 0.593750 0.687500 +vt 0.593750 0.250000 +vt 0.593750 0.187500 +vt 0.593750 0.625000 +vt 0.593750 0.125000 +vt 0.593750 0.562500 +vt 0.593750 0.062500 +vt 0.593750 0.500000 +vt 0.609375 1.000000 +vt 0.593750 0.937500 +vt 0.609375 0.000000 +vt 0.593750 0.437500 +vt 0.593750 0.875000 +vt 0.593750 0.375000 +vt 0.593750 0.812500 +vt 0.593750 0.312500 +vt 0.562500 0.437500 +vt 0.562500 0.875000 +vt 0.562500 0.375000 +vt 0.562500 0.812500 +vt 0.562500 0.312500 +vt 0.562500 0.750000 +vt 0.562500 0.250000 +vt 0.562500 0.687500 +vt 0.562500 0.187500 +vt 0.562500 0.625000 +vt 0.562500 0.125000 +vt 0.562500 0.562500 +vt 0.562500 0.062500 +vt 0.562500 0.500000 +vt 0.578125 1.000000 +vt 0.562500 0.937500 +vt 0.578125 0.000000 +vt 0.531250 0.187500 +vt 0.531250 0.625000 +vt 0.531250 0.125000 +vt 0.531250 0.562500 +vt 0.531250 0.062500 +vt 0.531250 0.500000 +vt 0.546875 1.000000 +vt 0.531250 0.937500 +vt 0.546875 0.000000 +vt 0.531250 0.437500 +vt 0.531250 0.875000 +vt 0.531250 0.375000 +vt 0.531250 0.812500 +vt 0.531250 0.312500 +vt 0.531250 0.750000 +vt 0.531250 0.250000 +vt 0.531250 0.687500 +vt 0.500000 0.875000 +vt 0.500000 0.375000 +vt 0.500000 0.812500 +vt 0.500000 0.312500 +vt 0.500000 0.750000 +vt 0.500000 0.250000 +vt 0.500000 0.687500 +vt 0.500000 0.187500 +vt 0.500000 0.625000 +vt 0.500000 0.125000 +vt 0.500000 0.562500 +vt 0.500000 0.062500 +vt 0.500000 0.500000 +vt 0.515625 1.000000 +vt 0.500000 0.937500 +vt 0.515625 0.000000 +vt 0.500000 0.437500 +vt 0.468750 0.625000 +vt 0.468750 0.125000 +vt 0.468750 0.562500 +vt 0.468750 0.062500 +vt 0.468750 0.500000 +vt 0.484374 1.000000 +vt 0.468750 0.937500 +vt 0.484375 0.000000 +vt 0.468750 0.437500 +vt 0.468750 0.875000 +vt 0.468750 0.375000 +vt 0.468750 0.812500 +vt 0.468750 0.312500 +vt 0.468750 0.750000 +vt 0.468750 0.250000 +vt 0.468750 0.687500 +vt 0.468750 0.187500 +vt 0.437500 0.375000 +vt 0.437500 0.875000 +vt 0.437500 0.812500 +vt 0.437500 0.312500 +vt 0.437500 0.750000 +vt 0.437500 0.250000 +vt 0.437500 0.687500 +vt 0.437500 0.187500 +vt 0.437500 0.625000 +vt 0.437500 0.125000 +vt 0.437500 0.562500 +vt 0.437500 0.062500 +vt 0.437500 0.500000 +vt 0.453124 1.000000 +vt 0.437500 0.937500 +vt 0.453125 0.000000 +vt 0.437500 0.437500 +vt 0.406250 0.125000 +vt 0.406250 0.625000 +vt 0.406250 0.562500 +vt 0.406250 0.062500 +vt 0.406250 0.500000 +vt 0.421874 1.000000 +vt 0.406250 0.937500 +vt 0.421875 0.000000 +vt 0.406250 0.437500 +vt 0.406250 0.875000 +vt 0.406250 0.375000 +vt 0.406250 0.812500 +vt 0.406250 0.312500 +vt 0.406250 0.750000 +vt 0.406250 0.250000 +vt 0.406250 0.687500 +vt 0.406250 0.187500 +vt 0.375000 0.312500 +vt 0.375000 0.750000 +vt 0.375000 0.250000 +vt 0.375000 0.687500 +vt 0.375000 0.187500 +vt 0.375000 0.625000 +vt 0.375000 0.125000 +vt 0.375000 0.562500 +vt 0.375000 0.062500 +vt 0.375000 0.500000 +vt 0.390625 1.000000 +vt 0.375000 0.937500 +vt 0.390625 0.000000 +vt 0.375000 0.437500 +vt 0.375000 0.875000 +vt 0.375000 0.375000 +vt 0.375000 0.812500 +vt 0.343750 0.125000 +vt 0.343750 0.062500 +vt 0.343750 0.500000 +vt 0.359375 1.000000 +vt 0.343750 0.937500 +vt 0.359375 0.000000 +vt 0.343750 0.437500 +vt 0.343750 0.875000 +vt 0.343750 0.375000 +vt 0.343750 0.812500 +vt 0.343750 0.312500 +vt 0.343750 0.750000 +vt 0.343750 0.250000 +vt 0.343750 0.687500 +vt 0.343750 0.187500 +vt 0.343750 0.625000 +vt 0.343750 0.562500 +vt 0.312500 0.750000 +vt 0.312500 0.250000 +vt 0.312500 0.687500 +vt 0.312500 0.187500 +vt 0.312500 0.625000 +vt 0.312500 0.125000 +vt 0.312500 0.562500 +vt 0.312500 0.062500 +vt 0.312500 0.500000 +vt 0.328125 1.000000 +vt 0.312500 0.937500 +vt 0.328125 0.000000 +vt 0.312500 0.437500 +vt 0.312500 0.875000 +vt 0.312500 0.375000 +vt 0.312500 0.812500 +vt 0.312500 0.312500 +vt 0.281250 0.500000 +vt 0.296875 1.000000 +vt 0.281250 0.937500 +vt 0.296875 0.000000 +vt 0.281250 0.062500 +vt 0.281250 0.437500 +vt 0.281250 0.875000 +vt 0.281250 0.375000 +vt 0.281250 0.812500 +vt 0.281250 0.312500 +vt 0.281250 0.750000 +vt 0.281250 0.250000 +vt 0.281250 0.687500 +vt 0.281250 0.187500 +vt 0.281250 0.625000 +vt 0.281250 0.125000 +vt 0.281250 0.562500 +vt 0.250000 0.250000 +vt 0.250000 0.687500 +vt 0.250000 0.187500 +vt 0.250000 0.625000 +vt 0.250000 0.125000 +vt 0.250000 0.562500 +vt 0.250000 0.062500 +vt 0.250000 0.500000 +vt 0.265625 1.000000 +vt 0.250000 0.937500 +vt 0.265625 0.000000 +vt 0.250000 0.437500 +vt 0.250000 0.875000 +vt 0.250000 0.375000 +vt 0.250000 0.812500 +vt 0.250000 0.312500 +vt 0.250000 0.750000 +vt 0.234375 1.000000 +vt 0.218750 0.937500 +vt 0.234375 0.000000 +vt 0.218750 0.062500 +vt 0.218750 0.437500 +vt 0.218750 0.875000 +vt 0.218750 0.375000 +vt 0.218750 0.812500 +vt 0.218750 0.312500 +vt 0.218750 0.750000 +vt 0.218750 0.250000 +vt 0.218750 0.687500 +vt 0.218750 0.187500 +vt 0.218750 0.625000 +vt 0.218750 0.125000 +vt 0.218750 0.562500 +vt 0.218750 0.500000 +vt 0.187500 0.750000 +vt 0.187500 0.687500 +vt 0.187500 0.187500 +vt 0.187500 0.625000 +vt 0.187500 0.125000 +vt 0.187500 0.562500 +vt 0.187500 0.062500 +vt 0.187500 0.500000 +vt 0.203125 1.000000 +vt 0.187500 0.937500 +vt 0.203125 0.000000 +vt 0.187500 0.437500 +vt 0.187500 0.875000 +vt 0.187500 0.375000 +vt 0.187500 0.812500 +vt 0.187500 0.312500 +vt 0.187500 0.250000 +vt 0.156250 0.437500 +vt 0.156250 0.875000 +vt 0.156250 0.375000 +vt 0.156250 0.812500 +vt 0.156250 0.312500 +vt 0.156250 0.750000 +vt 0.156250 0.250000 +vt 0.156250 0.687500 +vt 0.156250 0.187500 +vt 0.156250 0.625000 +vt 0.156250 0.125000 +vt 0.156250 0.562500 +vt 0.156250 0.062500 +vt 0.156250 0.500000 +vt 0.171875 1.000000 +vt 0.156250 0.937500 +vt 0.171875 0.000000 +vt 0.125000 0.187500 +vt 0.125000 0.625000 +vt 0.125000 0.125000 +vt 0.125000 0.562500 +vt 0.125000 0.062500 +vt 0.125000 0.500000 +vt 0.140625 1.000000 +vt 0.125000 0.937500 +vt 0.140625 0.000000 +vt 0.125000 0.437500 +vt 0.125000 0.875000 +vt 0.125000 0.375000 +vt 0.125000 0.812500 +vt 0.125000 0.312500 +vt 0.125000 0.750000 +vt 0.125000 0.250000 +vt 0.125000 0.687500 +vt 0.093750 0.375000 +vt 0.093750 0.812500 +vt 0.093750 0.312500 +vt 0.093750 0.750000 +vt 0.093750 0.250000 +vt 0.093750 0.687500 +vt 0.093750 0.187500 +vt 0.093750 0.625000 +vt 0.093750 0.125000 +vt 0.093750 0.562500 +vt 0.093750 0.062500 +vt 0.093750 0.500000 +vt 0.109375 1.000000 +vt 0.093750 0.937500 +vt 0.109375 0.000000 +vt 0.093750 0.437500 +vt 0.093750 0.875000 +vt 0.062500 0.187500 +vt 0.062500 0.125000 +vt 0.062500 0.625000 +vt 0.062500 0.562500 +vt 0.062500 0.062500 +vt 0.062500 0.500000 +vt 0.078125 1.000000 +vt 0.062500 0.937500 +vt 0.078125 0.000000 +vt 0.062500 0.437500 +vt 0.062500 0.875000 +vt 0.062500 0.375000 +vt 0.062500 0.812500 +vt 0.062500 0.312500 +vt 0.062500 0.750000 +vt 0.062500 0.250000 +vt 0.062500 0.687500 +vt 0.031250 0.812500 +vt 0.031250 0.375000 +vt 0.031250 0.312500 +vt 0.031250 0.750000 +vt 0.031250 0.250000 +vt 0.031250 0.687500 +vt 0.031250 0.187500 +vt 0.031250 0.625000 +vt 0.031250 0.125000 +vt 0.031250 0.562500 +vt 0.031250 0.062500 +vt 0.031250 0.500000 +vt 0.046875 1.000000 +vt 0.031250 0.937500 +vt 0.046875 0.000000 +vt 0.031250 0.437500 +vt 0.031250 0.875000 +vt 0.000000 0.625000 +vt 0.000000 0.562500 +vt 0.000000 0.062500 +vt 0.000000 0.500000 +vt 0.015625 1.000000 +vt 0.000000 0.937500 +vt 0.015625 0.000000 +vt 0.000000 0.437500 +vt 0.000000 0.875000 +vt 0.000000 0.375000 +vt 0.000000 0.812500 +vt 0.000000 0.312500 +vt 0.000000 0.750000 +vt 0.000000 0.250000 +vt 0.000000 0.687500 +vt 0.000000 0.187500 +vt 0.000000 0.125000 +vt 1.000000 0.312500 +vt 0.968750 0.375000 +vt 0.968750 0.312500 +vt 1.000000 0.750000 +vt 0.968750 0.812500 +vt 0.968750 0.750000 +vt 0.968750 0.250000 +vt 1.000000 0.250000 +vt 1.000000 0.687500 +vt 0.968750 0.687500 +vt 0.968750 0.187500 +vt 1.000000 0.187500 +vt 0.968750 0.625000 +vt 1.000000 0.625000 +vt 1.000000 0.125000 +vt 0.968750 0.125000 +vt 1.000000 0.562500 +vt 0.968750 0.562500 +vt 0.968750 0.062500 +vt 1.000000 0.062500 +vt 0.968750 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.937500 +vt 0.984375 1.000000 +vt 0.968750 0.937500 +vt 0.984375 0.000000 +vt 1.000000 0.437500 +vt 0.968750 0.437500 +vt 1.000000 0.875000 +vt 0.968750 0.875000 +vt 1.000000 0.375000 +vt 1.000000 0.812500 +vt 0.937500 0.062500 +vt 0.937500 0.500000 +vt 0.953125 1.000000 +vt 0.937500 0.937500 +vt 0.953125 0.000000 +vt 0.937500 0.437500 +vt 0.937500 0.875000 +vt 0.937500 0.375000 +vt 0.937500 0.812500 +vt 0.937500 0.312500 +vt 0.937500 0.750000 +vt 0.937500 0.250000 +vt 0.937500 0.687500 +vt 0.937500 0.187500 +vt 0.937500 0.625000 +vt 0.937500 0.125000 +vt 0.937500 0.562500 +vt 0.906250 0.812500 +vt 0.906250 0.750000 +vt 0.906250 0.250000 +vt 0.906250 0.687500 +vt 0.906250 0.187500 +vt 0.906250 0.625000 +vt 0.906250 0.125000 +vt 0.906250 0.562500 +vt 0.906250 0.062500 +vt 0.906250 0.500000 +vt 0.921875 1.000000 +vt 0.906250 0.937500 +vt 0.921875 0.000000 +vt 0.906250 0.437500 +vt 0.906250 0.875000 +vt 0.906250 0.375000 +vt 0.906250 0.312500 +vt 0.875000 0.500000 +vt 0.890625 1.000000 +vt 0.875000 0.937500 +vt 0.890625 0.000000 +vt 0.875000 0.062500 +vt 0.875000 0.437500 +vt 0.875000 0.875000 +vt 0.875000 0.375000 +vt 0.875000 0.812500 +vt 0.875000 0.312500 +vt 0.875000 0.750000 +vt 0.875000 0.250000 +vt 0.875000 0.687500 +vt 0.875000 0.187500 +vt 0.875000 0.625000 +vt 0.875000 0.125000 +vt 0.875000 0.562500 +vt 0.843750 0.250000 +vt 0.843750 0.750000 +vt 0.843750 0.687500 +vt 0.843750 0.187500 +vt 0.843750 0.625000 +vt 0.843750 0.125000 +vt 0.843750 0.562500 +vt 0.843750 0.062500 +vt 0.843750 0.500000 +vt 0.859375 1.000000 +vt 0.843750 0.937500 +vt 0.859375 0.000000 +vt 0.843750 0.437500 +vt 0.843750 0.875000 +vt 0.843750 0.375000 +vt 0.843750 0.812500 +vt 0.843750 0.312500 +vt 0.828125 0.000000 +vt 0.812500 0.062500 +vt 0.812500 0.437500 +vt 0.812500 0.937500 +vt 0.812500 0.875000 +vt 0.812500 0.375000 +vt 0.812500 0.812500 +vt 0.812500 0.312500 +vt 0.812500 0.750000 +vt 0.812500 0.250000 +vt 0.812500 0.687500 +vt 0.812500 0.187500 +vt 0.812500 0.625000 +vt 0.812500 0.125000 +vt 0.812500 0.562500 +vt 0.812500 0.500000 +vt 0.828125 1.000000 +vt 0.781250 0.187500 +vt 0.781250 0.625000 +vt 0.781250 0.125000 +vt 0.781250 0.562500 +vt 0.781250 0.062500 +vt 0.781250 0.500000 +vt 0.796875 1.000000 +vt 0.781250 0.937500 +vt 0.796875 0.000000 +vt 0.781250 0.437500 +vt 0.781250 0.875000 +vt 0.781250 0.375000 +vt 0.781250 0.812500 +vt 0.781250 0.312500 +vt 0.781250 0.750000 +vt 0.781250 0.250000 +vt 0.781250 0.687500 +vt 0.765625 1.000000 +vt 0.765625 0.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.1914 -0.1939 -0.9622 +vn 0.0000 -0.1939 -0.9810 +vn 0.0000 0.9796 -0.2010 +vn 0.0757 0.9217 -0.3804 +vn 0.0000 0.9217 -0.3879 +vn 0.1804 -0.3805 -0.9070 +vn 0.0000 -0.3805 -0.9247 +vn 0.0000 0.8286 -0.5598 +vn 0.1092 0.8286 -0.5490 +vn 0.1626 -0.5528 -0.8173 +vn 0.0000 -0.5528 -0.8333 +vn 0.1385 0.7040 -0.6965 +vn 0.0000 0.7040 -0.7101 +vn 0.1385 -0.7040 -0.6965 +vn 0.0000 -0.7040 -0.7101 +vn 0.1626 0.5528 -0.8173 +vn 0.0000 0.5528 -0.8333 +vn 0.1092 -0.8286 -0.5490 +vn 0.0000 -0.8286 -0.5598 +vn 0.1804 0.3805 -0.9070 +vn 0.0000 0.3805 -0.9247 +vn 0.0757 -0.9217 -0.3804 +vn 0.0000 -0.9217 -0.3879 +vn 0.1914 0.1939 -0.9622 +vn 0.0000 0.1939 -0.9810 +vn 0.0392 -0.9796 -0.1971 +vn 0.0000 -0.9796 -0.2010 +vn 0.1951 0.0000 -0.9808 +vn 0.0000 1.0000 0.0000 +vn 0.0392 0.9796 -0.1971 +vn 0.0000 -1.0000 0.0000 +vn 0.0769 -0.9796 -0.1856 +vn 0.3827 0.0000 -0.9239 +vn 0.0769 0.9796 -0.1856 +vn 0.3754 -0.1939 -0.9063 +vn 0.1484 0.9217 -0.3583 +vn 0.3539 -0.3805 -0.8544 +vn 0.2142 0.8286 -0.5171 +vn 0.3189 -0.5528 -0.7699 +vn 0.2717 0.7040 -0.6561 +vn 0.2717 -0.7040 -0.6561 +vn 0.3189 0.5528 -0.7699 +vn 0.2142 -0.8286 -0.5171 +vn 0.3539 0.3805 -0.8544 +vn 0.1484 -0.9217 -0.3583 +vn 0.3754 0.1939 -0.9063 +vn 0.4630 -0.5528 -0.6929 +vn 0.3945 -0.7040 -0.5904 +vn 0.4630 0.5528 -0.6929 +vn 0.3110 -0.8286 -0.4654 +vn 0.5137 0.3805 -0.7689 +vn 0.2155 -0.9217 -0.3225 +vn 0.5450 0.1939 -0.8157 +vn 0.1116 -0.9796 -0.1671 +vn 0.5556 0.0000 -0.8314 +vn 0.1116 0.9796 -0.1671 +vn 0.5450 -0.1939 -0.8157 +vn 0.2155 0.9217 -0.3225 +vn 0.5137 -0.3805 -0.7689 +vn 0.3110 0.8286 -0.4654 +vn 0.3945 0.7040 -0.5904 +vn 0.1421 0.9796 -0.1421 +vn 0.1421 -0.9796 -0.1421 +vn 0.6937 -0.1939 -0.6937 +vn 0.2743 0.9217 -0.2743 +vn 0.6539 -0.3805 -0.6539 +vn 0.3958 0.8286 -0.3958 +vn 0.5893 -0.5528 -0.5893 +vn 0.5021 0.7040 -0.5021 +vn 0.5021 -0.7040 -0.5021 +vn 0.5893 0.5528 -0.5893 +vn 0.3958 -0.8286 -0.3958 +vn 0.6539 0.3805 -0.6539 +vn 0.2743 -0.9217 -0.2743 +vn 0.6937 0.1939 -0.6937 +vn 0.7071 0.0000 -0.7071 +vn 0.5904 0.7040 -0.3945 +vn 0.6929 0.5528 -0.4630 +vn 0.5904 -0.7040 -0.3945 +vn 0.4654 -0.8286 -0.3110 +vn 0.7689 0.3805 -0.5137 +vn 0.3225 -0.9217 -0.2155 +vn 0.8157 0.1939 -0.5450 +vn 0.1671 -0.9796 -0.1116 +vn 0.8314 0.0000 -0.5556 +vn 0.1671 0.9796 -0.1116 +vn 0.8157 -0.1939 -0.5450 +vn 0.3225 0.9217 -0.2155 +vn 0.7689 -0.3805 -0.5137 +vn 0.4654 0.8286 -0.3110 +vn 0.6929 -0.5528 -0.4630 +vn 0.9063 -0.1939 -0.3754 +vn 0.3583 0.9217 -0.1484 +vn 0.8544 -0.3805 -0.3539 +vn 0.5171 0.8286 -0.2142 +vn 0.7699 -0.5528 -0.3189 +vn 0.6561 0.7040 -0.2717 +vn 0.6561 -0.7040 -0.2717 +vn 0.7699 0.5528 -0.3189 +vn 0.5171 -0.8286 -0.2142 +vn 0.8544 0.3805 -0.3539 +vn 0.3583 -0.9217 -0.1484 +vn 0.9063 0.1939 -0.3754 +vn 0.1856 -0.9796 -0.0769 +vn 0.9239 0.0000 -0.3827 +vn 0.1856 0.9796 -0.0769 +vn 0.5490 -0.8286 -0.1092 +vn 0.9070 0.3805 -0.1804 +vn 0.3804 -0.9217 -0.0757 +vn 0.9622 0.1939 -0.1914 +vn 0.1971 -0.9796 -0.0392 +vn 0.9808 0.0000 -0.1951 +vn 0.1971 0.9796 -0.0392 +vn 0.9622 -0.1939 -0.1914 +vn 0.3804 0.9217 -0.0757 +vn 0.9070 -0.3805 -0.1804 +vn 0.5490 0.8286 -0.1092 +vn 0.8173 -0.5528 -0.1626 +vn 0.6965 0.7040 -0.1385 +vn 0.6965 -0.7040 -0.1385 +vn 0.8173 0.5528 -0.1626 +vn 0.3879 0.9217 0.0000 +vn 0.9247 -0.3805 0.0000 +vn 0.5598 0.8286 0.0000 +vn 0.8333 -0.5528 0.0000 +vn 0.7101 0.7040 0.0000 +vn 0.7101 -0.7040 0.0000 +vn 0.8333 0.5528 0.0000 +vn 0.5598 -0.8286 0.0000 +vn 0.9247 0.3805 0.0000 +vn 0.3879 -0.9217 0.0000 +vn 0.9810 0.1939 0.0000 +vn 0.2010 -0.9796 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.2010 0.9796 0.0000 +vn 0.9810 -0.1939 0.0000 +vn 0.9070 0.3805 0.1804 +vn 0.3804 -0.9217 0.0757 +vn 0.9622 0.1939 0.1914 +vn 0.1971 -0.9796 0.0392 +vn 0.9808 0.0000 0.1951 +vn 0.1971 0.9796 0.0392 +vn 0.9622 -0.1939 0.1914 +vn 0.3804 0.9217 0.0757 +vn 0.9070 -0.3805 0.1804 +vn 0.5490 0.8286 0.1092 +vn 0.8173 -0.5528 0.1626 +vn 0.6965 0.7040 0.1385 +vn 0.6965 -0.7040 0.1385 +vn 0.8173 0.5528 0.1626 +vn 0.5490 -0.8286 0.1092 +vn 0.8544 -0.3805 0.3539 +vn 0.3583 0.9217 0.1484 +vn 0.5171 0.8286 0.2142 +vn 0.7699 -0.5528 0.3189 +vn 0.6561 0.7040 0.2717 +vn 0.6561 -0.7040 0.2717 +vn 0.7699 0.5528 0.3189 +vn 0.5171 -0.8286 0.2142 +vn 0.8544 0.3805 0.3539 +vn 0.3583 -0.9217 0.1484 +vn 0.9063 0.1939 0.3754 +vn 0.1856 -0.9796 0.0769 +vn 0.9239 0.0000 0.3827 +vn 0.1856 0.9796 0.0769 +vn 0.9063 -0.1939 0.3754 +vn 0.3225 -0.9217 0.2155 +vn 0.7689 0.3805 0.5137 +vn 0.8157 0.1939 0.5450 +vn 0.1671 -0.9796 0.1116 +vn 0.8314 0.0000 0.5556 +vn 0.1671 0.9796 0.1116 +vn 0.8157 -0.1939 0.5450 +vn 0.3225 0.9217 0.2155 +vn 0.7689 -0.3805 0.5137 +vn 0.4654 0.8286 0.3110 +vn 0.6929 -0.5528 0.4630 +vn 0.5904 0.7040 0.3945 +vn 0.5904 -0.7040 0.3945 +vn 0.6929 0.5528 0.4630 +vn 0.4654 -0.8286 0.3110 +vn 0.5893 -0.5528 0.5893 +vn 0.5021 0.7040 0.5021 +vn 0.5021 -0.7040 0.5021 +vn 0.5893 0.5528 0.5893 +vn 0.3958 -0.8286 0.3958 +vn 0.6539 0.3805 0.6539 +vn 0.2743 -0.9217 0.2743 +vn 0.6937 0.1939 0.6937 +vn 0.1421 -0.9796 0.1421 +vn 0.7071 0.0000 0.7071 +vn 0.1421 0.9796 0.1421 +vn 0.6937 -0.1939 0.6937 +vn 0.2743 0.9217 0.2743 +vn 0.6539 -0.3805 0.6539 +vn 0.3958 0.8286 0.3958 +vn 0.2155 -0.9217 0.3225 +vn 0.1116 -0.9796 0.1671 +vn 0.5556 0.0000 0.8314 +vn 0.1116 0.9796 0.1671 +vn 0.5450 -0.1939 0.8157 +vn 0.2155 0.9217 0.3225 +vn 0.5137 -0.3805 0.7689 +vn 0.3110 0.8286 0.4654 +vn 0.4630 -0.5528 0.6929 +vn 0.3945 0.7040 0.5904 +vn 0.3945 -0.7040 0.5904 +vn 0.4630 0.5528 0.6929 +vn 0.3110 -0.8286 0.4654 +vn 0.5137 0.3805 0.7689 +vn 0.5450 0.1939 0.8157 +vn 0.2717 0.7040 0.6561 +vn 0.2717 -0.7040 0.6561 +vn 0.3189 0.5528 0.7699 +vn 0.2142 -0.8286 0.5171 +vn 0.3539 0.3805 0.8544 +vn 0.1484 -0.9217 0.3583 +vn 0.3754 0.1939 0.9063 +vn 0.0769 -0.9796 0.1856 +vn 0.3827 0.0000 0.9239 +vn 0.0769 0.9796 0.1856 +vn 0.3754 -0.1939 0.9063 +vn 0.1484 0.9217 0.3583 +vn 0.3539 -0.3805 0.8544 +vn 0.2142 0.8286 0.5171 +vn 0.3189 -0.5528 0.7699 +vn 0.1951 0.0000 0.9808 +vn 0.0392 0.9796 0.1971 +vn 0.0392 -0.9796 0.1971 +vn 0.1914 -0.1939 0.9622 +vn 0.0757 0.9217 0.3804 +vn 0.1804 -0.3805 0.9070 +vn 0.1092 0.8286 0.5490 +vn 0.1626 -0.5528 0.8173 +vn 0.1385 0.7040 0.6965 +vn 0.1385 -0.7040 0.6965 +vn 0.1626 0.5528 0.8173 +vn 0.1092 -0.8286 0.5490 +vn 0.1804 0.3805 0.9070 +vn 0.0757 -0.9217 0.3804 +vn 0.1914 0.1939 0.9622 +vn 0.0000 -0.7040 0.7101 +vn 0.0000 0.5528 0.8333 +vn 0.0000 -0.8286 0.5598 +vn 0.0000 0.3805 0.9247 +vn 0.0000 -0.9217 0.3879 +vn 0.0000 0.1939 0.9810 +vn 0.0000 -0.9796 0.2010 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.9796 0.2010 +vn 0.0000 -0.1939 0.9810 +vn 0.0000 0.9217 0.3879 +vn 0.0000 -0.3805 0.9247 +vn 0.0000 0.8286 0.5598 +vn 0.0000 -0.5528 0.8333 +vn 0.0000 0.7040 0.7101 +vn -0.0392 0.9796 0.1971 +vn -0.0392 -0.9796 0.1971 +vn -0.1914 -0.1939 0.9622 +vn -0.0757 0.9217 0.3804 +vn -0.1804 -0.3805 0.9070 +vn -0.1092 0.8286 0.5490 +vn -0.1626 -0.5528 0.8173 +vn -0.1385 0.7040 0.6965 +vn -0.1385 -0.7040 0.6965 +vn -0.1626 0.5528 0.8173 +vn -0.1092 -0.8286 0.5490 +vn -0.1804 0.3805 0.9070 +vn -0.0757 -0.9217 0.3804 +vn -0.1914 0.1939 0.9622 +vn -0.1951 0.0000 0.9808 +vn -0.2717 0.7040 0.6561 +vn -0.3189 0.5528 0.7699 +vn -0.2142 -0.8286 0.5171 +vn -0.3539 0.3805 0.8544 +vn -0.1484 -0.9217 0.3583 +vn -0.3754 0.1939 0.9063 +vn -0.0769 -0.9796 0.1856 +vn -0.3827 0.0000 0.9239 +vn -0.0769 0.9796 0.1856 +vn -0.3754 -0.1939 0.9063 +vn -0.1484 0.9217 0.3583 +vn -0.3539 -0.3805 0.8544 +vn -0.2142 0.8286 0.5171 +vn -0.3189 -0.5528 0.7699 +vn -0.2717 -0.7040 0.6561 +vn -0.5450 -0.1939 0.8157 +vn -0.2155 0.9217 0.3225 +vn -0.5137 -0.3805 0.7689 +vn -0.3110 0.8286 0.4654 +vn -0.4630 -0.5528 0.6929 +vn -0.3945 0.7040 0.5904 +vn -0.3945 -0.7040 0.5904 +vn -0.4630 0.5528 0.6929 +vn -0.3110 -0.8286 0.4654 +vn -0.5137 0.3805 0.7689 +vn -0.2155 -0.9217 0.3225 +vn -0.5450 0.1939 0.8157 +vn -0.1116 -0.9796 0.1671 +vn -0.5556 0.0000 0.8314 +vn -0.1116 0.9796 0.1671 +vn -0.3958 -0.8286 0.3958 +vn -0.6539 0.3805 0.6539 +vn -0.2743 -0.9217 0.2743 +vn -0.6937 0.1939 0.6937 +vn -0.1421 -0.9796 0.1421 +vn -0.7071 0.0000 0.7071 +vn -0.1421 0.9796 0.1421 +vn -0.6937 -0.1939 0.6937 +vn -0.2743 0.9217 0.2743 +vn -0.6539 -0.3805 0.6539 +vn -0.3958 0.8286 0.3958 +vn -0.5893 -0.5528 0.5893 +vn -0.5021 0.7040 0.5021 +vn -0.5021 -0.7040 0.5021 +vn -0.5893 0.5528 0.5893 +vn -0.7689 -0.3805 0.5137 +vn -0.4654 0.8286 0.3110 +vn -0.6929 -0.5528 0.4630 +vn -0.5904 0.7040 0.3945 +vn -0.5904 -0.7040 0.3945 +vn -0.6929 0.5528 0.4630 +vn -0.4654 -0.8286 0.3110 +vn -0.7689 0.3805 0.5137 +vn -0.3225 -0.9217 0.2155 +vn -0.8157 0.1939 0.5450 +vn -0.1671 -0.9796 0.1116 +vn -0.8314 0.0000 0.5556 +vn -0.1671 0.9796 0.1116 +vn -0.8157 -0.1939 0.5450 +vn -0.3225 0.9217 0.2155 +vn -0.5171 -0.8286 0.2142 +vn -0.3583 -0.9217 0.1484 +vn -0.8544 0.3805 0.3539 +vn -0.9063 0.1939 0.3754 +vn -0.1856 -0.9796 0.0769 +vn -0.9239 0.0000 0.3827 +vn -0.1856 0.9796 0.0769 +vn -0.9063 -0.1939 0.3754 +vn -0.3583 0.9217 0.1484 +vn -0.8544 -0.3805 0.3539 +vn -0.5171 0.8286 0.2142 +vn -0.7699 -0.5528 0.3189 +vn -0.6561 0.7040 0.2717 +vn -0.6561 -0.7040 0.2717 +vn -0.7699 0.5528 0.3189 +vn -0.5490 0.8286 0.1092 +vn -0.9070 -0.3805 0.1804 +vn -0.8173 -0.5528 0.1626 +vn -0.6965 0.7040 0.1385 +vn -0.6965 -0.7040 0.1385 +vn -0.8173 0.5528 0.1626 +vn -0.5490 -0.8286 0.1092 +vn -0.9070 0.3805 0.1804 +vn -0.3804 -0.9217 0.0757 +vn -0.9622 0.1939 0.1914 +vn -0.1971 -0.9796 0.0392 +vn -0.9808 0.0000 0.1951 +vn -0.1971 0.9796 0.0392 +vn -0.9622 -0.1939 0.1914 +vn -0.3804 0.9217 0.0757 +vn -0.9247 0.3805 0.0000 +vn -0.9810 0.1939 0.0000 +vn -0.2010 -0.9796 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.2010 0.9796 0.0000 +vn -0.9810 -0.1939 0.0000 +vn -0.3879 0.9217 0.0000 +vn -0.9247 -0.3805 0.0000 +vn -0.5598 0.8286 0.0000 +vn -0.8333 -0.5528 0.0000 +vn -0.7101 0.7040 0.0000 +vn -0.7101 -0.7040 0.0000 +vn -0.8333 0.5528 0.0000 +vn -0.5598 -0.8286 0.0000 +vn -0.3879 -0.9217 0.0000 +vn -0.9070 -0.3805 -0.1804 +vn -0.8173 -0.5528 -0.1626 +vn -0.5490 0.8286 -0.1092 +vn -0.6965 0.7040 -0.1385 +vn -0.6965 -0.7040 -0.1385 +vn -0.8173 0.5528 -0.1626 +vn -0.5490 -0.8286 -0.1092 +vn -0.9070 0.3805 -0.1804 +vn -0.3804 -0.9217 -0.0757 +vn -0.9622 0.1939 -0.1914 +vn -0.1971 -0.9796 -0.0392 +vn -0.9808 0.0000 -0.1951 +vn -0.1971 0.9796 -0.0392 +vn -0.9622 -0.1939 -0.1914 +vn -0.3804 0.9217 -0.0757 +vn -0.1856 -0.9796 -0.0769 +vn -0.9239 0.0000 -0.3827 +vn -0.1856 0.9796 -0.0769 +vn -0.9063 -0.1939 -0.3754 +vn -0.3583 0.9217 -0.1484 +vn -0.8544 -0.3805 -0.3539 +vn -0.5171 0.8286 -0.2142 +vn -0.7699 -0.5528 -0.3189 +vn -0.6561 0.7040 -0.2717 +vn -0.6561 -0.7040 -0.2717 +vn -0.7699 0.5528 -0.3189 +vn -0.5171 -0.8286 -0.2142 +vn -0.8544 0.3805 -0.3539 +vn -0.3583 -0.9217 -0.1484 +vn -0.9063 0.1939 -0.3754 +vn -0.4654 0.8286 -0.3110 +vn -0.5904 0.7040 -0.3945 +vn -0.5904 -0.7040 -0.3945 +vn -0.6929 0.5528 -0.4630 +vn -0.4654 -0.8286 -0.3110 +vn -0.7689 0.3805 -0.5137 +vn -0.3225 -0.9217 -0.2155 +vn -0.8157 0.1939 -0.5450 +vn -0.1671 -0.9796 -0.1116 +vn -0.8314 0.0000 -0.5556 +vn -0.1671 0.9796 -0.1116 +vn -0.8157 -0.1939 -0.5450 +vn -0.3225 0.9217 -0.2155 +vn -0.7689 -0.3805 -0.5137 +vn -0.6929 -0.5528 -0.4630 +vn -0.7071 0.0000 -0.7071 +vn -0.1421 0.9796 -0.1421 +vn -0.1421 -0.9796 -0.1421 +vn -0.6937 -0.1939 -0.6937 +vn -0.2743 0.9217 -0.2743 +vn -0.6539 -0.3805 -0.6539 +vn -0.3958 0.8286 -0.3958 +vn -0.5893 -0.5528 -0.5893 +vn -0.5021 0.7040 -0.5021 +vn -0.5021 -0.7040 -0.5021 +vn -0.5893 0.5528 -0.5893 +vn -0.3958 -0.8286 -0.3958 +vn -0.6539 0.3805 -0.6539 +vn -0.2743 -0.9217 -0.2743 +vn -0.6937 0.1939 -0.6937 +vn -0.3945 -0.7040 -0.5904 +vn -0.3945 0.7040 -0.5904 +vn -0.4630 0.5528 -0.6929 +vn -0.3110 -0.8286 -0.4654 +vn -0.5137 0.3805 -0.7689 +vn -0.2155 -0.9217 -0.3225 +vn -0.5450 0.1939 -0.8157 +vn -0.1116 -0.9796 -0.1671 +vn -0.5556 0.0000 -0.8314 +vn -0.1116 0.9796 -0.1671 +vn -0.5450 -0.1939 -0.8157 +vn -0.2155 0.9217 -0.3225 +vn -0.5137 -0.3805 -0.7689 +vn -0.3110 0.8286 -0.4654 +vn -0.4630 -0.5528 -0.6929 +vn -0.0769 -0.9796 -0.1856 +vn -0.3754 -0.1939 -0.9063 +vn -0.0769 0.9796 -0.1856 +vn -0.1484 0.9217 -0.3583 +vn -0.3539 -0.3805 -0.8544 +vn -0.2142 0.8286 -0.5171 +vn -0.3189 -0.5528 -0.7699 +vn -0.2717 0.7040 -0.6561 +vn -0.2717 -0.7040 -0.6561 +vn -0.3189 0.5528 -0.7699 +vn -0.2142 -0.8286 -0.5171 +vn -0.3539 0.3805 -0.8544 +vn -0.1484 -0.9217 -0.3583 +vn -0.3754 0.1939 -0.9063 +vn -0.3827 0.0000 -0.9239 +vn -0.1092 -0.8286 -0.5490 +vn -0.1804 0.3805 -0.9070 +vn -0.0757 -0.9217 -0.3804 +vn -0.1914 0.1939 -0.9622 +vn -0.0392 -0.9796 -0.1971 +vn -0.1951 0.0000 -0.9808 +vn -0.0392 0.9796 -0.1971 +vn -0.1914 -0.1939 -0.9622 +vn -0.0757 0.9217 -0.3804 +vn -0.1804 -0.3805 -0.9070 +vn -0.1092 0.8286 -0.5490 +vn -0.1626 -0.5528 -0.8173 +vn -0.1385 0.7040 -0.6965 +vn -0.1385 -0.7040 -0.6965 +vn -0.1626 0.5528 -0.8173 +usemtl Material.001 +s 1 +f 8/1/1 19/2/2 9/3/3 +f 1/4/4 12/5/5 2/6/6 +f 9/3/3 20/7/7 478/8/8 +f 3/9/9 12/5/5 13/10/10 +f 478/8/8 21/11/11 479/12/12 +f 3/9/9 14/13/13 4/14/14 +f 479/12/12 22/15/15 480/16/16 +f 4/14/14 15/17/17 5/18/18 +f 480/16/16 23/19/19 10/20/20 +f 5/18/18 16/21/21 6/22/22 +f 10/20/20 24/23/23 481/24/24 +f 6/22/22 17/25/25 7/26/26 +f 481/24/24 25/27/27 482/28/28 +f 7/26/26 18/29/29 8/1/1 +f 1/4/4 297/30/30 11/31/31 +f 206/32/32 482/28/28 25/27/27 +f 24/23/23 40/33/33 25/27/27 +f 17/25/25 33/34/34 18/29/29 +f 11/31/31 297/35/30 26/36/35 +f 206/37/32 25/27/27 40/33/33 +f 19/2/2 33/34/34 34/38/36 +f 11/31/31 27/39/37 12/5/5 +f 20/7/7 34/38/36 35/40/38 +f 12/5/5 28/41/39 13/10/10 +f 20/7/7 36/42/40 21/11/11 +f 13/10/10 29/43/41 14/13/13 +f 22/15/15 36/42/40 37/44/42 +f 14/13/13 30/45/43 15/17/17 +f 22/15/15 38/46/44 23/19/19 +f 15/17/17 31/47/45 16/21/21 +f 23/19/19 39/48/46 24/23/23 +f 16/21/21 32/49/47 17/25/25 +f 37/44/42 51/50/48 52/51/49 +f 29/43/41 45/52/50 30/45/43 +f 37/44/42 53/53/51 38/46/44 +f 30/45/43 46/54/52 31/47/45 +f 38/46/44 54/55/53 39/48/46 +f 32/49/47 46/54/52 47/56/54 +f 39/48/46 55/57/55 40/33/33 +f 32/49/47 48/58/56 33/34/34 +f 26/36/35 297/59/30 41/60/57 +f 206/61/32 40/33/33 55/57/55 +f 33/34/34 49/62/58 34/38/36 +f 26/36/35 42/63/59 27/39/37 +f 34/38/36 50/64/60 35/40/38 +f 27/39/37 43/65/61 28/41/39 +f 36/42/40 50/64/60 51/50/48 +f 28/41/39 44/66/62 29/43/41 +f 41/60/57 297/67/30 56/68/63 +f 206/69/32 55/57/55 70/70/64 +f 48/58/56 64/71/65 49/62/58 +f 41/60/57 57/72/66 42/63/59 +f 49/62/58 65/73/67 50/64/60 +f 42/63/59 58/74/68 43/65/61 +f 51/50/48 65/73/67 66/75/69 +f 43/65/61 59/76/70 44/66/62 +f 51/50/48 67/77/71 52/51/49 +f 44/66/62 60/78/72 45/52/50 +f 52/51/49 68/79/73 53/53/51 +f 45/52/50 61/80/74 46/54/52 +f 53/53/51 69/81/75 54/55/53 +f 46/54/52 62/82/76 47/56/54 +f 54/55/53 70/70/64 55/57/55 +f 48/58/56 62/82/76 63/83/77 +f 60/78/72 74/84/78 75/85/79 +f 68/79/73 82/86/80 83/87/81 +f 60/78/72 76/88/82 61/80/74 +f 69/81/75 83/87/81 84/89/83 +f 61/80/74 77/90/84 62/82/76 +f 69/81/75 85/91/85 70/70/64 +f 63/83/77 77/90/84 78/92/86 +f 56/68/63 297/93/30 71/94/87 +f 206/95/32 70/70/64 85/91/85 +f 63/83/77 79/96/88 64/71/65 +f 56/68/63 72/97/89 57/72/66 +f 64/71/65 80/98/90 65/73/67 +f 57/72/66 73/99/91 58/74/68 +f 66/75/69 80/98/90 81/100/92 +f 58/74/68 74/84/78 59/76/70 +f 66/75/69 82/86/80 67/77/71 +f 78/92/86 94/101/93 79/96/88 +f 71/94/87 87/102/94 72/97/89 +f 79/96/88 95/103/95 80/98/90 +f 72/97/89 88/104/96 73/99/91 +f 81/100/92 95/103/95 96/105/97 +f 73/99/91 89/106/98 74/84/78 +f 82/86/80 96/105/97 97/107/99 +f 75/85/79 89/106/98 90/108/100 +f 82/86/80 98/109/101 83/87/81 +f 75/85/79 91/110/102 76/88/82 +f 84/89/83 98/109/101 99/111/103 +f 77/90/84 91/110/102 92/112/104 +f 84/89/83 100/113/105 85/91/85 +f 77/90/84 93/114/106 78/92/86 +f 71/94/87 297/115/30 86/116/107 +f 206/117/32 85/91/85 100/113/105 +f 97/107/99 113/118/108 98/109/101 +f 90/108/100 106/119/109 91/110/102 +f 98/109/101 114/120/110 99/111/103 +f 92/112/104 106/119/109 107/121/111 +f 100/113/105 114/120/110 115/122/112 +f 92/112/104 108/123/113 93/114/106 +f 86/116/107 297/124/30 101/125/114 +f 206/126/32 100/113/105 115/122/112 +f 93/114/106 109/127/115 94/101/93 +f 86/116/107 102/128/116 87/102/94 +f 94/101/93 110/129/117 95/103/95 +f 87/102/94 103/130/118 88/104/96 +f 96/105/97 110/129/117 111/131/119 +f 89/106/98 103/130/118 104/132/120 +f 97/107/99 111/131/119 112/133/121 +f 89/106/98 105/134/122 90/108/100 +f 101/125/114 117/135/123 102/128/116 +f 109/127/115 125/136/124 110/129/117 +f 102/128/116 118/137/125 103/130/118 +f 111/131/119 125/136/124 126/138/126 +f 103/130/118 119/139/127 104/132/120 +f 111/131/119 127/140/128 112/133/121 +f 104/132/120 120/141/129 105/134/122 +f 113/118/108 127/140/128 128/142/130 +f 105/134/122 121/143/131 106/119/109 +f 114/120/110 128/142/130 129/144/132 +f 107/121/111 121/143/131 122/145/133 +f 115/122/112 129/144/132 130/146/134 +f 107/121/111 123/147/135 108/123/113 +f 101/125/114 297/148/30 116/149/136 +f 206/150/32 115/122/112 130/146/134 +f 109/127/115 123/147/135 124/151/137 +f 120/141/129 136/152/138 121/143/131 +f 128/142/130 144/153/139 129/144/132 +f 122/145/133 136/152/138 137/154/140 +f 130/146/134 144/153/139 145/155/141 +f 122/145/133 138/156/142 123/147/135 +f 116/149/136 297/157/30 131/158/143 +f 206/159/32 130/146/134 145/155/141 +f 123/147/135 139/160/144 124/151/137 +f 117/135/123 131/158/143 132/161/145 +f 124/151/137 140/162/146 125/136/124 +f 117/135/123 133/163/147 118/137/125 +f 126/138/126 140/162/146 141/164/148 +f 118/137/125 134/165/149 119/139/127 +f 126/138/126 142/166/150 127/140/128 +f 120/141/129 134/165/149 135/167/151 +f 128/142/130 142/166/150 143/168/152 +f 139/160/144 155/169/153 140/162/146 +f 133/163/147 147/170/154 148/171/155 +f 141/164/148 155/169/153 156/172/156 +f 133/163/147 149/173/157 134/165/149 +f 141/164/148 157/174/158 142/166/150 +f 134/165/149 150/175/159 135/167/151 +f 142/166/150 158/176/160 143/168/152 +f 135/167/151 151/177/161 136/152/138 +f 144/153/139 158/176/160 159/178/162 +f 137/154/140 151/177/161 152/179/163 +f 144/153/139 160/180/164 145/155/141 +f 137/154/140 153/181/165 138/156/142 +f 131/158/143 297/182/30 146/183/166 +f 206/184/32 145/155/141 160/180/164 +f 138/156/142 154/185/167 139/160/144 +f 131/158/143 147/170/154 132/161/145 +f 158/176/160 174/186/168 159/178/162 +f 152/179/163 166/187/169 167/188/170 +f 159/178/162 175/189/171 160/180/164 +f 152/179/163 168/190/172 153/181/165 +f 146/183/166 297/191/30 161/192/173 +f 206/193/32 160/180/164 175/189/171 +f 154/185/167 168/190/172 169/194/174 +f 146/183/166 162/195/175 147/170/154 +f 154/185/167 170/196/176 155/169/153 +f 147/170/154 163/197/177 148/171/155 +f 156/172/156 170/196/176 171/198/178 +f 148/171/155 164/199/179 149/173/157 +f 156/172/156 172/200/180 157/174/158 +f 150/175/159 164/199/179 165/201/181 +f 158/176/160 172/200/180 173/202/182 +f 150/175/159 166/187/169 151/177/161 +f 170/196/176 186/203/183 171/198/178 +f 163/197/177 179/204/184 164/199/179 +f 171/198/178 187/205/185 172/200/180 +f 164/199/179 180/206/186 165/201/181 +f 173/202/182 187/205/185 188/207/187 +f 165/201/181 181/208/188 166/187/169 +f 173/202/182 189/209/189 174/186/168 +f 167/188/170 181/208/188 182/210/190 +f 175/189/171 189/209/189 190/211/191 +f 167/188/170 183/212/192 168/190/172 +f 161/192/173 297/213/30 176/214/193 +f 206/215/32 175/189/171 190/211/191 +f 168/190/172 184/216/194 169/194/174 +f 161/192/173 177/217/195 162/195/175 +f 169/194/174 185/218/196 170/196/176 +f 162/195/175 178/219/197 163/197/177 +f 190/211/191 204/220/198 205/221/199 +f 182/210/190 198/222/200 183/212/192 +f 176/214/193 297/223/30 191/224/201 +f 206/225/32 190/211/191 205/221/199 +f 184/216/194 198/222/200 199/226/202 +f 176/214/193 192/227/203 177/217/195 +f 184/216/194 200/228/204 185/218/196 +f 177/217/195 193/229/205 178/219/197 +f 186/203/183 200/228/204 201/230/206 +f 179/204/184 193/229/205 194/231/207 +f 186/203/183 202/232/208 187/205/185 +f 180/206/186 194/231/207 195/233/209 +f 188/207/187 202/232/208 203/234/210 +f 180/206/186 196/235/211 181/208/188 +f 188/207/187 204/220/198 189/209/189 +f 182/210/190 196/235/211 197/236/212 +f 193/229/205 210/237/213 194/231/207 +f 201/230/206 218/238/214 202/232/208 +f 194/231/207 211/239/215 195/233/209 +f 203/234/210 218/238/214 219/240/216 +f 195/233/209 212/241/217 196/235/211 +f 203/234/210 220/242/218 204/220/198 +f 197/236/212 212/241/217 213/243/219 +f 204/220/198 221/244/220 205/221/199 +f 197/236/212 214/245/221 198/222/200 +f 191/224/201 297/246/30 207/247/222 +f 206/248/32 205/221/199 221/244/220 +f 198/222/200 215/249/223 199/226/202 +f 191/224/201 208/250/224 192/227/203 +f 199/226/202 216/251/225 200/228/204 +f 193/229/205 208/250/224 209/252/226 +f 201/230/206 216/251/225 217/253/227 +f 213/243/219 229/254/228 214/245/221 +f 207/247/222 297/255/30 222/256/229 +f 206/257/32 221/244/220 236/258/230 +f 214/245/221 230/259/231 215/249/223 +f 207/247/222 223/260/232 208/250/224 +f 215/249/223 231/261/233 216/251/225 +f 208/250/224 224/262/234 209/252/226 +f 217/253/227 231/261/233 232/263/235 +f 209/252/226 225/264/236 210/237/213 +f 217/253/227 233/265/237 218/238/214 +f 210/237/213 226/266/238 211/239/215 +f 218/238/214 234/267/239 219/240/216 +f 211/239/215 227/268/240 212/241/217 +f 219/240/216 235/269/241 220/242/218 +f 213/243/219 227/268/240 228/270/242 +f 221/244/220 235/269/241 236/258/230 +f 232/263/235 248/271/243 233/265/237 +f 225/264/236 241/272/244 226/266/238 +f 234/267/239 248/271/243 249/273/245 +f 226/266/238 242/274/246 227/268/240 +f 234/267/239 250/275/247 235/269/241 +f 228/270/242 242/274/246 243/276/248 +f 236/258/230 250/275/247 251/277/249 +f 228/270/242 244/278/250 229/254/228 +f 222/256/229 297/279/30 237/280/251 +f 206/281/32 236/258/230 251/277/249 +f 229/254/228 245/282/252 230/259/231 +f 222/256/229 238/283/253 223/260/232 +f 230/259/231 246/284/254 231/261/233 +f 224/262/234 238/283/253 239/285/255 +f 232/263/235 246/284/254 247/286/256 +f 225/264/236 239/285/255 240/287/257 +f 237/280/251 297/288/30 252/289/258 +f 206/290/32 251/277/249 266/291/259 +f 244/278/250 260/292/260 245/282/252 +f 237/280/251 253/293/261 238/283/253 +f 245/282/252 261/294/262 246/284/254 +f 238/283/253 254/295/263 239/285/255 +f 247/286/256 261/294/262 262/296/264 +f 240/287/257 254/295/263 255/297/265 +f 247/286/256 263/298/266 248/271/243 +f 241/272/244 255/297/265 256/299/267 +f 248/271/243 264/300/268 249/273/245 +f 241/272/244 257/301/269 242/274/246 +f 249/273/245 265/302/270 250/275/247 +f 243/276/248 257/301/269 258/303/271 +f 250/275/247 266/291/259 251/277/249 +f 243/276/248 259/304/272 244/278/250 +f 256/299/267 270/305/273 271/306/274 +f 263/298/266 279/307/275 264/300/268 +f 256/299/267 272/308/276 257/301/269 +f 265/302/270 279/307/275 280/309/277 +f 258/303/271 272/308/276 273/310/278 +f 266/291/259 280/309/277 281/311/279 +f 258/303/271 274/312/280 259/304/272 +f 252/289/258 297/313/30 267/314/281 +f 206/315/32 266/291/259 281/311/279 +f 260/292/260 274/312/280 275/316/282 +f 252/289/258 268/317/283 253/293/261 +f 260/292/260 276/318/284 261/294/262 +f 253/293/261 269/319/285 254/295/263 +f 262/296/264 276/318/284 277/320/286 +f 255/297/265 269/319/285 270/305/273 +f 262/296/264 278/321/287 263/298/266 +f 274/312/280 290/322/288 275/316/282 +f 267/314/281 283/323/289 268/317/283 +f 275/316/282 291/324/290 276/318/284 +f 268/317/283 284/325/291 269/319/285 +f 277/320/286 291/324/290 292/326/292 +f 269/319/285 285/327/293 270/305/273 +f 277/320/286 293/328/294 278/321/287 +f 271/306/274 285/327/293 286/329/295 +f 279/307/275 293/328/294 294/330/296 +f 271/306/274 287/331/297 272/308/276 +f 279/307/275 295/332/298 280/309/277 +f 273/310/278 287/331/297 288/333/299 +f 281/311/279 295/332/298 296/334/300 +f 273/310/278 289/335/301 274/312/280 +f 267/314/281 297/336/30 282/337/302 +f 206/338/32 281/311/279 296/334/300 +f 293/328/294 310/339/303 294/330/296 +f 286/329/295 303/340/304 287/331/297 +f 294/330/296 311/341/305 295/332/298 +f 288/333/299 303/340/304 304/342/306 +f 295/332/298 312/343/307 296/334/300 +f 289/335/301 304/342/306 305/344/308 +f 282/337/302 297/345/30 298/346/309 +f 206/347/32 296/334/300 312/343/307 +f 289/335/301 306/348/310 290/322/288 +f 282/337/302 299/349/311 283/323/289 +f 290/322/288 307/350/312 291/324/290 +f 283/323/289 300/351/313 284/325/291 +f 292/326/292 307/350/312 308/352/314 +f 285/327/293 300/351/313 301/353/315 +f 292/326/292 309/354/316 293/328/294 +f 286/329/295 301/353/315 302/355/317 +f 306/348/310 322/356/318 307/350/312 +f 299/349/311 315/357/319 300/351/313 +f 308/352/314 322/356/318 323/358/320 +f 301/353/315 315/357/319 316/359/321 +f 308/352/314 324/360/322 309/354/316 +f 302/355/317 316/359/321 317/361/323 +f 309/354/316 325/362/324 310/339/303 +f 302/355/317 318/363/325 303/340/304 +f 311/341/305 325/362/324 326/364/326 +f 304/342/306 318/363/325 319/365/327 +f 311/341/305 327/366/328 312/343/307 +f 304/342/306 320/367/329 305/344/308 +f 298/346/309 297/368/30 313/369/330 +f 206/370/32 312/343/307 327/366/328 +f 305/344/308 321/371/331 306/348/310 +f 298/346/309 314/372/332 299/349/311 +f 326/364/326 340/373/333 341/374/334 +f 319/365/327 333/375/335 334/376/336 +f 327/366/328 341/374/334 342/377/337 +f 319/365/327 335/378/338 320/367/329 +f 313/369/330 297/379/30 328/380/339 +f 206/381/32 327/366/328 342/377/337 +f 320/367/329 336/382/340 321/371/331 +f 313/369/330 329/383/341 314/372/332 +f 321/371/331 337/384/342 322/356/318 +f 314/372/332 330/385/343 315/357/319 +f 323/358/320 337/384/342 338/386/344 +f 316/359/321 330/385/343 331/387/345 +f 324/360/322 338/386/344 339/388/346 +f 317/361/323 331/387/345 332/389/347 +f 324/360/322 340/373/333 325/362/324 +f 317/361/323 333/375/335 318/363/325 +f 329/383/341 345/390/348 330/385/343 +f 338/386/344 352/391/349 353/392/350 +f 331/387/345 345/390/348 346/393/351 +f 338/386/344 354/394/352 339/388/346 +f 332/389/347 346/393/351 347/395/353 +f 339/388/346 355/396/354 340/373/333 +f 332/389/347 348/397/355 333/375/335 +f 341/374/334 355/396/354 356/398/356 +f 334/376/336 348/397/355 349/399/357 +f 341/374/334 357/400/358 342/377/337 +f 334/376/336 350/401/359 335/378/338 +f 328/380/339 297/402/30 343/403/360 +f 206/404/32 342/377/337 357/400/358 +f 335/378/338 351/405/361 336/382/340 +f 329/383/341 343/403/360 344/406/362 +f 336/382/340 352/391/349 337/384/342 +f 349/399/357 363/407/363 364/408/364 +f 356/398/356 372/409/365 357/400/358 +f 349/399/357 365/410/366 350/401/359 +f 343/403/360 297/411/30 358/412/367 +f 206/413/32 357/400/358 372/409/365 +f 351/405/361 365/410/366 366/414/368 +f 344/406/362 358/412/367 359/415/369 +f 351/405/361 367/416/370 352/391/349 +f 344/406/362 360/417/371 345/390/348 +f 353/392/350 367/416/370 368/418/372 +f 346/393/351 360/417/371 361/419/373 +f 353/392/350 369/420/374 354/394/352 +f 346/393/351 362/421/375 347/395/353 +f 355/396/354 369/420/374 370/422/376 +f 347/395/353 363/407/363 348/397/355 +f 356/398/356 370/422/376 371/423/377 +f 368/424/372 382/425/378 383/426/379 +f 361/427/373 375/428/380 376/429/381 +f 368/424/372 384/430/382 369/431/374 +f 362/432/375 376/429/381 377/433/383 +f 369/431/374 385/434/384 370/435/376 +f 362/432/375 378/436/385 363/437/363 +f 371/438/377 385/434/384 386/439/386 +f 364/440/364 378/436/385 379/441/387 +f 371/438/377 387/442/388 372/443/365 +f 364/440/364 380/444/389 365/445/366 +f 358/446/367 297/447/30 373/448/390 +f 206/449/32 372/443/365 387/442/388 +f 366/450/368 380/444/389 381/451/391 +f 359/452/369 373/448/390 374/453/392 +f 366/450/368 382/425/378 367/454/370 +f 359/452/369 375/428/380 360/455/371 +f 386/439/386 402/456/393 387/442/388 +f 379/441/387 395/457/394 380/444/389 +f 373/448/390 297/458/30 388/459/395 +f 206/460/32 387/442/388 402/456/393 +f 380/444/389 396/461/396 381/451/391 +f 373/448/390 389/462/397 374/453/392 +f 381/451/391 397/463/398 382/425/378 +f 374/453/392 390/464/399 375/428/380 +f 383/426/379 397/463/398 398/465/400 +f 376/429/381 390/464/399 391/466/401 +f 383/426/379 399/467/402 384/430/382 +f 376/429/381 392/468/403 377/433/383 +f 384/430/382 400/469/404 385/434/384 +f 377/433/383 393/470/405 378/436/385 +f 386/439/386 400/469/404 401/471/406 +f 379/441/387 393/470/405 394/472/407 +f 391/466/401 405/473/408 406/474/409 +f 398/465/400 414/475/410 399/467/402 +f 392/468/403 406/474/409 407/476/411 +f 399/467/402 415/477/412 400/469/404 +f 392/468/403 408/478/413 393/470/405 +f 401/471/406 415/477/412 416/479/414 +f 394/472/407 408/478/413 409/480/415 +f 401/471/406 417/481/416 402/456/393 +f 394/472/407 410/482/417 395/457/394 +f 388/459/395 297/483/30 403/484/418 +f 206/485/32 402/456/393 417/481/416 +f 396/461/396 410/482/417 411/486/419 +f 388/459/395 404/487/420 389/462/397 +f 396/461/396 412/488/421 397/463/398 +f 390/464/399 404/487/420 405/473/408 +f 398/465/400 412/488/421 413/489/422 +f 409/480/415 425/490/423 410/482/417 +f 403/484/418 297/491/30 418/492/424 +f 206/493/32 417/481/416 432/494/425 +f 411/486/419 425/490/423 426/495/426 +f 403/484/418 419/496/427 404/487/420 +f 411/486/419 427/497/428 412/488/421 +f 404/487/420 420/498/429 405/473/408 +f 413/489/422 427/497/428 428/499/430 +f 405/473/408 421/500/431 406/474/409 +f 413/489/422 429/501/432 414/475/410 +f 407/476/411 421/500/431 422/502/433 +f 414/475/410 430/503/434 415/477/412 +f 407/476/411 423/504/435 408/478/413 +f 415/477/412 431/505/436 416/479/414 +f 409/480/415 423/504/435 424/506/437 +f 416/479/414 432/494/425 417/481/416 +f 428/499/430 444/507/438 429/501/432 +f 422/502/433 436/508/439 437/509/440 +f 430/503/434 444/507/438 445/510/441 +f 422/502/433 438/511/442 423/504/435 +f 430/503/434 446/512/443 431/505/436 +f 424/506/437 438/511/442 439/513/444 +f 431/505/436 447/514/445 432/494/425 +f 425/490/423 439/513/444 440/515/446 +f 418/492/424 297/516/30 433/517/447 +f 206/518/32 432/494/425 447/514/445 +f 425/490/423 441/519/448 426/495/426 +f 418/492/424 434/520/449 419/496/427 +f 426/495/426 442/521/450 427/497/428 +f 419/496/427 435/522/451 420/498/429 +f 428/499/430 442/521/450 443/523/452 +f 420/498/429 436/508/439 421/500/431 +f 206/524/32 447/514/445 462/525/453 +f 440/515/446 456/526/454 441/519/448 +f 434/520/449 448/527/455 449/528/456 +f 441/519/448 457/529/457 442/521/450 +f 435/522/451 449/528/456 450/530/458 +f 443/523/452 457/529/457 458/531/459 +f 436/508/439 450/530/458 451/532/460 +f 443/523/452 459/533/461 444/507/438 +f 437/509/440 451/532/460 452/534/462 +f 444/507/438 460/535/463 445/510/441 +f 437/509/440 453/536/464 438/511/442 +f 445/510/441 461/537/465 446/512/443 +f 439/513/444 453/536/464 454/538/466 +f 446/512/443 462/525/453 447/514/445 +f 439/513/444 455/539/467 440/515/446 +f 433/517/447 297/540/30 448/527/455 +f 459/533/461 475/541/468 460/535/463 +f 452/534/462 468/542/469 453/536/464 +f 460/535/463 476/543/470 461/537/465 +f 454/538/466 468/542/469 469/544/471 +f 462/525/453 476/543/470 477/545/472 +f 454/538/466 470/546/473 455/539/467 +f 448/527/455 297/547/30 463/548/474 +f 206/549/32 462/525/453 477/545/472 +f 455/539/467 471/550/475 456/526/454 +f 448/527/455 464/551/476 449/528/456 +f 456/526/454 472/552/477 457/529/457 +f 449/528/456 465/553/478 450/530/458 +f 458/531/459 472/552/477 473/554/479 +f 450/530/458 466/555/480 451/532/460 +f 458/531/459 474/556/481 459/533/461 +f 452/534/462 466/555/480 467/557/482 +f 464/551/476 1/4/4 2/6/6 +f 471/550/475 478/8/8 472/552/477 +f 465/553/478 2/6/6 3/9/9 +f 473/554/479 478/8/8 479/12/12 +f 466/555/480 3/9/9 4/14/14 +f 473/554/479 480/16/16 474/556/481 +f 467/557/482 4/14/14 5/18/18 +f 474/556/481 10/20/20 475/541/468 +f 468/542/469 5/18/18 6/22/22 +f 475/541/468 481/24/24 476/543/470 +f 469/544/471 6/22/22 7/26/26 +f 476/543/470 482/28/28 477/545/472 +f 470/546/473 7/26/26 8/1/1 +f 463/548/474 297/558/30 1/4/4 +f 206/559/32 477/545/472 482/28/28 +f 470/546/473 9/3/3 471/550/475 +f 8/1/1 18/29/29 19/2/2 +f 1/4/4 11/31/31 12/5/5 +f 9/3/3 19/2/2 20/7/7 +f 3/9/9 2/6/6 12/5/5 +f 478/8/8 20/7/7 21/11/11 +f 3/9/9 13/10/10 14/13/13 +f 479/12/12 21/11/11 22/15/15 +f 4/14/14 14/13/13 15/17/17 +f 480/16/16 22/15/15 23/19/19 +f 5/18/18 15/17/17 16/21/21 +f 10/20/20 23/19/19 24/23/23 +f 6/22/22 16/21/21 17/25/25 +f 481/24/24 24/23/23 25/27/27 +f 7/26/26 17/25/25 18/29/29 +f 24/23/23 39/48/46 40/33/33 +f 17/25/25 32/49/47 33/34/34 +f 19/2/2 18/29/29 33/34/34 +f 11/31/31 26/36/35 27/39/37 +f 20/7/7 19/2/2 34/38/36 +f 12/5/5 27/39/37 28/41/39 +f 20/7/7 35/40/38 36/42/40 +f 13/10/10 28/41/39 29/43/41 +f 22/15/15 21/11/11 36/42/40 +f 14/13/13 29/43/41 30/45/43 +f 22/15/15 37/44/42 38/46/44 +f 15/17/17 30/45/43 31/47/45 +f 23/19/19 38/46/44 39/48/46 +f 16/21/21 31/47/45 32/49/47 +f 37/44/42 36/42/40 51/50/48 +f 29/43/41 44/66/62 45/52/50 +f 37/44/42 52/51/49 53/53/51 +f 30/45/43 45/52/50 46/54/52 +f 38/46/44 53/53/51 54/55/53 +f 32/49/47 31/47/45 46/54/52 +f 39/48/46 54/55/53 55/57/55 +f 32/49/47 47/56/54 48/58/56 +f 33/34/34 48/58/56 49/62/58 +f 26/36/35 41/60/57 42/63/59 +f 34/38/36 49/62/58 50/64/60 +f 27/39/37 42/63/59 43/65/61 +f 36/42/40 35/40/38 50/64/60 +f 28/41/39 43/65/61 44/66/62 +f 48/58/56 63/83/77 64/71/65 +f 41/60/57 56/68/63 57/72/66 +f 49/62/58 64/71/65 65/73/67 +f 42/63/59 57/72/66 58/74/68 +f 51/50/48 50/64/60 65/73/67 +f 43/65/61 58/74/68 59/76/70 +f 51/50/48 66/75/69 67/77/71 +f 44/66/62 59/76/70 60/78/72 +f 52/51/49 67/77/71 68/79/73 +f 45/52/50 60/78/72 61/80/74 +f 53/53/51 68/79/73 69/81/75 +f 46/54/52 61/80/74 62/82/76 +f 54/55/53 69/81/75 70/70/64 +f 48/58/56 47/56/54 62/82/76 +f 60/78/72 59/76/70 74/84/78 +f 68/79/73 67/77/71 82/86/80 +f 60/78/72 75/85/79 76/88/82 +f 69/81/75 68/79/73 83/87/81 +f 61/80/74 76/88/82 77/90/84 +f 69/81/75 84/89/83 85/91/85 +f 63/83/77 62/82/76 77/90/84 +f 63/83/77 78/92/86 79/96/88 +f 56/68/63 71/94/87 72/97/89 +f 64/71/65 79/96/88 80/98/90 +f 57/72/66 72/97/89 73/99/91 +f 66/75/69 65/73/67 80/98/90 +f 58/74/68 73/99/91 74/84/78 +f 66/75/69 81/100/92 82/86/80 +f 78/92/86 93/114/106 94/101/93 +f 71/94/87 86/116/107 87/102/94 +f 79/96/88 94/101/93 95/103/95 +f 72/97/89 87/102/94 88/104/96 +f 81/100/92 80/98/90 95/103/95 +f 73/99/91 88/104/96 89/106/98 +f 82/86/80 81/100/92 96/105/97 +f 75/85/79 74/84/78 89/106/98 +f 82/86/80 97/107/99 98/109/101 +f 75/85/79 90/108/100 91/110/102 +f 84/89/83 83/87/81 98/109/101 +f 77/90/84 76/88/82 91/110/102 +f 84/89/83 99/111/103 100/113/105 +f 77/90/84 92/112/104 93/114/106 +f 97/107/99 112/133/121 113/118/108 +f 90/108/100 105/134/122 106/119/109 +f 98/109/101 113/118/108 114/120/110 +f 92/112/104 91/110/102 106/119/109 +f 100/113/105 99/111/103 114/120/110 +f 92/112/104 107/121/111 108/123/113 +f 93/114/106 108/123/113 109/127/115 +f 86/116/107 101/125/114 102/128/116 +f 94/101/93 109/127/115 110/129/117 +f 87/102/94 102/128/116 103/130/118 +f 96/105/97 95/103/95 110/129/117 +f 89/106/98 88/104/96 103/130/118 +f 97/107/99 96/105/97 111/131/119 +f 89/106/98 104/132/120 105/134/122 +f 101/125/114 116/149/136 117/135/123 +f 109/127/115 124/151/137 125/136/124 +f 102/128/116 117/135/123 118/137/125 +f 111/131/119 110/129/117 125/136/124 +f 103/130/118 118/137/125 119/139/127 +f 111/131/119 126/138/126 127/140/128 +f 104/132/120 119/139/127 120/141/129 +f 113/118/108 112/133/121 127/140/128 +f 105/134/122 120/141/129 121/143/131 +f 114/120/110 113/118/108 128/142/130 +f 107/121/111 106/119/109 121/143/131 +f 115/122/112 114/120/110 129/144/132 +f 107/121/111 122/145/133 123/147/135 +f 109/127/115 108/123/113 123/147/135 +f 120/141/129 135/167/151 136/152/138 +f 128/142/130 143/168/152 144/153/139 +f 122/145/133 121/143/131 136/152/138 +f 130/146/134 129/144/132 144/153/139 +f 122/145/133 137/154/140 138/156/142 +f 123/147/135 138/156/142 139/160/144 +f 117/135/123 116/149/136 131/158/143 +f 124/151/137 139/160/144 140/162/146 +f 117/135/123 132/161/145 133/163/147 +f 126/138/126 125/136/124 140/162/146 +f 118/137/125 133/163/147 134/165/149 +f 126/138/126 141/164/148 142/166/150 +f 120/141/129 119/139/127 134/165/149 +f 128/142/130 127/140/128 142/166/150 +f 139/160/144 154/185/167 155/169/153 +f 133/163/147 132/161/145 147/170/154 +f 141/164/148 140/162/146 155/169/153 +f 133/163/147 148/171/155 149/173/157 +f 141/164/148 156/172/156 157/174/158 +f 134/165/149 149/173/157 150/175/159 +f 142/166/150 157/174/158 158/176/160 +f 135/167/151 150/175/159 151/177/161 +f 144/153/139 143/168/152 158/176/160 +f 137/154/140 136/152/138 151/177/161 +f 144/153/139 159/178/162 160/180/164 +f 137/154/140 152/179/163 153/181/165 +f 138/156/142 153/181/165 154/185/167 +f 131/158/143 146/183/166 147/170/154 +f 158/176/160 173/202/182 174/186/168 +f 152/179/163 151/177/161 166/187/169 +f 159/178/162 174/186/168 175/189/171 +f 152/179/163 167/188/170 168/190/172 +f 154/185/167 153/181/165 168/190/172 +f 146/183/166 161/192/173 162/195/175 +f 154/185/167 169/194/174 170/196/176 +f 147/170/154 162/195/175 163/197/177 +f 156/172/156 155/169/153 170/196/176 +f 148/171/155 163/197/177 164/199/179 +f 156/172/156 171/198/178 172/200/180 +f 150/175/159 149/173/157 164/199/179 +f 158/176/160 157/174/158 172/200/180 +f 150/175/159 165/201/181 166/187/169 +f 170/196/176 185/218/196 186/203/183 +f 163/197/177 178/219/197 179/204/184 +f 171/198/178 186/203/183 187/205/185 +f 164/199/179 179/204/184 180/206/186 +f 173/202/182 172/200/180 187/205/185 +f 165/201/181 180/206/186 181/208/188 +f 173/202/182 188/207/187 189/209/189 +f 167/188/170 166/187/169 181/208/188 +f 175/189/171 174/186/168 189/209/189 +f 167/188/170 182/210/190 183/212/192 +f 168/190/172 183/212/192 184/216/194 +f 161/192/173 176/214/193 177/217/195 +f 169/194/174 184/216/194 185/218/196 +f 162/195/175 177/217/195 178/219/197 +f 190/211/191 189/209/189 204/220/198 +f 182/210/190 197/236/212 198/222/200 +f 184/216/194 183/212/192 198/222/200 +f 176/214/193 191/224/201 192/227/203 +f 184/216/194 199/226/202 200/228/204 +f 177/217/195 192/227/203 193/229/205 +f 186/203/183 185/218/196 200/228/204 +f 179/204/184 178/219/197 193/229/205 +f 186/203/183 201/230/206 202/232/208 +f 180/206/186 179/204/184 194/231/207 +f 188/207/187 187/205/185 202/232/208 +f 180/206/186 195/233/209 196/235/211 +f 188/207/187 203/234/210 204/220/198 +f 182/210/190 181/208/188 196/235/211 +f 193/229/205 209/252/226 210/237/213 +f 201/230/206 217/253/227 218/238/214 +f 194/231/207 210/237/213 211/239/215 +f 203/234/210 202/232/208 218/238/214 +f 195/233/209 211/239/215 212/241/217 +f 203/234/210 219/240/216 220/242/218 +f 197/236/212 196/235/211 212/241/217 +f 204/220/198 220/242/218 221/244/220 +f 197/236/212 213/243/219 214/245/221 +f 198/222/200 214/245/221 215/249/223 +f 191/224/201 207/247/222 208/250/224 +f 199/226/202 215/249/223 216/251/225 +f 193/229/205 192/227/203 208/250/224 +f 201/230/206 200/228/204 216/251/225 +f 213/243/219 228/270/242 229/254/228 +f 214/245/221 229/254/228 230/259/231 +f 207/247/222 222/256/229 223/260/232 +f 215/249/223 230/259/231 231/261/233 +f 208/250/224 223/260/232 224/262/234 +f 217/253/227 216/251/225 231/261/233 +f 209/252/226 224/262/234 225/264/236 +f 217/253/227 232/263/235 233/265/237 +f 210/237/213 225/264/236 226/266/238 +f 218/238/214 233/265/237 234/267/239 +f 211/239/215 226/266/238 227/268/240 +f 219/240/216 234/267/239 235/269/241 +f 213/243/219 212/241/217 227/268/240 +f 221/244/220 220/242/218 235/269/241 +f 232/263/235 247/286/256 248/271/243 +f 225/264/236 240/287/257 241/272/244 +f 234/267/239 233/265/237 248/271/243 +f 226/266/238 241/272/244 242/274/246 +f 234/267/239 249/273/245 250/275/247 +f 228/270/242 227/268/240 242/274/246 +f 236/258/230 235/269/241 250/275/247 +f 228/270/242 243/276/248 244/278/250 +f 229/254/228 244/278/250 245/282/252 +f 222/256/229 237/280/251 238/283/253 +f 230/259/231 245/282/252 246/284/254 +f 224/262/234 223/260/232 238/283/253 +f 232/263/235 231/261/233 246/284/254 +f 225/264/236 224/262/234 239/285/255 +f 244/278/250 259/304/272 260/292/260 +f 237/280/251 252/289/258 253/293/261 +f 245/282/252 260/292/260 261/294/262 +f 238/283/253 253/293/261 254/295/263 +f 247/286/256 246/284/254 261/294/262 +f 240/287/257 239/285/255 254/295/263 +f 247/286/256 262/296/264 263/298/266 +f 241/272/244 240/287/257 255/297/265 +f 248/271/243 263/298/266 264/300/268 +f 241/272/244 256/299/267 257/301/269 +f 249/273/245 264/300/268 265/302/270 +f 243/276/248 242/274/246 257/301/269 +f 250/275/247 265/302/270 266/291/259 +f 243/276/248 258/303/271 259/304/272 +f 256/299/267 255/297/265 270/305/273 +f 263/298/266 278/321/287 279/307/275 +f 256/299/267 271/306/274 272/308/276 +f 265/302/270 264/300/268 279/307/275 +f 258/303/271 257/301/269 272/308/276 +f 266/291/259 265/302/270 280/309/277 +f 258/303/271 273/310/278 274/312/280 +f 260/292/260 259/304/272 274/312/280 +f 252/289/258 267/314/281 268/317/283 +f 260/292/260 275/316/282 276/318/284 +f 253/293/261 268/317/283 269/319/285 +f 262/296/264 261/294/262 276/318/284 +f 255/297/265 254/295/263 269/319/285 +f 262/296/264 277/320/286 278/321/287 +f 274/312/280 289/335/301 290/322/288 +f 267/314/281 282/337/302 283/323/289 +f 275/316/282 290/322/288 291/324/290 +f 268/317/283 283/323/289 284/325/291 +f 277/320/286 276/318/284 291/324/290 +f 269/319/285 284/325/291 285/327/293 +f 277/320/286 292/326/292 293/328/294 +f 271/306/274 270/305/273 285/327/293 +f 279/307/275 278/321/287 293/328/294 +f 271/306/274 286/329/295 287/331/297 +f 279/307/275 294/330/296 295/332/298 +f 273/310/278 272/308/276 287/331/297 +f 281/311/279 280/309/277 295/332/298 +f 273/310/278 288/333/299 289/335/301 +f 293/328/294 309/354/316 310/339/303 +f 286/329/295 302/355/317 303/340/304 +f 294/330/296 310/339/303 311/341/305 +f 288/333/299 287/331/297 303/340/304 +f 295/332/298 311/341/305 312/343/307 +f 289/335/301 288/333/299 304/342/306 +f 289/335/301 305/344/308 306/348/310 +f 282/337/302 298/346/309 299/349/311 +f 290/322/288 306/348/310 307/350/312 +f 283/323/289 299/349/311 300/351/313 +f 292/326/292 291/324/290 307/350/312 +f 285/327/293 284/325/291 300/351/313 +f 292/326/292 308/352/314 309/354/316 +f 286/329/295 285/327/293 301/353/315 +f 306/348/310 321/371/331 322/356/318 +f 299/349/311 314/372/332 315/357/319 +f 308/352/314 307/350/312 322/356/318 +f 301/353/315 300/351/313 315/357/319 +f 308/352/314 323/358/320 324/360/322 +f 302/355/317 301/353/315 316/359/321 +f 309/354/316 324/360/322 325/362/324 +f 302/355/317 317/361/323 318/363/325 +f 311/341/305 310/339/303 325/362/324 +f 304/342/306 303/340/304 318/363/325 +f 311/341/305 326/364/326 327/366/328 +f 304/342/306 319/365/327 320/367/329 +f 305/344/308 320/367/329 321/371/331 +f 298/346/309 313/369/330 314/372/332 +f 326/364/326 325/362/324 340/373/333 +f 319/365/327 318/363/325 333/375/335 +f 327/366/328 326/364/326 341/374/334 +f 319/365/327 334/376/336 335/378/338 +f 320/367/329 335/378/338 336/382/340 +f 313/369/330 328/380/339 329/383/341 +f 321/371/331 336/382/340 337/384/342 +f 314/372/332 329/383/341 330/385/343 +f 323/358/320 322/356/318 337/384/342 +f 316/359/321 315/357/319 330/385/343 +f 324/360/322 323/358/320 338/386/344 +f 317/361/323 316/359/321 331/387/345 +f 324/360/322 339/388/346 340/373/333 +f 317/361/323 332/389/347 333/375/335 +f 329/383/341 344/406/362 345/390/348 +f 338/386/344 337/384/342 352/391/349 +f 331/387/345 330/385/343 345/390/348 +f 338/386/344 353/392/350 354/394/352 +f 332/389/347 331/387/345 346/393/351 +f 339/388/346 354/394/352 355/396/354 +f 332/389/347 347/395/353 348/397/355 +f 341/374/334 340/373/333 355/396/354 +f 334/376/336 333/375/335 348/397/355 +f 341/374/334 356/398/356 357/400/358 +f 334/376/336 349/399/357 350/401/359 +f 335/378/338 350/401/359 351/405/361 +f 329/383/341 328/380/339 343/403/360 +f 336/382/340 351/405/361 352/391/349 +f 349/399/357 348/397/355 363/407/363 +f 356/398/356 371/423/377 372/409/365 +f 349/399/357 364/408/364 365/410/366 +f 351/405/361 350/401/359 365/410/366 +f 344/406/362 343/403/360 358/412/367 +f 351/405/361 366/414/368 367/416/370 +f 344/406/362 359/415/369 360/417/371 +f 353/392/350 352/391/349 367/416/370 +f 346/393/351 345/390/348 360/417/371 +f 353/392/350 368/418/372 369/420/374 +f 346/393/351 361/419/373 362/421/375 +f 355/396/354 354/394/352 369/420/374 +f 347/395/353 362/421/375 363/407/363 +f 356/398/356 355/396/354 370/422/376 +f 368/424/372 367/454/370 382/425/378 +f 361/427/373 360/455/371 375/428/380 +f 368/424/372 383/426/379 384/430/382 +f 362/432/375 361/427/373 376/429/381 +f 369/431/374 384/430/382 385/434/384 +f 362/432/375 377/433/383 378/436/385 +f 371/438/377 370/435/376 385/434/384 +f 364/440/364 363/437/363 378/436/385 +f 371/438/377 386/439/386 387/442/388 +f 364/440/364 379/441/387 380/444/389 +f 366/450/368 365/445/366 380/444/389 +f 359/452/369 358/446/367 373/448/390 +f 366/450/368 381/451/391 382/425/378 +f 359/452/369 374/453/392 375/428/380 +f 386/439/386 401/471/406 402/456/393 +f 379/441/387 394/472/407 395/457/394 +f 380/444/389 395/457/394 396/461/396 +f 373/448/390 388/459/395 389/462/397 +f 381/451/391 396/461/396 397/463/398 +f 374/453/392 389/462/397 390/464/399 +f 383/426/379 382/425/378 397/463/398 +f 376/429/381 375/428/380 390/464/399 +f 383/426/379 398/465/400 399/467/402 +f 376/429/381 391/466/401 392/468/403 +f 384/430/382 399/467/402 400/469/404 +f 377/433/383 392/468/403 393/470/405 +f 386/439/386 385/434/384 400/469/404 +f 379/441/387 378/436/385 393/470/405 +f 391/466/401 390/464/399 405/473/408 +f 398/465/400 413/489/422 414/475/410 +f 392/468/403 391/466/401 406/474/409 +f 399/467/402 414/475/410 415/477/412 +f 392/468/403 407/476/411 408/478/413 +f 401/471/406 400/469/404 415/477/412 +f 394/472/407 393/470/405 408/478/413 +f 401/471/406 416/479/414 417/481/416 +f 394/472/407 409/480/415 410/482/417 +f 396/461/396 395/457/394 410/482/417 +f 388/459/395 403/484/418 404/487/420 +f 396/461/396 411/486/419 412/488/421 +f 390/464/399 389/462/397 404/487/420 +f 398/465/400 397/463/398 412/488/421 +f 409/480/415 424/506/437 425/490/423 +f 411/486/419 410/482/417 425/490/423 +f 403/484/418 418/492/424 419/496/427 +f 411/486/419 426/495/426 427/497/428 +f 404/487/420 419/496/427 420/498/429 +f 413/489/422 412/488/421 427/497/428 +f 405/473/408 420/498/429 421/500/431 +f 413/489/422 428/499/430 429/501/432 +f 407/476/411 406/474/409 421/500/431 +f 414/475/410 429/501/432 430/503/434 +f 407/476/411 422/502/433 423/504/435 +f 415/477/412 430/503/434 431/505/436 +f 409/480/415 408/478/413 423/504/435 +f 416/479/414 431/505/436 432/494/425 +f 428/499/430 443/523/452 444/507/438 +f 422/502/433 421/500/431 436/508/439 +f 430/503/434 429/501/432 444/507/438 +f 422/502/433 437/509/440 438/511/442 +f 430/503/434 445/510/441 446/512/443 +f 424/506/437 423/504/435 438/511/442 +f 431/505/436 446/512/443 447/514/445 +f 425/490/423 424/506/437 439/513/444 +f 425/490/423 440/515/446 441/519/448 +f 418/492/424 433/517/447 434/520/449 +f 426/495/426 441/519/448 442/521/450 +f 419/496/427 434/520/449 435/522/451 +f 428/499/430 427/497/428 442/521/450 +f 420/498/429 435/522/451 436/508/439 +f 440/515/446 455/539/467 456/526/454 +f 434/520/449 433/517/447 448/527/455 +f 441/519/448 456/526/454 457/529/457 +f 435/522/451 434/520/449 449/528/456 +f 443/523/452 442/521/450 457/529/457 +f 436/508/439 435/522/451 450/530/458 +f 443/523/452 458/531/459 459/533/461 +f 437/509/440 436/508/439 451/532/460 +f 444/507/438 459/533/461 460/535/463 +f 437/509/440 452/534/462 453/536/464 +f 445/510/441 460/535/463 461/537/465 +f 439/513/444 438/511/442 453/536/464 +f 446/512/443 461/537/465 462/525/453 +f 439/513/444 454/538/466 455/539/467 +f 459/533/461 474/556/481 475/541/468 +f 452/534/462 467/557/482 468/542/469 +f 460/535/463 475/541/468 476/543/470 +f 454/538/466 453/536/464 468/542/469 +f 462/525/453 461/537/465 476/543/470 +f 454/538/466 469/544/471 470/546/473 +f 455/539/467 470/546/473 471/550/475 +f 448/527/455 463/548/474 464/551/476 +f 456/526/454 471/550/475 472/552/477 +f 449/528/456 464/551/476 465/553/478 +f 458/531/459 457/529/457 472/552/477 +f 450/530/458 465/553/478 466/555/480 +f 458/531/459 473/554/479 474/556/481 +f 452/534/462 451/532/460 466/555/480 +f 464/551/476 463/548/474 1/4/4 +f 471/550/475 9/3/3 478/8/8 +f 465/553/478 464/551/476 2/6/6 +f 473/554/479 472/552/477 478/8/8 +f 466/555/480 465/553/478 3/9/9 +f 473/554/479 479/12/12 480/16/16 +f 467/557/482 466/555/480 4/14/14 +f 474/556/481 480/16/16 10/20/20 +f 468/542/469 467/557/482 5/18/18 +f 475/541/468 10/20/20 481/24/24 +f 469/544/471 468/542/469 6/22/22 +f 476/543/470 481/24/24 482/28/28 +f 470/546/473 469/544/471 7/26/26 +f 470/546/473 8/1/1 9/3/3 diff --git a/examples/NormalModel/obj_norm.asc b/examples/NormalModel/obj_norm.asc new file mode 100644 index 0000000..3faea57 --- /dev/null +++ b/examples/NormalModel/obj_norm.asc @@ -0,0 +1,217 @@ +/** + * @author Rick Battagline / https://embed.com/wasm + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, imageReady, + createBuffer, ARRAY_BUFFER, + createTexture, createImage, ImageData, pixelStorei, activeTexture, + bindTexture, texParameteri, texImage2D, uniform1i, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, + TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER, uniform3f, + logi32, +} from '../../webgl' + + +import { + objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap +} from './Moon_Sphere' + + + +const VERTEX_SHADER_CODE:string = `#version 300 es + precision mediump float; + + in vec3 position; + in vec2 tex_uv; + in vec3 normal; + + smooth out vec4 c; + smooth out vec2 tc; + + void main() { + const vec3 light = vec3(0.25, 2.0, -0.5); + vec4 pos = vec4( position, 1.0 ); + + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = pos * mRotateTranslate; + tc = tex_uv; + float d = clamp( dot( normal, light ), 0.2, 1.0); + c = vec4( d,d,d, 1.0); + } +`; + +// THIS IS THE FRAGMENT SHADER +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + smooth in vec4 c; + smooth in vec2 tc; + + out vec4 color; + uniform sampler2D sampler; + uniform sampler2D tex_norm; + + void main() { + const vec3 light = vec3(0.25, 2.0, -0.5); + const float f = 1.0; + vec3 tn = texture(tex_norm, tc).rgb * vec3(f,f,f); + + float d = dot( tn, light ); + + color = texture( sampler, tc ) * vec4(d,d,d,1.0) * c; + } +`; +logi32(1); + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + +logi32(2); + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + +logi32(3); + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); +logi32(4); + + let program = createProgram(gl); + +logi32(5); + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); +logi32(6); + + linkProgram( gl, program ); + + useProgram( gl, program ); + +logi32(7); + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + +logi32(8); + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + +logi32(9); + let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); + enableVertexAttribArray(gl, tex_uv_al); + +logi32(10); + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + +logi32(11); +// let diffuse = getUniformLocation( gl, program, 'diffuse' ); + + let texture = createTexture(gl); + let sampler = getUniformLocation( gl, program, 'sampler' ); + +logi32(120); + let texture_n = createTexture(gl); +logi32(121); + let tex_norm = getUniformLocation( gl, program, 'tex_norm' ); + +logi32(122); + var image_id: ImageData = createImage(matMapArray[0].diffuse); +logi32(123); + var norm_image_id: ImageData = createImage(matMapArray[0].bump); +logi32(124); + +logi32(13); + var image_ready: bool = false; + +//diffuse + enable(gl, DEPTH_TEST); + +logi32(14); + +function rotate(theta: f32) : void { //u32 { + for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { + for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { + + let x:f32 = objArray[obj_i][coord_i]; + let z:f32 = objArray[obj_i][coord_i+2]; + + let nx:f32 = objArray[obj_i][coord_i+5]; + let nz:f32 = objArray[obj_i][coord_i+7]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + + objArray[obj_i][coord_i] = x1; + objArray[obj_i][coord_i+2] = z1; + + objArray[obj_i][coord_i+5] = nx1; + objArray[obj_i][coord_i+7] = nz1; + } + } + + return; +} + + var vGroup: VertGroup; + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + if( image_ready == false ) { + if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) { + return; + } + + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + activeTexture(gl, TEXTURE1); + bindTexture(gl, TEXTURE_2D, texture_n); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id); + + uniform1i(gl, sampler, 0); + image_ready = true; + } + + for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { + vGroup = groupArray[g_i]; + bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); +/* + let diffuse_r: f32 = matArray[vGroup.mat_index][4]; + let diffuse_g: f32 = matArray[vGroup.mat_index][5]; + let diffuse_b: f32 = matArray[vGroup.mat_index][6]; + uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); +*/ + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); + vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); + drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + } + } \ No newline at end of file diff --git a/examples/NormalModel/obj_norm.wasm b/examples/NormalModel/obj_norm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..8fc160d2767ccbdb13838c36fb8d1818a4818d5c GIT binary patch literal 107934 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 &ySDV^B*hk_O~Sd?ERXM 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 JSv%%-{|~tWjL`r9 literal 0 HcmV?d00001 diff --git a/examples/NormalModel/obj_norm.wasm.map b/examples/NormalModel/obj_norm.wasm.map new file mode 100644 index 0000000..dcd3daa --- /dev/null +++ b/examples/NormalModel/obj_norm.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["~lib/rt/common.asc","~lib/shared/typeinfo.asc","~lib/rt/stub.asc","~lib/memory.asc","~lib/util/memory.asc","../../webgl.asc","~lib/util/number.asc","~lib/util/math.asc","~lib/util/string.asc","~lib/array.asc","~lib/util/error.asc","Moon_Sphere.asc","obj_norm.asc","~lib/staticarray.asc","~lib/math.asc"],"names":[],"mappings":"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","sourceRoot":"./obj_norm.wasm","sourcesContent":["// Alignment guarantees\n\n// @ts-ignore: decorator\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\n// @ts-ignore: decorator\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\n// @ts-ignore: decorator\n@inline export const AL_MASK: usize = AL_SIZE - 1;\n\n// Extra debugging\n\n// @ts-ignore: decorator\n@inline export const DEBUG = true;\n// @ts-ignore: decorator\n@inline export const TRACE = false;\n\n// Memory manager\n\n// ╒════════════ Memory manager block layout (32-bit) ═════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ MM info │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class BLOCK {\n /** Memory manager info. */\n mmInfo: usize;\n}\n\n/** Overhead of a memory manager block. */\n// @ts-ignore: decorator\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\n\n/** Maximum size of a memory manager block's payload. */\n// @ts-ignore: decorator\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\n\n// Garbage collector\n\n// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ Memory manager block │ -20\n// ╞═══════════════════════════════════════════════════════════════╡\n// │ GC info │ -16\n// ├───────────────────────────────────────────────────────────────┤\n// │ GC info │ -12\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT id │ -8\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT size │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class OBJECT extends BLOCK {\n /** Garbage collector info. */\n gcInfo: u32;\n /** Garbage collector info. */\n gcInfo2: u32;\n /** Runtime class id. */\n rtId: u32;\n /** Runtime object size. */\n rtSize: u32;\n}\n\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\n// @ts-ignore: decorator\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\n\n/** Maximum size of a garbage collector object's payload. */\n// @ts-ignore: decorator\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\n\n/** Total of memory manager and garbage collector overhead. */\n// @ts-ignore: decorator\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\n","// This file is shared with the compiler and must remain portable\n\n// ╒═══════════════════ Typeinfo interpretation ═══════════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ◄─ __rtti_base\n// │ count │\n// ╞═══════════════════════════════════════════════════════════════╡ ┐\n// │ Typeinfo#flags [id=0] │ id < count\n// ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤\n// │ Typeinfo#base [id=0] │\n// ├───────────────────────────────────────────────────────────────┤\n// │ ... │\n\n/** Runtime type information data structure. */\n@unmanaged\nexport class Typeinfo {\n /** Flags describing the shape of this class type. */\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\n /** Base class id or `0` if none. */\n base: u32 = 0;\n}\n\n/** Runtime type information flags. */\nexport const enum TypeinfoFlags {\n /** No specific flags. */\n NONE = 0,\n /** Type is an `ArrayBufferView`. */\n ARRAYBUFFERVIEW = 1 << 0,\n /** Type is an `Array`. */\n ARRAY = 1 << 1,\n /** Type is a `StaticArray`. */\n STATICARRAY = 1 << 2,\n /** Type is a `Set`. */\n SET = 1 << 3,\n /** Type is a `Map`. */\n MAP = 1 << 4,\n /** Type is inherently acyclic. */\n ACYCLIC = 1 << 5,\n /** Value alignment of 1 byte. */\n VALUE_ALIGN_0 = 1 << 6,\n /** Value alignment of 2 bytes. */\n VALUE_ALIGN_1 = 1 << 7,\n /** Value alignment of 4 bytes. */\n VALUE_ALIGN_2 = 1 << 8,\n /** Value alignment of 8 bytes. */\n VALUE_ALIGN_3 = 1 << 9,\n /** Value alignment of 16 bytes. */\n VALUE_ALIGN_4 = 1 << 10,\n /** Value is a signed type. */\n VALUE_SIGNED = 1 << 11,\n /** Value is a float type. */\n VALUE_FLOAT = 1 << 12,\n /** Value type is nullable. */\n VALUE_NULLABLE = 1 << 13,\n /** Value type is managed. */\n VALUE_MANAGED = 1 << 14,\n /** Key alignment of 1 byte. */\n KEY_ALIGN_0 = 1 << 15,\n /** Key alignment of 2 bytes. */\n KEY_ALIGN_1 = 1 << 16,\n /** Key alignment of 4 bytes. */\n KEY_ALIGN_2 = 1 << 17,\n /** Key alignment of 8 bytes. */\n KEY_ALIGN_3 = 1 << 18,\n /** Key alignment of 16 bytes. */\n KEY_ALIGN_4 = 1 << 19,\n /** Key is a signed type. */\n KEY_SIGNED = 1 << 20,\n /** Key is a float type. */\n KEY_FLOAT = 1 << 21,\n /** Key type is nullable. */\n KEY_NULLABLE = 1 << 22,\n /** Key type is managed. */\n KEY_MANAGED = 1 << 23\n}\n","import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \"rt/common\";\n\n// @ts-ignore: decorator\n@lazy var startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n\n// @ts-ignore: decorator\n@lazy var offset: usize = startOffset;\n\nfunction maybeGrowMemory(newOffset: usize): void {\n // assumes newOffset is aligned\n var pagesBefore = memory.size();\n var maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\n if (newOffset > maxOffset) {\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\n if (memory.grow(pagesWanted) < 0) {\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\n }\n }\n offset = newOffset;\n}\n\nfunction computeSize(size: usize): usize {\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __alloc(size: usize): usize {\n if (size > BLOCK_MAXSIZE) unreachable();\n var block = changetype(offset);\n var ptr = offset + BLOCK_OVERHEAD;\n var payloadSize = computeSize(size);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __new(size: usize, id: u32): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var ptr = __alloc(OBJECT_OVERHEAD + size);\n var object = changetype(ptr - BLOCK_OVERHEAD);\n object.gcInfo = 0;\n object.gcInfo2 = 0;\n object.rtId = id;\n object.rtSize = size;\n return ptr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __realloc(ptr: usize, size: usize): usize {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n var actualSize = block.mmInfo;\n var isLast = ptr + actualSize == offset;\n var payloadSize = computeSize(size);\n if (size > actualSize) {\n if (isLast) { // last block: grow\n if (size > BLOCK_MAXSIZE) unreachable();\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n } else { // copy to new block at least double the size\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\n memory.copy(newPtr, ptr, actualSize);\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\n }\n } else if (isLast) { // last block: shrink\n offset = ptr + payloadSize;\n block.mmInfo = payloadSize;\n }\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __renew(oldPtr: usize, size: usize): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\n return newPtr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __free(ptr: usize): void {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n if (ptr + block.mmInfo == offset) { // last block: discard\n offset = changetype(block);\n }\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __reset(): void { // special\n offset = startOffset;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __retain(ref: usize): usize {\n return ref;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __release(ref: usize): void {\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nfunction __visit(ref: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __collect(): void {\n /* nop */\n}\n","import { memcmp, memmove, memset } from \"./util/memory\";\nimport { E_NOTIMPLEMENTED } from \"./util/error\";\n\n/** Memory manager interface. */\nexport namespace memory {\n\n /** Gets the size of the memory in pages. */\n // @ts-ignore: decorator\n @builtin\n export declare function size(): i32;\n\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function grow(pages: i32): i32;\n\n /** Fills a section in memory with the specified byte value. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function fill(dst: usize, c: u8, n: usize): void {\n memset(dst, c, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Copies a section of memory to another. Has move semantics. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function copy(dst: usize, src: usize, n: usize): void {\n memmove(dst, src, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Initializes a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Drops a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function drop(segmentIndex: u32): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Repeats a section of memory at a specific address. */\n // @ts-ignore: decorator\n @unsafe\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\n var index: usize = 0;\n var total = srcLength * count;\n while (index < total) {\n memory.copy(dst + index, src, srcLength);\n index += srcLength;\n }\n }\n\n /** Compares a section of memory to another. */\n // @ts-ignore: decorator\n @inline\n export function compare(vl: usize, vr: usize, n: usize): i32 {\n return memcmp(vl, vr, n);\n }\n\n /** Gets a pointer to a static chunk of memory of the given size. */\n // @ts-ignore: decorator\n @builtin\n export declare function data(size: T, align?: i32): usize;\n}\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __heap_base: usize;\n\n/** Heap memory interface. */\nexport namespace heap {\n\n /** Allocates a chunk of memory of at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function alloc(size: usize): usize {\n return __alloc(size);\n }\n\n /** Reallocates a chunk of memory to have at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function realloc(ptr: usize, size: usize): usize {\n return __realloc(ptr, size);\n }\n\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function free(ptr: usize): void {\n __free(ptr);\n }\n\n /** Dangerously resets the entire heap. Specific to the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function reset(): void {\n __reset();\n }\n}\n","export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\n var w: u32, x: u32;\n\n // copy 1 byte each until src is aligned to 4 bytes\n while (n && (src & 3)) {\n store(dest++, load(src++));\n n--;\n }\n\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\n if ((dest & 3) == 0) {\n while (n >= 16) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n store(dest + 8, load(src + 8));\n store(dest + 12, load(src + 12));\n src += 16; dest += 16; n -= 16;\n }\n if (n & 8) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n dest += 8; src += 8;\n }\n if (n & 4) {\n store(dest, load(src));\n dest += 4; src += 4;\n }\n if (n & 2) { // drop to 2 bytes each\n store(dest, load(src));\n dest += 2; src += 2;\n }\n if (n & 1) { // drop to 1 byte\n store(dest++, load(src++));\n }\n return;\n }\n\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\n // doing shifts if faster when copying enough bytes (here: 32 or more)\n if (n >= 32) {\n switch (dest & 3) {\n // known to be != 0\n case 1: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 3;\n while (n >= 17) {\n x = load(src + 1);\n store(dest, w >> 24 | x << 8);\n w = load(src + 5);\n store(dest + 4, x >> 24 | w << 8);\n x = load(src + 9);\n store(dest + 8, w >> 24 | x << 8);\n w = load(src + 13);\n store(dest + 12, x >> 24 | w << 8);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 2: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 2;\n while (n >= 18) {\n x = load(src + 2);\n store(dest, w >> 16 | x << 16);\n w = load(src + 6);\n store(dest + 4, x >> 16 | w << 16);\n x = load(src + 10);\n store(dest + 8, w >> 16 | x << 16);\n w = load(src + 14);\n store(dest + 12, x >> 16 | w << 16);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 3: {\n w = load(src);\n store(dest++, load(src++));\n n -= 1;\n while (n >= 19) {\n x = load(src + 3);\n store(dest, w >> 8 | x << 24);\n w = load(src + 7);\n store(dest + 4, x >> 8 | w << 24);\n x = load(src + 11);\n store(dest + 8, w >> 8 | x << 24);\n w = load(src + 15);\n store(dest + 12, x >> 8 | w << 24);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n }\n }\n\n // copy remaining bytes one by one\n if (n & 16) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 8) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 4) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 2) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 1) {\n store(dest++, load(src++));\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\n if (dest === src) return;\n if (ASC_SHRINK_LEVEL < 1) {\n if (src - dest - n <= -(n << 1)) {\n memcpy(dest, src, n);\n return;\n }\n }\n if (dest < src) {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while (dest & 7) {\n if (!n) return;\n --n;\n store(dest++, load(src++));\n }\n while (n >= 8) {\n store(dest, load(src));\n n -= 8;\n dest += 8;\n src += 8;\n }\n }\n }\n while (n) {\n store(dest++, load(src++));\n --n;\n }\n } else {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while ((dest + n) & 7) {\n if (!n) return;\n store(dest + --n, load(src + n));\n }\n while (n >= 8) {\n n -= 8;\n store(dest + n, load(src + n));\n }\n }\n }\n while (n) {\n store(dest + --n, load(src + n));\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\n if (ASC_SHRINK_LEVEL > 1) {\n while (n) {\n store(dest++, c);\n --n;\n }\n } else {\n // fill head and tail with minimal branching\n if (!n) return;\n let dend = dest + n - 4;\n store(dest, c);\n store(dend, c, 3);\n if (n <= 2) return;\n store(dest, c, 1);\n store(dest, c, 2);\n store(dend, c, 2);\n store(dend, c, 1);\n if (n <= 6) return;\n store(dest, c, 3);\n store(dend, c);\n if (n <= 8) return;\n\n // advance pointer to align it at 4-byte boundary\n let k: usize = -dest & 3;\n dest += k;\n n -= k;\n n &= -4;\n\n let c32: u32 = -1 / 255 * c;\n\n // fill head/tail up to 28 bytes each in preparation\n dend = dest + n - 28;\n store(dest, c32);\n store(dend, c32, 24);\n if (n <= 8) return;\n store(dest, c32, 4);\n store(dest, c32, 8);\n store(dend, c32, 16);\n store(dend, c32, 20);\n if (n <= 24) return;\n store(dest, c32, 12);\n store(dest, c32, 16);\n store(dest, c32, 20);\n store(dest, c32, 24);\n store(dend, c32);\n store(dend, c32, 4);\n store(dend, c32, 8);\n store(dend, c32, 12);\n\n // align to a multiple of 8\n k = 24 + (dest & 4);\n dest += k;\n n -= k;\n\n // copy 32 bytes each\n let c64: u64 = c32 | (c32 << 32);\n while (n >= 32) {\n store(dest, c64);\n store(dest, c64, 8);\n store(dest, c64, 16);\n store(dest, c64, 24);\n n -= 32;\n dest += 32;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\n if (vl == vr) return 0;\n if (ASC_SHRINK_LEVEL < 2) {\n if ((vl & 7) == (vr & 7)) {\n while (vl & 7) {\n if (!n) return 0;\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n n--; vl++; vr++;\n }\n while (n >= 8) {\n if (load(vl) != load(vr)) break;\n vl += 8;\n vr += 8;\n n -= 8;\n }\n }\n }\n while (n--) {\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n vl++; vr++;\n }\n return 0;\n}\n","type WebGLContextAttributes = i32;\r\n\r\nexport type GLenum = u32;\r\nexport type GLboolean = bool;\r\nexport type GLbitfield = u32;\r\nexport type GLbyte = i8;\r\nexport type GLshort = i16;\r\nexport type GLint = i32;\r\nexport type GLsizei = i32;\r\nexport type GLintptr = i32; //i64;\r\nexport type GLsizeiptr = i32; //i64;\r\nexport type GLubyte = u8;\r\nexport type GLushort = u16;\r\nexport type GLuint = u32;\r\nexport type GLfloat = f32;\r\nexport type GLclampf = f32;\r\nexport type GLuint64 = u32; //u64;\r\nexport type GLint64 = i32; //i64;\r\n\r\nexport type WebGLUniformLocation = i32; \r\nexport type TexImageSource = i32;\r\nexport type Int32List = i32;\r\nexport type Uint32List = i32;\r\nexport type Float32List = i32;\r\nexport type WebGLQuery = i32;\r\nexport type WebGLSampler = i32;\r\nexport type WebGLSync = i32;\r\nexport type WebGLTransformFeedback = i32;\r\nexport type ImageData = i32;\r\nexport type DOMString = string;\r\nexport type HTMLImageElement = externref;\r\nexport type HTMLVideoElement = externref;\r\nexport type WebGLVertexArrayObject = i32;\r\n\r\n// == debug function not part of WebGL\r\nexport declare function logi32(arg:i32):void;\r\n// == Not a part of WebGL, but there must be a way to create and load images\r\n// export type ImageData = i32;\r\nexport declare function createImage(image_location:string):ImageData;\r\nexport declare function imageReady(image_id:ImageData):bool;\r\n\r\n// === WebGLContextAttributes ===\r\nexport const ALPHA_DEFAULT = true;\r\nexport const FALSE:i32 = false;\r\n\r\n//export declare function activateTexture(gl: WebGLContextAttributes, texture: WebGLTexture): void;\r\n\r\nexport declare function getAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const DEPTH_DEFAULT = true;\r\nexport declare function getDepth(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setDepth(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const STENCIL_DEFAULT = false;\r\nexport declare function getStencil(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setStencil(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const ANTIALIAS_DEFAULT = true;\r\nexport declare function getAntialias(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAntialias(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PREMULTIPLIED_ALPHA_DEFAULT = true;\r\nexport declare function getPremultipliedAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPremultipliedAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PRESERVE_DRAWING_BUFFER_DEFAULT = false;\r\nexport declare function getPreserveDrawingBuffer(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPreserveDrawingBuffer(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\n// === WebGLActiveInfo ===\r\n\r\ntype WebGLActiveInfo = externref;\r\n\r\nexport declare function getSize(gl: WebGLActiveInfo): GLint;\r\nexport declare function getType(gl: WebGLActiveInfo): GLenum;\r\nexport declare function getName(gl: WebGLActiveInfo): string;\r\n\r\n// === WebGLShaderPrecisionFormat ===\r\n\r\ntype WebGLShaderPrecisionFormat = externref;\r\n\r\nexport declare function getRangeMin(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getRangeMax(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getPrecision(gl: WebGLShaderPrecisionFormat): GLint;\r\n\r\n// === WebGLRenderingContext ===\r\n\r\nexport type WebGLRenderingContext = i32;\r\n\r\n/* ClearBufferMask */\r\nexport const DEPTH_BUFFER_BIT: GLenum = 0x00000100;\r\nexport const STENCIL_BUFFER_BIT: GLenum = 0x00000400;\r\nexport const COLOR_BUFFER_BIT: GLenum = 0x00004000;\r\n\r\n/* BeginMode */\r\nexport const POINTS: GLenum = 0x0000;\r\nexport const LINES: GLenum = 0x0001;\r\nexport const LINE_LOOP: GLenum = 0x0002;\r\nexport const LINE_STRIP: GLenum = 0x0003;\r\nexport const TRIANGLES: GLenum = 0x0004;\r\nexport const TRIANGLE_STRIP: GLenum = 0x0005;\r\nexport const TRIANGLE_FAN: GLenum = 0x0006;\r\n\r\n/* AlphaFunction (not supported in ES20) */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* BlendingFactorDest */\r\nexport const ZERO: GLenum = 0;\r\nexport const ONE: GLenum = 1;\r\nexport const SRC_COLOR: GLenum = 0x0300;\r\nexport const ONE_MINUS_SRC_COLOR: GLenum = 0x0301;\r\nexport const SRC_ALPHA: GLenum = 0x0302;\r\nexport const ONE_MINUS_SRC_ALPHA: GLenum = 0x0303;\r\nexport const DST_ALPHA: GLenum = 0x0304;\r\nexport const ONE_MINUS_DST_ALPHA: GLenum = 0x0305;\r\n\r\n/* BlendingFactorSrc */\r\n/* ZERO */\r\n/* ONE */\r\nexport const DST_COLOR: GLenum = 0x0306;\r\nexport const ONE_MINUS_DST_COLOR: GLenum = 0x0307;\r\nexport const SRC_ALPHA_SATURATE: GLenum = 0x0308;\r\n/* SRC_ALPHA */\r\n/* ONE_MINUS_SRC_ALPHA */\r\n/* DST_ALPHA */\r\n/* ONE_MINUS_DST_ALPHA */\r\n\r\n/* BlendEquationSeparate */\r\nexport const FUNC_ADD: GLenum = 0x8006;\r\nexport const BLEND_EQUATION: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_RGB: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_ALPHA: GLenum = 0x883D;\r\n\r\n/* BlendSubtract */\r\nexport const FUNC_SUBTRACT: GLenum = 0x800A;\r\nexport const FUNC_REVERSE_SUBTRACT: GLenum = 0x800B;\r\n\r\n/* Separate Blend Functions */\r\nexport const BLEND_DST_RGB: GLenum = 0x80C8;\r\nexport const BLEND_SRC_RGB: GLenum = 0x80C9;\r\nexport const BLEND_DST_ALPHA: GLenum = 0x80CA;\r\nexport const BLEND_SRC_ALPHA: GLenum = 0x80CB;\r\nexport const CONSTANT_COLOR: GLenum = 0x8001;\r\nexport const ONE_MINUS_CONSTANT_COLOR: GLenum = 0x8002;\r\nexport const CONSTANT_ALPHA: GLenum = 0x8003;\r\nexport const ONE_MINUS_CONSTANT_ALPHA: GLenum = 0x8004;\r\nexport const BLEND_COLOR: GLenum = 0x8005;\r\n\r\n/* Buffer Objects */\r\nexport const ARRAY_BUFFER: GLenum = 0x8892;\r\nexport const ELEMENT_ARRAY_BUFFER: GLenum = 0x8893;\r\nexport const ARRAY_BUFFER_BINDING: GLenum = 0x8894;\r\nexport const ELEMENT_ARRAY_BUFFER_BINDING: GLenum = 0x8895;\r\n\r\nexport const STREAM_DRAW: GLenum = 0x88E0;\r\nexport const STATIC_DRAW: GLenum = 0x88E4;\r\nexport const DYNAMIC_DRAW: GLenum = 0x88E8;\r\n\r\nexport const BUFFER_SIZE: GLenum = 0x8764;\r\nexport const BUFFER_USAGE: GLenum = 0x8765;\r\n\r\nexport const CURRENT_VERTEX_ATTRIB: GLenum = 0x8626;\r\n\r\n/* CullFaceMode */\r\nexport const FRONT: GLenum = 0x0404;\r\nexport const BACK: GLenum = 0x0405;\r\nexport const FRONT_AND_BACK: GLenum = 0x0408;\r\n\r\n/* DepthFunction */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* EnableCap */\r\n/* TEXTURE_2D */\r\nexport const CULL_FACE: GLenum = 0x0B44;\r\nexport const BLEND: GLenum = 0x0BE2;\r\nexport const DITHER: GLenum = 0x0BD0;\r\nexport const STENCIL_TEST: GLenum = 0x0B90;\r\nexport const DEPTH_TEST: GLenum = 0x0B71;\r\nexport const SCISSOR_TEST: GLenum = 0x0C11;\r\nexport const POLYGON_OFFSET_FILL: GLenum = 0x8037;\r\nexport const SAMPLE_ALPHA_TO_COVERAGE: GLenum = 0x809E;\r\nexport const SAMPLE_COVERAGE: GLenum = 0x80A0;\r\n\r\n/* ErrorCode */\r\nexport const NO_ERROR: GLenum = 0;\r\nexport const INVALID_ENUM: GLenum = 0x0500;\r\nexport const INVALID_VALUE: GLenum = 0x0501;\r\nexport const INVALID_OPERATION: GLenum = 0x0502;\r\nexport const OUT_OF_MEMORY: GLenum = 0x0505;\r\n\r\n/* FrontFaceDirection */\r\nexport const CW: GLenum = 0x0900;\r\nexport const CCW: GLenum = 0x0901;\r\n\r\n/* GetPName */\r\nexport const LINE_WIDTH: GLenum = 0x0B21;\r\nexport const ALIASED_POINT_SIZE_RANGE: GLenum = 0x846D;\r\nexport const ALIASED_LINE_WIDTH_RANGE: GLenum = 0x846E;\r\nexport const CULL_FACE_MODE: GLenum = 0x0B45;\r\nexport const FRONT_FACE: GLenum = 0x0B46;\r\nexport const DEPTH_RANGE: GLenum = 0x0B70;\r\nexport const DEPTH_WRITEMASK: GLenum = 0x0B72;\r\nexport const DEPTH_CLEAR_VALUE: GLenum = 0x0B73;\r\nexport const DEPTH_FUNC: GLenum = 0x0B74;\r\nexport const STENCIL_CLEAR_VALUE: GLenum = 0x0B91;\r\nexport const STENCIL_FUNC: GLenum = 0x0B92;\r\nexport const STENCIL_FAIL: GLenum = 0x0B94;\r\nexport const STENCIL_PASS_DEPTH_FAIL: GLenum = 0x0B95;\r\nexport const STENCIL_PASS_DEPTH_PASS: GLenum = 0x0B96;\r\nexport const STENCIL_REF: GLenum = 0x0B97;\r\nexport const STENCIL_VALUE_MASK: GLenum = 0x0B93;\r\nexport const STENCIL_WRITEMASK: GLenum = 0x0B98;\r\nexport const STENCIL_BACK_FUNC: GLenum = 0x8800;\r\nexport const STENCIL_BACK_FAIL: GLenum = 0x8801;\r\nexport const STENCIL_BACK_PASS_DEPTH_FAIL: GLenum = 0x8802;\r\nexport const STENCIL_BACK_PASS_DEPTH_PASS: GLenum = 0x8803;\r\nexport const STENCIL_BACK_REF: GLenum = 0x8CA3;\r\nexport const STENCIL_BACK_VALUE_MASK: GLenum = 0x8CA4;\r\nexport const STENCIL_BACK_WRITEMASK: GLenum = 0x8CA5;\r\nexport const VIEWPORT: GLenum = 0x0BA2;\r\nexport const SCISSOR_BOX: GLenum = 0x0C10;\r\n/* SCISSOR_TEST */\r\nexport const COLOR_CLEAR_VALUE: GLenum = 0x0C22;\r\nexport const COLOR_WRITEMASK: GLenum = 0x0C23;\r\nexport const UNPACK_ALIGNMENT: GLenum = 0x0CF5;\r\nexport const PACK_ALIGNMENT: GLenum = 0x0D05;\r\nexport const MAX_TEXTURE_SIZE: GLenum = 0x0D33;\r\nexport const MAX_VIEWPORT_DIMS: GLenum = 0x0D3A;\r\nexport const SUBPIXEL_BITS: GLenum = 0x0D50;\r\nexport const RED_BITS: GLenum = 0x0D52;\r\nexport const GREEN_BITS: GLenum = 0x0D53;\r\nexport const BLUE_BITS: GLenum = 0x0D54;\r\nexport const ALPHA_BITS: GLenum = 0x0D55;\r\nexport const DEPTH_BITS: GLenum = 0x0D56;\r\nexport const STENCIL_BITS: GLenum = 0x0D57;\r\nexport const POLYGON_OFFSET_UNITS: GLenum = 0x2A00;\r\n/* POLYGON_OFFSET_FILL */\r\nexport const POLYGON_OFFSET_FACTOR: GLenum = 0x8038;\r\nexport const TEXTURE_BINDING_2D: GLenum = 0x8069;\r\nexport const SAMPLE_BUFFERS: GLenum = 0x80A8;\r\nexport const SAMPLES: GLenum = 0x80A9;\r\nexport const SAMPLE_COVERAGE_VALUE: GLenum = 0x80AA;\r\nexport const SAMPLE_COVERAGE_INVERT: GLenum = 0x80AB;\r\n\r\n/* GetTextureParameter */\r\n/* TEXTURE_MAG_FILTER */\r\n/* TEXTURE_MIN_FILTER */\r\n/* TEXTURE_WRAP_S */\r\n/* TEXTURE_WRAP_T */\r\n\r\nexport const COMPRESSED_TEXTURE_FORMATS: GLenum = 0x86A3;\r\n\r\n/* HintMode */\r\nexport const DONT_CARE: GLenum = 0x1100;\r\nexport const FASTEST: GLenum = 0x1101;\r\nexport const NICEST: GLenum = 0x1102;\r\n\r\n/* HintTarget */\r\nexport const GENERATE_MIPMAP_HINT: GLenum = 0x8192;\r\n\r\n/* DataType */\r\nexport const BYTE: GLenum = 0x1400;\r\nexport const UNSIGNED_BYTE: GLenum = 0x1401;\r\nexport const SHORT: GLenum = 0x1402;\r\nexport const UNSIGNED_SHORT: GLenum = 0x1403;\r\nexport const INT: GLenum = 0x1404;\r\nexport const UNSIGNED_INT: GLenum = 0x1405;\r\nexport const FLOAT: GLenum = 0x1406;\r\n\r\n/* PixelFormat */\r\nexport const DEPTH_COMPONENT: GLenum = 0x1902;\r\nexport const ALPHA: GLenum = 0x1906;\r\nexport const RGB: GLenum = 0x1907;\r\nexport const RGBA: GLenum = 0x1908;\r\nexport const LUMINANCE: GLenum = 0x1909;\r\nexport const LUMINANCE_ALPHA: GLenum = 0x190A;\r\n\r\n/* PixelType */\r\n/* UNSIGNED_BYTE */\r\nexport const UNSIGNED_SHORT_4_4_4_4: GLenum = 0x8033;\r\nexport const UNSIGNED_SHORT_5_5_5_1: GLenum = 0x8034;\r\nexport const UNSIGNED_SHORT_5_6_5: GLenum = 0x8363;\r\n\r\n/* Shaders */\r\nexport const FRAGMENT_SHADER: GLenum = 0x8B30;\r\nexport const VERTEX_SHADER: GLenum = 0x8B31;\r\nexport const MAX_VERTEX_ATTRIBS: GLenum = 0x8869;\r\nexport const MAX_VERTEX_UNIFORM_VECTORS: GLenum = 0x8DFB;\r\nexport const MAX_VARYING_VECTORS: GLenum = 0x8DFC;\r\nexport const MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4D;\r\nexport const MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4C;\r\nexport const MAX_TEXTURE_IMAGE_UNITS: GLenum = 0x8872;\r\nexport const MAX_FRAGMENT_UNIFORM_VECTORS: GLenum = 0x8DFD;\r\nexport const SHADER_TYPE: GLenum = 0x8B4F;\r\nexport const DELETE_STATUS: GLenum = 0x8B80;\r\nexport const LINK_STATUS: GLenum = 0x8B82;\r\nexport const VALIDATE_STATUS: GLenum = 0x8B83;\r\nexport const ATTACHED_SHADERS: GLenum = 0x8B85;\r\nexport const ACTIVE_UNIFORMS: GLenum = 0x8B86;\r\nexport const ACTIVE_ATTRIBUTES: GLenum = 0x8B89;\r\nexport const SHADING_LANGUAGE_VERSION: GLenum = 0x8B8C;\r\nexport const CURRENT_PROGRAM: GLenum = 0x8B8D;\r\n\r\n/* StencilFunction */\r\nexport const NEVER: GLenum = 0x0200;\r\nexport const LESS: GLenum = 0x0201;\r\nexport const EQUAL: GLenum = 0x0202;\r\nexport const LEQUAL: GLenum = 0x0203;\r\nexport const GREATER: GLenum = 0x0204;\r\nexport const NOTEQUAL: GLenum = 0x0205;\r\nexport const GEQUAL: GLenum = 0x0206;\r\nexport const ALWAYS: GLenum = 0x0207;\r\n\r\n/* StencilOp */\r\n/* ZERO */\r\nexport const KEEP: GLenum = 0x1E00;\r\nexport const REPLACE: GLenum = 0x1E01;\r\nexport const INCR: GLenum = 0x1E02;\r\nexport const DECR: GLenum = 0x1E03;\r\nexport const INVERT: GLenum = 0x150A;\r\nexport const INCR_WRAP: GLenum = 0x8507;\r\nexport const DECR_WRAP: GLenum = 0x8508;\r\n\r\n/* StringName */\r\nexport const VENDOR: GLenum = 0x1F00;\r\nexport const RENDERER: GLenum = 0x1F01;\r\nexport const VERSION: GLenum = 0x1F02;\r\n\r\n/* TextureMagFilter */\r\nexport const NEAREST: GLenum = 0x2600;\r\nexport const LINEAR: GLenum = 0x2601;\r\n\r\n/* TextureMinFilter */\r\n/* NEAREST */\r\n/* LINEAR */\r\nexport const NEAREST_MIPMAP_NEAREST: GLenum = 0x2700;\r\nexport const LINEAR_MIPMAP_NEAREST: GLenum = 0x2701;\r\nexport const NEAREST_MIPMAP_LINEAR: GLenum = 0x2702;\r\nexport const LINEAR_MIPMAP_LINEAR: GLenum = 0x2703;\r\n\r\n/* TextureParameterName */\r\nexport const TEXTURE_MAG_FILTER: GLenum = 0x2800;\r\nexport const TEXTURE_MIN_FILTER: GLenum = 0x2801;\r\nexport const TEXTURE_WRAP_S: GLenum = 0x2802;\r\nexport const TEXTURE_WRAP_T: GLenum = 0x2803;\r\n\r\n/* TextureTarget */\r\nexport const TEXTURE_2D: GLenum = 0x0DE1;\r\nexport const TEXTURE: GLenum = 0x1702;\r\n\r\nexport const TEXTURE_CUBE_MAP: GLenum = 0x8513;\r\nexport const TEXTURE_BINDING_CUBE_MAP: GLenum = 0x8514;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_X: GLenum = 0x8515;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum = 0x8516;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum = 0x8517;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum = 0x8518;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum = 0x8519;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum = 0x851A;\r\nexport const MAX_CUBE_MAP_TEXTURE_SIZE: GLenum = 0x851C;\r\n\r\n/* TextureUnit */\r\nexport const TEXTURE0: GLenum = 0x84C0;\r\nexport const TEXTURE1: GLenum = 0x84C1;\r\nexport const TEXTURE2: GLenum = 0x84C2;\r\nexport const TEXTURE3: GLenum = 0x84C3;\r\nexport const TEXTURE4: GLenum = 0x84C4;\r\nexport const TEXTURE5: GLenum = 0x84C5;\r\nexport const TEXTURE6: GLenum = 0x84C6;\r\nexport const TEXTURE7: GLenum = 0x84C7;\r\nexport const TEXTURE8: GLenum = 0x84C8;\r\nexport const TEXTURE9: GLenum = 0x84C9;\r\nexport const TEXTURE10: GLenum = 0x84CA;\r\nexport const TEXTURE11: GLenum = 0x84CB;\r\nexport const TEXTURE12: GLenum = 0x84CC;\r\nexport const TEXTURE13: GLenum = 0x84CD;\r\nexport const TEXTURE14: GLenum = 0x84CE;\r\nexport const TEXTURE15: GLenum = 0x84CF;\r\nexport const TEXTURE16: GLenum = 0x84D0;\r\nexport const TEXTURE17: GLenum = 0x84D1;\r\nexport const TEXTURE18: GLenum = 0x84D2;\r\nexport const TEXTURE19: GLenum = 0x84D3;\r\nexport const TEXTURE20: GLenum = 0x84D4;\r\nexport const TEXTURE21: GLenum = 0x84D5;\r\nexport const TEXTURE22: GLenum = 0x84D6;\r\nexport const TEXTURE23: GLenum = 0x84D7;\r\nexport const TEXTURE24: GLenum = 0x84D8;\r\nexport const TEXTURE25: GLenum = 0x84D9;\r\nexport const TEXTURE26: GLenum = 0x84DA;\r\nexport const TEXTURE27: GLenum = 0x84DB;\r\nexport const TEXTURE28: GLenum = 0x84DC;\r\nexport const TEXTURE29: GLenum = 0x84DD;\r\nexport const TEXTURE30: GLenum = 0x84DE;\r\nexport const TEXTURE31: GLenum = 0x84DF;\r\nexport const ACTIVE_TEXTURE: GLenum = 0x84E0;\r\n\r\n/* TextureWrapMode */\r\nexport const REPEAT: GLenum = 0x2901;\r\nexport const CLAMP_TO_EDGE: GLenum = 0x812F;\r\nexport const MIRRORED_REPEAT: GLenum = 0x8370;\r\n\r\n/* Uniform Types */\r\nexport const FLOAT_VEC2: GLenum = 0x8B50;\r\nexport const FLOAT_VEC3: GLenum = 0x8B51;\r\nexport const FLOAT_VEC4: GLenum = 0x8B52;\r\nexport const INT_VEC2: GLenum = 0x8B53;\r\nexport const INT_VEC3: GLenum = 0x8B54;\r\nexport const INT_VEC4: GLenum = 0x8B55;\r\nexport const BOOL: GLenum = 0x8B56;\r\nexport const BOOL_VEC2: GLenum = 0x8B57;\r\nexport const BOOL_VEC3: GLenum = 0x8B58;\r\nexport const BOOL_VEC4: GLenum = 0x8B59;\r\nexport const FLOAT_MAT2: GLenum = 0x8B5A;\r\nexport const FLOAT_MAT3: GLenum = 0x8B5B;\r\nexport const FLOAT_MAT4: GLenum = 0x8B5C;\r\nexport const SAMPLER_2D: GLenum = 0x8B5E;\r\nexport const SAMPLER_CUBE: GLenum = 0x8B60;\r\n\r\n/* Vertex Arrays */\r\nexport const VERTEX_ATTRIB_ARRAY_ENABLED: GLenum = 0x8622;\r\nexport const VERTEX_ATTRIB_ARRAY_SIZE: GLenum = 0x8623;\r\nexport const VERTEX_ATTRIB_ARRAY_STRIDE: GLenum = 0x8624;\r\nexport const VERTEX_ATTRIB_ARRAY_TYPE: GLenum = 0x8625;\r\nexport const VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum = 0x886A;\r\nexport const VERTEX_ATTRIB_ARRAY_POINTER: GLenum = 0x8645;\r\nexport const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum = 0x889F;\r\n\r\n/* Shader Source */\r\nexport const COMPILE_STATUS: GLenum = 0x8B81;\r\n\r\n/* Shader Precision-Specified Types */\r\nexport const LOW_FLOAT: GLenum = 0x8DF0;\r\nexport const MEDIUM_FLOAT: GLenum = 0x8DF1;\r\nexport const HIGH_FLOAT: GLenum = 0x8DF2;\r\nexport const LOW_INT: GLenum = 0x8DF3;\r\nexport const MEDIUM_INT: GLenum = 0x8DF4;\r\nexport const HIGH_INT: GLenum = 0x8DF5;\r\n\r\n/* Framebuffer Object. */\r\nexport const FRAMEBUFFER: GLenum = 0x8D40;\r\nexport const RENDERBUFFER: GLenum = 0x8D41;\r\n\r\nexport const RGBA4: GLenum = 0x8056;\r\nexport const RGB5_A1: GLenum = 0x8057;\r\nexport const RGB565: GLenum = 0x8D62;\r\nexport const DEPTH_COMPONENT16: GLenum = 0x81A5;\r\nexport const STENCIL_INDEX: GLenum = 0x1901;\r\nexport const STENCIL_INDEX8: GLenum = 0x8D48;\r\nexport const DEPTH_STENCIL: GLenum = 0x84F9;\r\n\r\nexport const RENDERBUFFER_WIDTH: GLenum = 0x8D42;\r\nexport const RENDERBUFFER_HEIGHT: GLenum = 0x8D43;\r\nexport const RENDERBUFFER_INTERNAL_FORMAT: GLenum = 0x8D44;\r\nexport const RENDERBUFFER_RED_SIZE: GLenum = 0x8D50;\r\nexport const RENDERBUFFER_GREEN_SIZE: GLenum = 0x8D51;\r\nexport const RENDERBUFFER_BLUE_SIZE: GLenum = 0x8D52;\r\nexport const RENDERBUFFER_ALPHA_SIZE: GLenum = 0x8D53;\r\nexport const RENDERBUFFER_DEPTH_SIZE: GLenum = 0x8D54;\r\nexport const RENDERBUFFER_STENCIL_SIZE: GLenum = 0x8D55;\r\n\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum = 0x8CD0;\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum = 0x8CD1;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum = 0x8CD2;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum = 0x8CD3;\r\n\r\nexport const COLOR_ATTACHMENT0: GLenum = 0x8CE0;\r\nexport const DEPTH_ATTACHMENT: GLenum = 0x8D00;\r\nexport const STENCIL_ATTACHMENT: GLenum = 0x8D20;\r\nexport const DEPTH_STENCIL_ATTACHMENT: GLenum = 0x821A;\r\n\r\nexport const NONE: GLenum = 0;\r\n\r\nexport const FRAMEBUFFER_COMPLETE: GLenum = 0x8CD5;\r\nexport const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum = 0x8CD6;\r\nexport const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum = 0x8CD7;\r\nexport const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum = 0x8CD9;\r\nexport const FRAMEBUFFER_UNSUPPORTED: GLenum = 0x8CDD;\r\n\r\nexport const FRAMEBUFFER_BINDING: GLenum = 0x8CA6;\r\nexport const RENDERBUFFER_BINDING: GLenum = 0x8CA7;\r\nexport const MAX_RENDERBUFFER_SIZE: GLenum = 0x84E8;\r\n\r\nexport const INVALID_FRAMEBUFFER_OPERATION: GLenum = 0x0506;\r\n\r\n/* WebGL-specific enums */\r\nexport const UNPACK_FLIP_Y_WEBGL: GLenum = 0x9240;\r\nexport const UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum = 0x9241;\r\nexport const CONTEXT_LOST_WEBGL: GLenum = 0x9242;\r\nexport const UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;\r\nexport const BROWSER_DEFAULT_WEBGL: GLenum = 0x9244;\r\n\r\n//type HTMLCanvasElement = externref;\r\n\r\n//export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement;\r\nexport declare function getDrawingBufferWidth(gl: WebGLRenderingContext): GLsizei;\r\nexport declare function getDrawingBufferHeight(gl: WebGLRenderingContext): GLsizei;\r\n\r\nexport declare function getContextAttributes(gl: WebGLRenderingContext): WebGLContextAttributes;\r\nexport declare function isContextLost(gl: WebGLRenderingContext): bool;\r\n\r\ntype sequence = externref;\r\n\r\nexport declare function getSupportedExtensions(gl: WebGLRenderingContext): sequence;\r\n\r\ntype object_ = externref;\r\n\r\nexport declare function getExtension(gl: WebGLRenderingContext, name: string): object_;\r\n\r\n// THIS WILL BE IN INDEX INTO A PROGRAM LIST KEPT IN THE JS\r\nexport type WebGLProgram = i32; //externref;\r\nexport type WebGLShader = i32;\r\nexport type WebGLBuffer = i32;\r\nexport type WebGLFramebuffer = i32;\r\nexport type WebGLRenderbuffer = i32;\r\nexport type WebGLTexture = i32;\r\n\r\nexport declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void;\r\nexport declare function createContextFromCanvas(canvas_id: string, context_type: string):WebGLRenderingContext;\r\nexport declare function attachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\n// export declare function bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void;\r\nexport declare function bindBuffer(gl: WebGLRenderingContext, target: GLenum, buffer: WebGLBuffer): void;\r\nexport declare function bindFramebuffer(gl: WebGLRenderingContext, target: GLenum, framebuffer: WebGLFramebuffer): void;\r\nexport declare function bindRenderbuffer(gl: WebGLRenderingContext, target: GLenum, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function bindTexture(gl: WebGLRenderingContext, target: GLenum, texture: WebGLTexture): void;\r\nexport declare function blendColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function blendEquation(gl: WebGLRenderingContext, mode: GLenum): void;\r\nexport declare function blendEquationSeparate(gl: WebGLRenderingContext, modeRGB: GLenum, modeAlpha: GLenum): void;\r\nexport declare function blendFunc(gl: WebGLRenderingContext, sfactor: GLenum, dfactor: GLenum): void;\r\nexport declare function blendFuncSeparate(gl: WebGLRenderingContext, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\r\nexport declare function bufferData(gl: WebGLRenderingContext, target: GLenum, data: StaticArray, usage: GLenum): void;\r\nexport declare function bufferSubData(gl: WebGLRenderingContext, target: GLenum, offset: GLintptr, data: Array): void;\r\n\r\nexport declare function checkFramebufferStatus(gl: WebGLRenderingContext, target: GLenum): GLenum;\r\nexport declare function clear(gl: WebGLRenderingContext, mask: GLbitfield): void;\r\nexport declare function clearColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function clearDepth(gl: WebGLRenderingContext, depth: GLclampf): void;\r\nexport declare function clearStencil(gl: WebGLRenderingContext, s: GLint): void;\r\nexport declare function colorMask(gl: WebGLRenderingContext, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\r\nexport declare function compileShader(gl: WebGLRenderingContext, shader: WebGLShader): void;\r\n\r\nexport declare function compressedTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;\r\nexport declare function compressedTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;\r\n\r\nexport declare function copyTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\r\nexport declare function copyTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function createBuffer(gl: WebGLRenderingContext): WebGLBuffer;\r\nexport declare function createFramebuffer(gl: WebGLRenderingContext): WebGLFramebuffer;\r\nexport declare function createProgram(gl: WebGLRenderingContext): WebGLProgram;\r\nexport declare function createRenderbuffer(gl: WebGLRenderingContext): WebGLRenderbuffer;\r\nexport declare function createShader(gl: WebGLRenderingContext, typ: GLenum): WebGLShader;\r\nexport declare function createTexture(gl: WebGLRenderingContext): WebGLTexture;\r\n\r\nexport declare function cullFace(gl: WebGLRenderingContext, mode: GLenum): void;\r\n//...\r\n\r\nexport declare function deleteBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): void;\r\nexport declare function deleteFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): void;\r\nexport declare function deleteProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function deleteRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function deleteShader( gl: WebGLRenderingContext, shader: WebGLShader): void;\r\nexport declare function deleteTexture( gl: WebGLRenderingContext, texture: WebGLTexture): void;\r\n\r\nexport declare function depthFunc( gl: WebGLRenderingContext, func: GLenum): void;\r\nexport declare function depthMask( gl: WebGLRenderingContext, flag: GLboolean): void;\r\nexport declare function depthRange( gl: WebGLRenderingContext, zNear: GLclampf, zFar: GLclampf): void;\r\nexport declare function detachShader( gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\nexport declare function disable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function disableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function drawArrays( gl: WebGLRenderingContext, mode: GLenum, first: GLint, count: GLsizei): void;\r\nexport declare function drawElements( gl: WebGLRenderingContext, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void;\r\n\r\nexport declare function enable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function enableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function finish( gl: WebGLRenderingContext ): void;\r\nexport declare function flush( gl: WebGLRenderingContext ): void;\r\nexport declare function framebufferRenderbuffer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n renderbuffertarget: GLenum,\r\n renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function framebufferTexture2D( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, textarget: GLenum,\r\n texture: WebGLTexture, level: GLint): void;\r\nexport declare function frontFace( gl: WebGLRenderingContext, mode: GLenum): void;\r\n\r\nexport declare function generateMipmap( gl: WebGLRenderingContext, target: GLenum): void;\r\n\r\nexport declare function getActiveAttrib( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getActiveUniform( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getAttachedShaders( gl: WebGLRenderingContext, program: WebGLProgram):sequence;\r\n\r\nexport declare function getAttribLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): GLint;\r\n\r\nexport declare function getBufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getParameter( gl: WebGLRenderingContext, pname: GLenum): externref; // any\r\n\r\nexport declare function getError( gl: WebGLRenderingContext ): GLenum;\r\n\r\nexport declare function getFramebufferAttachmentParameter( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n pname: GLenum): externref; // any\r\nexport declare function getProgramParameter( gl: WebGLRenderingContext, program: WebGLProgram, pname: GLenum): bool; // any\r\nexport declare function getProgramInfoLog( gl: WebGLRenderingContext, program: WebGLProgram): DOMString;\r\nexport declare function getRenderbufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getShaderParameter( gl: WebGLRenderingContext, shader: WebGLShader, pname: GLenum): bool; // any\r\nexport declare function getShaderPrecisionFormat( gl: WebGLRenderingContext, shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat;\r\nexport declare function getShaderInfoLog( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getShaderSource( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getTexParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\n\r\nexport declare function getUniform( gl: WebGLRenderingContext, program: WebGLProgram, location: WebGLUniformLocation): externref; // any\r\n\r\nexport declare function getUniformLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): WebGLUniformLocation;\r\n\r\nexport declare function getVertexAttrib( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): externref; // any\r\n\r\nexport declare function getVertexAttribOffset( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): GLsizeiptr;\r\n\r\nexport declare function hint( gl: WebGLRenderingContext, target: GLenum, mode: GLenum): void;\r\nexport declare function isBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): GLboolean;\r\nexport declare function isEnabled( gl: WebGLRenderingContext, cap: GLenum): GLboolean;\r\nexport declare function isFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): GLboolean;\r\nexport declare function isProgram( gl: WebGLRenderingContext, program: WebGLProgram): GLboolean;\r\nexport declare function isRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): GLboolean;\r\nexport declare function isShader( gl: WebGLRenderingContext, shader: WebGLShader): GLboolean;\r\nexport declare function isTexture( gl: WebGLRenderingContext, texture: WebGLTexture): GLboolean;\r\nexport declare function lineWidth( gl: WebGLRenderingContext, width: GLfloat): void;\r\nexport declare function linkProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function pixelStorei( gl: WebGLRenderingContext, pname: GLenum, param: GLint): void;\r\nexport declare function polygonOffset( gl: WebGLRenderingContext, factor: GLfloat, units: GLfloat): void;\r\n\r\nexport declare function readPixels( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei,\r\n format: GLenum, typ: GLenum, pixels: ArrayBufferView): void;\r\n\r\nexport declare function renderbufferStorage( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\nexport declare function sampleCoverage( gl: WebGLRenderingContext, value: GLclampf, invert: GLboolean): void;\r\nexport declare function scissor( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function shaderSource( gl: WebGLRenderingContext, shader: WebGLShader, source: string): void;\r\n\r\nexport declare function stencilFunc( gl: WebGLRenderingContext, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilFuncSeparate( gl: WebGLRenderingContext, face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilMask( gl: WebGLRenderingContext, mask: GLuint): void;\r\nexport declare function stencilMaskSeparate( gl: WebGLRenderingContext, face: GLenum, mask: GLuint): void;\r\nexport declare function stencilOp( gl: WebGLRenderingContext, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\nexport declare function stencilOpSeparate( gl: WebGLRenderingContext, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\n\r\nexport declare function texImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum,\r\n format: GLenum, typ: GLenum, image: ImageData): void;\r\n\r\nexport declare function texParameterf( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLfloat): void;\r\nexport declare function texParameteri( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLint): void;\r\n\r\nexport declare function texSubImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n format: GLenum, typ: GLenum, pixels: ImageData): void;\r\n\r\nexport declare function uniform1f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat): void;\r\nexport declare function uniform1fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform1i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint): void;\r\nexport declare function uniform1iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform2f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void;\r\nexport declare function uniform2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform2i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint): void;\r\nexport declare function uniform2iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void;\r\n\r\nexport declare function uniform3f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function uniform3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform3i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void;\r\nexport declare function uniform3iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform4f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function uniform4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void;\r\n\r\nexport declare function uniform4i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void;\r\nexport declare function uniform4iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void;\r\n\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function useProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function validateProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\n\r\nexport declare function vertexAttrib1f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat): void;\r\nexport declare function vertexAttrib1fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib2f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat): void;\r\nexport declare function vertexAttrib2fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib3f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function vertexAttrib3fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib4f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function vertexAttrib4fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttribPointer( gl: WebGLRenderingContext, indx: GLint, size: GLint, typ: GLenum,\r\n normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function viewport( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\n// ... WEBGL 2 ...\r\n/* Buffer objects */\r\nexport declare function copyBufferSubData( gl: WebGLRenderingContext, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr,\r\n writeOffset: GLintptr, size: GLsizeiptr): void;\r\n\r\nexport declare function getBufferSubData( gl: WebGLRenderingContext, target: GLenum, srcByteOffset: GLintptr, /*[AllowShared]*/ dstBuffer: ArrayBufferView,\r\n dstOffset: GLuint = 0, length: GLuint = 0): void;\r\n\r\n/* Framebuffer objects */\r\nexport declare function blitFramebuffer( gl: WebGLRenderingContext, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint,\r\n dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\r\nexport declare function framebufferTextureLayer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint,\r\n layer: GLint): void;\r\nexport declare function invalidateFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence): void;\r\nexport declare function invalidateSubFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\nexport declare function readBuffer( gl: WebGLRenderingContext, src: GLenum): void;\r\n\r\n/* Renderbuffer objects */\r\nexport declare function getInternalformatParameter( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, pname: GLenum): externref; // any\r\nexport declare function renderbufferStorageMultisample( gl: WebGLRenderingContext, target: GLenum, samples: GLsizei, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\n\r\n/* Texture objects */\r\nexport declare function texStorage2D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei): void;\r\nexport declare function texStorage3D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei): void;\r\n\r\nexport declare function texImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei,\r\n depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void;\r\n\r\nexport declare function texSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum,\r\n pboOffset: GLintptr):void;\r\n\r\nexport declare function copyTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function compressedTexImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function compressedTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei,\r\n format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\n/* Programs and shaders */\r\nexport declare function getFragDataLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: DOMString): GLint;\r\n\r\n/* Uniforms */\r\nexport declare function uniform1ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint): void;\r\nexport declare function uniform2ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void;\r\nexport declare function uniform3ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void;\r\nexport declare function uniform4ui( gl: WebGLRenderingContext, location:WebGLUniformLocation, v0:GLuint, v1:GLuint, v2:GLuint, v3:GLuint): void;\r\n\r\nexport declare function uniform1uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform2uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform3uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform4uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\n/* Vertex attribs */\r\nexport declare function vertexAttribI4i( gl: WebGLRenderingContext, index:GLuint, x:GLint, y:GLint, z:GLint, w:GLint): void;\r\nexport declare function vertexAttribI4iv( gl: WebGLRenderingContext, index:GLuint, values:Int32List): void;\r\nexport declare function vertexAttribI4ui( gl: WebGLRenderingContext, index:GLuint, x:GLuint, y:GLuint, z:GLuint, w:GLuint): void;\r\nexport declare function vertexAttribI4uiv( gl: WebGLRenderingContext, index:GLuint, values:Uint32List): void;\r\nexport declare function vertexAttribIPointer( gl: WebGLRenderingContext, index:GLuint, size:GLint, typ:GLenum, stride:GLsizei, offset:GLintptr): void;\r\n\r\n/* Writing to the drawing buffer */\r\nexport declare function vertexAttribDivisor( gl: WebGLRenderingContext, index:GLuint, divisor:GLuint): void;\r\nexport declare function drawArraysInstanced( gl: WebGLRenderingContext, mode:GLenum, first:GLint, count:GLsizei, instanceCount:GLsizei): void;\r\nexport declare function drawElementsInstanced( gl: WebGLRenderingContext, mode:GLenum, count:GLsizei, typ:GLenum, offset:GLintptr, instanceCount:GLsizei): void;\r\nexport declare function drawRangeElements( gl: WebGLRenderingContext, mode:GLenum,start:GLuint,end:GLuint,count:GLsizei,typ:GLenum,offset:GLintptr):void;\r\n\r\n/* Multiple Render Targets */\r\nexport declare function drawBuffers( gl: WebGLRenderingContext, buffers: sequence):void;\r\n\r\nexport declare function clearBufferfv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Float32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Int32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferuiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Uint32List,\r\n srcOffset:GLuint = 0):void;\r\n\r\nexport declare function clearBufferfi( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, depth:GLfloat, stencil:GLint): void;\r\n\r\n/* Query Objects */\r\nexport declare function createQuery( gl: WebGLRenderingContext ):WebGLQuery;\r\nexport declare function deleteQuery( gl: WebGLRenderingContext, query: WebGLQuery): void;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isQuery( gl: WebGLRenderingContext, query:WebGLQuery):GLboolean ;\r\nexport declare function beginQuery( gl: WebGLRenderingContext, target:GLenum, query:WebGLQuery): void;\r\nexport declare function endQuery( gl: WebGLRenderingContext, target: GLenum): void;\r\nexport declare function getQuery( gl: WebGLRenderingContext, target:GLenum, pname:GLenum):WebGLQuery;\r\nexport declare function getQueryParameter( gl: WebGLRenderingContext, query:WebGLQuery, pname:GLenum):externref; // any\r\n\r\n/* Sampler Objects */\r\nexport declare function createSampler( gl: WebGLRenderingContext ):WebGLSampler;\r\nexport declare function deleteSampler( gl: WebGLRenderingContext, sampler: WebGLSampler): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isSampler( gl: WebGLRenderingContext, sampler:WebGLSampler):GLboolean;\r\nexport declare function bindSampler( gl: WebGLRenderingContext, unit:GLuint, sampler:WebGLSampler): void;\r\nexport declare function samplerParameteri( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLint): void;\r\nexport declare function samplerParameterf( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLfloat): void;\r\nexport declare function getSamplerParameter( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum):externref; // any\r\n\r\n/* Sync objects */\r\nexport declare function fenceSync( gl: WebGLRenderingContext, condition:GLenum, flags:GLbitfield):WebGLSync;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isSync( gl: WebGLRenderingContext, sync:WebGLSync):GLboolean;\r\nexport declare function deleteSync( gl: WebGLRenderingContext, sync: WebGLSync): void;\r\nexport declare function clientWaitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLuint64):GLenum;\r\nexport declare function waitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLint64): void;\r\nexport declare function getSyncParameter( gl: WebGLRenderingContext, sync:WebGLSync, pname:GLenum):externref; // any\r\n\r\n/* Transform Feedback */\r\nexport declare function createTransformFeedback( gl: WebGLRenderingContext ):WebGLTransformFeedback;\r\nexport declare function deleteTransformFeedback( gl: WebGLRenderingContext, tf: WebGLTransformFeedback): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isTransformFeedback( gl: WebGLRenderingContext, tf:WebGLTransformFeedback):GLboolean;\r\nexport declare function bindTransformFeedback( gl: WebGLRenderingContext, target:GLenum, tf:WebGLTransformFeedback): void;\r\nexport declare function beginTransformFeedback( gl: WebGLRenderingContext, primitiveMode: GLenum): void;\r\nexport declare function endTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function transformFeedbackVaryings( gl: WebGLRenderingContext, program:WebGLProgram, varyings:sequence, bufferMode:GLenum):void;\r\nexport declare function getTransformFeedbackVarying( gl: WebGLRenderingContext, program:WebGLProgram, index:GLuint):WebGLActiveInfo;\r\nexport declare function pauseTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function resumeTransformFeedback( gl: WebGLRenderingContext ):void;\r\n\r\n/* Uniform Buffer Objects and Transform Feedback Buffers */\r\nexport declare function bindBufferBase( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer): void;\r\nexport declare function bindBufferRange( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer, offset:GLintptr, size:GLsizeiptr): void;\r\nexport declare function getIndexedParameter( gl: WebGLRenderingContext, target:GLenum, index:GLuint):externref; // any\r\nexport declare function getUniformIndices( gl: WebGLRenderingContext, program:WebGLProgram, uniformNames:sequence):sequence;\r\nexport declare function getActiveUniforms( gl: WebGLRenderingContext, program:WebGLProgram, uniformIndices:sequence, pname:GLenum):externref; // any\r\nexport declare function getUniformBlockIndex( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockName:DOMString):GLuint;\r\nexport declare function getActiveUniformBlockParameter( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, pname:GLenum):externref; // any\r\nexport declare function getActiveUniformBlockName( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint):DOMString;\r\nexport declare function uniformBlockBinding( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, uniformBlockBinding:GLuint): void;\r\n\r\n/* Vertex Array Objects */\r\nexport declare function createVertexArray( gl: WebGLRenderingContext ):WebGLVertexArrayObject;\r\nexport declare function deleteVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): GLboolean;\r\nexport declare function bindVertexArray( gl: WebGLRenderingContext, array: WebGLVertexArrayObject): void;\r\n","/// \n\nimport { idof } from \"../builtins\";\nimport { CharCode } from \"./string\";\n\n// @ts-ignore: decorator\n@inline\nexport const MAX_DOUBLE_LENGTH = 28;\n\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000,\n 1000000000\n]);\n\n/*\n Lookup table for pairwise char codes in range [0-99]\n\n \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\",\n \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\",\n \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\",\n \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\",\n \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\",\n \"50\", \"51\", \"52\", \"53\", \"54\", \"55\", \"56\", \"57\", \"58\", \"59\",\n \"60\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\",\n \"70\", \"71\", \"72\", \"73\", \"74\", \"75\", \"76\", \"77\", \"78\", \"79\",\n \"80\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\",\n \"90\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"\n*/\n// @ts-ignore: decorator\n@lazy @inline const DIGITS = memory.data([\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\n]);\n\n// Lookup table for pairwise char codes in range [0x00-0xFF]\n// @ts-ignore: decorator\n@lazy @inline const HEX_DIGITS =\n\"000102030405060708090a0b0c0d0e0f\\\n101112131415161718191a1b1c1d1e1f\\\n202122232425262728292a2b2c2d2e2f\\\n303132333435363738393a3b3c3d3e3f\\\n404142434445464748494a4b4c4d4e4f\\\n505152535455565758595a5b5c5d5e5f\\\n606162636465666768696a6b6c6d6e6f\\\n707172737475767778797a7b7c7d7e7f\\\n808182838485868788898a8b8c8d8e8f\\\n909192939495969798999a9b9c9d9e9f\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\";\n\n// @ts-ignore: decorator\n@lazy @inline const ANY_DIGITS = \"0123456789abcdefghijklmnopqrstuvwxyz\";\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\n 907, 933, 960, 986, 1013, 1039, 1066\n/* eslint-enable indent */]);\n\n// 1e-348, 1e-340, ..., 1e340\n// @ts-ignore: decorator\n@lazy @inline const FRC_POWERS = memory.data([\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function isPowerOf2(value: T): bool {\n return popcnt(value) == 1;\n}\n\n// Count number of decimals for u32 values\n// In our case input value always non-zero so we can simplify some parts\nexport function decimalCount32(value: u32): u32 {\n if (value < 100000) {\n if (value < 100) {\n return 1 + u32(value >= 10);\n } else {\n return 3 + u32(value >= 10000) + u32(value >= 1000);\n }\n } else {\n if (value < 10000000) {\n return 6 + u32(value >= 1000000);\n } else {\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\n }\n }\n}\n\n// Count number of decimals for u64 values\n// In our case input value always greater than 2^32-1 so we can skip some parts\nexport function decimalCount64High(value: u64): u32 {\n if (value < 1000000000000000) {\n if (value < 1000000000000) {\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\n } else {\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\n }\n } else {\n if (value < 100000000000000000) {\n return 16 + u32(value >= 10000000000000000);\n } else {\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\n }\n }\n}\n\nfunction ulog_base(num: u64, base: i32): u32 {\n if (isPowerOf2(base)) {\n return (63 - clz(num)) / (31 - clz(base)) + 1;\n }\n var b64 = u64(base), b = b64, e: u32 = 1;\n while (num >= b) {\n num /= b;\n b *= b;\n e <<= 1;\n }\n while (num >= 1) {\n num /= b64;\n e++;\n }\n return e - 1;\n}\n\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\n while (num >= 10000) {\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\n let t = num / 10000;\n let r = num % 10000;\n num = t;\n\n let d1 = r / 100;\n let d2 = r % 100;\n\n let digits1 = load(DIGITS + (d1 << alignof()));\n let digits2 = load(DIGITS + (d2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n if (num >= 100) {\n let t = num / 100;\n let d1 = num % 100;\n num = t;\n offset -= 2;\n let digits = load(DIGITS + (d1 << alignof()));\n store(buffer + (offset << 1), digits);\n }\n\n if (num >= 10) {\n offset -= 2;\n let digits = load(DIGITS + (num << alignof()));\n store(buffer + (offset << 1), digits);\n } else {\n offset -= 1;\n let digit = CharCode._0 + num;\n store(buffer + (offset << 1), digit);\n }\n}\n\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\n while (num >= 100000000) {\n let t = num / 100000000;\n let r = (num - t * 100000000);\n num = t;\n\n let b = r / 10000;\n let c = r % 10000;\n\n let b1 = b / 100;\n let b2 = b % 100;\n let c1 = c / 100;\n let c2 = c % 100;\n\n let digits1 = load(DIGITS + (c1 << alignof()));\n let digits2 = load(DIGITS + (c2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n\n digits1 = load(DIGITS + (b1 << alignof()));\n digits2 = load(DIGITS + (b2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n utoa32_dec_lut(buffer, num, offset);\n}\n\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\n const lut = changetype(HEX_DIGITS);\n while (offset >= 2) {\n offset -= 2;\n store(\n buffer + (offset << 1),\n load(lut + ((num & 0xFF) << alignof()))\n );\n num >>= 8;\n }\n if (offset & 1) {\n store(buffer, load(lut + (num << 6)));\n }\n}\n\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let t = num / 10;\n let r = (num % 10);\n num = changetype(t);\n offset--;\n store(buffer + (offset << 1), CharCode._0 + r);\n } while (num);\n}\n\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let d = num & 0x0F | CharCode._0;\n d += select(0x27, 0, d > CharCode._9);\n offset--;\n store(buffer + (offset << 1), d);\n // @ts-ignore: type\n num >>= 4;\n } while (num);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa32_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa64_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\n const lut = changetype(ANY_DIGITS);\n var base = u64(radix);\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\n let shift = u64(ctz(radix) & 7);\n let mask = base - 1;\n do {\n offset--;\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\n num >>= shift;\n } while (num);\n } else {\n do {\n offset--;\n let q = num / base;\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\n num = q;\n } while (num);\n }\n}\n\nexport function utoa32(value: u32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa32(value: i32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = value >>> 31;\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let val32 = u32(value);\n let decimals = ulog_base(val32, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, val32, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\nexport function utoa64(value: u64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa64(value: i64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = u32(value >>> 63);\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value) + sign;\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\n// @ts-ignore: decorator\n@lazy var _K: i32 = 0;\n\n// // @ts-ignore: decorator\n// @lazy\n// var _frc: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp: i32 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_minus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_plus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_pow: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp_pow: i32 = 0;\n\n// @ts-ignore: decorator\n@inline\nfunction umul64f(u: u64, v: u64): u64 {\n var u0 = u & 0xFFFFFFFF;\n var v0 = v & 0xFFFFFFFF;\n\n var u1 = u >> 32;\n var v1 = v >> 32;\n\n var l = u0 * v0;\n var t = u1 * v0 + (l >> 32);\n var w = u0 * v1 + (t & 0xFFFFFFFF);\n\n w += 0x7FFFFFFF; // rounding\n\n t >>= 32;\n w >>= 32;\n\n return u1 * v1 + t + w;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction umul64e(e1: i32, e2: i32): i32 {\n return e1 + e2 + 64; // where 64 is significand size\n}\n\n// @ts-ignore: decorator\n@inline\nfunction normalizedBoundaries(f: u64, e: i32): void {\n var frc = (f << 1) + 1;\n var exp = e - 1;\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var m = 1 + i32(f == 0x0010000000000000);\n\n _frc_plus = frc;\n _frc_minus = ((f << m) - 1) << e - m - exp;\n _exp = exp;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\n var lastp = buffer + ((len - 1) << 1);\n var digit = load(lastp);\n while (\n rest < wp_w &&\n delta - rest >= ten_kappa && (\n rest + ten_kappa < wp_w ||\n wp_w - rest > rest + ten_kappa - wp_w\n )\n ) {\n --digit;\n rest += ten_kappa;\n }\n store(lastp, digit);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction getCachedPower(minExp: i32): void {\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\n var dk = (-61 - minExp) * c + 347;\t // dk must be positive, so can do ceiling in positive\n var k = dk;\n k += i32(k != dk); // conversion with ceil\n\n var index = (k >> 3) + 1;\n _K = 348 - (index << 3);\t// decimal exponent no need lookup table\n _frc_pow = load(FRC_POWERS + (index << alignof()));\n _exp_pow = load(EXP_POWERS + (index << alignof()));\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\n\n // frexp routine\n var uv = reinterpret(value);\n var exp = i32((uv & 0x7FF0000000000000) >>> 52);\n var sid = uv & 0x000FFFFFFFFFFFFF;\n var frc = (u64(exp != 0) << 52) + sid;\n exp = select(exp, 1, exp) - (0x3FF + 52);\n\n normalizedBoundaries(frc, exp);\n getCachedPower(_exp);\n\n // normalize\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var frc_pow = _frc_pow;\n var exp_pow = _exp_pow;\n\n var w_frc = umul64f(frc, frc_pow);\n var w_exp = umul64e(exp, exp_pow);\n\n var wp_frc = umul64f(_frc_plus, frc_pow) - 1;\n var wp_exp = umul64e(_exp, exp_pow);\n\n var wm_frc = umul64f(_frc_minus, frc_pow) + 1;\n var delta = wp_frc - wm_frc;\n\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\n}\n\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\n var one_exp = -mp_exp;\n var one_frc = (1) << one_exp;\n var mask = one_frc - 1;\n\n var wp_w_frc = mp_frc - w_frc;\n\n var p1 = u32(mp_frc >> one_exp);\n var p2 = mp_frc & mask;\n\n var kappa = decimalCount32(p1);\n var len = sign;\n\n while (kappa > 0) {\n let d: u32;\n switch (kappa) {\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\n case 3: { d = p1 / 100; p1 %= 100; break; }\n case 2: { d = p1 / 10; p1 %= 10; break; }\n case 1: { d = p1; p1 = 0; break; }\n default: { d = 0; break; }\n }\n\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n --kappa;\n let tmp = ((p1) << one_exp) + p2;\n if (tmp <= delta) {\n _K += kappa;\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\n return len;\n }\n }\n\n while (true) {\n p2 *= 10;\n delta *= 10;\n\n let d = p2 >> one_exp;\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n p2 &= mask;\n --kappa;\n if (p2 < delta) {\n _K += kappa;\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\n return len;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction genExponent(buffer: usize, k: i32): i32 {\n var sign = k < 0;\n if (sign) k = -k;\n var decimals = decimalCount32(k) + 1;\n utoa32_dec_core(buffer, k, decimals);\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\n return decimals;\n}\n\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\n if (!k) {\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\n return length + 2;\n }\n\n var kk = length + k;\n if (length <= kk && kk <= 21) {\n // 1234e7 -> 12340000000\n for (let i = length; i < kk; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\n return kk + 2;\n } else if (kk > 0 && kk <= 21) {\n // 1234e-2 -> 12.34\n let ptr = buffer + (kk << 1);\n memory.copy(\n ptr + 2,\n ptr,\n -k << 1\n );\n store(buffer + (kk << 1), CharCode.DOT);\n return length + 1;\n } else if (-6 < kk && kk <= 0) {\n // 1234e-6 -> 0.001234\n let offset = 2 - kk;\n memory.copy(\n buffer + (offset << 1),\n buffer,\n length << 1\n );\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\n for (let i = 2; i < offset; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n return length + offset;\n } else if (length == 1) {\n // 1e30\n store(buffer, CharCode.e, 2);\n length = genExponent(buffer + 4, kk - 1);\n return length + 2;\n } else {\n let len = length << 1;\n memory.copy(\n buffer + 4,\n buffer + 2,\n len - 2\n );\n store(buffer, CharCode.DOT, 2);\n store(buffer + len, CharCode.e, 2);\n length += genExponent(buffer + len + 4, kk - 1);\n return length + 2;\n }\n}\n\nfunction dtoa_core(buffer: usize, value: f64): i32 {\n var sign = i32(value < 0);\n if (sign) {\n value = -value;\n store(buffer, CharCode.MINUS);\n }\n // assert(value > 0 && value <= 1.7976931348623157e308);\n var len = grisu2(value, buffer, sign);\n len = prettify(buffer + (sign << 1), len - sign, _K);\n return len + sign;\n}\n\n// @ts-ignore: decorator\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\n\nexport function dtoa(value: f64): String {\n if (value == 0) return \"0.0\";\n if (!isFinite(value)) {\n if (isNaN(value)) return \"NaN\";\n return select(\"-Infinity\", \"Infinity\", value < 0);\n }\n var size = dtoa_core(dtoa_buf, value) << 1;\n var result = __new(size, idof());\n memory.copy(result, dtoa_buf, size);\n return changetype(result);\n}\n\nexport function itoa_buffered(buffer: usize, value: T): u32 {\n var sign: u32 = 0;\n if (isSigned()) {\n sign = u32(value < 0);\n if (sign) {\n value = changetype(-value);\n store(buffer, CharCode.MINUS);\n }\n }\n if (ASC_SHRINK_LEVEL <= 1) {\n if (isSigned()) {\n if (sizeof() <= 4) {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n } else {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n }\n } else {\n if (value < 10) {\n store(buffer, value | CharCode._0);\n return 1;\n }\n }\n }\n var decimals = sign;\n if (sizeof() <= 4) {\n decimals += decimalCount32(value);\n utoa32_dec_core(buffer, value, decimals);\n } else {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n decimals += decimalCount32(val32);\n utoa32_dec_core(buffer, val32, decimals);\n } else {\n decimals += decimalCount64High(value);\n utoa64_dec_core(buffer, value, decimals);\n }\n }\n return decimals;\n}\n\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\n if (value == 0) {\n store(buffer, CharCode._0);\n store(buffer, CharCode.DOT, 2);\n store(buffer, CharCode._0, 4);\n return 3;\n }\n if (!isFinite(value)) {\n if (isNaN(value)) {\n store(buffer, CharCode.N);\n store(buffer, CharCode.a, 2);\n store(buffer, CharCode.N, 4);\n return 3;\n } else {\n let sign = value < 0;\n if (sign) {\n store(buffer, CharCode.MINUS); // -\n buffer += 2;\n }\n store(buffer, 0x690066006E0049, 0); // ifnI\n store(buffer, 0x7900740069006E, 8); // ytin\n return 8 + u32(sign);\n }\n }\n return dtoa_core(buffer, value);\n}\n","//\n// Lookup data for exp2f\n//\n\n// @ts-ignore: decorator\n@inline const EXP2F_TABLE_BITS = 5;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\n // used for computing 2^(k/N) for an int |k| < 150 N as\n // double(tab[k%N] + (k << 52-BITS))\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\n]);\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function exp2f_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\n Ox127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x430) {\n // |x| >= 128 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\n }\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\n var kd = xd + shift;\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n y = C2 * r + 1;\n y += (C0 * r + C1) * (r * r);\n y *= s;\n\n return y;\n}\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function expf_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\n Ox1p127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x42B) {\n // |x| >= 88 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\n }\n\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\n var z = InvLn2N * xd;\n\n // Round and convert z to int, the result is in [-150*N, 128*N] and\n // ideally ties-to-even rule is used, otherwise the magnitude of r\n // can be bigger which gives larger approximation error.\n var kd = (z + shift);\n var ki = reinterpret(kd);\n var r = z - (kd - shift);\n var s: f64, y: f64, t: u64;\n\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n\n return y;\n}\n\n//\n// Lookup data for log2f\n//\n\n// @ts-ignore: decorator\n@inline const LOG2F_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFDEFEC65B963019), // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFDB0B6832D4FCA4), // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD7418B0A1FB77B), // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFD39DE91A6DCF7B), // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFD01D9BF3F2B631), // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC97C1D1B3B7AF0), // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFC2F9E393AF3C9F), // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB960CBBF788D5C), // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFAA6F9DB6475FCE), // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0x0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FB338CA9F24F53D), // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FC476A9543891BA), // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FCE840B4AC4E4D2), // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FD40645F0C6651C), // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD88E9C2C1B9FF8), // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FDCE0A44EB17BCC) // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\n]);\n\n// ULP error: 0.752 (nearest rounding.)\n// Relative error: 1.9 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function log2f_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if (ux * 2 == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\n var top = tmp & 0xFF800000;\n var iz = ux - top;\n var k = tmp >> 23;\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(iz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A1 * r + A2;\n var p = A3 * r + y0;\n var r2 = r * r;\n y += A0 * r2;\n y = y * r2 + p;\n\n return y;\n}\n\n//\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\n//\n\n// @ts-ignore: decorator\n@inline const LOGF_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOGF_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFD57BF7808CAADE), // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFD2BEF0A7C06DDB), // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD01EAE7F513A67), // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFCB31D8A68224E9), // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFC6574F0AC07758), // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC1AA2BC79C8100), // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFBA4E76CE8C0E5E), // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB1973C5A611CCC), // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFA252F438E10C1E), // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FAAA5AA5DF25984), // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FBC5E53AA362EB4), // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FC526E57720DB08), // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FCBC2860D224770), // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD1058BC8A07EE1), // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FD4043057B6EE09) // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\n]);\n\n// ULP error: 0.818 (nearest rounding.)\n// Relative error: 1.957 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function logf_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if ((ux << 1) == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log(inf) == inf.\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\n var k = tmp >> 23;\n var iz = ux - (tmp & 0x1FF << 23);\n\n var invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\n var r = z * invc - 1;\n var y0 = logc + k * Ln2;\n\n // Pipelined polynomial evaluation to approximate log1p(r).\n var r2 = r * r;\n var y = A1 * r + A2;\n y += A0 * r2;\n y = y * r2 + (y0 + r);\n\n return y;\n}\n\n//\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\n//\n\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnanf(ux: u32): bool {\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\n}\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkintf(iy: u32): i32 {\n var e = iy >> 23 & 0xFF;\n if (e < 0x7F ) return 0;\n if (e > 0x7F + 23) return 2;\n e = 1 << (0x7F + 23 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// Subnormal input is normalized so ix has negative biased exponent.\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\n// @ts-ignore: decorator\n@inline\nfunction log2f_inline(ux: u32): f64 {\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\n\n const\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\n\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = ((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\n var top = tmp & 0xFF800000;\n var uz = ux - top;\n var k = (top >> 23);\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(uz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A0 * r + A1;\n var p = A2 * r + A3;\n var q = A4 * r + y0;\n\n r *= r;\n q += p * r;\n y = y * (r * r) + q;\n\n return y;\n}\n\n// The output of log2 and thus the input of exp2 is either scaled by N\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\n// in [-1021,1023], sign_bias sets the sign of the result.\n// @ts-ignore: decorator\n@inline\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\n var kd = (xd + shift);\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, z: f64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n return y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflowf(sign: u32, y: f32): f32 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\n}\n\n// @ts-ignore: decorator\n@inline\nexport function powf_lut(x: f32, y: f32): f32 {\n const\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\n LOWER_LIMIT = -150.0,\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\n\n var signBias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var ny = 0;\n\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\n if (ny) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3F800000) return NaN; // original: 1.0\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\n return y * y;\n }\n if (zeroinfnanf(ix)) {\n let x2 = x * x;\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\n return iy >> 31 ? 1 / x2 : x2;\n }\n // x and y are non-zero finite.\n if (ix >> 31) {\n // Finite x < 0.\n let yint = checkintf(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) signBias = SIGN_BIAS;\n ix &= 0x7FFFFFFF;\n }\n if (ix < 0x00800000) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p23f);\n ix &= 0x7FFFFFFF;\n ix -= 23 << 23;\n }\n }\n var logx = log2f_inline(ix);\n var ylogx = y * logx; // cannot overflow, y is single prec.\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\n // |y * log(x)| >= 126\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\n }\n return exp2f_inline(ylogx, signBias);\n}\n\n//\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\n//\n\n// @ts-ignore: decorator\n@inline const EXP_TABLE_BITS = 7;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_DATA_TAB = memory.data([\n 0x0000000000000000, 0x3FF0000000000000,\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\n]);\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\n const\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\n\n var scale: f64;\n if (!(ki & 0x80000000)) {\n // k > 0, the exponent of scale might have overflowed by <= 460.\n sbits -= u64(1009) << 52;\n scale = reinterpret(sbits);\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\n }\n // k < 0, need special care in the subnormal range.\n sbits += u64(1022) << 52;\n // Note: sbits is signed scale.\n scale = reinterpret(sbits);\n var y = scale + scale * tmp;\n if (abs(y) < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let one = copysign(1.0, y);\n let lo = scale - y + scale * tmp;\n let hi = one + y;\n lo = one - hi + y + lo;\n y = (hi + lo) - one;\n // Fix the sign of 0.\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7FF);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n return select(0, Infinity, ux >> 63);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\n var z = InvLn2N * x;\n // #if TOINT_INTRINSICS\n // \tkd = roundtoint(z);\n // \tki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // \t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // var kd = z + shift;\n // var ki = reinterpret(kd) >> 16;\n // var kd = ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes.\n var kd = z + shift;\n var ki = reinterpret(kd);\n kd -= shift;\n // #endif\n var r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // 2^(k/N) ~= scale * (1 + tail).\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n var r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n//\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\n//\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\n var scale: f64;\n if ((ki & 0x80000000) == 0) {\n // k > 0, the exponent of scale might have overflowed by 1\n sbits -= u64(1) << 52;\n scale = reinterpret(sbits);\n return 2 * (scale * tmp + scale);\n }\n // k < 0, need special care in the subnormal range\n sbits += u64(1022) << 52;\n scale = reinterpret(sbits);\n var y = scale * tmp + scale;\n if (y < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let hi: f64, lo: f64;\n lo = scale - y + scale * tmp;\n hi = 1.0 + y;\n lo = 1.0 - hi + y + lo;\n y = (hi + lo) - 1.0;\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp2_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\n\n const\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7ff);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n if (!(ux >> 63)) return Infinity;\n else if (ux >= 0xC090CC0000000000) return 0;\n }\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\n }\n\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\n var kd = x + shift;\n var ki = reinterpret(kd);\n kd -= shift; // k/N for int k\n var r = x - kd;\n // 2^(k/N) ~= scale * (1 + tail)\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r;\n // Without fma the worst case error is 0.5/N ulp larger.\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\n // is no spurious underflow here even without fma.\n return scale * tmp + scale;\n}\n\n//\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG2_TABLE_BITS = 6;\n\n/* Algorithm:\n\n x = 2^k z\n log2(x) = k + log2(c) + log2(z/c)\n log2(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log2(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p10 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\n\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF724286BB1ACF8), reinterpret(0xBFE1095FEECDB000),\n reinterpret(0x3FF6E1F766D2CCA1), reinterpret(0xBFE08494BD76D000),\n reinterpret(0x3FF6A13D0E30D48A), reinterpret(0xBFE00143AEE8F800),\n reinterpret(0x3FF661EC32D06C85), reinterpret(0xBFDEFEC5360B4000),\n reinterpret(0x3FF623FA951198F8), reinterpret(0xBFDDFDD91AB7E000),\n reinterpret(0x3FF5E75BA4CF026C), reinterpret(0xBFDCFFAE0CC79000),\n reinterpret(0x3FF5AC055A214FB8), reinterpret(0xBFDC043811FDA000),\n reinterpret(0x3FF571ED0F166E1E), reinterpret(0xBFDB0B67323AE000),\n reinterpret(0x3FF53909590BF835), reinterpret(0xBFDA152F5A2DB000),\n reinterpret(0x3FF5014FED61ADDD), reinterpret(0xBFD9217F5AF86000),\n reinterpret(0x3FF4CAB88E487BD0), reinterpret(0xBFD8304DB0719000),\n reinterpret(0x3FF49539B4334FEE), reinterpret(0xBFD74189F9A9E000),\n reinterpret(0x3FF460CBDFAFD569), reinterpret(0xBFD6552BB5199000),\n reinterpret(0x3FF42D664EE4B953), reinterpret(0xBFD56B23A29B1000),\n reinterpret(0x3FF3FB01111DD8A6), reinterpret(0xBFD483650F5FA000),\n reinterpret(0x3FF3C995B70C5836), reinterpret(0xBFD39DE937F6A000),\n reinterpret(0x3FF3991C4AB6FD4A), reinterpret(0xBFD2BAA1538D6000),\n reinterpret(0x3FF3698E0CE099B5), reinterpret(0xBFD1D98340CA4000),\n reinterpret(0x3FF33AE48213E7B2), reinterpret(0xBFD0FA853A40E000),\n reinterpret(0x3FF30D191985BDB1), reinterpret(0xBFD01D9C32E73000),\n reinterpret(0x3FF2E025CAB271D7), reinterpret(0xBFCE857DA2FA6000),\n reinterpret(0x3FF2B404CF13CD82), reinterpret(0xBFCCD3C8633D8000),\n reinterpret(0x3FF288B02C7CCB50), reinterpret(0xBFCB26034C14A000),\n reinterpret(0x3FF25E2263944DE5), reinterpret(0xBFC97C1C2F4FE000),\n reinterpret(0x3FF234563D8615B1), reinterpret(0xBFC7D6023F800000),\n reinterpret(0x3FF20B46E33EAF38), reinterpret(0xBFC633A71A05E000),\n reinterpret(0x3FF1E2EEFDCDA3DD), reinterpret(0xBFC494F5E9570000),\n reinterpret(0x3FF1BB4A580B3930), reinterpret(0xBFC2F9E424E0A000),\n reinterpret(0x3FF19453847F2200), reinterpret(0xBFC162595AFDC000),\n reinterpret(0x3FF16E06C0D5D73C), reinterpret(0xBFBF9C9A75BD8000),\n reinterpret(0x3FF1485F47B7E4C2), reinterpret(0xBFBC7B575BF9C000),\n reinterpret(0x3FF12358AD0085D1), reinterpret(0xBFB960C60FF48000),\n reinterpret(0x3FF0FEF00F532227), reinterpret(0xBFB64CE247B60000),\n reinterpret(0x3FF0DB2077D03A8F), reinterpret(0xBFB33F78B2014000),\n reinterpret(0x3FF0B7E6D65980D9), reinterpret(0xBFB0387D1A42C000),\n reinterpret(0x3FF0953EFE7B408D), reinterpret(0xBFAA6F9208B50000),\n reinterpret(0x3FF07325CAC53B83), reinterpret(0xBFA47A954F770000),\n reinterpret(0x3FF05197E40D1B5C), reinterpret(0xBF9D23A8C50C0000),\n reinterpret(0x3FF03091C1208EA2), reinterpret(0xBF916A2629780000),\n reinterpret(0x3FF0101025B37E21), reinterpret(0xBF7720F8D8E80000),\n reinterpret(0x3FEFC07EF9CAA76B), reinterpret(0x3F86FE53B1500000),\n reinterpret(0x3FEF4465D3F6F184), reinterpret(0x3FA11CCCE10F8000),\n reinterpret(0x3FEECC079F84107F), reinterpret(0x3FAC4DFC8C8B8000),\n reinterpret(0x3FEE573A99975AE8), reinterpret(0x3FB3AA321E574000),\n reinterpret(0x3FEDE5D6F0BD3DE6), reinterpret(0x3FB918A0D08B8000),\n reinterpret(0x3FED77B681FF38B3), reinterpret(0x3FBE72E9DA044000),\n reinterpret(0x3FED0CB5724DE943), reinterpret(0x3FC1DCD2507F6000),\n reinterpret(0x3FECA4B2DC0E7563), reinterpret(0x3FC476AB03DEA000),\n reinterpret(0x3FEC3F8EE8D6CB51), reinterpret(0x3FC7074377E22000),\n reinterpret(0x3FEBDD2B4F020C4C), reinterpret(0x3FC98EDE8BA94000),\n reinterpret(0x3FEB7D6C006015CA), reinterpret(0x3FCC0DB86AD2E000),\n reinterpret(0x3FEB20366E2E338F), reinterpret(0x3FCE840AAFCEE000),\n reinterpret(0x3FEAC57026295039), reinterpret(0x3FD0790AB4678000),\n reinterpret(0x3FEA6D01BC2731DD), reinterpret(0x3FD1AC056801C000),\n reinterpret(0x3FEA16D3BC3FF18B), reinterpret(0x3FD2DB11D4FEE000),\n reinterpret(0x3FE9C2D14967FEAD), reinterpret(0x3FD406464EC58000),\n reinterpret(0x3FE970E4F47C9902), reinterpret(0x3FD52DBE093AF000),\n reinterpret(0x3FE920FB3982BCF2), reinterpret(0x3FD651902050D000),\n reinterpret(0x3FE8D30187F759F1), reinterpret(0x3FD771D2CDEAF000),\n reinterpret(0x3FE886E5EBB9F66D), reinterpret(0x3FD88E9C857D9000),\n reinterpret(0x3FE83C97B658B994), reinterpret(0x3FD9A80155E16000),\n reinterpret(0x3FE7F405FFC61022), reinterpret(0x3FDABE186ED3D000),\n reinterpret(0x3FE7AD22181415CA), reinterpret(0x3FDBD0F2AEA0E000),\n reinterpret(0x3FE767DCF99EFF8C), reinterpret(0x3FDCE0A43DBF4000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE6200012B90A8E), reinterpret(0x3C8904AB0644B605),\n reinterpret(0x3FE66000045734A6), reinterpret(0x3C61FF9BEA62F7A9),\n reinterpret(0x3FE69FFFC325F2C5), reinterpret(0x3C827ECFCB3C90BA),\n reinterpret(0x3FE6E00038B95A04), reinterpret(0x3C88FF8856739326),\n reinterpret(0x3FE71FFFE09994E3), reinterpret(0x3C8AFD40275F82B1),\n reinterpret(0x3FE7600015590E10), reinterpret(0xBC72FD75B4238341),\n reinterpret(0x3FE7A00012655BD5), reinterpret(0x3C7808E67C242B76),\n reinterpret(0x3FE7E0003259E9A6), reinterpret(0xBC6208E426F622B7),\n reinterpret(0x3FE81FFFEDB4B2D2), reinterpret(0xBC8402461EA5C92F),\n reinterpret(0x3FE860002DFAFCC3), reinterpret(0x3C6DF7F4A2F29A1F),\n reinterpret(0x3FE89FFFF78C6B50), reinterpret(0xBC8E0453094995FD),\n reinterpret(0x3FE8E00039671566), reinterpret(0xBC8A04F3BEC77B45),\n reinterpret(0x3FE91FFFE2BF1745), reinterpret(0xBC77FA34400E203C),\n reinterpret(0x3FE95FFFCC5C9FD1), reinterpret(0xBC76FF8005A0695D),\n reinterpret(0x3FE9A0003BBA4767), reinterpret(0x3C70F8C4C4EC7E03),\n reinterpret(0x3FE9DFFFE7B92DA5), reinterpret(0x3C8E7FD9478C4602),\n reinterpret(0x3FEA1FFFD72EFDAF), reinterpret(0xBC6A0C554DCDAE7E),\n reinterpret(0x3FEA5FFFDE04FF95), reinterpret(0x3C867DA98CE9B26B),\n reinterpret(0x3FEA9FFFCA5E8D2B), reinterpret(0xBC8284C9B54C13DE),\n reinterpret(0x3FEADFFFDDAD03EA), reinterpret(0x3C5812C8EA602E3C),\n reinterpret(0x3FEB1FFFF10D3D4D), reinterpret(0xBC8EFADDAD27789C),\n reinterpret(0x3FEB5FFFCE21165A), reinterpret(0x3C53CB1719C61237),\n reinterpret(0x3FEB9FFFD950E674), reinterpret(0x3C73F7D94194CE00),\n reinterpret(0x3FEBE000139CA8AF), reinterpret(0x3C750AC4215D9BC0),\n reinterpret(0x3FEC20005B46DF99), reinterpret(0x3C6BEEA653E9C1C9),\n reinterpret(0x3FEC600040B9F7AE), reinterpret(0xBC7C079F274A70D6),\n reinterpret(0x3FECA0006255FD8A), reinterpret(0xBC7A0B4076E84C1F),\n reinterpret(0x3FECDFFFD94C095D), reinterpret(0x3C88F933F99AB5D7),\n reinterpret(0x3FED1FFFF975D6CF), reinterpret(0xBC582C08665FE1BE),\n reinterpret(0x3FED5FFFA2561C93), reinterpret(0xBC7B04289BD295F3),\n reinterpret(0x3FED9FFF9D228B0C), reinterpret(0x3C870251340FA236),\n reinterpret(0x3FEDE00065BC7E16), reinterpret(0xBC75011E16A4D80C),\n reinterpret(0x3FEE200002F64791), reinterpret(0x3C89802F09EF62E0),\n reinterpret(0x3FEE600057D7A6D8), reinterpret(0xBC7E0B75580CF7FA),\n reinterpret(0x3FEEA00027EDC00C), reinterpret(0xBC8C848309459811),\n reinterpret(0x3FEEE0006CF5CB7C), reinterpret(0xBC8F8027951576F4),\n reinterpret(0x3FEF2000782B7DCC), reinterpret(0xBC8F81D97274538F),\n reinterpret(0x3FEF6000260C450A), reinterpret(0xBC4071002727FFDC),\n reinterpret(0x3FEF9FFFE88CD533), reinterpret(0xBC581BDCE1FDA8B0),\n reinterpret(0x3FEFDFFFD50F8689), reinterpret(0x3C87F91ACB918E6E),\n reinterpret(0x3FF0200004292367), reinterpret(0x3C9B7FF365324681),\n reinterpret(0x3FF05FFFE3E3D668), reinterpret(0x3C86FA08DDAE957B),\n reinterpret(0x3FF0A0000A85A757), reinterpret(0xBC57E2DE80D3FB91),\n reinterpret(0x3FF0E0001A5F3FCC), reinterpret(0xBC91823305C5F014),\n reinterpret(0x3FF11FFFF8AFBAF5), reinterpret(0xBC8BFABB6680BAC2),\n reinterpret(0x3FF15FFFE54D91AD), reinterpret(0xBC9D7F121737E7EF),\n reinterpret(0x3FF1A00011AC36E1), reinterpret(0x3C9C000A0516F5FF),\n reinterpret(0x3FF1E00019C84248), reinterpret(0xBC9082FBE4DA5DA0),\n reinterpret(0x3FF220000FFE5E6E), reinterpret(0xBC88FDD04C9CFB43),\n reinterpret(0x3FF26000269FD891), reinterpret(0x3C8CFE2A7994D182),\n reinterpret(0x3FF2A00029A6E6DA), reinterpret(0xBC700273715E8BC5),\n reinterpret(0x3FF2DFFFE0293E39), reinterpret(0x3C9B7C39DAB2A6F9),\n reinterpret(0x3FF31FFFF7DCF082), reinterpret(0x3C7DF1336EDC5254),\n reinterpret(0x3FF35FFFF05A8B60), reinterpret(0xBC9E03564CCD31EB),\n reinterpret(0x3FF3A0002E0EAECC), reinterpret(0x3C75F0E74BD3A477),\n reinterpret(0x3FF3E000043BB236), reinterpret(0x3C9C7DCB149D8833),\n reinterpret(0x3FF4200002D187FF), reinterpret(0x3C7E08AFCF2D3D28),\n reinterpret(0x3FF460000D387CB1), reinterpret(0x3C820837856599A6),\n reinterpret(0x3FF4A00004569F89), reinterpret(0xBC89FA5C904FBCD2),\n reinterpret(0x3FF4E000043543F3), reinterpret(0xBC781125ED175329),\n reinterpret(0x3FF51FFFCC027F0F), reinterpret(0x3C9883D8847754DC),\n reinterpret(0x3FF55FFFFD87B36F), reinterpret(0xBC8709E731D02807),\n reinterpret(0x3FF59FFFF21DF7BA), reinterpret(0x3C87F79F68727B02),\n reinterpret(0x3FF5DFFFEBFC3481), reinterpret(0xBC9180902E30E93E)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log2_lut(x: f64): f64 {\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\n\n const\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\n\n const\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n const\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\n\n const\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n // #if __FP_FAST_FMA\n // hi = r * InvLn2hi;\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\n // #else\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let hi = rhi * InvLn2hi;\n let lo = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n let r2 = r * r; // rounding error: 0x1p-62\n let r4 = r2 * r2;\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\n let p = r2 * (B0 + r * B1);\n let y = hi + p;\n lo += hi - y + p;\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\n return y + lo;\n }\n var top = (ix >> 48);\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan.\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & 0xFFF0000000000000);\n\n var invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n var kd = k;\n\n // log2(x) = log2(z/c) + log2(c) + k.\n // r ~= z/c - 1, |r| < 1/(2*N).\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N.\n // \tr = __builtin_fma(z, invc, -1.0);\n // \tt1 = r * InvLn2hi;\n // \tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-65.\n var chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\n var clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\n\n var r = (z - chi - clo) * invc;\n var rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n var rlo = r - rhi;\n var t1 = rhi * InvLn2hi;\n var t2 = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n\n // hi + lo = r/ln2 + log2(c) + k\n var t3 = kd + logc;\n var hi = t3 + t1;\n var lo = t3 - hi + t1 + t2;\n\n // log2(r+1) = r/ln2 + r^2*poly(r)\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\n var p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\n return lo + r2 * p + hi;\n}\n\n//\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p9 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\n\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF734F0C3E0DE9F), reinterpret(0xBFD7CC7F79E69000),\n reinterpret(0x3FF713786A2CE91F), reinterpret(0xBFD76FEEC20D0000),\n reinterpret(0x3FF6F26008FAB5A0), reinterpret(0xBFD713E31351E000),\n reinterpret(0x3FF6D1A61F138C7D), reinterpret(0xBFD6B85B38287800),\n reinterpret(0x3FF6B1490BC5B4D1), reinterpret(0xBFD65D5590807800),\n reinterpret(0x3FF69147332F0CBA), reinterpret(0xBFD602D076180000),\n reinterpret(0x3FF6719F18224223), reinterpret(0xBFD5A8CA86909000),\n reinterpret(0x3FF6524F99A51ED9), reinterpret(0xBFD54F4356035000),\n reinterpret(0x3FF63356AA8F24C4), reinterpret(0xBFD4F637C36B4000),\n reinterpret(0x3FF614B36B9DDC14), reinterpret(0xBFD49DA7FDA85000),\n reinterpret(0x3FF5F66452C65C4C), reinterpret(0xBFD445923989A800),\n reinterpret(0x3FF5D867B5912C4F), reinterpret(0xBFD3EDF439B0B800),\n reinterpret(0x3FF5BABCCB5B90DE), reinterpret(0xBFD396CE448F7000),\n reinterpret(0x3FF59D61F2D91A78), reinterpret(0xBFD3401E17BDA000),\n reinterpret(0x3FF5805612465687), reinterpret(0xBFD2E9E2EF468000),\n reinterpret(0x3FF56397CEE76BD3), reinterpret(0xBFD2941B3830E000),\n reinterpret(0x3FF54725E2A77F93), reinterpret(0xBFD23EC58CDA8800),\n reinterpret(0x3FF52AFF42064583), reinterpret(0xBFD1E9E129279000),\n reinterpret(0x3FF50F22DBB2BDDF), reinterpret(0xBFD1956D2B48F800),\n reinterpret(0x3FF4F38F4734DED7), reinterpret(0xBFD141679AB9F800),\n reinterpret(0x3FF4D843CFDE2840), reinterpret(0xBFD0EDD094EF9800),\n reinterpret(0x3FF4BD3EC078A3C8), reinterpret(0xBFD09AA518DB1000),\n reinterpret(0x3FF4A27FC3E0258A), reinterpret(0xBFD047E65263B800),\n reinterpret(0x3FF4880524D48434), reinterpret(0xBFCFEB224586F000),\n reinterpret(0x3FF46DCE1B192D0B), reinterpret(0xBFCF474A7517B000),\n reinterpret(0x3FF453D9D3391854), reinterpret(0xBFCEA4443D103000),\n reinterpret(0x3FF43A2744B4845A), reinterpret(0xBFCE020D44E9B000),\n reinterpret(0x3FF420B54115F8FB), reinterpret(0xBFCD60A22977F000),\n reinterpret(0x3FF40782DA3EF4B1), reinterpret(0xBFCCC00104959000),\n reinterpret(0x3FF3EE8F5D57FE8F), reinterpret(0xBFCC202956891000),\n reinterpret(0x3FF3D5D9A00B4CE9), reinterpret(0xBFCB81178D811000),\n reinterpret(0x3FF3BD60C010C12B), reinterpret(0xBFCAE2C9CCD3D000),\n reinterpret(0x3FF3A5242B75DAB8), reinterpret(0xBFCA45402E129000),\n reinterpret(0x3FF38D22CD9FD002), reinterpret(0xBFC9A877681DF000),\n reinterpret(0x3FF3755BC5847A1C), reinterpret(0xBFC90C6D69483000),\n reinterpret(0x3FF35DCE49AD36E2), reinterpret(0xBFC87120A645C000),\n reinterpret(0x3FF34679984DD440), reinterpret(0xBFC7D68FB4143000),\n reinterpret(0x3FF32F5CCEFFCB24), reinterpret(0xBFC73CB83C627000),\n reinterpret(0x3FF3187775A10D49), reinterpret(0xBFC6A39A9B376000),\n reinterpret(0x3FF301C8373E3990), reinterpret(0xBFC60B3154B7A000),\n reinterpret(0x3FF2EB4EBB95F841), reinterpret(0xBFC5737D76243000),\n reinterpret(0x3FF2D50A0219A9D1), reinterpret(0xBFC4DC7B8FC23000),\n reinterpret(0x3FF2BEF9A8B7FD2A), reinterpret(0xBFC4462C51D20000),\n reinterpret(0x3FF2A91C7A0C1BAB), reinterpret(0xBFC3B08ABC830000),\n reinterpret(0x3FF293726014B530), reinterpret(0xBFC31B996B490000),\n reinterpret(0x3FF27DFA5757A1F5), reinterpret(0xBFC2875490A44000),\n reinterpret(0x3FF268B39B1D3BBF), reinterpret(0xBFC1F3B9F879A000),\n reinterpret(0x3FF2539D838FF5BD), reinterpret(0xBFC160C8252CA000),\n reinterpret(0x3FF23EB7AAC9083B), reinterpret(0xBFC0CE7F57F72000),\n reinterpret(0x3FF22A012BA940B6), reinterpret(0xBFC03CDC49FEA000),\n reinterpret(0x3FF2157996CC4132), reinterpret(0xBFBF57BDBC4B8000),\n reinterpret(0x3FF201201DD2FC9B), reinterpret(0xBFBE370896404000),\n reinterpret(0x3FF1ECF4494D480B), reinterpret(0xBFBD17983EF94000),\n reinterpret(0x3FF1D8F5528F6569), reinterpret(0xBFBBF9674ED8A000),\n reinterpret(0x3FF1C52311577E7C), reinterpret(0xBFBADC79202F6000),\n reinterpret(0x3FF1B17C74CB26E9), reinterpret(0xBFB9C0C3E7288000),\n reinterpret(0x3FF19E010C2C1AB6), reinterpret(0xBFB8A646B372C000),\n reinterpret(0x3FF18AB07BB670BD), reinterpret(0xBFB78D01B3AC0000),\n reinterpret(0x3FF1778A25EFBCB6), reinterpret(0xBFB674F145380000),\n reinterpret(0x3FF1648D354C31DA), reinterpret(0xBFB55E0E6D878000),\n reinterpret(0x3FF151B990275FDD), reinterpret(0xBFB4485CDEA1E000),\n reinterpret(0x3FF13F0EA432D24C), reinterpret(0xBFB333D94D6AA000),\n reinterpret(0x3FF12C8B7210F9DA), reinterpret(0xBFB22079F8C56000),\n reinterpret(0x3FF11A3028ECB531), reinterpret(0xBFB10E4698622000),\n reinterpret(0x3FF107FBDA8434AF), reinterpret(0xBFAFFA6C6AD20000),\n reinterpret(0x3FF0F5EE0F4E6BB3), reinterpret(0xBFADDA8D4A774000),\n reinterpret(0x3FF0E4065D2A9FCE), reinterpret(0xBFABBCECE4850000),\n reinterpret(0x3FF0D244632CA521), reinterpret(0xBFA9A1894012C000),\n reinterpret(0x3FF0C0A77CE2981A), reinterpret(0xBFA788583302C000),\n reinterpret(0x3FF0AF2F83C636D1), reinterpret(0xBFA5715E67D68000),\n reinterpret(0x3FF09DDB98A01339), reinterpret(0xBFA35C8A49658000),\n reinterpret(0x3FF08CABAF52E7DF), reinterpret(0xBFA149E364154000),\n reinterpret(0x3FF07B9F2F4E28FB), reinterpret(0xBF9E72C082EB8000),\n reinterpret(0x3FF06AB58C358F19), reinterpret(0xBF9A55F152528000),\n reinterpret(0x3FF059EEA5ECF92C), reinterpret(0xBF963D62CF818000),\n reinterpret(0x3FF04949CDD12C90), reinterpret(0xBF9228FB8CAA0000),\n reinterpret(0x3FF038C6C6F0ADA9), reinterpret(0xBF8C317B20F90000),\n reinterpret(0x3FF02865137932A9), reinterpret(0xBF8419355DAA0000),\n reinterpret(0x3FF0182427EA7348), reinterpret(0xBF781203C2EC0000),\n reinterpret(0x3FF008040614B195), reinterpret(0xBF60040979240000),\n reinterpret(0x3FEFE01FF726FA1A), reinterpret(0x3F6FEFF384900000),\n reinterpret(0x3FEFA11CC261EA74), reinterpret(0x3F87DC41353D0000),\n reinterpret(0x3FEF6310B081992E), reinterpret(0x3F93CEA3C4C28000),\n reinterpret(0x3FEF25F63CEEADCD), reinterpret(0x3F9B9FC114890000),\n reinterpret(0x3FEEE9C8039113E7), reinterpret(0x3FA1B0D8CE110000),\n reinterpret(0x3FEEAE8078CBB1AB), reinterpret(0x3FA58A5BD001C000),\n reinterpret(0x3FEE741AA29D0C9B), reinterpret(0x3FA95C8340D88000),\n reinterpret(0x3FEE3A91830A99B5), reinterpret(0x3FAD276AEF578000),\n reinterpret(0x3FEE01E009609A56), reinterpret(0x3FB07598E598C000),\n reinterpret(0x3FEDCA01E577BB98), reinterpret(0x3FB253F5E30D2000),\n reinterpret(0x3FED92F20B7C9103), reinterpret(0x3FB42EDD8B380000),\n reinterpret(0x3FED5CAC66FB5CCE), reinterpret(0x3FB606598757C000),\n reinterpret(0x3FED272CAA5EDE9D), reinterpret(0x3FB7DA76356A0000),\n reinterpret(0x3FECF26E3E6B2CCD), reinterpret(0x3FB9AB434E1C6000),\n reinterpret(0x3FECBE6DA2A77902), reinterpret(0x3FBB78C7BB0D6000),\n reinterpret(0x3FEC8B266D37086D), reinterpret(0x3FBD431332E72000),\n reinterpret(0x3FEC5894BD5D5804), reinterpret(0x3FBF0A3171DE6000),\n reinterpret(0x3FEC26B533BB9F8C), reinterpret(0x3FC067152B914000),\n reinterpret(0x3FEBF583EEECE73F), reinterpret(0x3FC147858292B000),\n reinterpret(0x3FEBC4FD75DB96C1), reinterpret(0x3FC2266ECDCA3000),\n reinterpret(0x3FEB951E0C864A28), reinterpret(0x3FC303D7A6C55000),\n reinterpret(0x3FEB65E2C5EF3E2C), reinterpret(0x3FC3DFC33C331000),\n reinterpret(0x3FEB374867C9888B), reinterpret(0x3FC4BA366B7A8000),\n reinterpret(0x3FEB094B211D304A), reinterpret(0x3FC5933928D1F000),\n reinterpret(0x3FEADBE885F2EF7E), reinterpret(0x3FC66ACD2418F000),\n reinterpret(0x3FEAAF1D31603DA2), reinterpret(0x3FC740F8EC669000),\n reinterpret(0x3FEA82E63FD358A7), reinterpret(0x3FC815C0F51AF000),\n reinterpret(0x3FEA5740EF09738B), reinterpret(0x3FC8E92954F68000),\n reinterpret(0x3FEA2C2A90AB4B27), reinterpret(0x3FC9BB3602F84000),\n reinterpret(0x3FEA01A01393F2D1), reinterpret(0x3FCA8BED1C2C0000),\n reinterpret(0x3FE9D79F24DB3C1B), reinterpret(0x3FCB5B515C01D000),\n reinterpret(0x3FE9AE2505C7B190), reinterpret(0x3FCC2967CCBCC000),\n reinterpret(0x3FE9852EF297CE2F), reinterpret(0x3FCCF635D5486000),\n reinterpret(0x3FE95CBAEEA44B75), reinterpret(0x3FCDC1BD3446C000),\n reinterpret(0x3FE934C69DE74838), reinterpret(0x3FCE8C01B8CFE000),\n reinterpret(0x3FE90D4F2F6752E6), reinterpret(0x3FCF5509C0179000),\n reinterpret(0x3FE8E6528EFFD79D), reinterpret(0x3FD00E6C121FB800),\n reinterpret(0x3FE8BFCE9FCC007C), reinterpret(0x3FD071B80E93D000),\n reinterpret(0x3FE899C0DABEC30E), reinterpret(0x3FD0D46B9E867000),\n reinterpret(0x3FE87427AA2317FB), reinterpret(0x3FD13687334BD000),\n reinterpret(0x3FE84F00ACB39A08), reinterpret(0x3FD1980D67234800),\n reinterpret(0x3FE82A49E8653E55), reinterpret(0x3FD1F8FFE0CC8000),\n reinterpret(0x3FE8060195F40260), reinterpret(0x3FD2595FD7636800),\n reinterpret(0x3FE7E22563E0A329), reinterpret(0x3FD2B9300914A800),\n reinterpret(0x3FE7BEB377DCB5AD), reinterpret(0x3FD3187210436000),\n reinterpret(0x3FE79BAA679725C2), reinterpret(0x3FD377266DEC1800),\n reinterpret(0x3FE77907F2170657), reinterpret(0x3FD3D54FFBAF3000),\n reinterpret(0x3FE756CADBD6130C), reinterpret(0x3FD432EEE32FE000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE61000014FB66B), reinterpret(0x3C7E026C91425B3C),\n reinterpret(0x3FE63000034DB495), reinterpret(0x3C8DBFEA48005D41),\n reinterpret(0x3FE650000D94D478), reinterpret(0x3C8E7FA786D6A5B7),\n reinterpret(0x3FE67000074E6FAD), reinterpret(0x3C61FCEA6B54254C),\n reinterpret(0x3FE68FFFFEDF0FAE), reinterpret(0xBC7C7E274C590EFD),\n reinterpret(0x3FE6B0000763C5BC), reinterpret(0xBC8AC16848DCDA01),\n reinterpret(0x3FE6D0001E5CC1F6), reinterpret(0x3C833F1C9D499311),\n reinterpret(0x3FE6EFFFEB05F63E), reinterpret(0xBC7E80041AE22D53),\n reinterpret(0x3FE710000E869780), reinterpret(0x3C7BFF6671097952),\n reinterpret(0x3FE72FFFFC67E912), reinterpret(0x3C8C00E226BD8724),\n reinterpret(0x3FE74FFFDF81116A), reinterpret(0xBC6E02916EF101D2),\n reinterpret(0x3FE770000F679C90), reinterpret(0xBC67FC71CD549C74),\n reinterpret(0x3FE78FFFFA7EC835), reinterpret(0x3C81BEC19EF50483),\n reinterpret(0x3FE7AFFFFE20C2E6), reinterpret(0xBC707E1729CC6465),\n reinterpret(0x3FE7CFFFED3FC900), reinterpret(0xBC808072087B8B1C),\n reinterpret(0x3FE7EFFFE9261A76), reinterpret(0x3C8DC0286D9DF9AE),\n reinterpret(0x3FE81000049CA3E8), reinterpret(0x3C897FD251E54C33),\n reinterpret(0x3FE8300017932C8F), reinterpret(0xBC8AFEE9B630F381),\n reinterpret(0x3FE850000633739C), reinterpret(0x3C89BFBF6B6535BC),\n reinterpret(0x3FE87000204289C6), reinterpret(0xBC8BBF65F3117B75),\n reinterpret(0x3FE88FFFEBF57904), reinterpret(0xBC89006EA23DCB57),\n reinterpret(0x3FE8B00022BC04DF), reinterpret(0xBC7D00DF38E04B0A),\n reinterpret(0x3FE8CFFFE50C1B8A), reinterpret(0xBC88007146FF9F05),\n reinterpret(0x3FE8EFFFFC918E43), reinterpret(0x3C83817BD07A7038),\n reinterpret(0x3FE910001EFA5FC7), reinterpret(0x3C893E9176DFB403),\n reinterpret(0x3FE9300013467BB9), reinterpret(0x3C7F804E4B980276),\n reinterpret(0x3FE94FFFE6EE076F), reinterpret(0xBC8F7EF0D9FF622E),\n reinterpret(0x3FE96FFFDE3C12D1), reinterpret(0xBC7082AA962638BA),\n reinterpret(0x3FE98FFFF4458A0D), reinterpret(0xBC87801B9164A8EF),\n reinterpret(0x3FE9AFFFDD982E3E), reinterpret(0xBC8740E08A5A9337),\n reinterpret(0x3FE9CFFFED49FB66), reinterpret(0x3C3FCE08C19BE000),\n reinterpret(0x3FE9F00020F19C51), reinterpret(0xBC8A3FAA27885B0A),\n reinterpret(0x3FEA10001145B006), reinterpret(0x3C74FF489958DA56),\n reinterpret(0x3FEA300007BBF6FA), reinterpret(0x3C8CBEAB8A2B6D18),\n reinterpret(0x3FEA500010971D79), reinterpret(0x3C88FECADD787930),\n reinterpret(0x3FEA70001DF52E48), reinterpret(0xBC8F41763DD8ABDB),\n reinterpret(0x3FEA90001C593352), reinterpret(0xBC8EBF0284C27612),\n reinterpret(0x3FEAB0002A4F3E4B), reinterpret(0xBC69FD043CFF3F5F),\n reinterpret(0x3FEACFFFD7AE1ED1), reinterpret(0xBC823EE7129070B4),\n reinterpret(0x3FEAEFFFEE510478), reinterpret(0x3C6A063EE00EDEA3),\n reinterpret(0x3FEB0FFFDB650D5B), reinterpret(0x3C5A06C8381F0AB9),\n reinterpret(0x3FEB2FFFFEAACA57), reinterpret(0xBC79011E74233C1D),\n reinterpret(0x3FEB4FFFD995BADC), reinterpret(0xBC79FF1068862A9F),\n reinterpret(0x3FEB7000249E659C), reinterpret(0x3C8AFF45D0864F3E),\n reinterpret(0x3FEB8FFFF9871640), reinterpret(0x3C7CFE7796C2C3F9),\n reinterpret(0x3FEBAFFFD204CB4F), reinterpret(0xBC63FF27EEF22BC4),\n reinterpret(0x3FEBCFFFD2415C45), reinterpret(0xBC6CFFB7EE3BEA21),\n reinterpret(0x3FEBEFFFF86309DF), reinterpret(0xBC814103972E0B5C),\n reinterpret(0x3FEC0FFFE1B57653), reinterpret(0x3C8BC16494B76A19),\n reinterpret(0x3FEC2FFFF1FA57E3), reinterpret(0xBC64FEEF8D30C6ED),\n reinterpret(0x3FEC4FFFDCBFE424), reinterpret(0xBC843F68BCEC4775),\n reinterpret(0x3FEC6FFFED54B9F7), reinterpret(0x3C847EA3F053E0EC),\n reinterpret(0x3FEC8FFFEB998FD5), reinterpret(0x3C7383068DF992F1),\n reinterpret(0x3FECB0002125219A), reinterpret(0xBC68FD8E64180E04),\n reinterpret(0x3FECCFFFDD94469C), reinterpret(0x3C8E7EBE1CC7EA72),\n reinterpret(0x3FECEFFFEAFDC476), reinterpret(0x3C8EBE39AD9F88FE),\n reinterpret(0x3FED1000169AF82B), reinterpret(0x3C757D91A8B95A71),\n reinterpret(0x3FED30000D0FF71D), reinterpret(0x3C89C1906970C7DA),\n reinterpret(0x3FED4FFFEA790FC4), reinterpret(0xBC580E37C558FE0C),\n reinterpret(0x3FED70002EDC87E5), reinterpret(0xBC7F80D64DC10F44),\n reinterpret(0x3FED900021DC82AA), reinterpret(0xBC747C8F94FD5C5C),\n reinterpret(0x3FEDAFFFD86B0283), reinterpret(0x3C8C7F1DC521617E),\n reinterpret(0x3FEDD000296C4739), reinterpret(0x3C88019EB2FFB153),\n reinterpret(0x3FEDEFFFE54490F5), reinterpret(0x3C6E00D2C652CC89),\n reinterpret(0x3FEE0FFFCDABF694), reinterpret(0xBC7F8340202D69D2),\n reinterpret(0x3FEE2FFFDB52C8DD), reinterpret(0x3C7B00C1CA1B0864),\n reinterpret(0x3FEE4FFFF24216EF), reinterpret(0x3C72FFA8B094AB51),\n reinterpret(0x3FEE6FFFE88A5E11), reinterpret(0xBC57F673B1EFBE59),\n reinterpret(0x3FEE9000119EFF0D), reinterpret(0xBC84808D5E0BC801),\n reinterpret(0x3FEEAFFFDFA51744), reinterpret(0x3C780006D54320B5),\n reinterpret(0x3FEED0001A127FA1), reinterpret(0xBC5002F860565C92),\n reinterpret(0x3FEEF00007BABCC4), reinterpret(0xBC8540445D35E611),\n reinterpret(0x3FEF0FFFF57A8D02), reinterpret(0xBC4FFB3139EF9105),\n reinterpret(0x3FEF30001EE58AC7), reinterpret(0x3C8A81ACF2731155),\n reinterpret(0x3FEF4FFFF5823494), reinterpret(0x3C8A3F41D4D7C743),\n reinterpret(0x3FEF6FFFFCA94C6B), reinterpret(0xBC6202F41C987875),\n reinterpret(0x3FEF8FFFE1F9C441), reinterpret(0x3C777DD1F477E74B),\n reinterpret(0x3FEFAFFFD2E0E37E), reinterpret(0xBC6F01199A7CA331),\n reinterpret(0x3FEFD0001C77E49E), reinterpret(0x3C7181EE4BCEACB1),\n reinterpret(0x3FEFEFFFF7E0C331), reinterpret(0xBC6E05370170875A),\n reinterpret(0x3FF00FFFF465606E), reinterpret(0xBC8A7EAD491C0ADA),\n reinterpret(0x3FF02FFFF3867A58), reinterpret(0xBC977F69C3FCB2E0),\n reinterpret(0x3FF04FFFFDFC0D17), reinterpret(0x3C97BFFE34CB945B),\n reinterpret(0x3FF0700003CD4D82), reinterpret(0x3C820083C0E456CB),\n reinterpret(0x3FF08FFFF9F2CBE8), reinterpret(0xBC6DFFDFBE37751A),\n reinterpret(0x3FF0B000010CDA65), reinterpret(0xBC913F7FAEE626EB),\n reinterpret(0x3FF0D00001A4D338), reinterpret(0x3C807DFA79489FF7),\n reinterpret(0x3FF0EFFFFADAFDFD), reinterpret(0xBC77040570D66BC0),\n reinterpret(0x3FF110000BBAFD96), reinterpret(0x3C8E80D4846D0B62),\n reinterpret(0x3FF12FFFFAE5F45D), reinterpret(0x3C9DBFFA64FD36EF),\n reinterpret(0x3FF150000DD59AD9), reinterpret(0x3C9A0077701250AE),\n reinterpret(0x3FF170000F21559A), reinterpret(0x3C8DFDF9E2E3DEEE),\n reinterpret(0x3FF18FFFFC275426), reinterpret(0x3C910030DC3B7273),\n reinterpret(0x3FF1B000123D3C59), reinterpret(0x3C997F7980030188),\n reinterpret(0x3FF1CFFFF8299EB7), reinterpret(0xBC65F932AB9F8C67),\n reinterpret(0x3FF1EFFFF48AD400), reinterpret(0x3C937FBF9DA75BEB),\n reinterpret(0x3FF210000C8B86A4), reinterpret(0x3C9F806B91FD5B22),\n reinterpret(0x3FF2300003854303), reinterpret(0x3C93FFC2EB9FBF33),\n reinterpret(0x3FF24FFFFFBCF684), reinterpret(0x3C7601E77E2E2E72),\n reinterpret(0x3FF26FFFF52921D9), reinterpret(0x3C7FFCBB767F0C61),\n reinterpret(0x3FF2900014933A3C), reinterpret(0xBC7202CA3C02412B),\n reinterpret(0x3FF2B00014556313), reinterpret(0xBC92808233F21F02),\n reinterpret(0x3FF2CFFFEBFE523B), reinterpret(0xBC88FF7E384FDCF2),\n reinterpret(0x3FF2F0000BB8AD96), reinterpret(0xBC85FF51503041C5),\n reinterpret(0x3FF30FFFFB7AE2AF), reinterpret(0xBC810071885E289D),\n reinterpret(0x3FF32FFFFEAC5F7F), reinterpret(0xBC91FF5D3FB7B715),\n reinterpret(0x3FF350000CA66756), reinterpret(0x3C957F82228B82BD),\n reinterpret(0x3FF3700011FBF721), reinterpret(0x3C8000BAC40DD5CC),\n reinterpret(0x3FF38FFFF9592FB9), reinterpret(0xBC943F9D2DB2A751),\n reinterpret(0x3FF3B00004DDD242), reinterpret(0x3C857F6B707638E1),\n reinterpret(0x3FF3CFFFF5B2C957), reinterpret(0x3C7A023A10BF1231),\n reinterpret(0x3FF3EFFFEAB0B418), reinterpret(0x3C987F6D66B152B0),\n reinterpret(0x3FF410001532AFF4), reinterpret(0x3C67F8375F198524),\n reinterpret(0x3FF4300017478B29), reinterpret(0x3C8301E672DC5143),\n reinterpret(0x3FF44FFFE795B463), reinterpret(0x3C89FF69B8B2895A),\n reinterpret(0x3FF46FFFE80475E0), reinterpret(0xBC95C0B19BC2F254),\n reinterpret(0x3FF48FFFEF6FC1E7), reinterpret(0x3C9B4009F23A2A72),\n reinterpret(0x3FF4AFFFE5BEA704), reinterpret(0xBC94FFB7BF0D7D45),\n reinterpret(0x3FF4D000171027DE), reinterpret(0xBC99C06471DC6A3D),\n reinterpret(0x3FF4F0000FF03EE2), reinterpret(0x3C977F890B85531C),\n reinterpret(0x3FF5100012DC4BD1), reinterpret(0x3C6004657166A436),\n reinterpret(0x3FF530001605277A), reinterpret(0xBC96BFCECE233209),\n reinterpret(0x3FF54FFFECDB704C), reinterpret(0xBC8902720505A1D7),\n reinterpret(0x3FF56FFFEF5F54A9), reinterpret(0x3C9BBFE60EC96412),\n reinterpret(0x3FF5900017E61012), reinterpret(0x3C887EC581AFEF90),\n reinterpret(0x3FF5B00003C93E92), reinterpret(0xBC9F41080ABF0CC0),\n reinterpret(0x3FF5D0001D4919BC), reinterpret(0xBC98812AFB254729),\n reinterpret(0x3FF5EFFFE7B87A89), reinterpret(0xBC947EB780ED6904)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log_lut(x: f64): f64 {\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\n\n const\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\n\n const\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\n\n const\n LO: u64 = 0x3FEE000000000000,\n HI: u64 = 0x3FF1090000000000;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n let r2 = r * r;\n let r3 = r2 * r;\n let y =\n r3 * (B1 + r * B2 + r2 * B3 +\n r3 * (B4 + r * B5 + r2 * B6 +\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\n // Worst-case error is around 0.507 ULP\n let w = r * Ox1p27;\n let rhi = r + w - w;\n let rlo = r - rhi;\n w = rhi * rhi * B0; // B[0] == -0.5\n let hi = r + w;\n let lo = r - hi + w;\n lo += B0 * rlo * (rhi + r);\n return y + lo + hi;\n }\n var top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & (u64(0xFFF) << 52));\n\n var invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\n // r ~= z/c - 1, |r| < 1/(2*N)\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N\n // \tr = __builtin_fma(z, invc, -1.0);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-66\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\n var r = (z - chi - clo) * invc;\n // #endif\n var kd = k;\n\n // hi + lo = r + log(c) + k*Ln2\n var w = kd * Ln2hi + logc;\n var hi = w + r;\n var lo = w - hi + r + kd * Ln2lo;\n\n // log(x) = lo + (log1p(r) - r) + hi\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst case error if |y| > 0x1p-5:\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\n // Worst case error if |y| > 0x1p-4:\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\n}\n\n//\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\n//\n\n// @ts-ignore: decorator\n@inline const POW_LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\nand z falls into the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = round(0x1p43*log(c))/0x1p43\n tab[i].logctail = (double)(log(c) - logc)\n\nwhere c is chosen near the center of the subinterval such that 1/c has only a\nfew precision bits so z/c - 1 is exactly representible as double:\n\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\n\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\nerror and the interval for z is selected such that near x == 1, where log(x)\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\n\n// @ts-ignore: decorator\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\n // invc ,pad, logc , logctail\n reinterpret(0x3FF6A00000000000), 0, reinterpret(0xBFD62C82F2B9C800), reinterpret(0x3CFAB42428375680),\n reinterpret(0x3FF6800000000000), 0, reinterpret(0xBFD5D1BDBF580800), reinterpret(0xBD1CA508D8E0F720),\n reinterpret(0x3FF6600000000000), 0, reinterpret(0xBFD5767717455800), reinterpret(0xBD2362A4D5B6506D),\n reinterpret(0x3FF6400000000000), 0, reinterpret(0xBFD51AAD872DF800), reinterpret(0xBCE684E49EB067D5),\n reinterpret(0x3FF6200000000000), 0, reinterpret(0xBFD4BE5F95777800), reinterpret(0xBD041B6993293EE0),\n reinterpret(0x3FF6000000000000), 0, reinterpret(0xBFD4618BC21C6000), reinterpret(0x3D13D82F484C84CC),\n reinterpret(0x3FF5E00000000000), 0, reinterpret(0xBFD404308686A800), reinterpret(0x3CDC42F3ED820B3A),\n reinterpret(0x3FF5C00000000000), 0, reinterpret(0xBFD3A64C55694800), reinterpret(0x3D20B1C686519460),\n reinterpret(0x3FF5A00000000000), 0, reinterpret(0xBFD347DD9A988000), reinterpret(0x3D25594DD4C58092),\n reinterpret(0x3FF5800000000000), 0, reinterpret(0xBFD2E8E2BAE12000), reinterpret(0x3D267B1E99B72BD8),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5400000000000), 0, reinterpret(0xBFD22941FBCF7800), reinterpret(0xBD165A242853DA76),\n reinterpret(0x3FF5200000000000), 0, reinterpret(0xBFD1C898C1699800), reinterpret(0xBD1FAFBC68E75404),\n reinterpret(0x3FF5000000000000), 0, reinterpret(0xBFD1675CABABA800), reinterpret(0x3D1F1FC63382A8F0),\n reinterpret(0x3FF4E00000000000), 0, reinterpret(0xBFD1058BF9AE4800), reinterpret(0xBD26A8C4FD055A66),\n reinterpret(0x3FF4C00000000000), 0, reinterpret(0xBFD0A324E2739000), reinterpret(0xBD0C6BEE7EF4030E),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4800000000000), 0, reinterpret(0xBFCFB9186D5E4000), reinterpret(0x3D0D572AAB993C87),\n reinterpret(0x3FF4600000000000), 0, reinterpret(0xBFCEF0ADCBDC6000), reinterpret(0x3D2B26B79C86AF24),\n reinterpret(0x3FF4400000000000), 0, reinterpret(0xBFCE27076E2AF000), reinterpret(0xBD172F4F543FFF10),\n reinterpret(0x3FF4200000000000), 0, reinterpret(0xBFCD5C216B4FC000), reinterpret(0x3D21BA91BBCA681B),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF3E00000000000), 0, reinterpret(0xBFCBC286742D9000), reinterpret(0x3D194EB0318BB78F),\n reinterpret(0x3FF3C00000000000), 0, reinterpret(0xBFCAF3C94E80C000), reinterpret(0x3CBA4E633FCD9066),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3800000000000), 0, reinterpret(0xBFC9525A9CF45000), reinterpret(0xBD2AD1D904C1D4E3),\n reinterpret(0x3FF3600000000000), 0, reinterpret(0xBFC87FA06520D000), reinterpret(0x3D2BBDBF7FDBFA09),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3200000000000), 0, reinterpret(0xBFC6D60FE719D000), reinterpret(0xBD10E46AA3B2E266),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF2E00000000000), 0, reinterpret(0xBFC526E5E3A1B000), reinterpret(0xBD20DE8B90075B8F),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2A00000000000), 0, reinterpret(0xBFC371FC201E9000), reinterpret(0x3CF178864D27543A),\n reinterpret(0x3FF2800000000000), 0, reinterpret(0xBFC29552F81FF000), reinterpret(0xBD248D301771C408),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2200000000000), 0, reinterpret(0xBFBFEC9131DBE000), reinterpret(0xBD2575545CA333F2),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF1E00000000000), 0, reinterpret(0xBFBC5E548F5BC000), reinterpret(0xBD1D0C57585FBE06),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1800000000000), 0, reinterpret(0xBFB6F0D28AE56000), reinterpret(0xBD269737C93373DA),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1200000000000), 0, reinterpret(0xBFB16536EEA38000), reinterpret(0x3D147C5E768FA309),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0600000000000), 0, reinterpret(0xBF97B91B07D58000), reinterpret(0xBD288D5493FAA639),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FEFC00000000000), 0, reinterpret(0x3F80101575890000), reinterpret(0xBD10C76B999D2BE8),\n reinterpret(0x3FEF800000000000), 0, reinterpret(0x3F90205658938000), reinterpret(0xBD23DC5B06E2F7D2),\n reinterpret(0x3FEF400000000000), 0, reinterpret(0x3F98492528C90000), reinterpret(0xBD2AA0BA325A0C34),\n reinterpret(0x3FEF000000000000), 0, reinterpret(0x3FA0415D89E74000), reinterpret(0x3D0111C05CF1D753),\n reinterpret(0x3FEEC00000000000), 0, reinterpret(0x3FA466AED42E0000), reinterpret(0xBD2C167375BDFD28),\n reinterpret(0x3FEE800000000000), 0, reinterpret(0x3FA894AA149FC000), reinterpret(0xBD197995D05A267D),\n reinterpret(0x3FEE400000000000), 0, reinterpret(0x3FACCB73CDDDC000), reinterpret(0xBD1A68F247D82807),\n reinterpret(0x3FEE200000000000), 0, reinterpret(0x3FAEEA31C006C000), reinterpret(0xBD0E113E4FC93B7B),\n reinterpret(0x3FEDE00000000000), 0, reinterpret(0x3FB1973BD1466000), reinterpret(0xBD25325D560D9E9B),\n reinterpret(0x3FEDA00000000000), 0, reinterpret(0x3FB3BDF5A7D1E000), reinterpret(0x3D2CC85EA5DB4ED7),\n reinterpret(0x3FED600000000000), 0, reinterpret(0x3FB5E95A4D97A000), reinterpret(0xBD2C69063C5D1D1E),\n reinterpret(0x3FED400000000000), 0, reinterpret(0x3FB700D30AEAC000), reinterpret(0x3CEC1E8DA99DED32),\n reinterpret(0x3FED000000000000), 0, reinterpret(0x3FB9335E5D594000), reinterpret(0x3D23115C3ABD47DA),\n reinterpret(0x3FECC00000000000), 0, reinterpret(0x3FBB6AC88DAD6000), reinterpret(0xBD1390802BF768E5),\n reinterpret(0x3FECA00000000000), 0, reinterpret(0x3FBC885801BC4000), reinterpret(0x3D2646D1C65AACD3),\n reinterpret(0x3FEC600000000000), 0, reinterpret(0x3FBEC739830A2000), reinterpret(0xBD2DC068AFE645E0),\n reinterpret(0x3FEC400000000000), 0, reinterpret(0x3FBFE89139DBE000), reinterpret(0xBD2534D64FA10AFD),\n reinterpret(0x3FEC000000000000), 0, reinterpret(0x3FC1178E8227E000), reinterpret(0x3D21EF78CE2D07F2),\n reinterpret(0x3FEBE00000000000), 0, reinterpret(0x3FC1AA2B7E23F000), reinterpret(0x3D2CA78E44389934),\n reinterpret(0x3FEBA00000000000), 0, reinterpret(0x3FC2D1610C868000), reinterpret(0x3D039D6CCB81B4A1),\n reinterpret(0x3FEB800000000000), 0, reinterpret(0x3FC365FCB0159000), reinterpret(0x3CC62FA8234B7289),\n reinterpret(0x3FEB400000000000), 0, reinterpret(0x3FC4913D8333B000), reinterpret(0x3D25837954FDB678),\n reinterpret(0x3FEB200000000000), 0, reinterpret(0x3FC527E5E4A1B000), reinterpret(0x3D2633E8E5697DC7),\n reinterpret(0x3FEAE00000000000), 0, reinterpret(0x3FC6574EBE8C1000), reinterpret(0x3D19CF8B2C3C2E78),\n reinterpret(0x3FEAC00000000000), 0, reinterpret(0x3FC6F0128B757000), reinterpret(0xBD25118DE59C21E1),\n reinterpret(0x3FEAA00000000000), 0, reinterpret(0x3FC7898D85445000), reinterpret(0xBD1C661070914305),\n reinterpret(0x3FEA600000000000), 0, reinterpret(0x3FC8BEAFEB390000), reinterpret(0xBD073D54AAE92CD1),\n reinterpret(0x3FEA400000000000), 0, reinterpret(0x3FC95A5ADCF70000), reinterpret(0x3D07F22858A0FF6F),\n reinterpret(0x3FEA000000000000), 0, reinterpret(0x3FCA93ED3C8AE000), reinterpret(0xBD28724350562169),\n reinterpret(0x3FE9E00000000000), 0, reinterpret(0x3FCB31D8575BD000), reinterpret(0xBD0C358D4EACE1AA),\n reinterpret(0x3FE9C00000000000), 0, reinterpret(0x3FCBD087383BE000), reinterpret(0xBD2D4BC4595412B6),\n reinterpret(0x3FE9A00000000000), 0, reinterpret(0x3FCC6FFBC6F01000), reinterpret(0xBCF1EC72C5962BD2),\n reinterpret(0x3FE9600000000000), 0, reinterpret(0x3FCDB13DB0D49000), reinterpret(0xBD2AFF2AF715B035),\n reinterpret(0x3FE9400000000000), 0, reinterpret(0x3FCE530EFFE71000), reinterpret(0x3CC212276041F430),\n reinterpret(0x3FE9200000000000), 0, reinterpret(0x3FCEF5ADE4DD0000), reinterpret(0xBCCA211565BB8E11),\n reinterpret(0x3FE9000000000000), 0, reinterpret(0x3FCF991C6CB3B000), reinterpret(0x3D1BCBECCA0CDF30),\n reinterpret(0x3FE8C00000000000), 0, reinterpret(0x3FD07138604D5800), reinterpret(0x3CF89CDB16ED4E91),\n reinterpret(0x3FE8A00000000000), 0, reinterpret(0x3FD0C42D67616000), reinterpret(0x3D27188B163CEAE9),\n reinterpret(0x3FE8800000000000), 0, reinterpret(0x3FD1178E8227E800), reinterpret(0xBD2C210E63A5F01C),\n reinterpret(0x3FE8600000000000), 0, reinterpret(0x3FD16B5CCBACF800), reinterpret(0x3D2B9ACDF7A51681),\n reinterpret(0x3FE8400000000000), 0, reinterpret(0x3FD1BF99635A6800), reinterpret(0x3D2CA6ED5147BDB7),\n reinterpret(0x3FE8200000000000), 0, reinterpret(0x3FD214456D0EB800), reinterpret(0x3D0A87DEBA46BAEA),\n reinterpret(0x3FE7E00000000000), 0, reinterpret(0x3FD2BEF07CDC9000), reinterpret(0x3D2A9CFA4A5004F4),\n reinterpret(0x3FE7C00000000000), 0, reinterpret(0x3FD314F1E1D36000), reinterpret(0xBD28E27AD3213CB8),\n reinterpret(0x3FE7A00000000000), 0, reinterpret(0x3FD36B6776BE1000), reinterpret(0x3D116ECDB0F177C8),\n reinterpret(0x3FE7800000000000), 0, reinterpret(0x3FD3C25277333000), reinterpret(0x3D183B54B606BD5C),\n reinterpret(0x3FE7600000000000), 0, reinterpret(0x3FD419B423D5E800), reinterpret(0x3D08E436EC90E09D),\n reinterpret(0x3FE7400000000000), 0, reinterpret(0x3FD4718DC271C800), reinterpret(0xBD2F27CE0967D675),\n reinterpret(0x3FE7200000000000), 0, reinterpret(0x3FD4C9E09E173000), reinterpret(0xBD2E20891B0AD8A4),\n reinterpret(0x3FE7000000000000), 0, reinterpret(0x3FD522AE0738A000), reinterpret(0x3D2EBE708164C759),\n reinterpret(0x3FE6E00000000000), 0, reinterpret(0x3FD57BF753C8D000), reinterpret(0x3D1FADEDEE5D40EF),\n reinterpret(0x3FE6C00000000000), 0, reinterpret(0x3FD5D5BDDF596000), reinterpret(0xBD0A0B2A08A465DC)\n]);\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkint(iy: u64): i32 {\n var e = iy >> 52 & 0x7FF;\n if (e < 0x3FF ) return 0;\n if (e > 0x3FF + 52) return 2;\n e = u64(1) << (0x3FF + 52 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflow(sign: u32, y: f64): f64 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\n}\n\n// Returns 1 if input is the bit representation of 0, infinity or nan.\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnan(u: u64): bool {\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\n}\n\n// @ts-ignore: decorator\n@lazy var log_tail: f64 = 0;\n\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\n// additional 15 bits precision. IX is the bit representation of x, but\n// normalized in the subnormal range using the sign bit for the exponent.\n// @ts-ignore: decorator\n@inline\nfunction log_inline(ix: u64): f64 {\n const N = 1 << POW_LOG_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\n Ln2lo = reinterpret(0x3D2EF35793C76730);\n\n const\n A0 = reinterpret(0xBFE0000000000000),\n A1 = reinterpret(0xBFE5555555555560),\n A2 = reinterpret(0x3FE0000000000006),\n A3 = reinterpret(0x3FE999999959554E),\n A4 = reinterpret(0xBFE555555529A47A),\n A5 = reinterpret(0xBFF2495B9B4845E9),\n A6 = reinterpret(0x3FF0002B8B263FC3);\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3fE6955500000000;\n var i = ((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & u64(0xFFF) << 52);\n var z = reinterpret(iz);\n var kd = k;\n\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\n var invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\n var logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\n var logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\n\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\n var zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\n var zlo = z - zhi;\n var rhi = zhi * invc - 1.0;\n var rlo = zlo * invc;\n var r = rhi + rlo;\n\n // k * Ln2 + log(c) + r.\n var t1 = kd * Ln2hi + logc;\n var t2 = t1 + r;\n var lo1 = kd * Ln2lo + logctail;\n var lo2 = t1 - t2 + r;\n\n // Evaluation is optimized assuming superscalar pipelined execution.\n var ar = A0 * r; // A[0] = -0.5\n var ar2 = r * ar;\n var ar3 = r * ar2;\n // k * Ln2 + log(c) + r + A[0] * r * r.\n var arhi = A0 * rhi;\n var arhi2 = rhi * arhi;\n var hi = t2 + arhi2;\n var lo3 = rlo * (ar + arhi);\n var lo4 = t2 - hi + arhi2;\n\n // p = log1p(r) - r - A[0] * r * r.\n var p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\n var lo = lo1 + lo2 + lo3 + lo4 + p;\n var y = hi + lo;\n log_tail = hi - y + lo;\n\n return y;\n}\n\n// @ts-ignore: decorator\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\n\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\n// @ts-ignore: decorator\n@inline\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\n const N = 1 << EXP_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var abstop: u32;\n var ki: u64, top: u64, sbits: u64;\n var idx: usize;\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\n var kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\n\n var ux = reinterpret(x);\n abstop = (ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) {\n // Avoid spurious underflow for tiny x.\n // Note: 0 is common input.\n return select(-1.0, 1.0, sign_bias);\n }\n if (abstop >= 0x409) { // top12(1024.0)\n // Note: inf and nan are already handled.\n return ux >> 63 ? uflow(sign_bias) : oflow(sign_bias);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\n z = InvLn2N * x;\n\n // #if TOINT_INTRINSICS\n // kd = roundtoint(z);\n // ki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // kd = eval_as_double(z + shift);\n // ki = asuint64(kd) >> 16;\n // kd = (double_t)(int32_t)ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes\n kd = z + shift;\n ki = reinterpret(kd);\n kd -= shift;\n // #endif\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // The code assumes 2^-200 < |xtail| < 2^-8/N\n r += xtail;\n // 2^(k/N) ~= scale * (1 + tail)\n idx = ((ki & N_MASK) << 1);\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\n\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\n // This is only a valid scale when -1023*N < k < 1024*N\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function pow_lut(x: f64, y: f64): f64 {\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var sign_bias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var topx = ix >> 52;\n var topy = iy >> 52;\n\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\n // Special cases: (x < 0x1p-126 or inf or nan) or\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\n if (zeroinfnan(iy)) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\n return y * y;\n }\n if (zeroinfnan(ix)) {\n let x2 = x * x;\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\n return iy >> 63 ? 1 / x2 : x2;\n }\n // Here x and y are non-zero finite\n if (ix >> 63) {\n // Finite x < 0\n let yint = checkint(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) sign_bias = SIGN_BIAS;\n ix &= 0x7FFFFFFFFFFFFFFF;\n topx &= 0x7FF;\n }\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\n // Note: sign_bias == 0 here because y is not odd.\n if (ix == 0x3FF0000000000000) return 1;\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\n }\n if (topx == 0) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p52);\n ix &= 0x7FFFFFFFFFFFFFFF;\n ix -= u64(52) << 52;\n }\n }\n\n var hi = log_inline(ix);\n var lo = log_tail;\n var ehi: f64, elo: f64;\n // #if __FP_FAST_FMA\n // ehi = y * hi;\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\n // #else\n var yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\n var ylo = y - yhi;\n var lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\n var llo = hi - lhi + lo;\n ehi = yhi * lhi;\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\n // #endif\n return exp_inline(ehi, elo, sign_bias);\n}\n","import { itoa32, utoa32, itoa64, utoa64, dtoa, itoa_buffered, dtoa_buffered, MAX_DOUBLE_LENGTH } from \"./number\";\nimport { ipow32 } from \"../math\";\n\n// All tables are stored as two staged lookup tables (static tries)\n// because the full range of Unicode symbols can't be efficiently\n// represented as-is in memory (see Unicode spec ch 5, p.196):\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\n// Tables have been generated using these forked musl tools:\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\n\n// Lookup table to check if a character is alphanumeric or not\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\n// size: 3904 bytes\n// @ts-ignore\n@inline @lazy const ALPHA_TABLE = memory.data([\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\n 16,16,125,16,16,16,\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\n 31,254,225,255,\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\n 63,\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\n 255,\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\n 0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\n]);\n\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASED = memory.data([\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0\n]);\n\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASE_IGNORABLES = memory.data([\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,248\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOWER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 91,92,93,94,95,96,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 123,124,125,126,127\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const UPPER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 91,92,93,94,95,96,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 123,124,125,126,127\n]);\n\n// 23 * 8 = 184 bytes\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\n 1e20, 1e21, 1e22\n]);\n\n// @ts-ignore: decorator\n@inline\nexport const enum CharCode {\n PLUS = 0x2B,\n MINUS = 0x2D,\n DOT = 0x2E,\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n A = 0x41,\n B = 0x42,\n E = 0x45,\n I = 0x49,\n N = 0x4E,\n O = 0x4F,\n X = 0x58,\n Z = 0x5A,\n a = 0x61,\n b = 0x62,\n e = 0x65,\n n = 0x6E,\n o = 0x6F,\n x = 0x78,\n z = 0x7A\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isAscii(c: u32): bool {\n return !(c >> 7);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isLower8(c: u32): bool {\n return c - CharCode.a < 26;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isUpper8(c: u32): bool {\n return c - CharCode.A < 26;\n}\n\nexport function isSpace(c: u32): bool {\n if (c < 0x1680) { // < (1)\n // , , , , , and \n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\n // @ts-ignore: cast\n return ((c | 0x80) == 0xA0) | (c - 0x09 <= 0x0D - 0x09);\n }\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\n switch (c) {\n case 0x1680: // (1)\n case 0x2028: // (2)\n case 0x2029: // \n case 0x202F: // \n case 0x205F: // \n case 0x3000: // \n case 0xFEFF: return true; // \n }\n return false;\n}\n\nexport function isAlpha(c: u32): bool {\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\n if (c < 0x20000) {\n // @ts-ignore: cast\n return stagedBinaryLookup(ALPHA_TABLE, c);\n }\n return c < 0x2FFFE;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCased(c: u32): bool {\n // @ts-ignore: cast\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCaseIgnorable(c: u32): bool {\n // @ts-ignore: cast\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\n const lookaheadLimit = 30; // max lookahead limit\n var found = false;\n var pos = index;\n var minPos = max(0, pos - lookaheadLimit);\n while (pos > minPos) {\n let c = codePointBefore(buffer, pos);\n if (!isCaseIgnorable(c)) {\n if (isCased(c)) {\n found = true;\n } else {\n return false;\n }\n }\n pos -= isize(c >= 0x10000) + 1;\n }\n if (!found) return false;\n pos = index + 1;\n var maxPos = min(pos + lookaheadLimit, len);\n while (pos < maxPos) {\n let c = load(buffer + (pos << 1));\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\n let c1 = load(buffer + (pos << 1), 2);\n if ((c1 & 0xFC00) == 0xDC00) {\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\n }\n }\n if (!isCaseIgnorable(c)) {\n return !isCased(c);\n }\n pos += isize(c >= 0x10000) + 1;\n }\n return true;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction codePointBefore(buffer: usize, index: isize): i32 {\n if (index <= 0) return -1;\n var c = load(buffer + (index - 1 << 1));\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\n let c1 = load(buffer + (index - 2 << 1));\n if ((c1 & 0xFC00) == 0xD800) {\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\n }\n }\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\n}\n\n// Search routine for two-staged lookup tables\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\n}\n\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\n var ptr1 = changetype(str1) + (index1 << 1);\n var ptr2 = changetype(str2) + (index2 << 1);\n if (ASC_SHRINK_LEVEL < 2) {\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\n do {\n if (load(ptr1) != load(ptr2)) break;\n ptr1 += 8;\n ptr2 += 8;\n len -= 4;\n } while (len >= 4);\n }\n }\n while (len--) {\n let a = load(ptr1);\n let b = load(ptr2);\n if (a != b) return a - b;\n ptr1 += 2;\n ptr2 += 2;\n }\n return 0;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toLower8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c | u32(isUpper8(c)) << 5;\n } else {\n return load(LOWER127 + c);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toUpper8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c & ~(u32(isLower8(c)) << 5);\n } else {\n return load(UPPER127 + c);\n }\n}\n\n/** Parses a string to an integer (usually), using the specified radix. */\nexport function strtol(str: string, radix: i32 = 0): T {\n var len = str.length;\n if (!len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n\n var ptr = changetype(str) /* + HEAD -> offset */;\n var code = load(ptr);\n\n // trim white spaces\n while (isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n // determine sign\n // @ts-ignore\n var sign: T = 1;\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\n if (!--len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n if (code == CharCode.MINUS) {\n // @ts-ignore: type\n sign = -1;\n }\n code = load(ptr += 2);\n }\n\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\n if (radix) {\n if (radix < 2 || radix > 36) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n // handle case as parseInt(\"0xFF\", 16) by spec\n if (radix == 16) {\n if (\n len > 2 &&\n code == CharCode._0 &&\n (load(ptr, 2) | 32) == CharCode.x\n ) {\n ptr += 4; len -= 2;\n }\n }\n } else {\n // determine radix by literal prefix\n if (code == CharCode._0 && len > 2) {\n switch (load(ptr, 2) | 32) {\n case CharCode.b: {\n ptr += 4; len -= 2;\n radix = 2;\n break;\n }\n case CharCode.o: {\n ptr += 4; len -= 2;\n radix = 8;\n break;\n }\n case CharCode.x: {\n ptr += 4; len -= 2;\n radix = 16;\n break;\n }\n }\n }\n if (!radix) radix = 10;\n }\n\n // calculate value\n // @ts-ignore: type\n var num: T = 0;\n while (len--) {\n code = load(ptr);\n if (code - CharCode._0 < 10) {\n code -= CharCode._0;\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\n code -= CharCode.A - 10;\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\n code -= CharCode.a - 10;\n }\n if (code >= radix) {\n if (!num) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n break;\n }\n // @ts-ignore: type\n num = num * radix + code;\n ptr += 2;\n }\n // @ts-ignore: type\n return sign * num;\n}\n\nexport function strtod(str: string): f64 {\n var len = str.length;\n if (!len) return NaN;\n\n var ptr = changetype(str);\n var code = load(ptr);\n\n var sign = 1.0;\n // skip white spaces\n while (len && isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n if (!len) return NaN;\n\n // try parse '-' or '+'\n if (code == CharCode.MINUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n }\n\n // try parse Infinity\n if (len >= 8 && code == CharCode.I) {\n if (\n load(ptr, 0) == 0x690066006E0049 && // ifnI\n load(ptr, 8) == 0x7900740069006E // ytin\n ) {\n return Infinity * sign;\n }\n return NaN;\n }\n // validate next symbol\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\n return NaN;\n }\n var savedPtr = ptr;\n // skip zeros\n while (code == CharCode._0) {\n code = load(ptr += 2);\n --len;\n }\n if (len <= 0) return 0;\n const capacity = 19; // int(64 * 0.3010)\n var pointed = false;\n var consumed = 0;\n var position = 0;\n var x: u64 = 0;\n if (code == CharCode.DOT) {\n let noDigits = !(savedPtr - ptr);\n ptr += 2; --len;\n if (!len && noDigits) return NaN;\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\n if (len <= 0) return 0;\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\n }\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\n if (digit < 10) {\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\n ++consumed;\n } else {\n position = consumed;\n pointed = true;\n }\n if (!--len) break;\n code = load(ptr += 2);\n }\n\n if (!pointed) position = consumed;\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\n}\n\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) return select(\"true\", \"false\", load(dataStart));\n\n var sepLen = separator.length;\n var valueLen = 5; // max possible length of element len(\"false\")\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: bool;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + i);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + lastIndex);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n let value = load(dataStart);\n if (isSigned()) {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(itoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(itoa64(value, 10)); // retains\n }\n } else {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(utoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(utoa64(value, 10)); // retains\n }\n }\n }\n\n var sepLen = separator.length;\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n return changetype(dtoa(\n // @ts-ignore: type\n load(dataStart))\n ); // retains\n }\n\n const valueLen = MAX_DOUBLE_LENGTH;\n var sepLen = separator.length;\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n // @ts-ignore: type\n return load(dataStart) || \"\";\n }\n var estLen = 0;\n var value: string;\n for (let i = 0; i < length; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) estLen += value.length;\n }\n var offset = 0;\n var sepLen = separator.length;\n var result = __new((estLen + sepLen * lastIndex) << 1, idof());\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n if (value !== null) {\n let valueLen = value.length;\n memory.copy(\n result + (offset << 1),\n changetype(value),\n valueLen << 1\n );\n offset += valueLen;\n }\n if (sepLen) {\n memory.copy(\n result + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n if (value !== null) {\n memory.copy(\n result + (offset << 1),\n changetype(value),\n value.length << 1\n );\n }\n return changetype(result); // retains\n}\n\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n var value: T;\n if (!lastIndex) {\n value = load(dataStart);\n // @ts-ignore: type\n return value !== null ? value.toString() : \"\";\n }\n var result = \"\";\n var sepLen = separator.length;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n if (sepLen) result += separator;\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n return result;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction scientific(significand: u64, exp: i32): f64 {\n if (!significand || exp < -342) return 0;\n if (exp > 308) return Infinity;\n // Try use fast path\n // Use fast path for string-to-double conversion if possible\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\n // Simple integer\n var significandf = significand;\n if (!exp) return significandf;\n if (exp > 22 && exp <= 22 + 15) {\n significandf *= pow10(exp - 22);\n exp = 22;\n }\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\n if (exp > 0) return significandf * pow10(exp);\n return significandf / pow10(-exp);\n } else if (exp < 0) {\n return scaledown(significand, exp);\n } else {\n return scaleup(significand, exp);\n }\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaledown(significand: u64, exp: i32): f64 {\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\n\n var shift = clz(significand);\n significand <<= shift;\n shift = exp - shift;\n\n for (; exp <= -14; exp += 14) {\n let q = significand / denom;\n let r = significand % denom;\n let s = clz(q);\n significand = (q << s) + nearest(scale * (r << (s - 18)));\n shift -= s;\n }\n var b = ipow32(5, -exp);\n var q = significand / b;\n var r = significand % b;\n var s = clz(q);\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\n shift -= s;\n\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaleup(significand: u64, exp: i32): f64 {\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\n var shift = ctz(significand);\n significand >>= shift;\n shift += exp;\n\n __fixmulShift = shift;\n for (; exp >= 13; exp -= 13) {\n significand = fixmul(significand, coeff);\n }\n significand = fixmul(significand, ipow32(5, exp));\n shift = __fixmulShift;\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction parseExp(ptr: usize, len: i32): i32 {\n var sign = 1, magnitude = 0;\n var code = load(ptr);\n // check code is 'e' or 'E'\n if ((code | 32) != CharCode.e) return 0;\n\n if (!--len) return 0;\n code = load(ptr += 2);\n if (code == CharCode.MINUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n // skip zeros\n while (code == CharCode._0) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\n if (magnitude >= 3200) return sign * 3200;\n magnitude = 10 * magnitude + digit;\n code = load(ptr += 2);\n --len;\n }\n return sign * magnitude;\n}\n\n// @ts-ignore: decorator\n@lazy var __fixmulShift: u64 = 0;\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction fixmul(a: u64, b: u32): u64 {\n var low = (a & 0xFFFFFFFF) * b;\n var high = (a >> 32) * b + (low >> 32);\n var overflow = (high >> 32);\n var space = clz(overflow);\n var revspace: u64 = 32 - space;\n __fixmulShift += revspace;\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pow10(n: i32): f64 {\n // argument `n` should bounds in [0, 22] range\n return load(POWERS10 + (n << alignof()));\n}\n","/// \n\nimport { BLOCK_MAXSIZE } from \"./rt/common\";\nimport { COMPARATOR, SORT } from \"./util/sort\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\nimport { idof, isArray as builtin_isArray } from \"./builtins\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_ILLEGALGENTYPE, E_EMPTYARRAY, E_HOLEYARRAY } from \"./util/error\";\n\n/** Ensures that the given array has _at least_ the specified backing size. */\nfunction ensureSize(array: usize, minSize: usize, alignLog2: u32): void {\n // depends on the fact that Arrays mimic ArrayBufferView\n var oldCapacity = changetype(array).byteLength;\n if (minSize > oldCapacity >>> alignLog2) {\n if (minSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\n let oldData = changetype(changetype(array).buffer);\n let newCapacity = minSize << alignLog2;\n let newData = __renew(oldData, newCapacity); // keeps RC\n memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity);\n if (newData !== oldData) { // oldData has been free'd\n store(array, newData, offsetof(\"buffer\"));\n store(array, newData, offsetof(\"dataStart\"));\n }\n store(array, newCapacity, offsetof(\"byteLength\"));\n }\n}\n\nexport class Array {\n [key: number]: T;\n\n // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code\n // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need\n // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the\n // block is 16 bytes anyway so it's fine to have a couple extra fields in there.\n\n private buffer: ArrayBuffer;\n private dataStart: usize;\n private byteLength: i32;\n\n // Also note that Array with non-nullable T must guard against uninitialized null values\n // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee\n // type-safety anymore. For lack of a better word, such an array is \"holey\".\n\n private length_: i32;\n\n static isArray(value: U): bool {\n return isReference() ? builtin_isArray(value) && value !== null : false;\n }\n\n static create(capacity: i32 = 0): Array {\n WARNING(\"'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized.\");\n var array = new Array(capacity);\n array.length = 0;\n return array;\n }\n\n constructor(length: i32 = 0) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var bufferSize = length << alignof();\n var buffer = __new(bufferSize, idof());\n memory.fill(buffer, 0, bufferSize);\n this.buffer = changetype(buffer); // retains\n this.dataStart = buffer;\n this.byteLength = bufferSize;\n this.length_ = length;\n }\n\n get length(): i32 {\n return this.length_;\n }\n\n set length(newLength: i32) {\n var oldLength = this.length_;\n if (isManaged()) {\n if (oldLength > newLength) { // release no longer used refs\n let dataStart = this.dataStart;\n let cur = dataStart + (newLength << alignof());\n let end = dataStart + (oldLength << alignof());\n do __release(load(cur));\n while ((cur += sizeof()) < end);\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n this.length_ = newLength;\n }\n\n every(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (!fn(load(this.dataStart + (index << alignof())), index, this)) return false;\n }\n return true;\n }\n\n findIndex(predicate: (value: T, index: i32, array: Array) => bool): i32 {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (predicate(load(this.dataStart + (index << alignof())), index, this)) return index;\n }\n return -1;\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(this.dataStart + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length_) {\n if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE);\n ensureSize(changetype(this), index + 1, alignof());\n this.length_ = index + 1;\n }\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = this.dataStart + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(oldRef);\n }\n } else {\n store(this.dataStart + (index << alignof()), value);\n }\n }\n\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n end = end < 0 ? max(length + end, 0) : min(end, length);\n if (isManaged()) {\n for (; start < end; ++start) {\n let oldRef: usize = load(dataStart + (start << alignof()));\n if (changetype(value) != oldRef) {\n store(dataStart + (start << alignof()), __retain(changetype(value)));\n __release(oldRef);\n }\n }\n } else if (sizeof() == 1) {\n if (start < end) {\n memory.fill(\n dataStart + start,\n u8(value),\n (end - start)\n );\n }\n } else {\n for (; start < end; ++start) {\n store(dataStart + (start << alignof()), value);\n }\n }\n return this;\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length_;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n let dataStart = this.dataStart;\n while (fromIndex < length) {\n let elem = load(dataStart + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length_;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n var dataStart = this.dataStart;\n while (fromIndex < length) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 {\n var length = this.length_;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n var dataStart = this.dataStart;\n while (fromIndex >= 0) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n push(value: T): i32 {\n var length = this.length_;\n var newLength = length + 1;\n ensureSize(changetype(this), newLength, alignof());\n if (isManaged()) {\n store(this.dataStart + (length << alignof()), __retain(changetype(value)));\n } else {\n store(this.dataStart + (length << alignof()), value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length_;\n var otherLen = select(0, other.length_, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = this.dataStart;\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, this.dataStart, thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var len = this.length_;\n\n end = min(end, len);\n\n var to = target < 0 ? max(len + target, 0) : min(target, len);\n var from = start < 0 ? max(len + start, 0) : min(start, len);\n var last = end < 0 ? max(len + end, 0) : min(end, len);\n var count = min(last - from, len - to);\n\n if (isManaged()) {\n if (from < to && to < (from + count)) { // right to left\n from += count - 1;\n to += count - 1;\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n --from, --to, --count;\n }\n } else { // left to right\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n ++from, ++to, --count;\n }\n }\n } else {\n memory.copy( // is memmove\n dataStart + (to << alignof()),\n dataStart + (from << alignof()),\n count << alignof()\n );\n }\n return this;\n }\n\n pop(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var element = load(this.dataStart + ((--length) << alignof()));\n this.length_ = length;\n return element; // no need to retain -> is moved\n }\n\n forEach(fn: (value: T, index: i32, array: Array) => void): void {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n fn(load(this.dataStart + (index << alignof())), index, this);\n }\n }\n\n map(fn: (value: T, index: i32, array: Array) => U): Array {\n var length = this.length_;\n var out = changetype>(__newArray(length, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n for (let index = 0; index < min(length, this.length_); ++index) {\n let result = fn(load(this.dataStart + (index << alignof())), index, this); // retains\n if (isManaged()) {\n store(outStart + (index << alignof()), __retain(changetype(result)));\n } else {\n store(outStart + (index << alignof()), result);\n }\n // releases result\n }\n return out;\n }\n\n filter(fn: (value: T, index: i32, array: Array) => bool): Array {\n var result = changetype>(__newArray(0, alignof(), idof>())); // retains\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n let value = load(this.dataStart + (index << alignof()));\n if (fn(value, index, this)) result.push(value);\n }\n return result;\n }\n\n reduce(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n reduceRight(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = this.length_ - 1; index >= 0; --index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n shift(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var base = this.dataStart;\n var element = load(base);\n var lastIndex = length - 1;\n memory.copy(\n base,\n base + sizeof(),\n lastIndex << alignof()\n );\n if (isReference()) {\n store(base + (lastIndex << alignof()), 0);\n } else {\n // @ts-ignore\n store(base + (lastIndex << alignof()), 0);\n }\n this.length_ = lastIndex;\n return element; // no need to retain -> is moved\n }\n\n some(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (fn(load(this.dataStart + (index << alignof())), index, this)) return true;\n }\n return false;\n }\n\n unshift(value: T): i32 {\n var newLength = this.length_ + 1;\n ensureSize(changetype(this), newLength, alignof());\n var dataStart = this.dataStart;\n memory.copy(\n dataStart + sizeof(),\n dataStart,\n (newLength - 1) << alignof()\n );\n if (isManaged()) {\n store(dataStart, __retain(changetype(value)));\n } else {\n store(dataStart, value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = this.dataStart + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n deleteCount = max(min(deleteCount, length - start), 0);\n var result = changetype>(__newArray(deleteCount, alignof(), idof>())); // retains\n var resultStart = result.dataStart;\n var thisStart = this.dataStart;\n var thisBase = thisStart + (start << alignof());\n // no need to retain -> is moved\n memory.copy(\n resultStart,\n thisBase,\n deleteCount << alignof()\n );\n var offset = start + deleteCount;\n if (length != offset) {\n memory.copy(\n thisBase,\n thisStart + (offset << alignof()),\n (length - offset) << alignof()\n );\n }\n this.length_ = length - deleteCount;\n return result;\n }\n\n reverse(): Array {\n var length = this.length_;\n if (length) {\n let front = this.dataStart;\n let back = this.dataStart + ((length - 1) << alignof());\n while (front < back) {\n let temp = load(front);\n store(front, load(back));\n store(back, temp);\n front += sizeof();\n back -= sizeof();\n }\n }\n return this;\n }\n\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): this {\n var length = this.length_;\n if (length <= 1) return this;\n var base = this.dataStart;\n if (length == 2) {\n let a: T = load(base, sizeof()); // a = arr[1]\n let b: T = load(base); // b = arr[0]\n if (comparator(a, b) < 0) {\n store(base, b, sizeof()); // arr[1] = b;\n store(base, a); // arr[0] = a;\n }\n return this;\n }\n SORT(base, length, comparator);\n return this;\n }\n\n join(separator: string = \",\"): string {\n var dataStart = this.dataStart;\n var length = this.length_;\n if (isBoolean()) return joinBooleanArray(dataStart, length, separator);\n if (isInteger()) return joinIntegerArray(dataStart, length, separator);\n if (isFloat()) return joinFloatArray(dataStart, length, separator);\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(dataStart, length, separator);\n }\n // For rest objects and arrays use general join routine\n if (isReference()) return joinReferenceArray(dataStart, length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n flat(): T {\n if (!isArray()) {\n throw new TypeError(E_ILLEGALGENTYPE);\n }\n // Get the length and data start values\n var length = this.length_;\n var selfDataStart = this.dataStart;\n\n // calculate the end size with an initial pass\n var size = 0;\n for (let i = 0; i < length; i++) {\n let child = load(selfDataStart + (i << alignof()));\n size += child == 0 ? 0 : load(child, offsetof(\"length_\"));\n }\n\n // calculate the byteLength of the resulting backing ArrayBuffer\n var byteLength = size << usize(alignof>());\n var dataStart = __new(byteLength, idof());\n\n // create the return value and initialize it\n var result = __new(offsetof(), idof());\n store(result, size, offsetof(\"length_\"));\n\n // byteLength, dataStart, and buffer are all readonly\n store(result, byteLength, offsetof(\"byteLength\"));\n store(result, dataStart, offsetof(\"dataStart\"));\n store(result, __retain(dataStart), offsetof(\"buffer\"));\n\n // set the elements\n var resultOffset: usize = 0;\n for (let i = 0; i < length; i++) { // for each child\n let child = load(selfDataStart + (i << alignof()));\n\n // ignore null arrays\n if (child == 0) continue;\n\n // copy the underlying buffer data to the result buffer\n let childDataLength = load(child, offsetof(\"byteLength\"));\n memory.copy(\n dataStart + resultOffset,\n load(child, offsetof(\"dataStart\")),\n childDataLength\n );\n\n // advance the result length\n resultOffset += childDataLength;\n }\n\n // if the `valueof` type is managed, we must call __retain() on each reference\n if (isManaged>()) {\n for (let i = 0; i < size; i++) {\n __retain(load(dataStart + (i << usize(alignof>()))));\n }\n }\n\n return changetype(result);\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = this.dataStart;\n let end = cur + (this.length_ << alignof());\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n __visit(changetype(this.buffer), cookie);\n }\n}\n","// Common error messages for use accross the standard library. Keeping error messages compact\n// and reusing them where possible ensures minimal static data in binaries.\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INDEXOUTOFRANGE: string = \"Index out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDLENGTH: string = \"Invalid length\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ILLEGALGENTYPE: string = \"Illegal generic type\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_EMPTYARRAY: string = \"Array is empty\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_HOLEYARRAY: string = \"Element type must be nullable if array is holey\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOTIMPLEMENTED: string = \"Not implemented\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_KEYNOTFOUND: string = \"Key does not exist\";\n","\nexport class VertGroup {\n mat_index: i32;\n obj_index: i32;\n start_face: i32;\n length: i32;\n\n constructor(material_index: i32, object_index: i32, starting_face: i32, len: i32 ) {\n this.mat_index = material_index;\n this.obj_index = object_index;\n this.start_face = starting_face;\n this.length = len;\n }\n}\n\nexport class MaterialMap {\n ambient: string | null;\n diffuse: string | null;\n specular: string | null;\n emission: string | null;\n bump: string | null;\n\n constructor( Ka: string | null, Kd: string | null, \n Ks: string | null, Ke: string | null,\n Bump: string | null ) {\n this.ambient = Ka;\n this.diffuse = Kd;\n this.specular = Ks;\n this.emission = Ke;\n this.bump = Bump;\n }\n}\n\nexport var objArray = new Array>(); //1\nexport var matArray = new Array>(); //1\nexport var groupArray = new Array(); //0\nexport var matMapArray = new Array(); //BBB\n\nexport var Material_001_mat:StaticArray = [\n 225.000000, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 0.800000, 0.800000, 0.800000, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatMapArray.push(new MaterialMap(null, 'LunarMap.png', null, null, 'LunarNormalMap.png'));\n\nmatArray.push(Material_001_mat); \n\n\nexport var Moon_Sphere_data: StaticArray =[\n//X, Y, Z, U, V, NX, NY, NZ\n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n 0, 0.7, 0, 0.734375, 1, 0, 1, 0, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n 0, -0.7, 0, 0.734375, 0, 0, -1, 0, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n 0, 0.7, 0, 0.703125, 1, 0, 1, 0, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n 0, -0.7, 0, 0.703125, 0, 0, -1, 0, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n 0, 0.7, 0, 0.671875, 1, 0, 1, 0, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n 0, -0.7, 0, 0.671875, 0, 0, -1, 0, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n 0, 0.7, 0, 0.640625, 1, 0, 1, 0, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n 0, -0.7, 0, 0.640625, 0, 0, -1, 0, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n 0, 0.7, 0, 0.609375, 1, 0, 1, 0, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n 0, -0.7, 0, 0.609375, 0, 0, -1, 0, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n 0, 0.7, 0, 0.578125, 1, 0, 1, 0, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n 0, -0.7, 0, 0.578125, 0, 0, -1, 0, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n 0, 0.7, 0, 0.546875, 1, 0, 1, 0, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n 0, -0.7, 0, 0.546875, 0, 0, -1, 0, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n 0, 0.7, 0, 0.515625, 1, 0, 1, 0, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n 0, -0.7, 0, 0.515625, 0, 0, -1, 0, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n 0, 0.7, 0, 0.484374, 1, 0, 1, 0, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n 0, -0.7, 0, 0.484375, 0, 0, -1, 0, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n 0, 0.7, 0, 0.453124, 1, 0, 1, 0, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n 0, -0.7, 0, 0.453125, 0, 0, -1, 0, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n 0, 0.7, 0, 0.421874, 1, 0, 1, 0, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n 0, -0.7, 0, 0.421875, 0, 0, -1, 0, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n 0, 0.7, 0, 0.390625, 1, 0, 1, 0, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n 0, -0.7, 0, 0.390625, 0, 0, -1, 0, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n 0, 0.7, 0, 0.359375, 1, 0, 1, 0, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n 0, -0.7, 0, 0.359375, 0, 0, -1, 0, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n 0, 0.7, 0, 0.328125, 1, 0, 1, 0, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n 0, -0.7, 0, 0.328125, 0, 0, -1, 0, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n 0, 0.7, 0, 0.296875, 1, 0, 1, 0, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, -0.7, 0, 0.296875, 0, 0, -1, 0, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, 0.7, 0, 0.265625, 1, 0, 1, 0, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n 0, -0.7, 0, 0.265625, 0, 0, -1, 0, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n 0, 0.7, 0, 0.234375, 1, 0, 1, 0, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n 0, -0.7, 0, 0.234375, 0, 0, -1, 0, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n 0, 0.7, 0, 0.203125, 1, 0, 1, 0, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n 0, -0.7, 0, 0.203125, 0, 0, -1, 0, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n 0, 0.7, 0, 0.171875, 1, 0, 1, 0, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n 0, -0.7, 0, 0.171875, 0, 0, -1, 0, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n 0, 0.7, 0, 0.140625, 1, 0, 1, 0, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n 0, -0.7, 0, 0.140625, 0, 0, -1, 0, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n 0, 0.7, 0, 0.109375, 1, 0, 1, 0, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n 0, -0.7, 0, 0.109375, 0, 0, -1, 0, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n 0, 0.7, 0, 0.078125, 1, 0, 1, 0, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n 0, -0.7, 0, 0.078125, 0, 0, -1, 0, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n 0, 0.7, 0, 0.046875, 1, 0, 1, 0, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n 0, -0.7, 0, 0.046875, 0, 0, -1, 0, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.686549, 0.136563, 0, 0, 0.5625, -0.981, 0.1939, 0, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n 0, 0.7, 0, 0.015625, 1, 0, 1, 0, \n-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, \n 0, -0.7, 0, 0.015625, 0, 0, -1, 0, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.686549, -0.136563, 0, 0, 0.4375, -0.981, -0.1939, 0, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, \n-0.267878, 0.646716, 0, 0, 0.875, -0.3879, 0.9217, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.582028, -0.388899, 0, 0, 0.3125, -0.8333, -0.5528, 0, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.494975, 0.494975, 0, 0, 0.75, -0.7101, 0.704, 0, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, \n-0.267878, -0.646716, 0, 0, 0.125, -0.3879, -0.9217, 0, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.388899, -0.582029, 0, 1, 0.1875, -0.5598, -0.8286, 0, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.646716, 0.267878, 0, 1, 0.625, -0.9247, 0.3805, 0, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.136563, -0.68655, 0, 1, 0.0625, -0.201, -0.9796, 0, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.7, 0, 0, 1, 0.5, -1, 0, 0, \n-0.136563, 0.68655, 0, 1, 0.9375, -0.201, 0.9796, 0, \n 0, 0.7, 0, 0.984375, 1, 0, 1, 0, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n 0, -0.7, 0, 0.984375, 0, 0, -1, 0, \n-0.136563, -0.68655, 0, 1, 0.0625, -0.201, -0.9796, 0, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.646716, -0.267878, 0, 1, 0.375, -0.9247, -0.3805, 0, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.388899, 0.582029, 0, 1, 0.8125, -0.5598, 0.8286, 0, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n 0, 0.7, 0, 0.953125, 1, 0, 1, 0, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n 0, -0.7, 0, 0.953125, 0, 0, -1, 0, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n 0, 0.7, 0, 0.921875, 1, 0, 1, 0, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n 0, -0.7, 0, 0.921875, 0, 0, -1, 0, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n 0, 0.7, 0, 0.890625, 1, 0, 1, 0, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n 0, -0.7, 0, 0.890625, 0, 0, -1, 0, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n 0, 0.7, 0, 0.859375, 1, 0, 1, 0, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n 0, -0.7, 0, 0.859375, 0, 0, -1, 0, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n 0, -0.7, 0, 0.828125, 0, 0, -1, 0, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n 0, 0.7, 0, 0.828125, 1, 0, 1, 0, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n 0, 0.7, 0, 0.796875, 1, 0, 1, 0, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n 0, -0.7, 0, 0.796875, 0, 0, -1, 0, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n 0, 0.7, 0, 0.765625, 1, 0, 1, 0, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n 0, -0.7, 0, 0.765625, 0, 0, -1, 0, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.267878, -0.646716, 0, 0, 0.125, -0.3879, -0.9217, 0, \n-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.686549, 0.136563, 0, 0, 0.5625, -0.981, 0.1939, 0, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.686549, -0.136563, 0, 0, 0.4375, -0.981, -0.1939, 0, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.267878, 0.646716, 0, 0, 0.875, -0.3879, 0.9217, 0, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.582028, -0.388899, 0, 0, 0.3125, -0.8333, -0.5528, 0, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.494975, 0.494975, 0, 0, 0.75, -0.7101, 0.704, 0, \n-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.646716, -0.267878, 0, 1, 0.375, -0.9247, -0.3805, 0, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, \n-0.388899, 0.582029, 0, 1, 0.8125, -0.5598, 0.8286, 0, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.388899, -0.582029, 0, 1, 0.1875, -0.5598, -0.8286, 0, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.646716, 0.267878, 0, 1, 0.625, -0.9247, 0.3805, 0, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.7, 0, 0, 1, 0.5, -1, 0, 0, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.136563, 0.68655, 0, 1, 0.9375, -0.201, 0.9796, 0, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n];\n\nobjArray.push(Moon_Sphere_data);\n\n\ngroupArray.push(\n new VertGroup(\n 0, // material number\n 0, // object number\n 0, // starting face\n 2880, // length\n )\n);\n","/**\r\n * @author Rick Battagline / https://embed.com/wasm\r\n */\r\n\r\nimport {\r\n WebGLShader, shaderSource, createShader, compileShader, \r\n VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram,\r\n attachShader, useProgram, WebGLUniformLocation, getUniformLocation,\r\n linkProgram, clearColor, clear, imageReady,\r\n createBuffer, ARRAY_BUFFER, \r\n createTexture, createImage, ImageData, pixelStorei, activeTexture,\r\n bindTexture, texParameteri, texImage2D, uniform1i, \r\n DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT,\r\n UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, \r\n TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE,\r\n enableVertexAttribArray, bindBuffer, createContextFromCanvas,\r\n bufferData, getAttribLocation, drawArrays, enable, depthFunc,\r\n vertexAttribPointer, TRIANGLES, GREATER, uniform3f,\r\n logi32,\r\n} from '../../webgl'\r\n\r\n\r\nimport {\r\n objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap\r\n} from './Moon_Sphere'\r\n\r\n\r\n\r\nconst VERTEX_SHADER_CODE:string = `#version 300 es\r\n precision mediump float;\r\n\r\n in vec3 position;\r\n in vec2 tex_uv;\r\n in vec3 normal;\r\n\r\n smooth out vec4 c;\r\n smooth out vec2 tc;\r\n\r\n void main() {\r\n const vec3 light = vec3(0.25, 2.0, -0.5);\r\n vec4 pos = vec4( position, 1.0 );\r\n\r\n mat4 mRotateTranslate = mat4(\r\n 1.0, 0.0, 0.0, 0.0, // column 1\r\n 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2\r\n 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3\r\n 0.0, 0.0, 0.0, 1.0 // column 4\r\n );\r\n\r\n gl_Position = pos * mRotateTranslate;\r\n tc = tex_uv;\r\n float d = clamp( dot( normal, light ), 0.2, 1.0);\r\n c = vec4( d,d,d, 1.0);\r\n }\r\n`;\r\n\r\n// THIS IS THE FRAGMENT SHADER\r\nconst FRAGMENT_SHADER_CODE:string = `#version 300 es\r\n precision highp float;\r\n smooth in vec4 c;\r\n smooth in vec2 tc;\r\n\r\n out vec4 color;\r\n uniform sampler2D sampler;\r\n uniform sampler2D tex_norm;\r\n\r\n void main() {\r\n const vec3 light = vec3(0.25, 2.0, -0.5);\r\n const float f = 1.0;\r\n vec3 tn = texture(tex_norm, tc).rgb * vec3(f,f,f);\r\n\r\n float d = dot( tn, light );\r\n\r\n color = texture( sampler, tc ) * vec4(d,d,d,1.0) * c;\r\n }\r\n`;\r\nlogi32(1);\r\n // initialize webgl\r\n var gl = createContextFromCanvas('cnvs', 'webgl2');\r\n\r\nlogi32(2);\r\n let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER);\r\n shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE);\r\n compileShader(gl, vertex_shader);\r\n\r\nlogi32(3);\r\n let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER);\r\n shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE);\r\n compileShader( gl, fragment_shader );\r\nlogi32(4);\r\n\r\n let program = createProgram(gl);\r\n\r\nlogi32(5);\r\n attachShader(gl, program, vertex_shader);\r\n attachShader(gl, program, fragment_shader);\r\nlogi32(6);\r\n\r\n linkProgram( gl, program );\r\n\r\n useProgram( gl, program );\r\n\r\nlogi32(7);\r\n let buffer = createBuffer(gl);\r\n bindBuffer(gl, ARRAY_BUFFER, buffer);\r\n\r\nlogi32(8);\r\n let position_al = getAttribLocation(gl, program, 'position');\r\n enableVertexAttribArray(gl, position_al);\r\n\r\nlogi32(9);\r\n let tex_uv_al = getAttribLocation(gl, program, 'tex_uv');\r\n enableVertexAttribArray(gl, tex_uv_al);\r\n\r\nlogi32(10);\r\n let normal_al = getAttribLocation(gl, program, 'normal');\r\n enableVertexAttribArray(gl, normal_al);\r\n\r\nlogi32(11);\r\n// let diffuse = getUniformLocation( gl, program, 'diffuse' );\r\n\r\n let texture = createTexture(gl);\r\n let sampler = getUniformLocation( gl, program, 'sampler' );\r\n\r\nlogi32(120);\r\n let texture_n = createTexture(gl);\r\nlogi32(121);\r\n let tex_norm = getUniformLocation( gl, program, 'tex_norm' );\r\n\r\nlogi32(122);\r\n var image_id: ImageData = createImage(matMapArray[0].diffuse);\r\nlogi32(123);\r\n var norm_image_id: ImageData = createImage(matMapArray[0].bump);\r\nlogi32(124);\r\n\r\nlogi32(13);\r\n var image_ready: bool = false;\r\n\r\n//diffuse\r\n enable(gl, DEPTH_TEST);\r\n\r\nlogi32(14);\r\n\r\nfunction rotate(theta: f32) : void { //u32 {\r\n for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) {\r\n for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) {\r\n\r\n let x:f32 = objArray[obj_i][coord_i];\r\n let z:f32 = objArray[obj_i][coord_i+2];\r\n\r\n let nx:f32 = objArray[obj_i][coord_i+5];\r\n let nz:f32 = objArray[obj_i][coord_i+7];\r\n\r\n let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta);\r\n let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta);\r\n\r\n let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta);\r\n let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta);\r\n\r\n objArray[obj_i][coord_i] = x1;\r\n objArray[obj_i][coord_i+2] = z1;\r\n\r\n objArray[obj_i][coord_i+5] = nx1;\r\n objArray[obj_i][coord_i+7] = nz1;\r\n }\r\n }\r\n\r\n return;\r\n}\r\n\r\n var vGroup: VertGroup;\r\n export function displayLoop(delta:i32):void {\r\n let r: f32 = delta / 10000.0;\r\n rotate(r);\r\n\r\n clearColor(gl, 0.0, 0.0, 0.0, 1.0);\r\n clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT);\r\n\r\n if( image_ready == false ) {\r\n if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) {\r\n return;\r\n }\r\n\r\n pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1);\r\n pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\r\n activeTexture(gl, TEXTURE0);\r\n bindTexture(gl, TEXTURE_2D, texture);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR);\r\n texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id);\r\n\r\n activeTexture(gl, TEXTURE1);\r\n bindTexture(gl, TEXTURE_2D, texture_n);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR);\r\n texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id);\r\n\r\n uniform1i(gl, sampler, 0);\r\n image_ready = true;\r\n }\r\n\r\n for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) {\r\n vGroup = groupArray[g_i];\r\n bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW);\r\n/*\r\n let diffuse_r: f32 = matArray[vGroup.mat_index][4];\r\n let diffuse_g: f32 = matArray[vGroup.mat_index][5];\r\n let diffuse_b: f32 = matArray[vGroup.mat_index][6];\r\n uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); \r\n*/\r\n // dimensions | data_type | normalize | stride | offset\r\n vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0);\r\n vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12);\r\n vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20);\r\n drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length);\r\n }\r\n }","/// \n\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { idof } from \"./builtins\";\nimport { Array } from \"./array\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from \"./util/error\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\n\n@final\nexport class StaticArray {\n [key: number]: T;\n\n // Note that the interface of StaticArray instances must be a semantically\n // compatible subset of Array in order for syntax highlighting to work\n // properly, for instance when creating static arrays from array literals.\n // The additionally provided static methods take care of dealing with static\n // arrays exclusively, without having to convert to Array first.\n\n static fromArray(source: Array): StaticArray {\n var length = source.length;\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n if (isManaged()) {\n let sourcePtr = source.dataStart;\n for (let i = 0; i < length; ++i) {\n let off = i << alignof();\n store(out + off, __retain(load(sourcePtr + off)));\n }\n } else {\n memory.copy(out, source.dataStart, outSize);\n }\n return changetype>(out);\n }\n\n static concat(source: StaticArray, other: StaticArray): StaticArray {\n var sourceLen = source.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = sourceLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__new(outLen << alignof(), idof>())); // retains\n var outStart = changetype(out);\n var sourceSize = sourceLen << alignof();\n if (isManaged()) {\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\n let ref = load(changetype(source) + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += sourceSize;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(changetype(other) + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(source), sourceSize);\n memory.copy(outStart + sourceSize, changetype(other), otherLen << alignof());\n }\n return out;\n }\n\n static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\n var length = source.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var sliceSize = length << alignof();\n var slice = changetype>(__new(sliceSize, idof>())); // retains\n var sourcePtr = changetype(source) + (start << alignof());\n if (isManaged()) {\n let off: usize = 0;\n while (off < sliceSize) {\n let ref = load(sourcePtr + off);\n store(changetype(slice) + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(changetype(slice), sourcePtr, sliceSize);\n }\n return slice;\n }\n\n constructor(length: i32) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n memory.fill(out, 0, outSize);\n return changetype>(out); // retains\n }\n\n get length(): i32 {\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof();\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(changetype(this) + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = changetype(this) + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(changetype(oldRef));\n }\n } else {\n store(changetype(this) + (index << alignof()), value);\n }\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n let elem = load(changetype(this) + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length): i32 {\n var length = this.length;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n while (fromIndex >= 0) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = changetype(this);\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(this), thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = changetype(this) + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n join(separator: string = \",\"): string {\n if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator);\n if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator);\n if (isFloat()) return joinFloatArray(changetype(this), this.length, separator);\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(changetype(this), this.length, separator);\n }\n if (isReference()) return joinReferenceArray(changetype(this), this.length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = changetype(this);\n let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n }\n}\n","import * as JSMath from \"./bindings/Math\";\nexport { JSMath };\n\nimport {\n pow_lut, exp_lut, exp2_lut, log_lut, log2_lut,\n powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut\n} from \"./util/math\";\n\nimport {\n abs as builtin_abs,\n ceil as builtin_ceil,\n clz as builtin_clz,\n copysign as builtin_copysign,\n floor as builtin_floor,\n max as builtin_max,\n min as builtin_min,\n sqrt as builtin_sqrt,\n trunc as builtin_trunc\n} from \"./builtins\";\n\n// SUN COPYRIGHT NOTICE\n//\n// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\n// Developed at SunPro, a Sun Microsystems, Inc. business.\n// Permission to use, copy, modify, and distribute this software\n// is freely granted, provided that this notice is preserved.\n//\n// Applies to all functions marked with a comment referring here.\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy var rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64;\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy @inline const PIO2_TABLE = memory.data([\n 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB,\n 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5,\n 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF,\n 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7,\n 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20,\n 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557\n]);\n\n/** @internal */\nfunction R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01\n pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01\n pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01\n pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02\n pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04\n pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05\n qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00\n qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00\n qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01\n qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02\n var p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5)))));\n var q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4)));\n return p / q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2.c\n k = 2043,\n kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10\n var scale = reinterpret(((0x3FF + k / 2) << 20) << 32);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMath.exp(x - kln2) * (sign * scale) * scale;\n}\n\n/** @internal */\n/* Helper function to eventually get bits of π/2 * |x|\n *\n * y = π/4 * (frac << clz(frac) >> 11)\n * return clz(frac)\n *\n * Right shift 11 bits to make upper half fit in `double`\n */\n// @ts-ignore: decorator\n@inline\nfunction pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n // Bits of π/4\n const p0: u64 = 0xC4C6628B80DC1CD1;\n const p1: u64 = 0xC90FDAA22168C234;\n\n const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64\n const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75\n\n var shift = clz(q1);\n\n q1 = q1 << shift | q0 >> (64 - shift);\n q0 <<= shift;\n\n var lo = umuldi(p1, q1);\n var hi = res128_hi;\n\n var ahi = hi >> 11;\n var alo = lo >> 11 | hi << 53;\n var blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0);\n\n rempio2_y0 = (ahi + u64(lo < blo));\n rempio2_y1 = Ox1p_64 * (alo + blo);\n\n return shift;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction umuldi(u: u64, v: u64): u64 {\n var u1: u64 , v1: u64, w0: u64, w1: u64, t: u64;\n\n u1 = u & 0xFFFFFFFF;\n v1 = v & 0xFFFFFFFF;\n\n u >>= 32;\n v >>= 32;\n\n t = u1 * v1;\n w0 = t & 0xFFFFFFFF;\n t = u * v1 + (t >> 32);\n w1 = t >> 32;\n t = u1 * v + (t & 0xFFFFFFFF);\n\n res128_hi = u * v + w1 + (t >> 32);\n return (t << 32) + w0;\n}\n\n/** @internal */\nfunction pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n var magnitude = u & 0x7FFFFFFFFFFFFFFF;\n var offset = (magnitude >> 52) - 1045;\n var shift = offset & 63;\n var tblPtr = PIO2_TABLE + ((offset >> 6) << 3);\n var s0: u64, s1: u64, s2: u64;\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var b2 = load(tblPtr, 2 << 3);\n\n // Get 192 bits of 0x1p-31 / π with `offset` bits skipped\n if (shift) {\n let rshift = 64 - shift;\n let b3 = load(tblPtr, 3 << 3);\n s0 = b1 >> rshift | b0 << shift;\n s1 = b2 >> rshift | b1 << shift;\n s2 = b3 >> rshift | b2 << shift;\n } else {\n s0 = b0;\n s1 = b1;\n s2 = b2;\n }\n\n var significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000;\n\n // First 128 bits of fractional part of x/(2π)\n var blo = umuldi(s1, significand);\n var bhi = res128_hi;\n\n var ahi = s0 * significand;\n var clo = (s2 >> 32) * (significand >> 32);\n var plo = blo + clo;\n var phi = ahi + bhi + u64(plo < clo);\n\n // r: u128 = p << 2\n var rlo = plo << 2;\n var rhi = phi << 2 | plo >> 62;\n\n // s: i128 = r >> 127\n var slo = rhi >> 63;\n var shi = slo >> 1;\n var q = (phi >> 62) - slo;\n\n var shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52);\n var signbit = (u ^ rhi) & 0x8000000000000000;\n var coeff = reinterpret(shifter | signbit);\n\n rempio2_y0 *= coeff;\n rempio2_y1 *= coeff;\n\n return q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction rempio2(x: f64, u: u64, sign: i32): i32 {\n const pio2_1 = reinterpret(0x3FF921FB54400000); // 1.57079632673412561417e+00\n const pio2_1t = reinterpret(0x3DD0B4611A626331); // 6.07710050650619224932e-11\n const pio2_2 = reinterpret(0x3DD0B4611A600000); // 6.07710050630396597660e-11\n const pio2_2t = reinterpret(0x3BA3198A2E037073); // 2.02226624879595063154e-21\n const pio2_3 = reinterpret(0x3BA3198A2E000000); // 2.02226624871116645580e-21\n const pio2_3t = reinterpret(0x397B839A252049C1); // 8.47842766036889956997e-32\n const invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n var ix = (u >> 32) & 0x7FFFFFFF;\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1\n let q = 1, z: f64, y0: f64, y1: f64;\n if (!sign) {\n z = x - pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z - pio2_1t;\n y1 = (z - y0) - pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z -= pio2_2;\n y0 = z - pio2_2t;\n y1 = (z - y0) - pio2_2t;\n }\n } else { // negative x\n z = x + pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z + pio2_1t;\n y1 = (z - y0) + pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z += pio2_2;\n y0 = z + pio2_2t;\n y1 = (z - y0) + pio2_2t;\n }\n q = -1;\n }\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n }\n\n if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099)\n // Use precise Cody Waite scheme\n let q = nearest(x * invpio2);\n let r = x - q * pio2_1;\n let w = q * pio2_1t; // 1st round good to 85 bit\n let j = ix >> 20;\n let y0 = r - w;\n let hi = (reinterpret(y0) >> 32);\n let i = j - ((hi >> 20) & 0x7FF);\n\n if (i > 16) { // 2nd iteration needed, good to 118\n let t = r;\n w = q * pio2_2;\n r = t - w;\n w = q * pio2_2t - ((t - r) - w);\n y0 = r - w;\n hi = (reinterpret(y0) >> 32);\n i = j - ((hi >> 20) & 0x7FF);\n if (i > 49) { // 3rd iteration need, 151 bits acc\n let t = r;\n w = q * pio2_3;\n r = t - w;\n w = q * pio2_3t - ((t - r) - w);\n y0 = r - w;\n }\n }\n let y1 = (r - y0) - w;\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n var q = pio2_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c\n const S1 = reinterpret(0xBFC5555555555549); // -1.66666666666666324348e-01\n const S2 = reinterpret(0x3F8111111110F8A6); // 8.33333333332248946124e-03\n const S3 = reinterpret(0xBF2A01A019C161D5); // -1.98412698298579493134e-04\n const S4 = reinterpret(0x3EC71DE357B1FE7D); // 2.75573137070700676789e-06\n const S5 = reinterpret(0xBE5AE5E68A2B9CEB); // -2.50507602534068634195e-08\n const S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10\n\n var z = x * x;\n var w = z * z;\n var r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6);\n var v = z * x;\n if (!iy) {\n return x + v * (S1 + z * r);\n } else {\n return x - ((z * (0.5 * y - v * r) - y) - v * S1);\n }\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c\n const C1 = reinterpret(0x3FA555555555554C); // 4.16666666666666019037e-02\n const C2 = reinterpret(0xBF56C16C16C15177); // -1.38888888888741095749e-03\n const C3 = reinterpret(0x3EFA01A019CB1590); // 2.48015872894767294178e-05\n const C4 = reinterpret(0xBE927E4F809C52AD); // -2.75573143513906633035e-07\n const C5 = reinterpret(0x3E21EE9EBDB4B1C4); // 2.08757232129817482790e-09\n const C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11\n\n var z = x * x;\n var w = z * z;\n var r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6));\n var hz = 0.5 * z;\n w = 1.0 - hz;\n return w + (((1.0 - w) - hz) + (z * r - x * y));\n}\n\n/** @internal */\nfunction tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c\n const T0 = reinterpret(0x3FD5555555555563); // 3.33333333333334091986e-01\n const T1 = reinterpret(0x3FC111111110FE7A); // 1.33333333333201242699e-01\n const T2 = reinterpret(0x3FABA1BA1BB341FE); // 5.39682539762260521377e-02\n const T3 = reinterpret(0x3F9664F48406D637); // 2.18694882948595424599e-02\n const T4 = reinterpret(0x3F8226E3E96E8493); // 8.86323982359930005737e-03\n const T5 = reinterpret(0x3F6D6D22C9560328); // 3.59207910759131235356e-03\n const T6 = reinterpret(0x3F57DBC8FEE08315); // 1.45620945432529025516e-03\n const T7 = reinterpret(0x3F4344D8F2F26501); // 5.88041240820264096874e-04\n const T8 = reinterpret(0x3F3026F71A8D1068); // 2.46463134818469906812e-04\n const T9 = reinterpret(0x3F147E88A03792A6); // 7.81794442939557092300e-05\n const T10 = reinterpret(0x3F12B80F32F0A7E9); // 7.14072491382608190305e-05\n const T11 = reinterpret(0xBEF375CBDB605373); // -1.85586374855275456654e-05\n const T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05\n\n const one = reinterpret(0x3FF0000000000000); // 1.00000000000000000000e+00\n const pio4 = reinterpret(0x3FE921FB54442D18); // 7.85398163397448278999e-01\n const pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17\n\n var z: f64, r: f64, v: f64, w: f64, s: f64;\n var hx = (reinterpret(x) >> 32); // high word of x\n var ix = hx & 0x7FFFFFFF; // high word of |x|\n var big = ix >= 0x3FE59428;\n if (big) { // |x| >= 0.6744\n if (hx < 0) { x = -x, y = -y; }\n z = pio4 - x;\n w = pio4lo - y;\n x = z + w;\n y = 0.0;\n }\n z = x * x;\n w = z * z;\n r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11))));\n v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12)))));\n s = z * x;\n r = y + z * (s * (r + v) + y);\n r += T0 * s;\n w = x + r;\n if (big) {\n v = iy;\n return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r)));\n }\n if (iy == 1) return w;\n var a: f64, t: f64;\n z = w;\n z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000);\n v = r - (z - x); // z + v = r + x\n t = a = -one / w; // a = -1.0 / w\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n s = one + t * z;\n return t + a * (s + t * v);\n}\n\n/** @internal */\nfunction dtoi32(x: f64): i32 {\n if (ASC_SHRINK_LEVEL > 0) {\n const inv32 = 1.0 / 4294967296;\n return (x - 4294967296 * floor(x * inv32));\n } else {\n let result = 0;\n let u = reinterpret(x);\n let e = (u >> 52) & 0x7FF;\n if (e <= 1023 + 30) {\n result = x;\n } else if (e <= 1023 + 30 + 53) {\n let v = (u & ((1 << 52) - 1)) | (1 << 52);\n v = v << e - 1023 - 52 + 32;\n result = (v >> 32);\n result = select(-result, result, u >> 63);\n }\n return result;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var random_seeded = false;\n\n// @ts-ignore: decorator\n@lazy var random_state0_64: u64, random_state1_64: u64;\n\n// @ts-ignore: decorator\n@lazy var random_state0_32: u32, random_state1_32: u32;\n\nfunction murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche\n h ^= h >> 33; // see: https://github.com/aappleby/smhasher\n h *= 0xFF51AFD7ED558CCD;\n h ^= h >> 33;\n h *= 0xC4CEB9FE1A85EC53;\n h ^= h >> 33;\n return h;\n}\n\nfunction splitMix32(h: u32): u32 {\n h += 0x6D2B79F5;\n h = (h ^ (h >> 15)) * (h | 1);\n h ^= h + (h ^ (h >> 7)) * (h | 61);\n return h ^ (h >> 14);\n}\n\nexport namespace NativeMath {\n\n // @ts-ignore: decorator\n @lazy\n export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765\n\n // @ts-ignore: decorator\n @lazy\n export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f64 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f64 = 0;\n\n // @ts-ignore: decorator\n @inline export function abs(x: f64): f64 {\n return builtin_abs(x);\n }\n\n export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * R(x * x)));\n }\n var s: f64, w: f64, z: f64;\n if (hx >> 31) {\n // z = (1.0 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = R(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1.0 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n var df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n var c = (z - df * df) / (s + df);\n w = R(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c\n const s = reinterpret(0x3FE62E42FEFA39EF);\n var e = reinterpret(x) >> 52 & 0x7FF;\n if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1)));\n if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f;\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix < 0x3E500000 && ix >= 0x00100000) return x;\n return x + x * R(x * x);\n }\n // var z = (1.0 - builtin_abs(x)) * 0.5;\n var z = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z);\n var r = R(z);\n if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo);\n else {\n let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n let c = (z - f * f) / (s + f);\n x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));\n }\n if (hx >> 31) return -x;\n return x;\n }\n\n export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c\n const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = reinterpret(u & 0x7FFFFFFFFFFFFFFF);\n if (e >= 0x3FF + 26) y = log(y) + c;\n else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01\n atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\n atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01\n atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17\n atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17\n atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17\n atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01\n aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01\n aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01\n aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01,\n aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02\n aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02\n aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02\n aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02\n aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02\n aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02\n aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02\n Ox1p_120f = reinterpret(0x03800000);\n var ix = (reinterpret(x) >> 32);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f64;\n if (ix >= 0x44100000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3FDC0000) {\n if (ix < 0x3E400000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3FF30000) {\n if (ix < 0x3FE60000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x40038000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10)))));\n var s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9))));\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = builtin_abs(x);\n if (e < 0x3FF - 1) {\n if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y));\n } else {\n y = 0.5 * log1p(2 * (y / (1 - y)));\n }\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above\n const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16\n if (isNaN(x) || isNaN(y)) return x + y;\n var u = reinterpret(x);\n var ix = (u >> 32);\n var lx = u;\n u = reinterpret(y);\n var iy = (u >> 32);\n var ly = u;\n if ((ix - 0x3FF00000 | lx) == 0) return atan(y);\n var m = ((iy >> 31) & 1) | ((ix >> 30) & 2);\n ix = ix & 0x7FFFFFFF;\n iy = iy & 0x7FFFFFFF;\n if ((iy | ly) == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return PI;\n case 3: return -PI;\n }\n }\n if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2;\n if (ix == 0x7FF00000) {\n if (iy == 0x7FF00000) {\n let t = m & 2 ? 3 * PI / 4 : PI / 4;\n return m & 1 ? -t : t;\n } else {\n let t = m & 2 ? PI : 0;\n return m & 1 ? -t : t;\n }\n }\n var z: f64;\n if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2;\n if ((m & 2) && iy + (64 << 20) < ix) z = 0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return PI - (z - pi_lo);\n case 3: return (z - pi_lo) - PI;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 715094163,\n B2 = 696219795,\n P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643\n P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875\n P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140\n P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437\n P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32) & 0x7FFFFFFF;\n if (hx >= 0x7FF00000) return x + x;\n if (hx < 0x00100000) {\n u = reinterpret(x * Ox1p54);\n hx = (u >> 32) & 0x7FFFFFFF;\n if (hx == 0) return x;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 1 << 63;\n u |= hx << 32;\n var t = reinterpret(u);\n var r = (t * t) * (t / x);\n t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4));\n t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000);\n var s = t * t;\n r = x / s;\n r = (r - t) / (2 * t + r);\n t = t + t * r;\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f64): f64 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f64): f64 {\n if (!isFinite(x)) return 32;\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f64): f64 { // see: musl/src/math/cos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2)\n return 1.0;\n }\n return cos_kern(x, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1);\n return (n + 1) & 2 ? -x : x;\n }\n\n export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n x = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w < 0x3FE62E42) {\n if (w < 0x3FF00000 - (26 << 20)) return 1;\n t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (w < 0x40862E42) {\n t = exp(x);\n return 0.5 * (t + 1 / t);\n }\n t = expo2(x, 1);\n return t;\n }\n\n export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return exp_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096\n underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n let hx = (reinterpret(x) >> 32);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x4086232B) {\n if (isNaN(x)) return x;\n if (x > overflow) return x * Ox1p1023;\n if (x < underflow) return 0;\n }\n let hi: f64, lo: f64 = 0;\n let k = 0;\n if (hx > 0x3FD62E42) {\n if (hx >= 0x3FF0A2B2) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x3E300000) {\n hi = x;\n } else return 1.0 + x;\n let xs = x * x;\n // var c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5))));\n let xq = xs * xs;\n let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5)));\n let y = 1.0 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f64): f64 {\n return exp2_lut(x);\n }\n\n export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02\n Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03\n Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05\n Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06\n Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32 & 0x7FFFFFFF);\n var k = 0, sign_ = (u >> 63);\n if (hx >= 0x4043687A) {\n if (isNaN(x)) return x;\n if (sign_) return -1;\n if (x > o_threshold) return x * Ox1p1023;\n }\n var c = 0.0, t: f64;\n if (hx > 0x3FD62E42) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3FF0A2B2\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x3C900000) return x;\n var hfx = 0.5 * x;\n var hxs = x * hfx;\n // var r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5))));\n var hxq = hxs * hxs;\n var r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5));\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x3FF + k) << 52;\n var twopk = reinterpret(u);\n var y: f64;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 1024) y = y * 2.0 * Ox1p1023;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x3FF - k) << 52;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f64): f64 {\n return builtin_floor(x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f64): f64 {\n return x;\n }\n\n export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c\n const\n SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1\n Ox1p700 = reinterpret(0x6BB0000000000000),\n Ox1p_700 = reinterpret(0x1430000000000000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFFFFFFFFFF;\n uy &= 0x7FFFFFFFFFFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n var ex = (ux >> 52);\n var ey = (uy >> 52);\n y = reinterpret(uy);\n if (ey == 0x7FF) return y;\n x = reinterpret(ux);\n if (ex == 0x7FF || uy == 0) return x;\n if (ex - ey > 64) return x + y;\n var z = 1.0;\n if (ex > 0x3FF + 510) {\n z = Ox1p700;\n x *= Ox1p_700;\n y *= Ox1p_700;\n } else if (ey < 0x3FF - 450) {\n z = Ox1p_700;\n x *= Ox1p700;\n y *= Ox1p700;\n }\n var c = x * SPLIT;\n var h = x - c + c;\n var l = x - h;\n var hx = x * x;\n var lx = h * h - hx + (2 * h + l) * l;\n c = y * SPLIT;\n h = y - c + c;\n l = y - h;\n var hy = y * y;\n var ly = h * h - hy + (2 * h + l) * l;\n return z * builtin_sqrt(ly + lx + hy + hx);\n }\n\n export function imul(x: f64, y: f64): f64 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return dtoi32(x) * dtoi32(y);\n }\n\n export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01\n ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11\n log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01\n log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n var f = x - 1.0;\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var val_hi = hi * ivln10hi;\n var dk = k;\n var y = dk * log10_2hi;\n var val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n return val_lo + w;\n }\n\n export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 1;\n var c = 0.0, f = 0.0;\n if (hx < 0x3FDA827A || (hx >> 31)) {\n if (hx >= 0xBFF00000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (hx << 1 < 0x3CA00000 << 1) return x;\n if (hx <= 0xBFD2BEC4) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (hx >= 0x7FF00000) return x;\n if (k) {\n u = reinterpret(1 + x);\n let hu = (u >> 32);\n hu += 0x3FF00000 - 0x3FE6A09E;\n k = (hu >> 20) - 0x3FF;\n if (k < 54) {\n let uf = reinterpret(u);\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n hu = (hu & 0x000FFFFF) + 0x3FE6A09E;\n u = hu << 32 | (u & 0xFFFFFFFF);\n f = reinterpret(u) - 1;\n }\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00\n ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n let lo = f - hi - hfsq + s * (hfsq + r);\n let val_hi = hi * ivln2hi;\n let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi;\n let y = k;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n val_hi = w;\n return val_lo + val_hi;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f64, value2: f64): f64 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f64, value2: f64): f64 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n return pow_lut(x, y);\n } else {\n const\n dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01\n dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08\n two53 = reinterpret(0x4340000000000000), // 9007199254740992.0\n huge = reinterpret(0x7E37E43C8800759C), // 1e+300\n tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300\n L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01\n L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01\n L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01\n L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01\n L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01\n L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01\n lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01\n lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09\n ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017\n cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01\n cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01\n cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09\n ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00\n ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08\n inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333\n let u_ = reinterpret(x);\n let hx = (u_ >> 32);\n let lx = u_;\n u_ = reinterpret(y);\n let hy = (u_ >> 32);\n let ly = u_;\n let ix = hx & 0x7FFFFFFF;\n let iy = hy & 0x7FFFFFFF;\n if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN\n // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN\n if ( // NaN if either arg is NaN\n ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) ||\n iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0)\n ) return x + y;\n let yisint = 0, k: i32;\n if (hx < 0) {\n if (iy >= 0x43400000) yisint = 2;\n else if (iy >= 0x3FF00000) {\n k = (iy >> 20) - 0x3FF;\n let offset = select(52, 20, k > 20) - k;\n let Ly = select(ly, iy, k > 20);\n let jj = Ly >> offset;\n if ((jj << offset) == Ly) yisint = 2 - (jj & 1);\n }\n }\n if (ly == 0) {\n if (iy == 0x7FF00000) { // y is +-inf\n if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN\n else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0\n else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf\n }\n if (iy == 0x3FF00000) {\n if (hy >= 0) return x;\n return 1 / x;\n }\n if (hy == 0x40000000) return x * x;\n if (hy == 0x3FE00000) {\n if (hx >= 0) return builtin_sqrt(x);\n }\n }\n let ax = builtin_abs(x), z: f64;\n if (lx == 0) {\n if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) {\n z = ax;\n if (hy < 0) z = 1.0 / z;\n if (hx < 0) {\n if (((ix - 0x3FF00000) | yisint) == 0) {\n let d = z - z;\n z = d / d;\n } else if (yisint == 1) z = -z;\n }\n return z;\n }\n }\n let s = 1.0;\n if (hx < 0) {\n if (yisint == 0) {\n let d = x - x;\n return d / d;\n }\n if (yisint == 1) s = -1.0;\n }\n let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64;\n let j: i32, n: i32;\n if (iy > 0x41E00000) {\n if (iy > 0x43F00000) {\n if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny;\n if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny;\n }\n if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny;\n if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny;\n t = ax - 1.0;\n w = (t * t) * (0.5 - t * (inv3 - t * 0.25));\n u = ivln2_h * t;\n v = t * ivln2_l - w * ivln2;\n t1 = u + v;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = v - (t1 - u);\n } else {\n let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64;\n n = 0;\n if (ix < 0x00100000) {\n ax *= two53;\n n -= 53;\n ix = (reinterpret(ax) >> 32);\n }\n n += (ix >> 20) - 0x3FF;\n j = ix & 0x000FFFFF;\n ix = j | 0x3FF00000;\n if (j <= 0x3988E) k = 0;\n else if (j < 0xBB67A) k = 1;\n else {\n k = 0;\n n += 1;\n ix -= 0x00100000;\n }\n ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32));\n let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0\n u = ax - bp;\n v = 1.0 / (ax + bp);\n ss = u * v;\n s_h = ss;\n s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000);\n t_h = reinterpret((((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32);\n t_l = ax - (t_h - bp);\n s_l = v * ((u - s_h * t_h) - s_h * t_l);\n s2 = ss * ss;\n r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))));\n r += s_l * (s_h + ss);\n s2 = s_h * s_h;\n t_h = 3.0 + s2 + r;\n t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000);\n t_l = r - ((t_h - 3.0) - s2);\n u = s_h * t_h;\n v = s_l * t_h + t_l * ss;\n p_h = u + v;\n p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000);\n p_l = v - (p_h - u);\n let z_h = cp_h * p_h;\n let dp_l = select(dp_l1, 0.0, k);\n let z_l = cp_l * p_h + p_l * cp + dp_l;\n t = n;\n let dp_h = select(dp_h1, 0.0, k);\n t1 = ((z_h + z_l) + dp_h) + t;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = z_l - (((t1 - t) - dp_h) - z_h);\n }\n let y1 = y;\n y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000);\n p_l = (y - y1) * t1 + y * t2;\n p_h = y1 * t1;\n z = p_l + p_h;\n u_ = reinterpret(z);\n j = (u_ >> 32);\n let i = u_;\n if (j >= 0x40900000) {\n if (((j - 0x40900000) | i) != 0) return s * huge * huge;\n if (p_l + ovt > z - p_h) return s * huge * huge;\n } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) {\n if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny;\n if (p_l <= z - p_h) return s * tiny * tiny;\n }\n i = j & 0x7FFFFFFF;\n k = (i >> 20) - 0x3FF;\n n = 0;\n if (i > 0x3FE00000) {\n n = j + (0x00100000 >> (k + 1));\n k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF;\n t = 0.0;\n t = reinterpret((n & ~(0x000FFFFF >> k)) << 32);\n n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k);\n if (j < 0) n = -n;\n p_h -= t;\n }\n t = p_l + p_h;\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n u = t * lg2_h;\n v = (p_l - (t - p_h)) * lg2 + t * lg2_l;\n z = u + v;\n w = v - (z - u);\n t = z * z;\n t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5))));\n r = (z * t1) / (t1 - 2.0) - (w + z * w);\n z = 1.0 - (r - z);\n j = (reinterpret(z) >> 32);\n j += n << 20;\n if ((j >> 20) <= 0) z = scalbn(z, n);\n else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32));\n return s * z;\n }\n }\n\n export function seedRandom(value: i64): void {\n random_seeded = true;\n random_state0_64 = murmurHash3(value);\n random_state1_64 = murmurHash3(~random_state0_64);\n random_state0_32 = splitMix32(value);\n random_state1_32 = splitMix32(random_state0_32);\n assert(\n random_state0_64 != 0 && random_state1_64 != 0 &&\n random_state0_32 != 0 && random_state1_32 != 0\n );\n }\n\n export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc\n if (!random_seeded) seedRandom(reinterpret(seed()));\n var s1 = random_state0_64;\n var s0 = random_state1_64;\n random_state0_64 = s0;\n s1 ^= s1 << 23;\n s1 ^= s1 >> 17;\n s1 ^= s0;\n s1 ^= s0 >> 26;\n random_state1_64 = s1;\n var r = (s0 >> 12) | 0x3FF0000000000000;\n return reinterpret(r) - 1;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f64): f64 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f64): f64 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f64): bool {\n return (reinterpret(x) >>> 63);\n }\n\n export function sin(x: f64): f64 { // see: musl/src/math/sin.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E500000) { // |x| < 2**-26\n return x;\n }\n return sin_kern(x, 0.0, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1);\n return n & 2 ? -x : x;\n }\n\n export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c\n var u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF;\n var absx = reinterpret(u);\n var w = (u >> 32);\n var h = builtin_copysign(0.5, x);\n if (w < 0x40862E42) {\n let t = expm1(absx);\n if (w < 0x3FF00000) {\n if (w < 0x3FF00000 - (26 << 20)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f64): f64 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f64): f64 { // see: musl/src/math/tan.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >>> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E400000) { // |x| < 2**-27\n return x;\n }\n return tan_kern(x, 0.0, 1);\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n var n = rempio2(x, u, sign);\n return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1));\n }\n\n export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n var y = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w > 0x3FE193EA) {\n if (w > 0x40340000) {\n t = 1 - 0 / y;\n } else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (w > 0x3FD058AE) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (w >= 0x00100000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f64): f64 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c\n const\n Ox1p53 = reinterpret(0x4340000000000000),\n Ox1p1023 = reinterpret(0x7FE0000000000000),\n Ox1p_1022 = reinterpret(0x0010000000000000);\n var y = x;\n if (n > 1023) {\n y *= Ox1p1023;\n n -= 1023;\n if (n > 1023) {\n y *= Ox1p1023;\n n = builtin_min(n - 1023, 1023);\n }\n } else if (n < -1022) {\n // make sure final n < -53 to avoid double\n // rounding in the subnormal range\n y *= Ox1p_1022 * Ox1p53;\n n += 1022 - 53;\n if (n < -1022) {\n y *= Ox1p_1022 * Ox1p53;\n n = builtin_max(n + 1022 - 53, -1022);\n }\n }\n return y * reinterpret((0x3FF + n) << 52);\n }\n\n export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = ux >> 63;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f64(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 12);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 12;\n ux |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 52); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 11);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 52;\n ux |= ex << 52;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | (sx << 63));\n }\n\n export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = (ux >> 63);\n if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n if (ux << 1 == 0) return x;\n var uxi = ux;\n if (!ex) {\n ex -= builtin_clz(uxi << 12);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 12;\n uxi |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n var q: u32 = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -60;\n else {\n let shift = builtin_clz(uxi << 11);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 52;\n uxi |= ex << 52;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // ++q;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3FE921FB) { // |x| ~<= π/4\n if (ix < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2)\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kern(x, 0, 0);\n sincos_cos = cos_kern(x, 0);\n return;\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n var s = sin_kern(y0, y1, 1);\n var c = cos_kern(y0, y1);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var rempio2f_y: f64;\n\n// @ts-ignore: decorator\n@lazy @inline const PIO2F_TABLE = memory.data([\n 0xA2F9836E4E441529,\n 0xFC2757D1F534DDC0,\n 0xDB6295993C439041,\n 0xFE5163ABDEBBC561\n]);\n\nfunction Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f\n pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f\n pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f\n qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f\n var p = z * (pS0 + z * (pS1 + z * pS2));\n var q: f32 = 1 + z * qS1;\n return p / q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2f.c\n k = 235,\n kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f\n var scale = reinterpret((0x7F + (k >> 1)) << 23);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMathf.exp(x - kln2) * (sign * scale) * scale;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20\n\n var offset = (u >> 23) - 152;\n var shift = (offset & 63);\n var tblPtr = PIO2F_TABLE + (offset >> 6 << 3);\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var lo: u64;\n\n if (shift > 32) {\n let b2 = load(tblPtr, 2 << 3);\n lo = b2 >> (96 - shift);\n lo |= b1 << (shift - 32);\n } else {\n lo = b1 >> (32 - shift);\n }\n\n var hi = (b1 >> (64 - shift)) | (b0 << shift);\n var mantissa: u64 = (u & 0x007FFFFF) | 0x00800000;\n var product = mantissa * hi + (mantissa * lo >> 32);\n var r: i64 = product << 2;\n var q = ((product >> 62) + (r >>> 63));\n rempio2f_y = copysign(coeff, x) * r;\n return q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const pi2hi = reinterpret(0x3FF921FB50000000); // 1.57079631090164184570\n const pi2lo = reinterpret(0x3E5110B4611A6263); // 1.58932547735281966916e-8\n const _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n if (u < 0x4DC90FDB) { // π * 0x1p28\n let q = nearest(x * _2_pi);\n rempio2f_y = x - q * pi2hi - q * pi2lo;\n return q;\n }\n\n var q = pio2f_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]).\n// @ts-ignore: decorator\n@inline\nfunction sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c\n const S1 = reinterpret(0xBFC5555554CBAC77); // -0x15555554cbac77.0p-55\n const S2 = reinterpret(0x3F811110896EFBB2); // 0x111110896efbb2.0p-59\n const S3 = reinterpret(0xBF2A00F9E2CAE774); // -0x1a00f9e2cae774.0p-65\n const S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71\n\n var z = x * x;\n var w = z * z;\n var r = S3 + z * S4;\n var s = z * x;\n return ((x + s * (S1 + z * S2)) + s * w * r);\n}\n\n// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]).\n// @ts-ignore: decorator\n@inline\nfunction cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c\n const C0 = reinterpret(0xBFDFFFFFFD0C5E81); // -0x1ffffffd0c5e81.0p-54\n const C1 = reinterpret(0x3FA55553E1053A42); // 0x155553e1053a42.0p-57\n const C2 = reinterpret(0xBF56C087E80F1E27); // -0x16c087e80f1e27.0p-62\n const C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68\n\n var z = x * x;\n var w = z * z;\n var r = C2 + z * C3;\n return (((1 + z * C0) + w * C1) + (w * z) * r);\n}\n\n// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]).\n// @ts-ignore: decorator\n@inline\nfunction tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c\n\n const T0 = reinterpret(0x3FD5554D3418C99F); // 0x15554d3418c99f.0p-54\n const T1 = reinterpret(0x3FC112FD38999F72); // 0x1112fd38999f72.0p-55\n const T2 = reinterpret(0x3FAB54C91D865AFE); // 0x1b54c91d865afe.0p-57\n const T3 = reinterpret(0x3F991DF3908C33CE); // 0x191df3908c33ce.0p-58\n const T4 = reinterpret(0x3F685DADFCECF44E); // 0x185dadfcecf44e.0p-61\n const T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59\n\n var z = x * x;\n var r = T4 + z * T5;\n var t = T2 + z * T3;\n var w = z * z;\n var s = z * x;\n var u = T0 + z * T1;\n\n r = (x + s * u) + (s * w) * (t + w * r);\n return (odd ? -1 / r : r);\n}\n\n// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h\n// @ts-ignore: decorator\n@inline\nfunction log2f(x: f64): f64 {\n const\n log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736\n c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129\n c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505\n c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375\n c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150\n\n var i = reinterpret(x);\n var exponent = (i - 0x3FE6A09E667F3BCD) >> 52;\n x = reinterpret(i - (exponent << 52));\n x = (x - 1) / (x + 1);\n var xx = x * x;\n var y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx));\n return (2 * log2e) * y + exponent;\n}\n\n// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h\n// @ts-ignore: decorator\n@inline\nfunction exp2f(x: f64): f64 {\n const\n c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1\n c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1\n c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2\n c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3\n c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3\n c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4\n\n if (x < -1022) return 0;\n if (x >= 1024) return Infinity;\n\n var n = nearest(x);\n x -= n;\n var xx = x * x;\n var y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx));\n return reinterpret(reinterpret(y) + (n << 52));\n}\n\nexport namespace NativeMathf {\n\n // @ts-ignore: decorator\n @lazy\n export const E = NativeMath.E;\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = NativeMath.LN2;\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = NativeMath.LN10;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = NativeMath.LOG2E;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = NativeMath.LOG10E;\n\n // @ts-ignore: decorator\n @lazy\n export const PI = NativeMath.PI;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = NativeMath.SQRT1_2;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = NativeMath.SQRT2;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f32 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f32 = 0;\n\n // @ts-ignore: decorator\n @inline\n export function abs(x: f32): f32 {\n return builtin_abs(x);\n }\n\n export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f\n Ox1p_120f = reinterpret(0x03800000);\n var hx = reinterpret(x);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3F800000) {\n if (ix == 0x3F800000) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3F000000) {\n if (ix <= 0x32800000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * Rf(x * x)));\n }\n var z: f32, w: f32, s: f32;\n if (hx >> 31) {\n // z = (1 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = Rf(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n hx = reinterpret(s);\n var df = reinterpret(hx & 0xFFFFF000);\n var c = (z - df * df) / (s + df);\n w = Rf(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c\n const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x);\n var a = u & 0x7FFFFFFF;\n if (a < 0x3F800000 + (1 << 23)) {\n let xm1 = x - 1;\n return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2)));\n }\n if (a < 0x3F800000 + (12 << 23)) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n const\n pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f\n Ox1p_120f = reinterpret(0x03800000);\n var sx = x;\n var hx = reinterpret(x) & 0x7FFFFFFF;\n if (hx >= 0x3F800000) {\n if (hx == 0x3F800000) return x * pio2 + Ox1p_120f;\n return 0 / (x - x);\n }\n if (hx < 0x3F000000) {\n if (hx < 0x39800000 && hx >= 0x00800000) return x;\n return x + x * Rf(x * x);\n }\n // var z: f32 = (1 - builtin_abs(x)) * 0.5;\n var z: f32 = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z); // sic\n x = (pio2 - 2 * (s + s * Rf(z)));\n return builtin_copysign(x, sx);\n }\n\n export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c\n const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x) & 0x7FFFFFFF;\n var y = reinterpret(u);\n if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c;\n else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f\n atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f\n atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f\n atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f\n atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f\n atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f\n atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f\n aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f\n aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f\n aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f\n aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f\n aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f\n Ox1p_120f = reinterpret(0x03800000);\n var ix = reinterpret(x);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f32;\n if (ix >= 0x4C800000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3EE00000) {\n if (ix < 0x39800000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3F980000) {\n if (ix < 0x3F300000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x401C0000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * aT4));\n var s2 = w * (aT1 + w * aT3);\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c\n var u = reinterpret(x);\n var y = builtin_abs(x);\n if (u < 0x3F800000 - (1 << 23)) {\n if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y)));\n } else y = 0.5 * log1p(2 * (y / (1 - y)));\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above\n const\n pi = reinterpret(0x40490FDB), // 3.1415927410e+00f\n pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f\n if (isNaN(x) || isNaN(y)) return x + y;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n if (ix == 0x3F800000) return atan(y);\n var m = (((iy >> 31) & 1) | ((ix >> 30) & 2));\n ix &= 0x7FFFFFFF;\n iy &= 0x7FFFFFFF;\n if (iy == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return pi;\n case 3: return -pi;\n }\n }\n if (ix == 0) return m & 1 ? -pi / 2 : pi / 2;\n if (ix == 0x7F800000) {\n if (iy == 0x7F800000) {\n let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4;\n return m & 1 ? -t : t;\n } else {\n let t: f32 = m & 2 ? pi : 0.0;\n return m & 1 ? -t : t;\n }\n }\n if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2;\n var z: f32;\n if ((m & 2) && iy + (26 << 23) < ix) z = 0.0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return pi - (z - pi_lo);\n case 3: return (z - pi_lo) - pi;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 709958130,\n B2 = 642849266,\n Ox1p24f = reinterpret(0x4B800000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n if (hx >= 0x7F800000) return x + x;\n if (hx < 0x00800000) {\n if (hx == 0) return x;\n u = reinterpret(x * Ox1p24f);\n hx = u & 0x7FFFFFFF;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 0x80000000;\n u |= hx;\n var t = reinterpret(u);\n var r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f32): f32 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f32): f32 {\n if (!isFinite(x)) return 32;\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f32): f32 { // see: musl/src/math/cosf.c\n const c1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const c2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const c3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n // raise inexact if x != 0\n return 1;\n }\n return cos_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix > 0x4016CBE3) { // |x| ~> 3π/4\n return -cos_kernf(sign ? x + c2pio2 : x - c2pio2);\n } else {\n return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix > 0x40AFEDDF) { // |x| ~> 7π/4\n return cos_kernf(sign ? x + c4pio2 : x - c4pio2);\n } else {\n return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2);\n }\n }\n }\n\n // cos(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? sin_kernf(y) : cos_kernf(y);\n return (n + 1) & 2 ? -t : t;\n }\n\n export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n x = reinterpret(u);\n if (u < 0x3F317217) {\n if (u < 0x3F800000 - (12 << 23)) return 1;\n let t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (u < 0x42B17217) {\n let t = exp(x);\n // return 0.5 * (t + 1 / t);\n return 0.5 * t + 0.5 / t;\n }\n return expo2f(x, 1);\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f32): f32 {\n return builtin_floor(x);\n }\n\n export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return expf_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f\n ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f\n P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f\n P2 = reinterpret(0xBB355215), // -2.7667332906e-3f\n Ox1p127f = reinterpret(0x7F000000);\n let hx = reinterpret(x);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x42AEAC50) {\n if (hx > 0x7F800000) return x; // NaN\n if (hx >= 0x42B17218) {\n if (!sign_) return x * Ox1p127f;\n else if (hx >= 0x42CFF1B5) return 0;\n }\n }\n let hi: f32, lo: f32;\n let k: i32;\n if (hx > 0x3EB17218) {\n if (hx > 0x3F851592) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x39000000) {\n k = 0;\n hi = x;\n lo = 0;\n } else {\n return 1 + x;\n }\n let xx = x * x;\n let c = x - xx * (P1 + xx * P2);\n let y: f32 = 1 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f32): f32 {\n return exp2f_lut(x);\n }\n\n export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x42B17180), // 8.8721679688e+01f\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f\n Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f\n Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f\n Ox1p127f = reinterpret(0x7F000000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n var sign_ = (u >> 31);\n if (hx >= 0x4195B844) {\n if (hx > 0x7F800000) return x;\n if (sign_) return -1;\n if (x > o_threshold) {\n x *= Ox1p127f;\n return x;\n }\n }\n var c: f32 = 0.0, t: f32, k: i32;\n if (hx > 0x3EB17218) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3F851592\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x33000000) {\n return x;\n } else k = 0;\n var hfx: f32 = 0.5 * x;\n var hxs: f32 = x * hfx;\n var r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2);\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x7F + k) << 23;\n var twopk = reinterpret(u);\n var y: f32;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 128) y = y * 2.0 * Ox1p127f;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x7F - k) << 23;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f32): f32 {\n return x;\n }\n\n export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c\n const\n Ox1p90f = reinterpret(0x6C800000),\n Ox1p_90f = reinterpret(0x12800000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFF;\n uy &= 0x7FFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n x = reinterpret(ux);\n y = reinterpret(uy);\n if (uy == 0xFF << 23) return y;\n if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y;\n var z: f32 = 1;\n if (ux >= (0x7F + 60) << 23) {\n z = Ox1p90f;\n x *= Ox1p_90f;\n y *= Ox1p_90f;\n } else if (uy < (0x7F - 60) << 23) {\n z = Ox1p_90f;\n x *= Ox1p90f;\n y *= Ox1p90f;\n }\n return z * builtin_sqrt((x * x + y * y));\n }\n\n // @ts-ignore: decorator\n @inline\n export function imul(x: f32, y: f32): f32 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return (dtoi32(x) * dtoi32(y));\n }\n\n export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return logf_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f\n Ox1p25f = reinterpret(0x4C000000);\n let u = reinterpret(x);\n let k = 0;\n if (u < 0x00800000 || (u >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (u >> 31) return (x - x) / 0;\n k -= 25;\n x *= Ox1p25f;\n u = reinterpret(x);\n } else if (u >= 0x7F800000) {\n return x;\n } else if (u == 0x3F800000) {\n return 0;\n }\n u += 0x3F800000 - 0x3F3504F3;\n k += (u >> 23) - 0x7F;\n u = (u & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(u);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq = 0.5 * f * f;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f\n ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f\n log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f\n log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n var ix = reinterpret(x);\n var k = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n var f = x - 1.0;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var hi = f - hfsq;\n ix = reinterpret(hi);\n ix &= 0xFFFFF000;\n hi = reinterpret(ix);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var dk = k;\n return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi;\n }\n\n export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f\n var ix = reinterpret(x);\n var c: f32 = 0, f: f32 = 0;\n var k: i32 = 1;\n if (ix < 0x3ED413D0 || (ix >> 31)) {\n if (ix >= 0xBF800000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (ix << 1 < 0x33800000 << 1) return x;\n if (ix <= 0xBE95F619) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (ix >= 0x7F800000) return x;\n if (k) {\n let uf: f32 = 1 + x;\n let iu = reinterpret(uf);\n iu += 0x3F800000 - 0x3F3504F3;\n k = (iu >> 23) - 0x7F;\n if (k < 25) {\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n iu = (iu & 0x007FFFFF) + 0x3F3504F3;\n f = reinterpret(iu) - 1;\n }\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2f_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f\n ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n let ix = reinterpret(x);\n let k: i32 = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq: f32 = 0.5 * f * f;\n let hi = f - hfsq;\n let u = reinterpret(hi);\n u &= 0xFFFFF000;\n hi = reinterpret(u);\n let lo: f32 = f - hi - hfsq + s * (hfsq + r);\n let dk = k;\n return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f32, value2: f32): f32 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f32, value2: f32): f32 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f32, y: f32): f32 {\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n // see: musl/src/math/powf.c\n return powf_lut(x, y);\n } else {\n // based on: jdh8/metallic/src/math/float/powf.c\n if (y == 0) return 1;\n // @ts-ignore: cast\n if (isNaN(x) | isNaN(y)) {\n return NaN;\n }\n let sign: u32 = 0;\n let uy = reinterpret(y);\n let ux = reinterpret(x);\n let sx = ux >> 31;\n ux &= 0x7FFFFFFF;\n if (sx && nearest(y) == y) {\n x = -x;\n sx = 0;\n sign = u32(nearest(y * 0.5) != y * 0.5) << 31;\n }\n let m: u32;\n if (ux == 0x3F800000) { // x == 1\n m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000;\n } else if (ux == 0) {\n m = uy >> 31 ? 0x7F800000 : 0;\n } else if (ux == 0x7F800000) {\n m = uy >> 31 ? 0 : 0x7F800000;\n } else if (sx) {\n m = 0x7FC00000;\n } else {\n m = reinterpret(exp2f(y * log2f(x)));\n }\n return reinterpret(m | sign);\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function seedRandom(value: i64): void {\n NativeMath.seedRandom(value);\n }\n\n // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c\n export function random(): f32 {\n if (!random_seeded) seedRandom(reinterpret(seed()));\n\n var s0 = random_state0_32;\n var s1 = random_state1_32;\n var r = rotl(s0 * 0x9E3779BB, 5) * 5;\n\n s1 ^= s0;\n random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9);\n random_state1_32 = rotl(s1, 13);\n\n return reinterpret((r >> 9) | (127 << 23)) - 1.0;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f32): f32 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f32): f32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f32): bool {\n return (reinterpret(x) >>> 31);\n }\n\n export function sin(x: f32): f32 { // see: musl/src/math/sinf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const s2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return sin_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2);\n }\n return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2));\n }\n\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2);\n }\n return sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n }\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? cos_kernf(y) : sin_kernf(y);\n return n & 2 ? -t : t;\n }\n\n export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c\n var u = reinterpret(x) & 0x7FFFFFFF;\n var absx = reinterpret(u);\n var h = builtin_copysign(0.5, x);\n if (u < 0x42B17217) {\n let t = expm1(absx);\n if (u < 0x3F800000) {\n if (u < 0x3F800000 - (12 << 23)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2f(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f32): f32 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f32): f32 { // see: musl/src/math/tanf.c\n const t1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const t2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const t3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return tan_kernf(x, 0);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1);\n } else {\n return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1);\n } else {\n return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0);\n }\n }\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // argument reduction\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n return tan_kernf(y, n & 1);\n }\n\n export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n var y = reinterpret(u);\n var t: f32;\n if (u > 0x3F0C9F54) {\n if (u > 0x41200000) t = 1 + 0 / y;\n else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (u > 0x3E82C578) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (u >= 0x00800000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f32): f32 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c\n const\n Ox1p24f = reinterpret(0x4B800000),\n Ox1p127f = reinterpret(0x7F000000),\n Ox1p_126f = reinterpret(0x00800000);\n var y = x;\n if (n > 127) {\n y *= Ox1p127f;\n n -= 127;\n if (n > 127) {\n y *= Ox1p127f;\n n = builtin_min(n - 127, 127);\n }\n } else if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n += 126 - 24;\n if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n = builtin_max(n + 126 - 24, -126);\n }\n }\n return y * reinterpret((0x7F + n) << 23);\n }\n\n export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sm = ux & 0x80000000;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0xFF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f32(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 9);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 9;\n ux |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 23); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 8);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 23;\n ux |= ex << 23;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | sm);\n }\n\n export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sx = (ux >> 31);\n var uxi = ux;\n if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y);\n if (ux << 1 == 0) return x;\n if (!ex) {\n ex -= builtin_clz(uxi << 9);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 9;\n uxi |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n var q = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -30;\n else {\n let shift = builtin_clz(uxi << 8);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 23;\n uxi |= ex << 23;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // q++;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const s2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kernf(x);\n sincos_cos = cos_kernf(x);\n return;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n if (sign) {\n sincos_sin = -cos_kernf(x + s1pio2);\n sincos_cos = sin_kernf(x + s1pio2);\n } else {\n sincos_sin = cos_kernf(s1pio2 - x);\n sincos_cos = sin_kernf(s1pio2 - x);\n }\n return;\n }\n // -sin(x + c) is not correct if x+c could be 0: -0 vs +0\n sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2);\n sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2);\n return;\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n if (sign) {\n sincos_sin = cos_kernf(x + s3pio2);\n sincos_cos = -sin_kernf(x + s3pio2);\n } else {\n sincos_sin = -cos_kernf(x - s3pio2);\n sincos_cos = sin_kernf(x - s3pio2);\n }\n return;\n }\n sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2);\n return;\n }\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n var s = sin_kernf(y);\n var c = cos_kernf(y);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\nexport function ipow32(x: i32, e: i32): i32 {\n var out = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i32(e == 0) | i32(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 32) {\n let log = 32 - clz(e);\n // 32 = 2 ^ 5, so need only five cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\nexport function ipow64(x: i64, e: i64): i64 {\n var out: i64 = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i64(e == 0) | i64(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 64) {\n let log = 64 - clz(e);\n // 64 = 2 ^ 6, so need only six cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 6: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\n/*\nTODO:\nIn compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains\nwhich usually faster than exponentiation by squaring\n\nfor ipow32 and e < 32:\n\nlet b: i32, c: i32, d: i32, h: i32, k: i32, g: i32;\nswitch (e) {\n case 1: return x;\n case 2: return x * x;\n case 3: return x * x * x;\n case 4: return (b = x * x) * b;\n case 5: return (b = x * x) * b * x;\n case 6: return (b = x * x) * b * b;\n case 7: return (b = x * x) * b * b * x;\n case 8: return (d = (b = x * x) * b) * d;\n case 9: return (c = x * x * x) * c * c;\n case 10: return (d = (b = x * x) * b) * d * b;\n case 11: return (d = (b = x * x) * b) * d * b * x;\n case 12: return (d = (b = x * x) * b) * d * d;\n case 13: return (d = (b = x * x) * b) * d * d * x;\n case 14: return (d = (b = x * x) * b) * d * d * b;\n case 15: return (k = (b = x * x) * b * x) * k * k;\n case 16: return (h = (d = (b = x * x) * b) * d) * h;\n case 17: return (h = (d = (b = x * x) * b) * d) * h * x;\n case 18: return (h = (d = (b = x * x) * b) * d * x) * h;\n case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x;\n case 20: return (h = (k = (b = x * x) * b * x) * k) * h;\n case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x;\n case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g;\n case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c;\n case 24: return (h = (d = (c = x * x * x) * c) * d) * h;\n case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x;\n case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g;\n case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c;\n case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h;\n case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x;\n case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h;\n case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x;\n}\n\nfor ipow64: TODO\nswitch (e) {\n case 32:\n ...\n case 63:\n}\n*/\n"]} \ No newline at end of file diff --git a/examples/NormalModel/reminder.txt b/examples/NormalModel/reminder.txt new file mode 100644 index 0000000..c5f8dfd --- /dev/null +++ b/examples/NormalModel/reminder.txt @@ -0,0 +1 @@ +When you're exporting from Blender, don't forget to triangulate faces. \ No newline at end of file diff --git a/examples/RobotTexPixel.png b/examples/RobotTexPixel.png index d3acda67c3d14a81fb482f7dc70e0b06ae473e3c..51fa8014e85ed604b01e697269fd5bd82fab464b 100644 GIT binary patch delta 1097 zcmca2u~upWGc$*wg_Vhsm4W$WZe~>k$AY<1#nLd@z%nT{RX54h&_FlI(ga8to0#hw zSfr#`S{hiGnV6+azRIknn_^&KWN4C>2$W7s(@jk?G1X19NK4X9G_y!fH8(c3NVG6f zQmDu+@b$IwpS*$7VRH_PE0e3GK~kE9iKU^gX_{fOu7R-$(55uAL|qeeOGD#ibK^8a zV^bxC;u6=g607oz)I3`yBLgD?T|*;XLyHi&vuASzO|E7WogB;l)0G$(6Jz2m6=K{r zIg;~6y~OcvYzz!c4?JBQLn>~)y|q7EI8o;K$3M)zjz(VQ*U$Z9oy)>4xr?RhrjtQT zQLl6Tf$40l6Ti({cyKNI#e<5?6M|oa6%-bD#%@`xYF1)l+y04%{g|TcnS@EN=aw5* z9!}?p`BnS$a`n9Dddfx$nreqR7#JED7#J9VmNGD~)H5&u1q2uv6o90ESxtB3a<&aB z)2bt1ZJlTQ?j^&uDq$fxhm;5JZPV^tW}LHs?t}@~BkWem=EcRYoi15!#Va5wlahVL zY9CvRK4YRJ7sy;ARfjd+3l6pJeSSUq{=A)e(>wjy3oiZ6c8YuO&bxYR^v#dD-#3+9 zTU%n4zPUkwyuJwLWAJiN6=bk;(dBOUnegJdP*}pNx^&A)K z19oYwxWX7$^T*)d^Zj36Ua9(D={IfRY4@$x>$RL4R)768yS_a>;-?DNgxdz;TxSoT zeJ%g=)%Ra|44OGd-rcV*nXtArT>H7SuG%?235H1~4qGPkFes@X(h>uOUEu%s$4l1m zI?VVGF`w-MgVX_E2?nMENz5xQ9)I!qdr0jv#wn6Bv;^G4Z_m5??Z`zhR*4?g89Qot zcJ|5G#hAKSFUr5?kx>8cF~hP-Q>!ypM)}o`GJ;vXSRcLE_SW!=i}VIH<@q*(+Y(Ni zF)&DNc<{Ypm3o`mS%;a861!rb%1wA<*AN=8>UYD#RrfDk-IM;@*6_>Oa}5{Ow+qY3 znqPjd!vT(8aP%@9fJOQPvHTzZ{=fg3mR41;(QbCMN`1o)Hh1O>2HpjXCJBYo2aKj5 z(grMP%y_O+&Bo_&%6%sT(3=iBIGG(#(hy7?FbO#@{Ae$XHJ^5#!GRf`uAr(VC*S{Z Y>is62gl~;NI~Y7&{an^LF(ots0DpCo4gdfE delta 878 zcmZ20bwy$WGc$*Qg_WU&m9fEOZe~>k$AY<1#U#ntG|k8|P1htP)kN1a$s}3V(lR+w zHzm>1(jYl8(cCb_X!2ENEnSPmL`#!I6JuTTG@!JxDM+DtT8gfzxk0kIQKE5@u}PAW zLPc(YudkK=RMV@nkSm48Je3| z8Y(Fim$;UdSe0j_=GiJ485kMp8XD;uT7sQ&=3&b(HWG&IN_2JQ|c0( z38s78t|jmVEl}WK(n+o<-}n8bYmm#tcOP$;D|E@TuHC@Gz`()4z{sG$z`(-Lz`!5? zG@D_;>{UrAYnvHEj%NJ-d31s1feNF&wObh@>KQWXxjy{bwhzeBh+|-x&2XM!w*pXu z149sFgwE>h@b3SC^HPrfp4ae6sr%k*mMN(_Z@ydg{r$}vQO*N*oBdut_FE!cuh9;4aqx$OlW4L9-}Z^|B7vv0Bi!%o(x+y=AP_e~e| zeE$*EfxLcAH%W9FQ2k)X+8LFk0P_lpFLY1 zD#H5jy!)qEfod9TS{N}S0jQ4S zfbiwDf;?Gy@_b|Qo`3(aQc)I$z JtaD0e0stA_ClUYv diff --git a/examples/RobotTexPixel.psd b/examples/RobotTexPixel.psd index 720a6ce668101b16c69fff6e11b7736e99be6fee..588d54529085996ac334bd9d4ed4b4f062f8b272 100644 GIT binary patch delta 9381 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 delta 11455 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 HxRUf=fMZM8 literal 0 HcmV?d00001 diff --git a/examples/icosphere.png b/examples/icosphere.png new file mode 100644 index 0000000000000000000000000000000000000000..d9de1433d9ef1de7567d738af491164f5671300c GIT binary patch literal 2480 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 IS8HtfC+{dA?f?J) delta 6456 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 diff --git a/examples/robot_texture.blend1 b/examples/robot_texture.blend1 index 33198aebef8c4ac449c528d77b8c9f3232adffe8..8c4d685a5fd0004f8ef95f12625926f8eb12d4be 100644 GIT binary patch delta 20147 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 L(;+js*XsWVlIop! delta 17106 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 { + console.log(`createImage(${image_location})`); let image = new Image(); image.ready = false; image.onload = function () { image.ready = true; } image.src = webgl.getString(image_location); + console.log(`image.src=${image.src}`); let image_id = webgl.imageArray.length; webgl.imageArray.push(image); return image_id; From 75b433205f452271490c3d06d8818ea2b153a944 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Fri, 1 Jan 2021 10:32:40 -0700 Subject: [PATCH 012/111] Added normal map example --- examples/NormalModel/obj_norm.asc | 22 +--------------------- examples/NormalModel/obj_norm.wasm | Bin 107934 -> 107823 bytes 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/examples/NormalModel/obj_norm.asc b/examples/NormalModel/obj_norm.asc index 3faea57..ab8d0b6 100644 --- a/examples/NormalModel/obj_norm.asc +++ b/examples/NormalModel/obj_norm.asc @@ -16,7 +16,6 @@ import { enableVertexAttribArray, bindBuffer, createContextFromCanvas, bufferData, getAttribLocation, drawArrays, enable, depthFunc, vertexAttribPointer, TRIANGLES, GREATER, uniform3f, - logi32, } from '../../webgl' @@ -69,78 +68,59 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es const float f = 1.0; vec3 tn = texture(tex_norm, tc).rgb * vec3(f,f,f); - float d = dot( tn, light ); + float d = pow(dot( tn, light ), 2.0); color = texture( sampler, tc ) * vec4(d,d,d,1.0) * c; } `; -logi32(1); // initialize webgl var gl = createContextFromCanvas('cnvs', 'webgl2'); -logi32(2); let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); compileShader(gl, vertex_shader); -logi32(3); let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); compileShader( gl, fragment_shader ); -logi32(4); let program = createProgram(gl); -logi32(5); attachShader(gl, program, vertex_shader); attachShader(gl, program, fragment_shader); -logi32(6); linkProgram( gl, program ); useProgram( gl, program ); -logi32(7); let buffer = createBuffer(gl); bindBuffer(gl, ARRAY_BUFFER, buffer); -logi32(8); let position_al = getAttribLocation(gl, program, 'position'); enableVertexAttribArray(gl, position_al); -logi32(9); let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); enableVertexAttribArray(gl, tex_uv_al); -logi32(10); let normal_al = getAttribLocation(gl, program, 'normal'); enableVertexAttribArray(gl, normal_al); -logi32(11); // let diffuse = getUniformLocation( gl, program, 'diffuse' ); let texture = createTexture(gl); let sampler = getUniformLocation( gl, program, 'sampler' ); -logi32(120); let texture_n = createTexture(gl); -logi32(121); let tex_norm = getUniformLocation( gl, program, 'tex_norm' ); -logi32(122); var image_id: ImageData = createImage(matMapArray[0].diffuse); -logi32(123); var norm_image_id: ImageData = createImage(matMapArray[0].bump); -logi32(124); -logi32(13); var image_ready: bool = false; //diffuse enable(gl, DEPTH_TEST); -logi32(14); - function rotate(theta: f32) : void { //u32 { for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { diff --git a/examples/NormalModel/obj_norm.wasm b/examples/NormalModel/obj_norm.wasm index 8fc160d2767ccbdb13838c36fb8d1818a4818d5c..5b3e66c3222f2b4aadef4000e5604176355ceee6 100644 GIT binary patch delta 2337 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 From cb20ffd226cf372bcbee368617e075d2acc54fd2 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Fri, 1 Jan 2021 10:56:34 -0700 Subject: [PATCH 013/111] Changed normal map example to exaggerate the effect of the normal map --- examples/NormalModel/obj_norm.asc | 8 ++++---- examples/NormalModel/obj_norm.wasm | Bin 107823 -> 107857 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/NormalModel/obj_norm.asc b/examples/NormalModel/obj_norm.asc index ab8d0b6..9d1eeb6 100644 --- a/examples/NormalModel/obj_norm.asc +++ b/examples/NormalModel/obj_norm.asc @@ -23,8 +23,6 @@ import { objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap } from './Moon_Sphere' - - const VERTEX_SHADER_CODE:string = `#version 300 es precision mediump float; @@ -48,7 +46,8 @@ const VERTEX_SHADER_CODE:string = `#version 300 es gl_Position = pos * mRotateTranslate; tc = tex_uv; - float d = clamp( dot( normal, light ), 0.2, 1.0); + // Rick: I changed this code to darken the normal + float d = clamp( dot( normal, light ), 0.1, 0.5); c = vec4( d,d,d, 1.0); } `; @@ -68,7 +67,8 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es const float f = 1.0; vec3 tn = texture(tex_norm, tc).rgb * vec3(f,f,f); - float d = pow(dot( tn, light ), 2.0); + // Rick: I changed this code to exaggerate the effect of the normal map + float d = clamp(pow(dot( tn, light ), 3.0), 0.0, 2.0); color = texture( sampler, tc ) * vec4(d,d,d,1.0) * c; } diff --git a/examples/NormalModel/obj_norm.wasm b/examples/NormalModel/obj_norm.wasm index 5b3e66c3222f2b4aadef4000e5604176355ceee6..cc83a206d8bc7d37b4de0cb04534f02c07f7309d 100644 GIT binary patch delta 442 zcmZ2~itXYlwhay391C8ta@R9BzS-Qt-671lV6vdRCgX$2*77o}6P~gUd#ufZ`Ws#vhwq zRbyEhe@u2&Jvli?`wmpjSErW|>}=7=A9O_+A8cmTd&tQ6qWQW0_UHPH9eLb_3_1)7 z3Y-wCKya#u#j;k^Abiw#y!(ZmoPdp{+PaF2~f>~>Gzi~1^@tcXpztW delta 407 zcmXwzPbh|3@yh^2 Date: Sat, 2 Jan 2021 15:17:42 -0700 Subject: [PATCH 014/111] kludgy bumpmap shader, will probably need to redo later --- examples/NormalModel/LunarMap.png | Bin 222771 -> 225999 bytes examples/NormalModel/LunarMapOG.png | Bin 0 -> 222771 bytes examples/NormalModel/obj_norm.asc | 28 +++++++++++++++------------- examples/NormalModel/obj_norm.wasm | Bin 107857 -> 108021 bytes 4 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 examples/NormalModel/LunarMapOG.png diff --git a/examples/NormalModel/LunarMap.png b/examples/NormalModel/LunarMap.png index 1d9c30aae01a29547840b67efa880e10bf8be15b..1a70471148239851d311d2d0f7e77155ccb50b21 100644 GIT binary patch literal 225999 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 z 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 sW|vt^RlSk}biKt5iNQ@i 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 YJg-Tv;lJKI=iGA|45D?6ViMwC=y;kq?nxh0Tn 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

        c-DjJN360V@X90x&qmuT)>Sp>Z z^aC+O)ddq^jzLKFjH3+aqcf@_Z2*-1U_sw1f3?rF(!h)NCu(%ZVrdzq+9pJAv2zd#oC=bSvfQnP5}?3sICmp=;W2=pcKVAX3BuYpPg!TQesIEn`F%a5*6OFcOJ__P)6GAHXWmK ztV9$*(+FmmqnCbN(911yWz&QG@CxwfUxs|oO8`G!-%8hC1p-I^Gct32WeI!*PJg%g z<$?Ij@WETawqGyRK_ME>=f8(qdZdZUqaOyguB4l{5dP7;yUAsf7maziiYpi!2}J2~ z6i#djQ#$x3NNFGw<_M|ho0Puc=F_k-rvuO(Aa3+~H0fFUBE8M}gYp}7y68&&soGKrzf9HY7$Hxi(ivsp@Q;_8! zOZxUpHT+!x?Ah0A-`d_jC+*iuqfeZU-f^$FM%Fc8f8Vyg`*~V1u=CvjtOwRi&4~hl zKN_Dj^HqC)RgECLX5>{ZsIk*mz`k{5@FmTrNKfI&ad{3VVl*Yid9ohabQGnmxfw7m zQhYC&OyWP`TKEnSJ5m;N=l_UBG3->HF?oX47t3lvVI7nHnU|R}oblvYlzTdujWZx& z!BI%WB|mH>@)PH&8cu>l+3e?3}I~5Eg^STaB zaR)rFq-%Ea>TP>2?Gz*i>rtCpeJnM>hqc76R3LCn3I$0ULRp}|Ek5rt+_D>A;n3|Q zUd-VhY>RY@|G>ycNBjn6N_gn#1-ev11HVuzDWStu?<~esuSlR*fDZ^wJ4733gK$R` z%J--la8Q%;qw=rekKb$L8^{TnyQ((tuM9bgA#ateuClGz2GV0YnAH{>U-V6SnTtks zRpUf3bW3B`)Ab*WT3~C6o-7xcHiH%r8_@lm!WileAlC#@_Gto|&yUR1+OKtA)ak>v z4~QS<`L7#5*31X}`t^?p4cEVA!BHIi$usfW?I2jj(g^vUmjTU3p^!W4m5WPAdVQd_ z5fKuk51yehvc48|zKi`X4`$|^X(8o`KYgNXfOU@=YO2c~?p2`za~{Dlnp(#twpZ_s zP_P(NDYPCNK;{x%&)%ccPBTYeo_V1q`zpdD?EseI$9yk13a_vI@D^m1z#b|_&;7_r zy2hx3c_O4QCIaWmp%i}&)lD``pDm?ek>#;|i_Mr_vt^l_j8u;t4u*x102BNL2wpMTJ zAuD3+d0iOJ#~tI`wuX?Ma|RF15=kA<0J0G{>W19V$Z)W)EL46T=>aZXHUKS<`jVNx z5|E-5$VNkY#d=!nwgLjCh!>ZG87q>)1gF`8U`XPa&lbqcik`aV2t#zUhmFfax2l6! zqt0KAOo}^UQKVleZWttlP1Jf6NB;>iFnxe`HU}VZRm4aBPZ3sml5W^Tfz_uQIm7Cr zO((BoM+88&ym|D=szcG!-+OSB=|`TT!?3*x#Y?yOZs3a;hTCQXdM`fA5F6bcrS6w> zpD6Y98=1Q`sRH;PTW6x(xRC@w+{8hGAb5b(a{T|FxgAjrX!h{)*kf6vgF<&#S7k;% z1eUfj2q(UbEX)br7d}2(5Z7@ zt?aSEp$T0PAOoE3)>R4x)c^_(awcnP(+lzxwPECj?T!7MR$_wlm z5UDGSz_C8rLrz;PdP{!h&~1mhHXS((in2bRPrUe9jmr8Omk2TBdS2a3BqIBGc?G%T z^XmwT0E7D>5_F4wW}T%2!N@?{dwpyCHkz+)0u(eOm=41|t#Srxe2a*jplpg$`ZGE` zZck+cl{@1C=s^QGzuI#-(gv!JWKrl(T#-tpP<2=3Iwz9ViBM4xn29+N79NH-cY&)S z_4F9_(dkO}f%YVVp8bHAmS>;P@rf7;QhF#hFM{gQ!w;obqD^h^S=$7O7!@s6J}Bb0 z!_tRNWkfkKK?uQ8ZRW7Bk=7PG)&!qo!~bQ6AXQWaiidQw=V+SRlO1gL$4(Jk=%hd)*9eMxEs5 zoELqBC^3fO@ie}U^OyrGREO?JbSbZY{xGw!3lJ`cv~xWeM1(6bRT+;5@qxqjYE0w6 zl_hPn>4_fZWkM~f?w?gaN!U%+co#~Mv^%-}qXEya+Z^e+w`jnnr|g4r@AKbe@Q46= zAIZ7*zclZ;9Y|HM%i?oJ$l(l3Wo)%V`dimv{N)b8D^fPsoZYcT(w01-O_wl`gH#99 zhqk2}%>Jq_zG<9&_Bp^*|Bb~t-+y-Fv#+;C8N6ZV>-RA<=kFDdc|8jm$&e4)>9WcR z8(%8MqswA2C!@w#w9ou9W$^i73jB=_-@Ai;&+9EDPn(h;=_PAb&Dr|oKi%_gan-;D z!~ma;XB8A9?gUGOr#_#r{A=ahzeTGuqd*XUG2?gNPltRWngYcnw zAj>relnto_6o4#gs#3K;m``&KLErhxJRSwj`OAL5b)JF(YXGpYf=%Iplb2cFL-T*Z zFhL#=)dAP-Q;>|w?fQ|G-ozL_eKFU-b~wmTpes0?f?Z8?X#=o>P_G07Q^2H7JzZ)h z+7^?|k|G^S%o5LHknJ&?`mT9N4_xX7V2KKBK;V!N&P|A`2r6S!?z@N$3McHqS?Hw>os=ePn$ z?8tL6SJ!QRy>a_IZDr>s`EzmsO7;pkNcOn7f*@WaUE*59VqfAGfRtf$lwDPU!=6)> z9~(eUOjZ`0)_zNs%YSi7;Ys`X^A$mjU{IsYnh}4mJf>sYNsH%H&uVI2i1V>U`o&Ys z=hrX-13!B-fJ(v`DBj)N?Ec9H-$LtT-+ozQ@Vd;|1$DcO?gPOgQxB--$>i_LEoYIw zcC0dSFD8>4Cb;1FQT99LE&!Q-L<%4VCl!A5#o^#jE0Tx9_q8%yx(4$pdVD&u0%xp*z= z3w(8{X8!Xd|C8k%vR^WNbp+z+ZzB2|#jS;RNxsC%tg#{P|L_TgbkeI6DGJFH#Y17k zAmC+iN3b{cO7v(;`u&UWid62LlM9#wBq-k!CThOFIY2>xq;4%MmSusHCz2cct>Mwiw$52T?;Khcv)Mt&6P8= zq`Bl$;Ig1O6M}eFhu$$=a!d0ynMx}G_a;W~KjM(YGNv0Q!Lnb%aile;WyUw{+6-Bp z*KF2%rU<45+3F*VVtw_!IoY3~1TgoG-4Bl8 zILss8ESF_O09z3}BY~XCf^B4O&2^7X=&?zm1e&QU-2gy6SWKiJJ;x%4PS2&lj2dl| z9qAxN)$s>eHO#giI~e@nf?O$zEt)6N$~)Uo9JM-7r2ce@Sq3WFQW!1RUvKf#)V8*0 z$1Xdyqx;=~*7)Zi@LH&b$kHjT1Uz`@5XuWU+1+Qu>Ek)K30I`UzfI?ML7E24o!&Sv z%(|&$S0fX*t8>9AU8;pS5g2DY|+FrR5a5{K1I8V%&bRbf1!9Il;`rrlvjJn>QfACzwTi5FzIryo;J9bTZm&q+#}FW*29fA!o`by9N_y^@C zV}SItx>!L+#O5JFN}qGqldn9V0NtK)jc6_l_PE;XYFJ-h0#rxbU)ym5*jZf>j1q*S zQ1eAV`qK|oRbl^k=UYP4>pT^4r5Oee7L%<+ zT+)mbLQzB0;uXW4!{bMiY&~-I9xY5qQaB!3fquT<%ShgG*TQAUxn+A^o6;zJU`2))=yR>mEjqpyrj0b{uu961%^dSi(nP*djuY?vfS^S|3%6*B+yIn6)Q&#@auUjD zW>=|zF_MG)jMN&+9)unRC)7xiGnVTn=;JYq=tJ6wph_7qqY{-8Ek&ou%Cu1%CV-)bd9r*jduvdG4IGC(0PXTu<*h`d6 zIQMB~KlgxJPczs6?;vJ*G_HXU&P?F+c7)CI9Ft6K;krctMEdj^_(BvoK5@Cl~I_bT?!B0Bfz|E z4CVXbdKyf>z+r^*SGd=dPBqHyt4=^Fc_v{T^(c68+Ri)%M#dH; zKw3rZDQ!2_)66v39-1)OHrF5v#(=GGp>wbT;BuhP>eP#;7AGyoI(Q*mX{<`h96iX) z6X$+kQk@SD5A8?0UDEvQYqhDME7&b~1xYjr?O`uJ!~&quZ`edyS`kX*B0Lq21`u7? z+w9Fk!)RpVk(bSae^PH8ERysE>}Mfx%yrwPy!UN6rJphPi7rg~qBE7h=<@XL*X zy`5CK#$14YHix9w%t@K{(Ek+9U~9+RoqDYFa&x=W$9-m-PPd2Xq1~blxgHxp6yjQf z(9z+eJNK0r0}_E`8Esh!^#0|aeU9J1URn9)WRY)Une6$-yd_M`Nd1@Sc8FEyu?bqjBog6b zV7$@|M5<{Y^aM+bKF>%8Cm|R*K`|IZND@emFp##u=N}iZ_w!yxsiUI_()e>wR=j~f zetd2Jhyq@s|5rHBzjk3CI%`zZ%5bf)*S}v*r7sCEz25(yn(}^_asM7-Kd4BjNb$Q> z!Ck#By%=o-#QBy``>^8z`ASZ|<(69oqstV_*v1UFl76w$9>@IsjzAj|QF$`+vCU*#49!9k_rK4*H)0wxc5G z#oZ=Qh{zm7~xMVDyRO%agCYPx-yD>pr3|XfPF{W@LqZDRIqX zMV=;gIjM97U>V`* zoVs+fO4_gR!JSA0W)F&x$04Aton@(l!T%69v6Kv{tpJoc9_n$p%axU#wz^yl^wXDm;;yd-oNpbSGgrq(!|ygkbmR>LXF zG(0^XLj-B9o%tL1j&6qZa&{&i$Mto0I_UNO(ok?N&3#TyX;c~yv{?h|R9a#;l!ll? z(k)j(x%eM7=N#4k(>Ni_M2>2hA=z_oGC1gS);1pd+<(0(y_PxcvWZmyfmSjh+&{TmZjh6b~^x%rGC8tu|$_QUE0 zR$!*qo7@CG=y9bsjL-j`9Olid8;|malR6GMa?R6Kj-L6Q*!Zg4FD=bO0RmCNEC6XT z8pC<7lot$2OTEVmV3H}U9T;H+*|xvb3j$AdAj+3f|;5Rtv zk1XCeuL|;=ZLaU{)j#i*AyOkgl*tg0*BYrE*J&gRl!D}?cvj=sYSdpLGcYuWfQKZr zWh&2Rf)1u?v+KynZje4Q`0y!|i%(liqU$uo@-?c{M_7_oo6()h=rVxeZJy9|(miFF z%f=Vq!qe!jrVB>UxD}vAnuPvW%g=HHz$s(C6Om*&XH;ZF7Mg5S^||R#*AE9Nnk?#= z1IlkXYIao&o{-JD-x;<+u32~iXph`h8KWg+39&I#VeCidv3xMszKi}eo2j}cY*O>U zqfQ+@> zMl-gy0_2A_<*_sH$4C9~JZ_#o_jq~Ai|fWl_W)-2GQ|N5Y|rl_Kwy~ms-y$n1Q>T| zpka9Ac2NOJJvhQ@{H7B)D%QL9aGCfKqI>U@1S)L_`?CR2l#-daw&YQjh*+(Qo}b2W$4!6pYu5g{Rn?j)H}jxhviI@JpUnmcP6T)L&T;yt062@LH}`3Qs9lz18t+aAs!l65|f zzVH-&{S$Wa61)5{2!18&{jlLbYHUSZ@L@M{KDTtQFS%UJ{&@?w@GT0!IO2f!q3uAJ ziNA*|=+vGLL67r_E~g+nKCgP7hSM$;~hK<9iMJW=ttx4Sf?`dg$>O zW!B31i9uk|qxF#6{8At*b6m1AUu6$erlpi9;lU1qT^EHuHAApXu$>Ln=^kc=0R2Ig zI>69nYfm&sc_(bEO$duwK?AaNK5pE$n&o?U!kZ`$AE!95_aURI8su3iH7s3C6R3ZT z{ZO&F9m_B>my4D@U^TG?_MIBt@{?oYNh($8U--eNh#$j~?D72{2A-S7f_P?HW&&b| z(#L2{PwN4P0O;Ny1W|n_;{xN~(2OvB#y$ePvGFv?$3TNPZjJzibI$5*%XbGT5XL3s58>Dp@v8Dp5_3qV}qP)zg zS(y>%6Xb#om-6eiN|Z&cH*bB#%0>{79As!wcbfXy@U{u7*V=>uynwwfg8rzkIxZ2U zl|B?wMR3rq9^$NN7Eb?^^%APnFnpaz$*P7IUthlgx}oQJtLCAfU!OnLzmd8d?%29y z>kTXi_Fm3+=;-R{77ctAfV<3C^lz8B*B+D*yf9e+g!`aRf$|4Z&0>>Y@GA--S0FB2<|xB z2=m^5R1Y7owx`;kJ5kuBWF#v6wY0V6B4I(tnauL=L?XTGg*BGBPeJRG*;8soGccZ? z@H9A_Ut5En*s|0C-&p|~lI_FijC1K*?;7U1m0}Unu+~l;vkEvop+}GSAO|X-%2J@Z zwZY{A!OM}uLf9QSUhwOtZFU5R2aLhKQxzztpb?AufQ2Q)|3R$KIv$Z8XuoXScH4# z6VmAylobStl*Dp=U?Gy0wTg5j#Bm98PS$?cZ=BKkNFcZI(t?SmrDhHsO)WW69>%6j z7DyMaO|xGTz$xYLv9V*Z^c+$?EMbXfZ+{D9FOdHlBB)2ed&pw%<-FY3gnv|)Y;*u`K}HVN5Cojy z$KH?)eg0T(fCHQX%4nOT1JFQ28jZofduL^BofpMB9fV~qAnIbx2v*z9+RJ(Y2R5ei~XEWe8m-Vot*X0o0cvbQoDvl(~`j z0{Fk6oJegYKq9VeB}%kW9x}FH1Au>L+WZ=NARz}-v`oGz&oIs?^J7ELJq@c)(u8=< z@_kx>t^>yV%n*w!!Q?%t(TKdWv}BeJrFYVaoeK|MKiJ^*7{a^;g&YoHm|Gk%=q~p) z*}HS3dNDrpAoFY!Uc|gH*NkxRGSKC?w=c89 z10%uF3@?qs${~d8IAP3fLhccv$IX<7c00b#XN zZ!B1E%#D#!;>=#Q?(N(Xlz?`WJOy>OSh>B7qKK3%V*R+Rh6JAQR zUwnBX2`_WnB)9pI6OaNamI)wA3N$uoAFLUEvl{B|f?O8d$NYY?Q!T+YiZh?VAL211 z%~f;Fu|1Cpx#48V`SdO8I}ZA(?r1c3mj>;h_a5AEdszh;JWxZy|BFM%7Qo4nW5;xs zu&Ae`jveaq`d$g}Z91CFbk;9DPkAd~cOclB)QFhD$i|+n(d_xayOaO` zAOJ~3K~zb47mll>-YhDScAf(w$1N)^os6I@!j-U|)?ayFL|PudO8*>u_j;V;z_<<= zhLJab-&SBSzr4sFnVFUQ1kclw7-aAm2X3qy{_o>?vc(D1@F{lG6cu{RF>ZM_81-{H zd{9A=drDZC&De$uCl{T4*Pe}}#x|~ut+DR2NR#DqF|s)1zjLr#oHM4KB31Bp%|yUP zTa0%mWcH(ARJushFo>5JK|z7Jm~?#v5)1GT>wem9XOBTjnAxcab$7uPprPiWbSg1b zAdjZoEj{v=_nP(yYUTefCQWYBIZn0^nYOEdU0V*fv;x+Rk#>k^ojioYC z5S_>xG}|6JZr6B|%3^>2?E4R=UqlruFB&@de_Z0?ZA<^P5KLh|)bRzL;Bt3e&M~UCbkLoKBW{<^Bc#9MM6Un^8;?@93E-&)TSylfS!W>KM-U4-@inUue&)c z5j}!Eo1bYOGoD2o2t^&*8Slj0zZC>sdVz0r$i=}i`L}ywV?btR#0ArOid4`bZ3=}! zn5^A(anu%UfP2OQ@Xf4VV=3~8{~7tzuh*ZG{_*_`^#ALBje?w@6({3ux@Tne*Y`hS zQ08lzeCgTA;qHVzlr>MX@6uVz1KsZFQ99E=ECif%>6l47Li&_TN843P5PB_jfiHdE z*WJ(0wH$VHB`!bvdr-68QQ@U>&^xR)-TQ5Y_ve8q@S%Sy zR{ir|`#W8PXn%j6AEH;+t{PSnP55R&g(xXi}LDvN;2lU^h zx|es8dr7LaX?pS6kV0K9IHxt@E{s%iI+R-&C4gH|xL3@E&HMl#fVrKIZ7PdlrRNP` zt8dqGD!uskkUc;G&}kcN0gM<}Xf60%54M>DS~1ZJ(fyOtfJSSIyuT?9eo6x7AuOR9 zozKsEHEZ`O$OE!I{r6s97bc{bz70+f*$=waK#+n1vX3Dgt#K%N(LKYkySj$1<{ZW0 zYK1Mrzt>%WN5`U&C_e^p#(<<}#Q5W(D9d&7QPFJ2{Eok@7!2 zPr*doPe@Cr1Z-nEc%4{*rNav5kbnvaNx~ZydBYR{OaRxQj_x)F-M*-5R_3Man{pFh5z=(@B|r(bvzQ0}!zjju+pV`CY-Z28gh0>nt)ayM+gMIznv49<;I zDyCn;f>J@i(fv;dbdLP_7xIFBkN6{7=3ik5wr%kGCFg(T4I=;W4Bquk4A$e@Vv6(V-a-;h8^Cj$HdB(IzouJZdKe}jGUt9gGNX6I zCilsxA!!IrO>37u)MJ*vfxNM}CoSv#kVWMcU&4*CK(8DL{>12aK>3Nwze9tEj+w6$ zkjVo1J_E=#&4ghla{?W#Zg-s;)Yf@m1LWe;OBuqW*RJW2zh{1NH1zJb*Z@kDZf!ai(_?dw zQQsr`0>btuCOGc^k2BZs(67&PF;&^@3zv_fYh2U0d{xnjF|BBnd@wH6P*@_cpVdP- zM)H})ZqLqCc9u#2QfZ*@ZVnZy>^VU}TW*sqIV!sB#wiyRek7%axI@@SQvuL`K5Us; zr5&?tN2;YJp4N-_KlMX3CPGbZBbken*w;6%a6H0d^NU0D2M{pa*668=MXKc`$*( zBxy7yKZ>O=3xIn9B@iT}F>Z2WzLvLje*tD#Do|Jcq*L9b!D~b@5?d~HJO&xRgw}t* zm5%<~ag3MpF|YWq(=~2fj$Rc|ZC6%3LXNpIKrUHbjVkp6ufeMY?S74oTG%?5t<2TSktZ-OSTu{;ps7ZxZtw;HsT@e+sJKqaN&1WaH7Pj9{}V3jAQoTzBvEWY3v6$rhjf`W$0DLk&WR zF#U!lDdFMmZrj`(T;he@mKYi=>4`xgSbI`*Twh7~knQa#m4kl-(Oa8E#_&Z|oI_?U zh7+rL?VSy_I**5XZYI>jO+;g%sZ*K+>VJ@f%dLC00w|ULJEEro=waOjkOwVww>wKr zhb#oXqK|nxnjqIsy5B1TT!|s%ZXc^9o&21pW}vSqZLtF>=VuszRjvdFM%M58+2Qb@ z_YM8QISK?k1e`FE)m_O*AJHGJ9f+zJfUp6kyI8LeowJxEvRYq$HnVU$09Z!+r?M2h zK5GmBIoOMS-TU5)fNhL(?FXiTPsCyXB}BO`Wij21JEN&PZpSu-NQ=#pn9NC^OtoYz z0L>&vMC7Om2;f!DW5XjMKX;2X+~bkwbYDt&Q(c~(@~rj=lRG7Qxc?&FS7LtXfWQCz zGYEXMO7zai4EqhZ&S|`7v!6m*3K*!12+@rM(PIgCPL{SUmD4+ml^e035fPwSs4fE? zMgVyAD~n4{ZS+ZMF}D2$?F=lXfxxwb>B_z{Z3|p(EXl?E@W(?*&wYz)w^lDL)${$C zYJWnGGx9f(9m19~!8;=Wyi05uTomLlf1O`;6{>xQ{Q)0EB@FHuV+jp+@VZL1wL8?Z zkw^SLEKHkdF?ROZYQ3JG?F0kI#wakj=doVL$WBcko_oQlC(74zJMjt?EPFd1HEn># zU}}(D_KO?K4WarT8xuwgqZTDkkFgEF_eDLBzTBqa;ti%}sF^Tgo9UxDl+gq)0|zsZ zxq4o-QMZs6iBNRGz* zPIKT4?A-0bZ-dhgzlO>{6Aq0g<=VHGKJz|UEZ-_Kxm?yPrgGUTxgx19#eyY;gl#do zdS>kyg2PL2mS^id|8yDxY?zz{!jqMd#?KL6?TCY_a8sPM4j=Xj`@{Uw)bnB(CB`_F zC&eIgulh8#`VrEsbQ%OS?P(_Mj;JAs9kvIkVQM{2Gh)AcmZ z(z~;C1o=aZTh(8iE3XrqZrbA~beW1)S=MOaGT^n2JO~ISp}6!-VJ|BDUM6hU_1b=A4qMFn ziMu2We=$O-M<~sW?lL%MFhHXxk4R+5H&<0g(mf{^{M^k=T>nYMPkW>_Bvm}I`P}Ks zv6*zMWjqA321KoT!2c^#aK2jW?nIU;T!U4N6>|Nj`4GOwohF39Qo6HYMWZ7fF8Ot+ z0U*=RpcMrPkcoOAL|Cu`$p_$yd=1+coty9pk=vEjBx#2DIdQ5TtHgyjf0H+(d8&{8u zq^)t1JBIMR%;As1dV4L+Q$X-5Y_wxQzMqeJuAuw-aYkaFnjxq{k)iW?$HDORdVHVh zIVT37fF=a={05sod*NBeUR|L)9(a>Zp57b=XjLjC9hr z=xZ6!kc<)vgG0QY>@?Z322WSM{T`VfC8`Ye?~bBi?8Ar~lkN4zGGJ-zll())7aCBp z?^IwJFv7Zr^rssqQDcUHEw=E@QmX#f>c_pE-vaYKBA+a)PTObdSYPf2PQTK$UWDEI zXH)306qfXgB@l9h#$9GgZKx@eG%BKay}e!I4Q`B4kmo_M*C2z9cL!E7ILuE5-2~aa z(H#)?$*^gr@jxrgQNr>*(%KuuN>>ojR?i9;#Ph-J4z3zXc$B+6-Xkd7jSSIzx_{tXg2(qEp6*y}4`2sy^c7bvxdLW{=C6DXbY7Az zn>B9N0~-Vr(?{}5bOF+ID55(sC2EQjTH}UN542h`Ni)jQaNQ>CjtC8FK<^<=L#iz| zNcm_ot`sP6xB%%LN1Rh-TL~%R6Xkz4C8Q|*%jX8$!;7LIO~RVzyT0j(#CZyZb$`QK z$(`EZE<#3GFiC2uCA5jdA=5QKSDU`@-VjR~IbXO;cnt6Aav$b+ze)m_M1sdD1S&j$qMy?Rj3EFv(z9f5YNxGB4^zP&NnJJr ziNG7m3Zu&)(}R*ZMn{GSM0rA&uNDd1l3F(gG(8<#BXAc_cWvTj&@sNH-$1VT;bo>r zD6rHZT_g|eQeG3kHo(emqrdOo`P(l9_|pB4?#R5x!eCAfd-n-iW?|{1rU(PK_?Fd8 zTJZ?#VwsRX&~XZC$8vu0{K>zu`qzzNH7tl^A|$2= znpOhUCcJ|N4Y&r}19Q8PD+M?Ls|)=;nPro6l=fc`8J9@(q|>c^A_J5Z7>iFOzuhyD zofmU+@)J2mLxv4jdwSqwbocYgAIsw60Kk1O%pi)$e8&d+KrIbm_p|-af4)*JJOUKZVD}Z`8g`#y-+}Xo>-#R? zcFF%*J>a=8wsCN$NCEL(>SPLQ-G+(^o(i-^MF(2?9ptYb|h ztE>ux2KaPUu;YMtFY#doRgW#(^R&UH;9D zoe-ffwp}ycjTl;{NTMiuqum;Q7Yrcqyj+gm1aF3jFl2i9l|FN^;-!F7XMWwXnZgVB z9Wo|YihHpBOUMY-mk--6nth8e96aL)SR@`dMbJmXD5*aglv!%-{Zya0E3b_!i{{YViy38UKaKym)j-O(Oa&;=F(S1XUP%&d_^2# zh&`@mWq}FQvR?PsGi<*)(Nx$^nv&*K$|zVBk9 zTe7dh(VuUBeVxKsjDt_1+*d3Vii5sA12j8&35JS?mRxX;*!m?qkJne|2_ssNuNVJq zdpSAlsS(wp1VCiWf)Z3qcw(plaI?0s5p6;N!<-MyoIl#b|6QQY_I^4wm&58M$UJUZ_)sO&@S@Fg2dBIm)<_$)cDt)Z5(nuZk8cJsAG!IBB3O4n4%+ju}L%z(yx!{*z!mDQPlGm^azlZqhmLVdLAu1z&r{00K^ z77V8L&UE*5`Uj|DDXb%(1=albL&65G{&@s}Kajf&LQzMwO1Y}@pPga_fv&(XWbAnc zeCBHH3WM&O58I)>n86dj0r`jhAjk(>)5;4l5R}wR3L!c1c|7|8a3l({2Dlk6GRG!B z<+AB4rZUd42so4oqm?+CWlv5hSeSBT?sS^Dv8vrM5dHPKgU_PAaM|BTGVeHBIT1*` zU)x5Y;Hm@|tB(BIb$7-R6{SZ=V)lFVrC#ymfQ4<|8CLm>Em=@#l@UDU3oG*be*CAD zjhq>kjCtzzlP7Oo!^=9}@!@=zsBKUX257Zt4LqZ%zX|b09nbgY_6Z0@WD1(I`@3dgubVxX=zm3c#wk!>Jr|(yJ*zjpp9SG4)qV zrP$#FNcwF`CoU$cZBmm@l3p9oR;z;%)bbJ*#zBWF(?175%m)0cc_5`7c36jv04>0f zU-gPAMWWKJmio86SAGyL4f&TCZ8zudm~R@AEjrum43-9kJg@7%+NUCL4e?j6$>wV(5^G6sAF(saNBabPwv9cCM!~@N%8CrgnAIpNig+ zLlxVZ{6)nxA&1eRWI^VbFcRvx*sY6Ps~#q)zj{GHh!qDa+wJ0<5Vi?C=(tyr`cYn z2z2s>4mk&x(izANifLHBQHbppwec+lpsSS2zX9hd4P{yx!`hB%ld!S$QWu}DcFcpT z-d+rmi&j7GrcE=i2H`6l2|0sb2+j|9t0e{6!KxWSWleG>Svc0=K6ExEK-i3ea*Jo7 zbzQ41MyW{6S}8HE$9Gx2l}&&qX&6IV8pD$vnU*@&1Ok~kMB8wllcT$w%85kU4x1gy z65c+8UO*Ip8PQ{$#btaq6e{x{;UbNu2W~B-y7MxyG5{u@*{7F#bGZ^GQjV5Zo!sCQ zR8!5i_Nvdusa=OMnomPBX=OYs43C|Lo;l{s4w&seZdlfHjf$f-MGG+1hZN>w3Zk`zv`V6A_xtZU5K4E!x zS_U3F3orRF$9IYU`m*|C8FugHdD}-6h8EPZzZlb1<}3Q8V@Q#|Cu!jQ{r=-#c?I|T z*Ao0l15jcA*nDJvxvv^HdL#qUiKq=NS9^|)x=(!{xhrjoH)E{WN+eT^Lm%c}mrgVY zonP3rtfX1LbRm6Rl1M;Z00bQ~+#41oTvzT4j_0bQ1sUvB+-A^J+J>>c&g@t^^$AsW zrVbuUz@U@*G|VfCC3D039<%;dW-446GY00Zj2&c*ZOjf>W+MPRfp~$ForK&s!uEJJ zjZ9BC?qhPnI}<%;<#P1P<;I>C?$1-{x>5L^C;(&(p>Ki^-z>&<_80+7izyQ2Zl1_D z8gYKGs$=qhDV?qX?D@hiH5gbZ8@?c9yXA%8!U%4UdD{qt5{l9Q&ZW7e9A{NW|( z-Goh!4gm|`DYMA^@YPamqUkO$RB)kfEa!8}RTYPv@$xjy^XFM-0FdqHH_5~J`lA%$ z%W*prnL`4OQ~W!ofmKBaZwP-6eYaUL{HZSb&*TNY|5QWGcg+^kGTi8}{=i>bjciAv zr7&4^H7w5)6XF(J^1pZ#v{jqhWnH_k-iEtEYiC{*&EyBB0TAYKjWJLLlK20ncuU;D zYW`M!+`ROU2U8Rl2lvQsF7??mQ-wxc_0771?WT)bMUsGY12nrO|Hr}U=3(T}_1XUK zRmKO9KXQ!MSig>_UyZhHiIKc|^ABgoaNjl%{uL{65a`a8)EF7D-bNVNY&CmWwxA6Z z2_#ZfJgch=|4wxcoiDH-ZGQP%guWxhjNU(c$8sTlW>{Cf5o4&4c>yU>^5D0N&KY*b zy}qTTqIEbBQ!o$-F0FL8#+g?-ZKJhmQo-5mM3F6PpeEaX+r~%hy;vHF{!}3T#gTXU;0zx z)64sLYGFGrV>vim(m+~Fg6&A?UN5gw73Rmd3k{d@wS+KE-^YW8tD%?E7O#+Xe?H4O zqJlbOE-C5vUD9RiD{wE{ApTALr zXo_j)CDz6vG-f)SwRZxyqp6P;Fb*5b?ou~{8j*PhHQBG)&Ft#Qr+%D^0LDWmagI41t z82_>BQtH=!(+qljJ=S{IN)v%HXqE)0%BO7`twBfChOAjz+44ANX;*55n23h|Ixb7b zv@?ZaQJINX0zW|-5bYJzZG?!|Pq~`!mw}wnPtzMgoV24AS$;WpR;^wuJam1fN}Q%f zZxM-d4IV?+2dYm*^&dnbJ$C-&^vq}dJ=FFn;vFM;;PK8UHbl)deI6~XM7cIjgoyJr z26v(5uTuWOll<^bsitcHWk8z06l>|4{fgZGgaJBHwdS+BJb)q;r|~l06M2H|ag4vE z215#VKn>NPHP1nRSTxDox;%bQ<^qhDt$*Gp`xQOH%d5C9szcVjuKCLu&=^ptwoE8@ zE;KHtExmp_1QT+G@pl4Ig=Kp@&82*48E)9s5nTMJmfA}6*Zm$BfzksI0iv7G`yX!j z3hBR7Eo_Q|EBxf{*K zW4y;4IR%Sx_^lz!I09yU08|+-?^j$$O&{&%uMe3Gfd4apW^IDXe_ZGc0ZPx9AJE;#^Jdtx3h4IH)Ze-M z@+c+g-1KhS@%sqs09AI!ER0DFd$R3yOjD^^cofaUc5w}}Ee(yeCBM{3zK_7~L3sgd z^apN9`1#@O+sGj3aS1KQYf%<9W`pQ!(Q9(#5@ZO0sUM(`Nz}!Ym+h zJowiv0X?gl1er@yPU#W2&OGm&{&Bk-toM2D6#jUxHtEIsUpS$ACmfC zRqW?&A2EHb2V?|h9;k{z(*<6+>uqatV};8Cac=2B%-U=}0jqF?F7IU1pReF(_-ltR z#7@vEKv6%b6T}1iaXrBY&ZvG=OTS3^USCMyvXmPQbk&jn{n`<;dON%NJ2Wdz&RD2} z<%`v~pca7FccpmyKh8fj$4A|j+g%KlHZEyif1J6%leb8!E(d)*0 zZp+i&&bLz4N#!0KTG~>v8xVzd1QuKQvp4K9(Bqj(mdW=9v$XP*O+F*C%xJ_1!a>ae6$g2F7}~ukQH0B6PtnDmx{oolsE2`! zpthTkXXv^z@y~vfVc&}(gyjd883hcW!8!^zCSpNwDGtx%-i1mm;hl0Y8czbE*+bT8 zjW7>2x$47KX$i{E4S(!KVlLU)?%f>~&#hFeP4;g$YJFrkY)P!?-jEKg({ui;k#=xNVCDGO9>@}4z?I%?DNEi zH4(tiugKwDNr>;Nb{O6EUX%$u5%8>9{OqQlQWkC@1M-YsK}sX~vn_bVA^jQ1H2I%4 zTG^vwxx-tuhPT_9fIcQo3Lh8Aiw_BDy3s+CH_wkP5nsz-K8WCr6Nxli6w|?^*d_dz zr!(DdTZe(LBx)tKy0Vk{q#Dslh_tPU@%MD$TNO3_1I(pE-vmu!tIJQ zhz?YiVyr;grKO7JzWK0T2$&N{z7Drwv6&c`rCD5@#-K#^u^$oQqA8+j2 z3x*dpqWa8kPOr-r#^>|zA9mxO`S(jc-KPLRbpiW$R#IrrZxndIZhIt$Ivw z7qRn8d6>ijpvR7>6#>g2aGeHyF&BR}4ZKq+$(Ev~>7E(Sog8vrT~!~_Vhk+E3nQgi z<3f%QNWjnWwKYHy%b#$2g#j~l&Fmjq1>nVb9u=9p_QQlr$Wy0}m^N#IE(&H+2M||xo|p1LUz1Y17#dgt4)L?fFgtOK>zrKhK0eBO%nhl33jZMS zH57zR7%z&FNz3+p%xt;HQAp2Mw<@?zSVQ+r|3@_X65Q+#h@PAqLgX`eEL)0K z&EhOOiT-p7?yeYHWoE>mUlaftb5$Vg6#2z0*O(wC?vqk38G4HQuZ!P(|MTVC5KM!; zRn+)!y*@l&$%L>X{i?CxHD33tnvH`bysph+*(7Bgmy^RfJLqJ68GCf`vJ4*VVIrKLtt6BOVmp^gv&1-Dz=Yz=fJRMRit>BR6YI-D`ZuG_xoDFW6UdhOnme4tbMp(b{)g zdGzo=dP3qP3c_v*D@~oxDgcb@>nV`JoWPU+6?awM#q&4)0AjUb&n_o{IBh&St5XU} z5x{(uGE$|huy@#(l3%iNVirKY>a zW%w5m2f)5vd#C!)irTJ4KpvP6zOeyOqSu$)0slH8@bR=`wy1*7hbR578V}0STq+|C z1hxozSpf8xZ^reQWt7WSyX<7fq5e4w)Vpmt;AhAUlgM0Mc_O!J^JkA5abiUZAT~od zfHtZ^me%7?rwgE0w;Q_rUyp3PGst9|Ws~aR^~YI0i-gqC|Hn%r)7XrG4|5|ba^pPFu8~uAl$ec$fiU3c?d06pRS;UZMR*nz0Q?ek1 zVj+<`nll;q#4F+hYS$aKMF%Z9UQZ)Y=r}rHeJpd|a^Ysolvwg2IKrWns#=yQPX0RI z$AANjw)KKPM#3iYcr58?WfM2c*US#Stu!&89;#1Khm()(ruWEhr{P8^!#QCR!)Ihzum0s!OMpK$i&0o2Gp@Q3_Sn+Md9lK}lQsHP{f${g(QHoLuIP zF4stKTmnZKu}D&i*)Md17C;>YQ1QwN*z3s_?x$j%a}?-#IVMX3r9YH~o^}S>K!SiT zB!=G7W5&#%jE^+P zgefmdF3hQk-au!zndG1$5_M5Zs7Q3MDn~X=?K-iiR2Q0*a=`pPX0d&<+JGnv4X<{X z?Ml(%9qLpT88-j{v;>(cp3ISk(^QR!*Y%!$qBw{u9N+k~FkPy&Gna<}CizvfPZ6z+ zV37C~UQa=y4oe%hE6NRfPO6s^Cz*8yArdW(B8~9$Cb4SSV9V|MxX43XWHiBm@gw$% zRBLr*&hIYUUB%fg@i2XT)pXq}1_1GY<^K2C;XRZnU~^1ihTZ=Bu1cG#^3(n5^A813 zc_ao1_nvb&?Q-M+H zA|K<VmJ>?N;bslH(-9!GseJ_rFpLga*J5RLZY^QpC_pEeXSSuLa zFB)K>Kx&NVqDwXC>_abI`|Tz#rQs1NL|7Q7rSJldzakb_qLN3iyJvp1qn}nlvtSwUi_|p51SWwt$RN!bOVO zAYU=r(Xxygl~TFNaP&W-&P2&kTnnNIfy{1j8CQ+l)&KvQ@19K2FD7DQdL3+}yXGQM zS5Wh(cV+j)u3o^qW8)E>`_;rVTfE4XVvj^on&{5u`Cq{voUz*LPkq7QcfXq4Ab3(@v@28-j)FsnAX_ghsb|uf}alo zegOY{%R3Y?vBznp98-mm7UC00>c<f^c$H3wm zF)P6nN`s+sV3O61rcCj9N1;Y%1L+tD(ftzw;uhV<7B)u)*dcD16hEWTiBP-M+Dk#8 z!k91)-wdGN+{i!nf;{;Qs_9$U-)|549(x>%kweS8NP%fn^>oO7O-^7$Ryndd0#siH zp`7rSxPR_hf-xgID!9F*t@r`WWW)C9rUH{SIxTLm^>ylmP?Pl(pa6S`FbBYI$a0~A z{#a63p#Qm#6Sv$uA^4;`*ojBSxM5IdMAYDI?IVbF^95V$F7^}~S#O8tSNwOQYZaN{ z4j{^U)8N7?B1!VAZMHA%I;1IA(R%5VMQWaVse=t4NU#mf$T|y@q(VljC)?hrhR@^d z)d_4J9166U#qmrNx%d^xp*?m3h!4gYM{!IFG1+=dRjRM)qKh!8*DztxNeJIUF%Pp6 zi+n(h)Mm8K&LnG0sF|OM&P6g!$c-m?H==BsOJxM}vc^G^zkWmpnPML&vn5J@G(YYU z_N0_b3>Y@jCYR_X%=Z5U=h$mmRCVY+pC=lrQPYj~9Z+9Vpf(nAh#(k}DxB@pR7Tn6 zj_*!`&Nu<=nJL_Ey;$9(e(t~PRk`)-62O2rfYZkFouIKwzxS((|5gi8{re>o!BZfj z#|5x|;PQ36zRw>EifX>55Wo;X0ALJ({zyVZSO8fLAKIlcwzuqZ*4&cZHEF#s?*rte zij{Y{qXNN87+CUp$^=o4l~%U&(q>A-voQc25t%q2@ydtdrCH{7(!^^oi785i;9Y72 z5P-L1+78Ko9&tN*nt+qvb{>~L${FusxU-9%K%@20Z49jz{YM6dl3Q5C3wk`9QYx>0 z#?EM2Oj;#pcy|l>q1dL2vjwEx8gw)a%^L(iaxX{~vf@hO=-y`^oyjr1L*LzL$OCIt!+=DLcxy%GS>Bgn1LjMzZ& z1@0EH04QFR_1GLr!=zhe9y?P!rKpCLMR0FsQO3xqhur! zO+OQlUZO2hmmR3p8rm?IcI{@b;5rN3@}*gaeAxR_%>Mhf+2@~&_gnuf0s;iyiWkt5 zk6oXph2LJ3=?+;i_*K!rHV^#I3qk3CFhW!-B6)>XW;Bxjav`mQ9R-<~*GQS|m0w%k z_N<3EOBGx0Y;>ty%J{L9vv?@I%ciKT<6vXuZWr$Dp^P52|Lce9-stGPc0s$;LZ!IL zwsf~dio3P=bZr7)D1dFT5wUsy$5FL-R@ty^0yOT`qDzVetGH-5z$1%6{JwsJwGP$6 zKm$qM?#*km#SFkQD6t^gdG8v$w*vdiK%uG*@70Y=r3U3L>kx^f3}WR8ltMP;h|Xyv z8gE@UV(xmzSrx>9x>6AUf2+dngF_%RY21p`0rAWFpO0YNqO&dP$yngph0Z)g;y?s2 z!KFB2TaJEyOO-Es=XpM#doKi*P?1$9CE`14z!cTNC^5&D~vS`yXsvL)!0nZ41Q_pEtps^#BD6){ z)ok|)lBIQ^=CZttje@zD8n|qmAVJmd+X4jfw<@+(y!yKs0&^=+TlA6H zgBDg_^O#`%2}(HE!&OO%#P^O=3R2G8iFu6lI%4WZ1UNu)5>gx>pitq z&2%-FT#L4XH8~E9tNJK;ve{R=>M0tPUMUg%GJEwZ>K(wN(n(VB^5hzGYKE>sYY>~W zVKfkM4u5APWK~I(WO`Sbo2b)sZSJ6Ho7F=Zg)Cr-0T{;uQ zL6RVHl1bu^(iZ&vd+&7fCHD#{0i}U5CrDDz(X+WWt299vUdLTf+7NFQ;;Rkk*$KSt z5AwQ{KmNPQ0C|A?{2Zqwwss zRiJpfm&whzdfAr4OzKD{;y*_^o#TmIAf3 zQ8c2t-e|}QNlN`y=ywv4F84K_@(daKuDEPXr6tzPmR4IEj1X?xBJy?O zt#SyCulYvH+G<e*~T|fc4=jYjjO#{^n z4RGKsB0vAAO(uo3c=@kY{EGPF07TwPfxO#yz4Y4R3z8TZgnB z21XvjR&G`j((}g8tPRNaESQ*jk7@JL?~vSQ^#O7`aLKxgB+rUcJwV*Dc;L@n_euaK zoB}6Fa!qq1^`6xLhivN)=F2l?mc#q+r@QrPWR;|5Y5!SFHS66;wRWmHKge>k2bBCp zkr{7X+vru(Z7ln@9h~Lk@G4KatWhwTe3jeFh6)@!w}rH-oh$%DDgG{4_)06MHSxS< zR8VbES%5HK7eBxv7935ni>K+v79&j#)B4rzO1+H`Q;O*FHx$lT8jHv@L;$cyVr2a0 z&hlrCQ+|JT@`-0zK1Y?Vn6bbJ|G z!P8lyS4*z%W8URg$Q6!vch4<`;0F?c>~6tf@>jRg!;m{G`C_=0#I97EV*-4XdIbJ^ z6qC_4K9@yOGaU8FgYH#JaSqHh9ZFi;WX3s1ciqo_v|XEleN|^bc?d@U;PPyO*3(RD zy-onotn8qSKkO?|>-}m6^3O4_-hZtS6|0+V#9{aV03ZNKL_t(xu+34WEve%{zbuWWraGekJimWb4b|7syI&Cex? zaD?8ew06X)5w{PRb87+`uf;59C_=Z}`|s~txS(tsHA{?ZapBHmzs7)KiO40dkz?xr zm^u^Xwv8wV;vf#NCHxl1gV{lhq2Hvqp^Vww3WR4=;o1TP*+aw zXi$zu1mB{VKTOr~yGo2Ws~ZYx-jbq}O(qnd;T)&+6)S=Boy+B^IdtM9F0AS|5yHeM zMX4+aLq-GwB37!SqBie4(cq#3AGn`Y8(~Q$ZRD9|YrPndk^(&bxs_yVmW2-4k)c#u zffp)(xYb>#2TV5^Avh#Iu6sx_PucmeU!UwOz&8B#`SxgUvw@PdGeiaDBxuKpIfTyI z$r_ykC{@m!4Fo1WC?y>z*Z+kn>vAgH^ngy@DP&#=yVmiB+p_qA<-f-l`;}cZn|ESbj4{eQD`g4u6WuQC5g&d^|xz#GACFv7Yu33A+9k}Ji+By?rSrM z4F5I@WxMmI-MIbRn3VL^4f=Sg4 zv?O$J%Ht@ln3(<`(k3*E$o~QSUMJ9=4*xYJA}`;*!TaC7G5)~2j#!JH@uyO=7wY(O z3LL#{nt7Pulr`lve9Ua%$L(_Y`FopJCPPY&*-v|IwP+R3-B2U}0mR!YeLLY_-v4O?A_hbce75IPuYl+0udi5+e+7#H1?b&o zmj_&;i4rEf-YlT6nst7CeOx*MSMM=K&yXrqJD`r@&R)%dDiAj~j9y>RSW||enIk}k zC0ovllw)mem<lj#cN1gKbJMU769_RIT(E7{9+$zO94;iz%11@^uB6U{Il zfPMKG_o}Ac(`9WTL=833KEj!yqcd1FQE+QQK7=w9fbRRQP*6~KUE(qL}C7YTob+~?%C5EEY zGkj|4@E>PQq{=61mH+O)|srKcf7i}Ud9a5rUda(Q-)nhoNuM-ADL!Wb$fZV!{hsQEBD9Z$VG`o z(fc)F6d`do)7r|NKbJjuY4{HX7Nbj-^5+^64opk0D$C2hzb7?*b|It>Q^^@hMp6Ec z<=mJq^UpUe!P_k5L+^MaJGlY1L!mU`3P&Plq}7M~f_2jE>g@7r7TUkTwAI(z*~{|L zQQO^Lx&Kq{tNtHV5m0}XJugj+*`HT!?0-c9BsQ~J=%fJ1m+uFireE)ZlXHa>tYVIFrf560L?Fa z3`IhPScF(ZCWp*%`esQ6pe1D&@uqFjL?^fqk;*&u>nzXVoTL?lkMoUBxSxBo)UK&y zdm>bI0%^A9IWLA%&h{iiY-f#;C^@jr7f0nni?tv7Kf4wgQ;dxBvH=>j7ChH?qv5Di zl`D!u-&|Qtn^A&woLQLn1MVdAIAUmUG`z&)&`Bd2QK0E0j9fR3&1d0&bMx3rWLnN} za!n7e^XdGIA@coP`^FZt*suns?R9ImAHsTc#f?tVGxF>;oTpVIbooD)Baj ztatx;uS)wcfXe}J(*Dm0S9Jk0bUxz=V*d!ODge%t6h9@SajCtR%nGR$Ezflq>(cVH zugl{hN}k)0rQt2`V*iajQ|y=EmgC77ioU|3IbN>wJD zQVVf+vZTSzp>JT3Z+_&`wV70&bi=M2BL}Hsht-Wjg9@tE9?mjiL7B#~&dV#A+n`W= z7_}N|9l`o>N%v#lw2TmvP#`h>INC2+fsc=|oEuNa?s6dbZ|ytl#cwp z@R_OF^NliN_XVO&MBih1p1wc;cpXDc%1|N2uQSS3)$?T1>kw9UCm^gtBd!TH-V;BY z+7p(FDt8Td6nhya_i3Lcgr^%_Yh2={R?#Cor?#^k;YqTCi9rm{dO23fkzJMJr!XJt zQW7iyQhi38;w!WGV|b^gNU)>~4#z+!D%B_}p27C^18ZFIFl}c4T5^l(r)D~5I8oMk zx#q3fHT_Pnz2x!1ezxl2#>cnNUnML(cyJ4gP^uYzVG0)G>lsdv7!m9=FOUOaRrKS< z!WL^#^DL;qj?an{>_aa;qj?hO*hQn5LpQz&yUIR&*Q~o9K|-emAI%u0L(|c%ANcC}X>aJ0XhyF~1%}XN z?c=z_EB*fY8!yru{efnBG|i?LlDtFamV(x(NM6{EjLqL`_Wr9{_*wP$?*DTF{C@Ex zKQ$8L;wKNF+V^?r_KmC|BX_T~3_dOVy=qdSz~EPP*>u*BwQpm_Y7N;ft`ZY!>pIhg z8Y-s1^4HO*Gr-PRL_b}XqN_vQ$0369b^5-PB`lM@DTm&e!^BI+L)!iiiE{b3I0g-g z_C>Ic8ZafqmJQIBFQ?FzuFoX?KA>H@!r?B9k`61?zop(e5%>vjK4K;>y&y8#+M@fH zsq@foBT0hb7>qXnNYLR({r_iPM`V+C+Lhjup+o}H)m2$(TqA7Ntj&g`Txk1KO{$pS zc6Q}o8k;!JbW!snY*-$He#mECUfgSti--e9DvCCLm{?*d{fj7bg0cZEPB`MX=EFz+WeggnG=59K{ZMB|#Cj z0lvJ+GjY{^MmKRDu4Y)T=u<5ga5lH-nkpd-7BOnwGkR;Ao$^}?$OD$X8+=8u+kC({ zTLALPY)-o{nr^H886;+&u+>h^#FH@{jh@CVYFH;@UBp%cPmOIOou?G%;WEgnmY8`d zhxmCl2kH4VSukU#7WJ9ZA$^p48aLnuK`>!p)1{1C-%lI@08N-P=K1z^Khy=3ANtDu zF4bkiTChCAgLNQuwpP#rXO&(fEG0_P;Q(vMPna*?R}u*Q_G23H<4O}al|cX&3V=E0 zXwA}ks|f}$7LhSpUgYeeY@cKjQR@uAXxJ63fk4fc?>c zf0v3iUhwNPdfZP1c4wV-gSjXqPq*7>d&8Xw@hd9du}U16XApUz!wykR)s2du^2fkw z073T&g5+3%E1F3|9IP2eJd*#z%+KuBB0NHjg+oNYn8J8=hIZoOXNR%2iHSB4k9RnE z1)Irul+&d3QBt+Upqk*=_{%ic!cdwrl5w>U$nbUQ)x#T$IRX((7i2me%|wmKHMh@o zPS+RGG4iC_O9cVz(#+_vL;OORI_`CH__)s6HmF|23DilcZNa&^af|+CL2!8*$3o!& zwp!_FVWz+glG9{CX!X!z|GpZJ?x=HImJ~ch{1Mf!^Ac@jr;NIM_A9w-rr8HwR!)ST;difV>$SL4I!yBz zn!&-x&FoD_MBFt*Qk;~^|1{39cyt#UmbzQsp`}6IPOd7O8n*(yRog$vSuUf(_fM91 zSb~?v{E=oJD~K|ww&!rs3Bl-#P}M%>Dk(_G4EM8mU|5pXH z^&n5gRKe={p}J3Rk)#WM)Hs0GuX^==)`=j*;EEc)vrBl1k5S*(WDxmWQ|YUkRuqTJ zAMb;C-&;M-@L!ft=hEBw>Fzt-Uv%#XtYct9i%3{VTZALiE z8U^*j0+}~)@sa08^jN1||LP*mH16`*FRd{L$6YBffsFTnfcI)kepDX?I*X*)2r6!> zrC{fc_9R>z`1%hU+tLNvDz_UZljSSg%1_&QyuBUj&VU0YAS~xul1wxBK?Aw0b%L&~f3Sw4(zlc^#Z4E41 zN>AqHRp!^FxlVjzi^xWoQk@Piqdzk-*s}a_XnzooKmfmM0RRgujmJc9Fk=#+hq)M2 zDRX^%s_t($mhr<(^5ltIk^X(3f0%u_-|GPIRnx$v_z(xA^uPLky~jfH{g(ywl}LcE zY64z+0bPYZwCoo46Os9^5 zX$Uq1{r{xG74mF+B+~ZM`{=WM)J=SMc?jNa%#590(}St;E1T+z+>7&oJixOsY#vBb zXfMoNi^O!_4Es$3X*44bd8m>UG9s+~Uz8b3v}${t%+O6{S(}h7;f7P}0rQU})Y)gS zta+)R!~aFNoHY!JqnC7rF?K{1S+VhFYY{Wu>u%B#1AV!}%OjdzMt{4lcZCHFu2ZNi zd~Dt55zLmth!HH^PuF(XD#wMf{4)4n zMu1ACmWj=IM#p_hVE1D+T-Qgdd|51LbRba<*=@H!1c0Ss{PN72DL>=QIC+#5(mM&1 zwuPk~z9NG*L5A?yv}}QnjW-?K+Q*%DEUk1N!16`gnCX24qN#1qf^qbsJgbu>c*-Fup3MJG!N3>-LK47 zj3I#m7J83M9}XZCbWDqE1j;M+Ko|hH)(;wWb}IUC_8HvrDYHI)Wj~Oul_c9Dj0rRH zL&6Aj^&aP(EjGIl-F>geqb|I#O2d~l%l{nyh`TwJr@el9o6;ZWW7O9(B$vWaii^mm zjB(R0y?Pb}LqcAM5zK3AbQQE<+giw1IMDm4I`ACG?J??GHj_h@_;Bc*u%P0X-<>bk z!!^W&0Quoc%d=sINfz@h`!`Ok1%N&*i+D~xQk5jN9Xi{-1P{1@_~E?XCYJfAq1d;~ zL&1;N>V;Qdrczf%)*Wk@66KMY_I3nwYjo=y@_m*`ZDt6Ij|8B&BPFpR(>K<{gqSK! z!HvRz!!3bd;I9ie(DXFLeBWo7(*%Z+6!?5JgcI+`yyh~lUKD9z;W`;^e=$`Yw!uXc zk!8}xZBzkM9*kj259Vb8hmNC6*Gq2F!bkoD0>Bw}pNBR%Cezc<_kJa;WpFt~O$X4w zQ}ERBDow6~{O{e({jZ(x?>3+F4V4#vjgQZ_&%^<7rNaiQ;K1*x|Ib&w`3)C&*CL>j z2TxL5Hmh0~Bp8Cv>@t@))_~cRb67gkotG3}(6bd>v-{fWL%({ig4mp3>Bunt7~ z=#KO<0>LYvLeq5KQ{}!=+nbC-iEO!m*|3)@i3q!@3lyu=eUsT=fk62$V&^S1h9m=) zd(lYc8sDI}oAp*zg zkRL{_%_I*j``OSNY3P;=C2v&NaHwJ54u+|yG4FL~8wb4{QUF{DGNb}JwS+s7OsWkC zlc@H96YaphgZDP&ntzZ*HX%4z)Et!-p>)5T_);mj{(rt7WFqU~65qkp8tZ%??`F^@ zo^YfeHWW>Bd2;uQ17ayq%8(=_vkI)nU9X^-jBU8g=6}d2Q3v!<<8R(7Z|@@jpw6J~ z@l-B-zB2Xq7u`(a{ZBDR^#2h@fzLll5!-;*{9L@CrUm0AB(+Yed1T+^^5sk48z<^6 zc{mWOr|T})(!|y4f+lAeu|=q+0<_Q+;C`5>x6S@UIJaECu~2*Jjy!{LlLuM;N^WjD zRYqyfB=$~>RV@S=8vPj{P|N4b^t@QxJ5Q+Qh5767)@!mDV=HJ}{74!ena?-LEQfr? zM20wy>dv#vWIEsO4#zh4M9%cgLUgHq-nWXJ12kdR;do2P7s7x~)3v)ji zc}YituW~iHZJ(#M-2JWTVQl2gL{W9i@C_6KOA`qeMborLHz*@ijd^)Kg+xW^!~kTC zB{d2#r)5?vtpqN73#}8>kA_uvJBT)o+ag!acZ~o~78di8@egOo(m?L=Or%(IX*;0b zk}AKMfcaeh%hY+TIgZ?5l*ODChU#w1)BFC9X`F+S?VX$bCQ3yDh460Xk_ z=puCU1zpxU8OYTE8v`!f^k71>;m^0_zXLDF4v<>RG7;j-M_U1Mmm+JaaB}9y!4R1V zGy}=%N)h~fia)X&0CFksnsFEze*()J*Un9-Pqz)O=`{Xx6Iwp- zkS-BW<5sVoqr$vX93&^J=E*v-OIc=!f^jRs((6I?VimeW6w=H#=YK`Qw*n&lg&8{T zmJ`D8_6BprMOraJVp!Wq(j~7c1-<^g(>9!{%X z=@D6^k9dC<71;AV#e7z3UjTsE+AM&rv z9)$e&w`QW>X%J9{fR7|x#AojDbbzQf_j5N#1jE#;UlTbE5*DHhTRYDbcn(7h zaG!B_!zE~~i&+Hx8`Lk!NMLHG zL84KF$=)c-7(b7GV^jk=wF?d7XDh1j5O733C&_Fz}z=-;MXxZGHB@E*S%A;lx1b!3TJ5TyF);j$H*^=;OX z2`&GIR7aZwm2ynQGA}+Cs0v^87gM7F6z)-yE<9ep7hXY2NzqM|C*j}6uQRF#dP8|c zu7;&K@*Cn`=5ru*(Cu@iDE>e@{r!EDilQWGi1Cle+FAPv!@O#*v-)VyTzkr9Z_i;^ zGXpqIyeH|);^=wD<;i0ZEI~5dN-6`v=I&S^BA2vB)ZC^~LUeS85gEXPoP%_@202A_ zPMlyrGF>%&ZmYhq&%DdGYr1s?E~+4l2>=uT1Rb!I{f6c~z9(bq!Nngdct9kX0P*yj z@a)?KhY+zL!~n)Lbs{$Q8=@%%HDus0Yn3sC0$UIzo~CPBXL=5Y2l3Wh^$68)B_6rr z_U;?LQ|XqqeIbX_M&oLLrgpc@{-2MiU*rV~0HgrbGc^Mo>%%3Wu0LPj>=9FN^Q(G+ zq_oJVAE=;#%rH7^ae#41gFIiFpJ;`z$dyBMNRIGVb>ujOiMFUWwvuHEu5(DNXu%^A zq6uppk4!t2Zfq>pqcDo0y{4l803ZNKL_t*JdcTFy!QNmEL+LQ!pB} zGq+=+1X#`&ONOmf^&dDBeCFJExko^5XGnGr>_znY8f?I#HUR6Jw2iH~+2e0B_G2|^ePKj%Q74d2)df-9nok29HO=b`a|o64{}(p{|%_u^TpHFQri z_J>V=PW*vmc1NYQknU_3tbZQq=5}Zd=NLdPfh)i+ae?#extQb8%G*X51 z#8cYi!5*rAdUED^Hg9c$SQD9*KnoH8Tc_p5{ZX_C#Ry?iy&PU%yin1U&ved@VYsJO zDHX%jvyGL!9v`Rw`^HXy#sAdbrT|+&q`$ZUb3m2$0E?9EQBLq7Td`6#sfETSuBzr5 zx+!Yu0WBGZ)NPuaC%Ge@?y_I+zVG7vk)ny4JDRC4y`B1 zlr(&D_y6P=;BFJ(BESOTE7QjRk%4~F6h!B7{JrDl1%$df{bNuu-YzQZ_iyz3%wA`m zp;&MCC_Q-l)Y(9oD8qzQIL01Xa!g^``D(w3XNLv=OHJDKGc zg)&$Q;a?Mf#jMXL^8j2a@s!s2eQ0hyxqU&~7JY~Kv?>t}RhA}7=>>9w7yo!M=mJy7 zWZxboUaxl?zEs^s-_EM=RpIZ|NmP+!hhUCFPpY@OaGA%8Ei1EIt~eD0u+vVZCwl&S zor`pz8Jhhx{^E2I@lB64?Jm>fo=G=6T6z)o`Kwi|>45@ab7d9}Lg%U6DN=x$Hgj=^ z6yaLpweLQxEBVku8M=ZoI$m7|i~v^_sD2$EHuLF%WlIWBvnBf4y8oHrUxxQ2g!V`) z+oW%=DTJDcYP%d1U(5{WGAB)%6KZj;upBrOCFF1^HGOC#x~MC6z;Y3+Eri6?|)UK?oUdAWc=299KP>MzWjHB7tsW{gJ!N)01RC8 z(@9~0KWQQ8R=~<%7SSuc5T3{38#dtJ$Kr$mU)%(@2@(bM(*@lxZH}Vf+#{(vP3DGP zr3)Pj0;`{^?Q8?^8Q2Q@#O&%RcZE?*yS7{=0KJ7PP=Bifgf;CW3*+u+L>jlRJq(Jd z4&%m;a_UV>fZ7`ET7Oa3VRE%AwrlwyA)_#-=!fK3yOFzhMFSGxpXl>1*Kd!RJS(Qs zrrG;>ejG%odbe}{ji2kLQ_bDTB5l%*PG#E#W5z4Q6etmBn+!o|xNF9#*w?tRt60fB zzbmViDErp*Wf(v2(g$$?KAz54=^;iEx+fCo$*S~KPe`e>t>gr%>41%JRhMhiwdka1 zV1d}um9r?c5*eor0VaF&Go9`?+joIL+NzPqw5$~+6yNHFVQcETdi6v@wI&336We{S zd;&)OWlT3H$0RQ?=WGuk1lw6~Rc^CiV(j+A#-ADz$3T4`7C!b7L2&=+^+Ix{e z{Y@|{iv+X*ba~^(0M0*YG^;$MbDA|pCzyK@Qul3ad4k9QtU5cDQmttz@_?_vYTEa5 z#|uVLcP1`kuzr4C=^Oax-~TfKC76@q|MRq+{EG91&>M07OcHS>fbJAY@OoB4pw<3~ zaL`Zo4CzDuz!;SoUI!3rrssmY6Kxn4svB|4E_6;>`Z5$sG|aS_MlaV)Xv`DU@tA;) zZC&iJ`uCg-?8uFzktA>q45%?(TN7(mM z)J@HN>(zmW06NhSL_Qz@2hn|$(lccwULV476zySw-6B+Y8nF1>f-rA}wb_8qRxb-X z%F`vFw@XA7U~TN(@;99DsOh-={Jhe>IL(tfrS4Nx<4nZMrr#1Qo?J9ANf7}HOSO4jbWyI2R-#pG|R{sz2Mai0?4O%d#p;sSodqAjZNDgoW4**FG< zts{Rg9-*CUW?CUw=^DCy9D{`nPr!fR=rRZ(zfApwA$D0EPa;nV^puHH#J*l4^a2gq z9{UZ0Yf1o?<5OCTG4k{9eTvjF%0N$Eo>xBOM%d?eBX~ z@@OqXXYIsziRJ`)IgY>|GoLD3=#Pp!g>XqSj<`kxR8mj`_`2gIh<#onf?X+or+=_; z&-fGH51%HoE6q(HR74T84Ke_Wlb-2moK~a)xn|3fDvZ?M_UX)VHEp5APB`Qio!0($ z$F;?sz2e#MUtq;*wWm#3(I?B{)|N4LbpJ(swdo)^vKLy0cv!g33+6&~H6CF+!z&)& zEcvQYaJ!J52f=?TX#mK89XfQ`cx_Ts6T^cZ|Moh$btxm_TQg=}?e6u~#ytR$x~_#Q z-YOlCY>l(BQxCed@2|(#PwJE_aKM0)0mzYlq$x^#ie9cLXhDjqadkSe3h_l5jYcIM zmLnAu^A=2?GE9R@?W8fR<`{08;?@r)uX`A;{`j7^xx!>pAKWs<_?H*eDTF|sT-_)D zJI58_TXBEX?fsfMRn0TI&)RE7aNh+9&~f_yar?t2B~Rv#^Fc08(GNxT5(3eAoqa|D zDLCZmsHS|bWzNkF0~?^SFm%}7PwwFViHGgQ0Tkbq2&UOaJ5Iw(KO2BGSt93}3M3z= zAWcZ)(Z~nnWxlT5V-JW_MTs_EquK+sC#mlfwdeJIiy2nSk%hqi_v+Oa111Pb(`}Uk zAOhR9#M7|}AL(XOKm$A0<%sr!PI!hoK*VeqC!M@4x0__e{rczESBKmkpJN;UL)4iq zxse<}u&?S9eZc^bHa4UG|4gNO)^KI}Adw<>aCB835guupJnl~(l{LsaYx}>3{zWl> zd;WPRj-p26((~WR18W{pa(VzHOFN~iA42)aJ=m?$91`vREX?QGVlYS_2RTLyt4qfv zWIOY^rpBhHCGDfFtt!=D#ybh9XyZfs{(5N4@>-vbNn~s1rOd#MC>6Qe8rs$6bCNja zjzW-rPiSS&l&`cXDo;eoNI2jsd__%wNIAGcG6bt7)bAdY5 zX<8LZ|M{4Z!=__eqQ(?ZvCBKK_m^0RShh>?;E|ZW>?LZbgE!kJL)A_wx&{x zuCpD}v#2tbgN7+!d`k|Vyes?jyMAr%-}xS955S zqkrS49P?51nvc0%L^XSskRlkZeYyf_qvW`-yMNh<7zdo#6fVPN>^RDE3n#VXBvFMO za0~mml*B)Rqr=tM3a8{`+g;)&qTXwy&AB?sR8&y90ht+}hN1~xPeJc_8t%yW?Scb@ z9W*W&qMBz%-atU%Sq+VBOWdGyO#o7OWT(-vuv*ibrkM<8rE*rZt}tEbqWOK9bUBy7 z}Q&O{s;-+S^hY9eqUX}@82K+x%S^6jhX(vZ|Qdo zIG%|GP#b74FTn?Ir%_tf_`yf6`|0~E@yrYZt#cD~e3bifSe~aIh}I0cM~>&>Wf){_ z%1I(TM(EE`lOVyjR0{#;FTclzcjy$h#Ss8*AWXDWkuY1cNF1WBjwur(>yuVVa(qhHOtwr@88 znkUg@H8&cYr`S8UKvxws%Z7-T&=8QzRsXK3%l={i?-UGSw^veKuV=LgT$x>DKqIsNnHH0nmt}yv%0n7Y--|RKIlGo>?WhYf2_eYSw*1~$ zdaV9}&G_a%IO&Us%jqlP+rUggxc4k77=_6^os?R7rn;`s`#*RD@a{(mfO>#LhrtP; zmgT5M&Qg`xT|!zncq~aONtA1xj|#HIHqvwq(f9|zt)gY@nj8&SNupK2HQqcUJOALw~F8=>2;Yl0{AaM9XK zJuAJJ9wiQ_xI^bA?(Gw3TD(lm6H{sAA3frLVvjkUrXDRMp3*CAUCn)rOR0=Xi6PW! zt?1VzL_}>gznWgq_U6IJ6To5L%cJS?4eQOjRNvbhEfL*P?dN*C5UMtwa*oO<05El7 z>uTV%qSl(EEw;9X98d9JKh$0e|90h-=*}w4<4kU&K)MA3k5LAoFPhGUH*`x#s3@e| z{aHR_%;1r1>`Wa^dEZ{wUbQ4hpo>6rY9nmYT9e}SwvUD&oJ5Xxo&;&w%Zw=^z;rZY zhum3^F5pMc#b_0Q=Y-Nb?~+E`T7nqLO#27_w}TG@J1g`Nhh5UaQaHhU4=kc>c-& zD&85VlHtFz7Q1n)kiF%X=sV5l>w9QS`YG|%V#I8=n8-@4cWZY4>R8j6Blba8-X^tL zDY=h7T|dl@704LAJb))2JE2XIwT}~V3r81CBEf&kovs8 zXwbC3W{<}hATu`C5!Fh3o6N@mun9)Qfz+DRO-x*jtk4NyTEaPA5^v}IXw1+1BH+h( zk2ld7Dt{O*eV*#kdHyv8#)Hjv_R3t{Cq#t!E66>*pLtGSrl6UDe6Kal0MHG4e4JbtmXrMm*zE5p0=~$7oq@Jbi=IOgA(;&+Tq+=l zh==Girff@OuubWeL=i5D75`eX7mV7WkArSb2%=-<@t0wffk=i2MVHG8a2J-o+B0YH zNY1yw0^GGU$VW*C5p{n#ABe|Z@wO-h#X6}IVRulHUJ^RlQo05JP=?LU{rvS(cnS!h zPh3G!h=Fp6{n0q%-pZ|@?^?WR54u;5p5Fk9%0OAu)#DtVO2_8F`Mwi=v#D}ZX$x@Y zK~{e=|Kq*SA#f+e^;zZpD3954?4~hf&7k`4vKlh*`B?=~CPym|f`!UUN`(69mzhAD`PXduA+JW2TJb3;rnd7>iLJc%;e zxlfoYL72y?0fvT?D8zNI{t^!J7yHdP7+z%`xA)C+QDn7l*n{Iqe@5YdJ^v=~6TvJX zz&8@@`-&&zd%Cp%{xLA;s)S13^7yyR%f2hwWF%R{W`VV8^0xE}}~it8o?6*^2xnIOW6u!T2o{DvgfJ3~;rTwK-db{8pG%7Bsjf zB{4FYjW580(bVp{12l)$dygxjVOKuyah8;xrcT5@oz{mb-ksF%zwuvt#Ss1LASL`tK~ zuy_-e1`opQ3=gGhT#nOX>hes@P&6M2S^mbC1)BA=3picZ#BpGwOcUHpEwS*dkBi~) ztw1AM`5Jh#>pFB`#LketZrR=7ATC(N(*d;K^D>ihKt(kk88N7m|IkBwB=*L5r~5aW zECUR30!TR>Z&kb`ljS*!$OJRX`(pPhs@#kcXZKXx{sJxc5vyx&QaoRcLP4m$ho6m&6kW6eueLYE#(L2V#T+O2L@_X@G=Gl5?8s>TRir5MZSsPBt-KHcQ7YgxJJTyhRp7-BzyNVDP=k)S<>;t)s2S-QpFOjZH;X1 z`84AsdXbGKZWaA8?H=d*t070^`{!IJ5=K`XjGR7ygtA}aeWLciaFj^>yhXCODflZ5 z_`S#DE%f#vPLi^rqq0iH3iGqin?Soc#q+~ZVjjT{@>Tot0ztbY4sQ> zUW{L6aCOcIlAHh>anp4RFSswH&cyxjezq&()23{7wfClw=|+W4Oa~feCbeS!SJc04 zOQq4~AixG8Z9nlb*gxmW5@ z`6m%ob7J{nP@7rUsJmt=$s_cd0po`x2&N&J{LJS$FI7dRnO4LtivWyb){l45L_#K) za6c6}%1J}evjzHIiYy3E(1mpu5jQ*TN&yFz4_PF~5!DrL>=FgGVI04J+aBFXzCNF| zUmud4hY`8zXwKSB=b&0%@=wI?*0EQe@6WiApRfY|oHBaOyR#`oSIBaaccW{WhM5Y} zrHhyeY+_PcCW4)O5_vBYCVe*Z&c3-)Yxg|^KuAomCwgsGk)j(@4;$7F_t!XxM1@T+ znYz~jTfu}1$77p6>Y}BrKCs^;tLZV&3fFmkRy~6{4C9?(@qCIyGB$~@IO78N{EZ7B zB7St6`!N1xT;F(utYzCHS_o7gAaY>3B@~R;Y?g{rSDj<7+N4?&vN{}c#LmuGaG5%Z zKR-v66qmxjr$5qB9TJ)Fr8Q&rUiq!(nUWbf{7P6MaG0i#kL>#B1yeRCnN=PCjttRu zDT52=E=lXs$9Z2LhM{K&bR&xRrKzFn<)^!;6|KaoxZKUEw z;fMYEd;fFqPue-87@l@4_?+*TQl5Awx#S*8HhIG?495&|%! zEf`R*MfDbx<%C?N^1DDJF^lCmAiNORd{=s)&KRhTS9NcCy4nb|@!|@!Fb0^FsX9}F z!5zMzJD|nAcQSqcLA*^r;~!CitoQT^b$PHAuyLgacs}-XYFH?0F$@i3Wdw@QD5c-O z=v&mUx9b%TgV%$_n&{_IRG_}7*fPc|j;b)LKqz0lK6O zF?GE)pZF^b0yt7}CY2);v-$c23%lC#5N^p~-Dk89mj()A9N#}|TX9Y@x^tzaIL3Zd zS%GL(+c^)kZ2xaLW2wRMm=lnZD_JL_o4|)WJVSoAX;CIZCAoVS*yFNM z^mylhxgF-}O`({GM;eqW7TQ#ca$Bpf0G>#9(><_l>Q2>CH zozl|`n===)jfHxYu}v>xS4ak@c;qkeP-zw6S`@0N#-m^#2DV=VhVbbf=%rb=xnSNA zZ0xm2fQej1A94`LRWpu{PrRkqU)5DVpZAL38j;URfR;e>44rbLHJGB8di6AolVkR! z8n`+G-_h}Zv;wZPx;~SF8H^5UEnye&MHtXHQ zSbtnQG+k)ccm$FAkxjTh7del8H!sST#_lYN{tqM}*Nl0tID4N*LoxT&sG zS(F8}C5wves+JGdHgHvr3V2g2Q+h8-)l0fMD`=6Xg0}doV{hq;x-hOH*+&s@n>?*L z45z*2lEBDzM&dZW&k1%;PJ3Oo7gtge6Us@IB&MVuO8O=pr!7|sEsYaX z;S9oaB(%atqfcDMK97qmtcswB5KsMFPy%t6AG?-@@#{Rl{@_1)h0yC_rUp@_r}ycA zA~vgo3(gy&fe8jN001BWNklqX_8x;@&hFw*l>NksZ2x&vO8;K z(WZlNq|j;Z_OxblzIuvwk+ish^WRe+qfMKv13xFL02$G7o4azu*@1^PqJ=K@0;^{eks3(^D|vDet?_juk#Ct zW++`9k>?HiS*9uk1DE5d+XO!>gMQ0d)sZ6MuFWJxsrgeN-gPOg)maC|iF>xJTcWIv|Xzmeev;@w}jHDY%Iy}1*R)R@(oe}$2EEi(ZO=J$rvnpddh+&F6PEz@YD}c7U_KRCh5^ zyli_`T;#ouN{_k*Z1-vsKs|%3ak3zn=~nvNq~_M^QEas%alO_i0`PWeag?v1Xclp4 zG1Lkv83eZQd0%oSFwf19>s~(==qmsYTumioY)(<3R+%oS>P^XcKV2?dlU|i#zM_v6 zQ2<#+3YU4WTM~OAB3Z(RF`bg3ga#WQEp`?+(UCm&-#_>5XRk_o%II|Ni9GR3>d1FF z_!DO>HWmIf0&9r^WS%#k)TamHpTBlviPNG9aLb~S+62?+al^#Zs|rC6^^)U=+-}!s zno0i`yJ<>n#%zk1UYm8GEm%jW5fgY!3=+E13|iL_rEc6DkwlrlPV7uHvSmt$8#Xs^ z{Bc0@ABMmzz()2udDx0Tc#yUpC1uf8E-9Pcu3yvKRZoWK?8O41G9F(VufE@LWg)r9 z+epL`I{~;J7;9C7F>B#&skQ)$@v~fBs!ceztmHULeX)LR;(4BmGc#Si+jPajOdX5# z{y3^s&Mv0*Kcdb9$&Dllg00a4Ee99@4)_1hymZe3Z|&^XjO21ucU6iA4~q$+FD+?F znwgLK<|0JPQgWmi7*7|jDT#v+eoT`HjIpK}1&g>=6 zCij2u;U6RbLuo(0pP4K9nc|aqP!-|uUxR`B(d|0^Sp!sKi3&?ohQwgMo9yFhCb?7~ z$qqFy;QckyMYF_5tj;fz7=gXI5g<9>(mssn%lEIz3EW(0{d0Eaj;f49_l-}AM`l}P z`Ya!J>>gFL;MoH>Ce(vO7?|P0M6?UF%t4`fGO6C+$LEv9ThC_CT@B3RIIwvL+er$% zxl;9(cD@ya)bI|e$cujNOrql4kH3c7A)!mK6N=g)&gacqGk&%wKZ1(`0Q~2PWxzo| z^k&qf!|x6Y;m&}Mr6*&zZN`kRkGIF=+{aajw0?KV9t{ACw%^BVpQgKVz?~l8^#TY$ zP$F&FloiCFN>{=<5o_K3^&%#g4T;n0#U-hYmot*h9zgYUW&_Lxe9;ytR>D0|yUB=M za&fByi+F-gvbsFC2aAi}UsG3H4a6rXuz85`v14R$g8~H~Y|YDdPAIY%a?d{1Jt>^xP424b}`g?cb;oz4{TN$OGcDbfA=wtL8J)e%~Usu z@EM8LlmO+6|8h;-uu|ZaQICn8eGVKGWfH$}yK%3#C6-73mr)SU-0?97uf}7mGkAL$ zfjDL2F=qq05$ph|Xt0)lfBk$sdGponWaRf@zrMcpI#n6tZ%Zlj%kqy0%%kV$&yNnY zGz$SlXlzz>o7gqU11nm>_*28J*@_e(^RRRJoP&#AL0S8r13b=cIDrY8 z^rg(qELQ*Q$kJ4sGFRvJK2oi#qIjMj7F+jD3GaXRr7bffx>b&*Mnv%f_(wrdrWxjF zd!2=6!!lD;UEOdy#Sfk45$eN_$*@sQ=G(ij)4iHiF0TXtRjoEgx9t!kK3xT5T+HWj zMQ3x_Hav?N~0pv@67N4Mx)+P=FT=h2*_3oasWw3lu9^{$%Z*HZ3a65iJ zFTS|rtph&Rf5GZ31ZEsT$ZH$xeG)?Fx#-PXWMzb*J+I3jVEG0 zq)js)UNXwtXOs_1rl>Kv!N z;ski%x$ojzAPWdtod(<~F0%I4^*2yhje0}n3CP!v2T5Rphwm3&{^*{8~g!I3_FYcRbrPq6@!a3 zbK)Cvgqv172R%scC9qod5h1ji%9f1qRJ<>+466? z0sr04e0h~~Ctv%t0P*Kmp>-SpA0$*`LK6w#h+7bV<$uBK@dW1)8ZF4zGaW(EWTp9V zTi>Art7D6v5)t*&BZ|9Kn51!Qo2Xqt4e}>YHr!~jP zfW)*Vwd+j=3C4>*MPUrgO=2(dGx&Tv?f^qYF}U|w1aF2;u(y+Dmmj6|5}7k%k|o~g z*`RR4c>tdy-8%XoMP!Zs4-~^~h9fg1lqD^T(ngX)Anqv|Fs-~$Th^kcBG6{p-dTFs z{RM+Oy`knBQtMbB`3S%qn-zbe^2a<2&%e?&Lk_h90Q9u10@w@cL?9Wh1-u{jXiM&|}4+EO49FDLNs3V)k*E z0lNDCk#BA3u+$w*CW{l~5RE>vrHS~w2RNWReTzzJ_B zTfSBAjqeqDs`n)OllGYT*pZH2CsfN;wqEL6uVQb>+CND-TRB4xV?Z5RyM>riHU``> z1MBts3y%RP-3a(u^(K27t+`pC5U|7Gv1zigP#~?$r9mFb`|EV#5@|bkElTCZPa-~} z=tJT!C0L|6qKvx_P2X;4#8xtpo@c!hAK5e~gw!(SOW$7UXj1A>hObcJP!VB?)COv5ypCTxIQi6otsT<>`$r~f}|b4zUoI?VKL`9G<6qacSq4x!tF zoDwwS{3G5SchKD!iTKakqWh#PEIHoEj7CP1>5FqRBEb}Ao}*c{hWfhYekM9KYu$A7 zUTI)0_~rL#>+Sa`L?CwHDGq-79MzRpO3LGrU^|(Co(nC44-cB?j0nwGjNGA}Ng>>} z(j+eq{E?XvyaY;mNvY9E;M*6k8Z_egxR>NIP&?N(+-!kaL^AReFSW!OaSjVv@n6Rl z|K~1q$)FCyKhmq8?j66jO39ETJmDYbTMW$Yo_X|+NZk$^^`nXi@h_}2coc*(vqAjx z=cnY^0ktS)RDR?5$KGd%3%w#zB|2#2_nC^c)=(KTC_AT2 zKSu`aQJJdhW*%=T)YoviWX|(E=Ne8|@0`k0rpQ3#1XpMJSDT6LQosfz8*6(3hymM{j~8N!Hor*q=FM=6+n%p($5^l5u|o5sl9sYRezSVG zV1FUG+f7Ah{zo`CQ+zZ-k8UU+0(Rl+XlnL$2KLL?3|L;iq6o5e`?vBPD)rw72mVUewS91dLt1wX#Ey(T2bLrtd2 zoBu;lX{s{l)@U^W8ZHG_c_zWa{fP%aJk8&6t@+))Qd@!dZM#xtk=J0}iq}6j_F>kC zQE`0vlX(`h#(P7r>pn%}E1?obUT30BfAefyB_dPr6EwHJ-;hS#aW<`WI^g5Z0?b`9 zpj3WuOWgixSJs2KElC9Sp~jiJacpd7ls1<^lTqS)eh}!z%8n1T9Ov8hBf(o5{b$7z z^m+pUo&^_>65lfwg=Ome^izj@Xe)FHoIm=PbnycnQl{CGO_g(mcfnB*Wf>+y@|3p% zew{u^a_GmXrkLqCyp2Lnm0g^QDEJdeQ{tXUcvA09ZN0uVesq~-YnTl~f`jHaIgq!t zH-64I9|5)*I^ZU))=k8qt2c0p@z-P2tt`|=@wHl$xO8t4zXvnYEitzoM#gCn|9aqe z>$Rx62h+#YEO~3M&Hi^1&dqPfqj$a&zVTnJgHsweRqO%Irzrlqcv#|dh(9O#qSw&A zINK;Gl>?aG8<73Kza1;hVeGp{YUz3FfA96=F8RXn5P$ z#a{wJboZoo!C_lu1t)s1f%GWbw>SJE&g4}jni6328~-EfOq3JHvLLDj2_zvQRDjEj zYyST;=be)ePlux;s@tY4c+0(cbLphrdP7@j(enxXNw1_!7~%2dsO^UbVQ!bEF{_!} zcD#X4*U31h8#DSgWkfr~Cz1oeePx{&eqpaU!Qe5`E!8Pp6*ZeG>luP&S=tt_uit-k zTYWigsSQJRe@t=2z_u;bWhpfum&b#QBS~e{0rs*6o_D1l>8d5nGA9#5${2*5`*s3C zsi`{tdWsgtGZx`WImQ+O(*0?=!z+OVWzEU_BH`MXJ6X1}0>kYB8mwBUWXtGRtb3WJ9*fD3) ztEqDeP@d=CX;BFGJ0uDU|T<*G+ED2VB(Rhuzm=4{nYCX`LtwyMt{MUh+DW6 zpQXK?-sc%_$n!OgtWYFJaknkaBrT<1qaNeao38WPg%merC{ay2#d@{+TVfdsDX_dy zxyx%%6y-M^2t)i*1a}9|+>X4~bY>YtK`r}oF7>FoAvxnfhl+`GE{E|?k-vsVQl1Ei zu`z-2_58p9IVJY3jsu^s?{AuVt|)lGNE1CpaiLZ+5b6&PSPlUH`Tl+;$$DQujOv&W zISfE;HBb(j%Y)!#(#iu9m50`-Civ-!E@cw-9=D%?@Jf-ZzQ9yB15q~l0Bc-X7}EDs zSK|Yg1SR!`r1lQ@gWn`nCQht|(+>uyr(H$-`sYQkStPl0+XIdnC;qrBtmhI>9G`u&&2d{mBn|sud)m5J|g1Hp3 zg7Pe-+W?ds=Y1}RDG)r8zsoWYTivKx$i;*!O+R`FjcupG6Rqlh4kaeZ1~4%r`$;Z3uxqn1{0r+3vq}LiT z!{3ezr3ux?llep@fF`Sq|33i!RC9n3FcX<}MD12S!yb-rDGtkWtqI9wC7L3KJB?`S zWPWsK`CDr8Q#k?JcUxmQd^5FhbZ^AXMcqMyS-N5Gh&|F$RA(y7hB3^T-rKpClC}u= zWo1-SuI_tTNC(YmnR&svS&&k1%S!nwPtWB2R{O3&I&Wct?c=^AsF-;;NIIC zcC$?-Req60J6O2ue?#qc!+RPx770ebM4d6650@)5>tIT)Jq=0p|)KrQSWW2H? zz&u7{N%?BWNILp$`wezhTd@$`~Ry_9|Q{zsdS4@lRy`<*z21gg#5RwsvRWR%IW zjRh+yANzeAlUn7z&`<%uW3%yW#XlDTFm6~VZteAb21dtM2{H=t3JbO)TAeH z^RKi4ISzjQ{gm$i+&pjt0c*R;!o*QATvjCiCrniU{0Uc<0>#~{b&6skDx-`+>9yCy zSj~R6RY1sPPPpHqm1`z74g`f|Gs$sI2v44=%>|1eqM{rCFucGNw3PE)`j?i~CqR^X z3XXTn6k}fSMAPg)cntW1b+MqZO~N3h_fP}Ba|cRe%Y;oP_Hgc4;hnbm#^k&-)v3l` z&+ur`U#v+$0J*TE#E)JpztB#@N2JZ&>Mdn(`DQXG0zgeEIu*og97gbdkJVpihoGWh zBVu+v_Oa#fIhvD)#cie4b_4yd%uECq!+|ZAeTfsl6{~c6INs${nFOG;RwJ7w{CbD(Yxr(?{ zVZrR^F|GqRj`azaj!iX9!m4YRsTKpqx3L|upX=+Vy5@JPjWDh`e3-PrL_c;)$jd2p z#nbloHv8K1e(jM>nf#tOCeDJ^u(i7%;jgEHUkP3_K1M*xd$pOgLzeAQej(JLts6#h z`EV(<|EQP_{p-WI+T$nA{Wr;fj{dm*Zy5(b3oJ!KgZ%$$CqU;9l^A0W=<^dEBbQ4# zQ3gl>Lp49dNxae8P@Sc#ofzsV=-W*4UT3c5nM}1((O*;AFKdE4#*l!zfw0joW!PG2 z9p(N!F>g4RU+N(zf$&m>F5?vv5ON>QAB>H_fgGRqQmW|iN9)l=WVk5S2b37}iD0U( zQ_6?b^C7>z>fBF;Md{pi#oTKK;~_O*ANr3~0Q=8gb`8v+{5+l}%wAj45wV#|c9QIL zA+v4^R<$4in_c_k?M>CbDeM=bOJMQ7SEMK&!}{!RlRi&IyNbO$PTgi$4Uqa7ffBDi zZ%HKEKfeB0&EChsYxr*YzvW^N{tvWQuJBhQ9N<9YUfF$qceeDdJvFq6Qc=hyW@q@F zFUSE&28_J8ln3RfH3&Yc!N4X%xn`)=>4Pu;j=Hwp*N2Y+8MiDrGq;i>kxS2Qs-*(k z7CH%v)2@PU`moy_;(8isb>DBft-J1n8|Fg7b&jxJ>=UBcUIh9)BE+e6_Z-`B49KzN zKrjd-$hCFug6G{b#^73#Zw--+tha1H0QA#fk2*&jeI$x@o^kdo-*g+nWR_&mCZZ{) z?LGDrmxqypVUwYF>qCf0*vx>VZh5HY-At*IVyj#B+cFTWJuuTmN3W*lZTo+_#Z~96 z)GmmCavSIE%mJ=CZa~2$!htLfa*?13vPaoQPy?Xs+{){F9_y$NktN0k!+@_YOh}w({uiSRZ7YPrLGX8(G@Siow5HYa5)+Q+ z9v)prXckN(cG@s6I0D9?%VG#puGZdsZ@)b>)4KQ8^+RqF^JEZ0#n5;b()w_d`%diZ zFLYli0igmOG8k|Lzb7{28RvgBR%?Y0j)W&9f{@dpi(#hUp5SVO69Z zTbV$iPMFJ)z8(xkm4KB8^L{C3W_ds@Ks#Y18(1(!@3X~2tp*ejP&6(?cVe(Rf0AN_ zHk)z+L8H6GOYc#AwcO~I0|IC}r8p=M0WBt%trbx_8Pj^)oBl_>MM4MfzPoE9ji^X{*;#$7Nq^D>K{c?+MP!WY}Og_k!h$O}U{i=?rZ!-BS7ynh6 zmL}f`g%WXLi_)83V4jQ>B%Yt%VDy%V)W zS84#YTlT5a2lQEhwL!5Ijpgo?z%Ca74KgDy#CR&2?h_5>>MM}Pe_M#01}g$ zVzOPyJFyYx<$&WES8!7;hpHSh>pTNJ4Gr*B-=xTgE?Vi^9sT-mmQXeids(jDkgT|X@F*H^=af0LssQXpJw@u@)UZS_ zxQ=EvZ5guQQUHKHlnQ#^=NdhK2Ix@V8l02)$o*pKyhEQQ%7Uw>&vCS?`mSEAA_HG6 z99MZZx^fRLMLN0@Cm6jsi2zGLw7({0q5U=gpd9RD^YPXId`AgLm|rM>`R8xugU`^t zfCV&Sc8%mz7ij`!_3Tf}z<7kH?ZF``vJGzcW7;6?6oMj@7r~S?X{;(?%?%Aq1sIvLk~Z&j-1+21U@}dpu~m2o{mntZpkd zTd-Jv{ozJ?opsiA%3k4_f4wKLUn%>)s$4c&w@BUXqFuSHnGN!JyWa)tPi9x!6X3P` z#z;kmh5`^=vTf=-{+xb(R)vE86B7dO{}nuz=Yc(bUz}@d^Xt0=m7>7gbDM2BH&1%m z+gZumWpkLCqf@ZJ5qzH2+;hila*Ihn(r>swzv}MB&)K}|_3A&)H~c;PX$r7E^8E4T zg9+XB`YrM!qRdW^|J5BI@l_c^2_d^GD#V-e9v-6dP<0*8`5hUR{ZjOO*Y3?+o|Ad$ zl)QNtD2sU*y^wF|d^imBls_#2f+6MM@m;g2ZkjdE;aJWg)WWToiuth~-Bu&*w{2wK z_Mk5>tD(!9L_kj=o-G7KnqJux=0Q2&B-4HcTyn5^s*}T5wDN7*GY^1seTC=8yq!l4 zaItZL`1?qcG*`IuY}E^m^HS-nXC>2+4t{rgxh``0KIW%T&S?N6xdv=Run~%1Tnz)# ze@6h?fRNOtANXTIAZ7Pyaq#^3`N)o-Y~W)ELjY#Kmszj6<0NZv4D)UwQB|OCuqx6Q z$EC3*(V%B+qb2ebZmMH4BL>=;&B{HUx{Mi+Q$R+3!y?T2@i5WI-2!pI_alLYQ#KEj zKepYe{l|S@9#d5YZ)x3h0r~R|znJEgNANe?;;h)}pcmZ%{}CqhJGW!DcWOQPrAzI6sF` zyvgt|S%Yu{B2r!Rut2fcK571As&_+RAFu?#SYP&vncd=9t^tpa$4Xl0Vw4lFa21}I zUP&oTA`|8o%P%t!(Q>iZD>z6EY10?uZp_@D$=F!wYj*p{NKl1M^x_VWTrOi08ke=y z9>d2V=Ejd!Z0i*Kc(NfCgc_yI_B6De@m{rXuY zLFoo+g!Qd{gL2NAbo&_ylTabjl3k&UF4r|Fiv1So460;a2T$lYWu(LKkOV1IT`;Te zQt8q0-`njH8sI4wPi38wa5&h?I-{i}&1pZ<>)d3Iba!_%OWckT>&+?Mx66!)eI@tt zgqS5E)>hf;+V%7KmF8bbKHc$7NP#}!oGMj>d*qif!@Pzw0|nY7_tb(YsZFd9h3g;5 zuPcB3>o2SSm=eQ627D^;h?LM{#@cdHb(Ql`fisEJNYGMt; zw%EYOx%|y&D-^}*QT2hl05|3XG}LIH|IDFv%Mi@;Nm_W|x6}#puD$H<4Y$}m!oj|+ z0>HjD#jIjszqSjOx?cMd@WOuG4||p$W0yhi5m>0*nZs$n^ILAMRTL24k6&na$46Xn zNK%O_dN=(G-xxJ04Q^R!*cPW|cyeo=o5z2^4zu79`959cNCH^?p7uZg`3@aehrlz8 zz_RSKOTYsF%Qw$WLfVCPn6mO70-$*x#t;KmxSXpwp^O~MokN#3fJN^J8hyh1BS#?6 zG-o}c7v!93rNax$X6?5owMnghQ+-)_sVYyi%%-@5}1@s~J`3~Ov*aadc)ZoxzNEI4Z_^+-Et zB2gK!PN!8brQnOzu7-%f&u;q{zC7gQP}J#~mbX`UCR0Q0%tBP(zyJGz@#uP$UC1`)T{nP)9w8w_&_pd4Tc@J&>f0YXC3O4XJlT=0Uv3X@wU(-Xd66&}gf>-x>-9u4h z?Y4}2iA*T(IFHtGqtEP>UAETl;4$0${TizS0-3ruf(W_Fu}-@J{>g ziqnUo)NDh!V7cTrI@Qd}I$a*yXp(y<9oHB?>()*Z2_1a2>9y1Q^LxrJW*~-!U^GZw z5C!&`5Wzco!bR_{5v*-^7;Z;r9pD;+hu|OM~RENzWX@q zRW%A2_&}M9eSN+IuHK2bKCg@pWMzkYbsa>xurrAX461U9w%l-v_?2m5>QbA|ulp?z z!WSHKqVAv5s@t=0*U-q-Py?gAr!(lAU8n(T1D3W4aEhL%?n>t&Me~*TBD{^c(bp@C zuHP3#5*734jP8WW{6ax1(uV>QBt^Xku*~HV`~{MZ-4ll5b-Dp;#0;2VUAqK-oSLR~ z`h3F$bObnl{nQw61sHmt<*4+-D_0rTD{Rw-0^4^?Xhzp@Mr_;MR7HOm&CijjUXIwQ zN!6Z)Af0DRX+Dyi)Mruy#W+W)R&H*)nA&z#%$10m-RnMIix@yVBBj^n+z`QOz_n$$ zCzG@_1^}5bzkj8Qp2b46tkC7>i4{0#ko)|Ve6M}(0R(Sh3&0dKJ`J|DEMR$TAsd*V zvFk^gIDvPm(r72RX>bp?w!HcYwQRY26a9soKOilJeXf2`n~!Af^6x+D(*I5c@RSem z{aj|ofG~t+!<6_&aJL&Jnvm=X;fg)4FRk0 zaJgxuL6nCO0t5n$G~;OP{r^96``&82$;rt{;@4P)?(b1`i}oJNFE$>c7aPp;M1i3C zdq@*^#Okkd!5pZ)6C)@E<1&eXTQb_S{xAI_Qo3DbbO4mu{qp2!FW7*ALt2}CcBA}P zbsg(_{-1)FGiKpCX*rplov{l?2IF;o9mth1>Mpfi*p$~sGk|M>*&(yLJHL)$+flh% zD9jG-Ij^9|u2F&-pqZ8S@;B?kv!eW7hDc4JGZCE#iQ@Je*8jt@CwU#!i6{c>FF+=Sb~VpQz;gP+pxr|POUoELnGerNoJ9Z z5RRKZgy+S4n^Jl-m-1*+;9hTI>(s1YA2&_jXQoT6juu8 z^5{dEAaRRcyZoA^exAugM6WFPgzkX-369DUSRb0X#?Jr#sF%GdfX>v)Hz)KXqJZDg z0lgUh`Ihuftza)GZBB=WR#DGBV zvdN1(+L%VZ6y*WBXUi{uO=!Sy3F8Y|Ljz{FJ6okhuqefm%Yu(b&TPP1mcIe`ZGVT{ za@zLF*<$>{kD`RFjllQQ%klfzRQ?~kjewM8TWZU#qat)FGh|*X_v*-lZThe_SpDYY z&$rile^AabB3kz)NN6LjQ<~D)Gk_F-b)uY zj;IaUZ->5XnURv3Y2{qMMALoChjqLa2PHDnVSP0roeW=sLF61VE~yCx^uqT~OZD{* zkMdxsA00KCq-Q1oo&b0izlb0}E=(Z7&pVil2(LVQmZ$)=zU^6OI0)OkZ67Z$J1ARM z{2pDa;K#Cj3G6XZuR-cYQ{GL3v9)BBb%Gb?`q&W1WhiT1)rO#K4=Ic=8qJu`sIJ11 zE>Cp1$a-C6^l_702VmE2Mg%&AoCGXgn@D0nU!7EVgUHWtQ+j<> zJtK^x@ui!_++F8@5d(idr#rp3cHLT!*b{RFpG+-i6tU0n6`tRAv2^=Cb+46zA41^QPc;UET>d7Nb*&hX zGxiR20~JCkA?Cm}XUkdZwPp4^V@Z6rpsezl39C!<0W&(jO&};zB+iZ&?4N#}&O6bi zSEU$Hj3I&qHvD+NY#aHcZ;x@Ah#TLn#J6?e(R~x_eVoX@3^Shb{&8PK092ZQ$Ogia ztkwY5fDzWNI?*Fh=&qMbFOAL*>o`+@{D^ZrW=8tWi~mnO0AK-e3h1YF$YB4mFMT8i zim|f|o2&Z~zRTy+CmTwl3+K;`SjaB0N`NgP z{If~V@6c}<(7LcI;^Hm#mi>Gm2P8RdIho7^8whKl7M z<d(uO5p@jAGO}E zbQ?{7?ga$cIR4>?Cc z6$A*2)v}N#dNL;+iA@(91iPPGspwmQ)V@tqER0dnVB2rZ9Uf(SmKT1!;Y%a|03xU- z0J}cdfF1yM@<2-af5#O7BD@q816ra6VDQL3FdUEOLU`DXSg>-e!2M+WUQVAWF|1}P z)5-^tEZnM#>(8?2s>M*_TsdL*sj&FG?ko&ocQHkv(cH*xX0vuaFAkF}JuaB=^>-+0xKcDfV z@_}l&%~6-x%HNIKGXJN12zV-+E7MCYCE9-$=avdoX17M+mdL~g6M&@0%XhvsLIA-A z_vMh+4~tr2G7!1-nVhf9r7z|2V;oT9@2>Q>?D;ErC)gcJ9iF*TTSU9?&Xiw=z`j=O z+?F-Q-f$Z29Z4j(57MYsBJHW(u^#$<)^$h?BK93GPj|WWfBo|x;Gth=2A@Cg=jpiG zxA&<5^8angCFWn}As`Q19-{HEcXAVh!&vsZJu}L^9Ok`#j4av9VLHuqt5;ErIcT?< z1Rv)_RQs_EIZf6qp$CZ?!HwU1dyRe9Oo`F40+%vB_*SV>S1&a8x5u*fjVUv^{v$4~ zbT~Tm@=w4OVSu4NK*qwKMT8M^wZ2I(hpWp>DdPPMLP`k|D% zw_YO2G`3t;9KQ4Qu_nyULtu!yZ3z%IZ@D}h>WQ0Y!f*!#iAbxp?I^z*(3N*4&C=4H zXC^kKKB)mPDK6oG0Si@*n^xB|h6u~P4E(7JhrmqAf4)8%Q75M9(v+#+x#YFc5_~W{ z{uls82*{@)PV1G*-uJ&eV~@wE_5OqWPYdql^MNdiKlo(==M90cnV_r(8c^K?oR_a+ zfb)UNflh;pk_GW7o1A?N_7AkwOsz?aCsm#nx@Q{WNN8qx9T!r*o%OD{*QluZ9Q}mrjje{qT3D(EM#W{{`U7=4 zFNDt6dIGo=-?->#@Yg+b3lK{r0T6Uu#Y2p)%>>Zz9Kg-5YrQUd?F=D!7jY)=^o>Z=oa{k^v6N4$T=5SmMt= z6>I(Nkx=&x=|Y}I6=Rjppxdh?*fSAKu$n-Fn6^HfkW!{!*J^N3+CS&DKl(?zfq+K= z$vZvV`>rC#LkP$b&{cNFX0GEo7R-Wht-g#T3MMklZfh{F9Ba>&o>j+|v1`4`0ABcO zV1n)yTL%!=>%B>4Sl#_n8;iE1m1xI#_uUd!*} zEfY&eUEt+ce^8F5b}qFu*5jYGn)U|2;rddk$Yv?YZIFL|ozS9m`?Ggn&?F&Fy>`r_kft zvhuBS<>Ad?t%KcY{w3I-4Z9-&0{dK^nUu)B2EtV{A!)*x~6R)^!B)jW|LW81Ak*w18WOY=|MC>+s>I6M_DXpb>=b2$q&%uJ<-d-9_|GT$v@u7jD;1 zPV8}-tCx4-##X0(44CJ+wzbmp^~!}-7D@9MruwC1McfUt)*71$N0tQ#!er4L&kc%N zVZ7S%wOjZ=;}54n{BU%$Bx@vXZl{cH>l3YomEG-Rck?`wor`qwb34iz`2GG{1XKbd z3p93RcPxYCctxv=U8v(5jw|2;jE1UT%Hsy@1bAnsLC7qF2#?X5FyZ7Pyhv0fXD6+< z*6DekdFw#&P<-nL=EjJIiuEwmHVB8BMGYk5OUthP$w2e97glzp0jE7i06k-d@2&Mc z|4uS{6M@0tr|BdekzaE^U09yu5)PO>Q2_7v-wJnKyfx>kQzESwAAHP8>a5l&j zRL4fbowv9UaS+1`EZHJ4bu-z@_8-De1%=*<4;d*;n{5Pm_Tg!6k-{0%qB{N%R~k2F zfylG=+tllWfOac?3+L4^%bDDgu(E9*58!OfYZypp>IleR#&o!E)^_%QkhbF)iHb3A z)w-9PIxyrENr{Vj(N_2XDT~SGU8Tq+xlYK6{wywb$=-(IzvEaoPC3^noduu_%tx8% zHu!vEt?d**h3eG;P#?4gv2AxV2+$4o2T|m1J!it3wfp;gD=PrA@Xz;1eq#N*l-?_w zK&5ThS|b-H)>e(CmEz)QUw{;htq5zudzJl82!d1u>I|!pRz^?{lQuuYdk@EGw-iOm_L(-AF9B!uPaw*pGNyYAZA_O|4rG`DZRR zN=3nGVyO1Odybs5Z8l!4i6jViv&mtiDXaaK>s2%LLod7Ceno;K;@)ZvfL;EY`dcLc zlLn~Jqe=Mtir%kI``QNz8Du+HC;sLp_wPvsU{DN@5(3svSNGD6j&#m2|9d>Vo9*Q$F=xgRMT8f4 ze@avk4HT}?q<6(91kX`CJL_9n3jl8S&plE;^=DT0+4I)E-@3i*297Hx2{^XFJ8aCz znGq|%j8=EX=l`v+IR)J98G1x}MUj()E90Yss|SMu?eV81Zvm2IxV-d+m~?)eZs?!CDNA;ycl^yW_0{=MQ>*vIG=NV)dpbM zo#u7lBkhAFrdH3WpWbnk$E2eXVE2BIp+y|UJ+Q#%*W2${D5Wh!^EWTYP1_KMrL{TL z@3-DyGEFWJkoNx?GF*=5!U;N$+NR_t*~L(i8pTBNM5+itVANrqzYFC9PjTj)tyXYM zZmpDd7NzNb8w4V2e;1^qwcVgW$XGfox&8j>$a(FH{fP@E6AFCNYRyVqd4y=ihmIvM zf)ErfyaE|fZ#duR>eHpEW_RkaNhN}2+?jM5Oosog^LocdKsX=x7fv*^WM zsHZvNH;V3>o_tHhZ{UIGTZ@Ed*qkh;5`RVB=$o+exWvlAL=Iu#+Is3&Ge!U|nGSuPz6E7m24LqQ~$-6&#eiB`bzmXkhp$8^K=_ic4qhz;i2b-c|15NqKgm=m^7(X z-{E8qu5&+sdJAv^-+EkB+zlvI$1G9)Ar^!`y*_-Ki>b%{{#i4A7Q^TrJN0MmNU)F} z1BYGCyA-Du6Fldci^f}EEhVFjGj4Ud04L>Tske-9rOYrhS$wL`FLa`<%1L3YWb`mO0907q{Zrv%|`$uiWGD&$+{KeBAP_40V=V} z^mE%F{&UgnVbuB**{pWsL$e$K-bVqr*4u9>*|@Pn5FF5rZZM6>_s|a*f-X5YDm;;v zBxZ#Ow!dy~wqrkfG~O2r z=;A2jJeSz1<&#hA!xLE)CdF)n;{!3V|C5+8cy_2uz)RQ`rs!0; z-5E((G_JrC6$SH71{Xbok|m(w#s&J=Mbqzmr0nyt&y;{SN1p-^f1ra2h$P5@K^p|f z9$1!ue}C&-DpPlQydS9lI=vJihZN;e1^_+L1EN{AqI2w%#IWuNgqKC>qA(3e_8FJQ z0&RE|yQP~2SW1W-l}HX?nmc5y6upNx9{Q2TWTlQby_911U(i!D7YN{C?I3iQ4xs6( zGv(qg|6EeCeLmlppQmB2@o8BPp1Rj9j76~Sr?eCjLx!GJd7@?{v>cgh(cD*OV=s_! z@)4yxRikUCt)CeFAOXm&yv}nI8M0%a8^x;Ua+1E9ji4QFBr#ZKu|fJFcijbOscz9w zd4RlZ?MKKVosq8Zm}mZ>0DJ^M(xwg5)cHA-z_K{oIDjxg+$U)w}rF(rU^EO4KBG8v0gZ&dn;3(J(X#Cuwvt`KBP4 z>6A$cm*>P`@e0O0*`1(6_JsC~I$A5<2;O*c-L7KeO0N@*z$|t@d7sOJ^G~|xLq}gy zKhS?DX6^!13?8s^p#o_kD8u0QTQneT4Hu_yR@c&uPtf6yF$YmE&1x@lmi7}O0AYvV zPU67?5?>Z|f>6Is#vq-D|IwKI{omi;d_kFj2$Wb1cak?S!t)mOyZD$juy*f+;>4Y8 za1^YP*kaV~1)B(|(DWt5PS2n6F+I-O3iyt(!Id0xya$5ohrn{jW+vx1_h0PMCWX60 z;x-m`H3x4?>^2#oPCDO_RBv;c^lf2MOVwP-T8gI08=t|lF)$wQ5(vZe^|Ym%&EZ&# zcy?>|j^T9G#>mQkA%3NG^<*7Imhiv-#u)I`NJMz0DPOd`@|5Nk`4GSIMZ|aC`OddO zFvC0SJNLTH)LuCPooNlGSRqdWv;=wVvj8M_(g1*XO1zsuf@!yOd#~Sogx2O!p*j-^ z4~!J#k25$5!NdI4cLT-;f_~487@nTvv}$ITorwJF>bT5YL$cJw`a?WjIYvu7RQ6TH z5c)VvwZe!t*s{`m05JR*C&!Hdx@xmNc7u8AX8} zHvFu@hdu|}*B3t@m(kDUWC=@TDr1$Yr2u+b&Db)_aFU|e>oSgF^U%W-7yrJK5HK2o zXPo3WxBmXr8flgtSd#sp$puar0Fe3NL!ZW>Y7rJ}&AZe~*Lr6ZQC25^Y%?Ko>o!7t zC1oVmm5@A{hmE?;rAQVGp(p{$)GSd^Rv?>`&Xk!bWAYJ_hg!T_C~6MtIqvz1OZ2oV z5c?)|B*P?i$6%e{B!O-`MljX#X|zBXuH4a*7bh0$byMH)!4j~oX;g$^*e#~g!J@Gw zune-=1JlXCfY%2vpPF7z`Vj)q0aGxynCf{*IudnBPnj}pU~Mbdz3{f$1{-@grT)@S zYKon-2q`kT)F0Dr9`6X}Ic}#GBY=X7AiK(@SE=+g*oyn+CWf~#JerTK%@GtqlU=}9 zLIC*pItxV<>-!7rwSNAOelDNt~zqgqx$RJC=8wB`ur>t8sY#hKu>NE~M&%6A{ zxkOtBT(GLzxFc7Zi@kGgcZMo#ontOic^DKJZf-9_rH;p{K);ckiVcLSI!|2QYVy!= zq6pUiNC#mT6$`UGOAoq3w&JS0aqD`iYrhxl<|mR$hDFe}w&B>BNej#l+&M(eV0{_p zxj)#Pz2C0(JqdWdWa4L1oNk@w1s+<)ViCi(HAPFSMvda&NE8_7Y1KN&%V6C{&H}?s zCF)VU1BHSUz>r)k0YSufANtt3Q|GXkrBmzqsizOG0_D;^Dg7g zrrJk~S{#ptV@pA@lxu2=XFo%t=*13>1}(b#7zCDO)Mp#tyNrPz79#z|h(s=AMhOIZ zIBP*XpUp&W7AUn(+ox%Q5+o}YwRD?rTsf;E!bM!FIGh|#KT`44&6=5{wRsXnkZ%vI z4CXkKPpjj>NPQ6Gk|emR+{8I&=a~6!VhIcE)6!%%G|B)QYR1Gkk;M%h3| z1u!b*lIJc_IgiiXukZlaj(TuAAYd5nom-sajYR|&y$00kq5X$+48s0W))W);x}^<` zlRmHvdpVxwo1k`evQ6qW$JjYMSvz!2=XsxZ5g%X9Q~q4$6J)RCYaeG-b_I7Ikd^_j z|2V5y_wuqKOEQGK6KwW-XlZ}i68a?y0f%n3eCYh@sQ!=yKs^Z6Me}fzX!030-y{rG z?7VI4?{ym1w4(^uw{FiDJU(Mub4|UOftY*r-~rfiiK3@RP-!Jg^t((6+NIH}c>Oe!x9E3lhGPs;vaV}yoo@9FTzWCQ8qTL|1+ zhfUeQF*(0c4vP&ao$tCnem~O|=+7TRe&~Pp-JXE_TH2ts$IMK}{(*cj+JD83$rDf- zomp{BlBHwLKc$HZM5uDZ+qSte4M;-GM~@HSNH_@0AuR>g^%>3UQ`^d!w&YDo(x}kM zU?4#>IKYi4WN_(p22y52?m>xJ7VWlQepB@g3xXO{o5fh)BO1`h)!jm5YEcA$c-{jIJaeFb==I)yj^Ng;Bg& z1l=gESdaIJN1sE#^sV>r_t+c9u4WEc*&373f*qQnIRhECC~)jgIo4qR0`>^} z`N!{`jo7SJZm-)voL1oS^ii?UCs|e%f6C|-={Dpoq4r%@^ns^WrUD68U8B42%^SKI zm%7ZI+c=HL=q4oz%OPIu&rmS81?N%`)ugiOP4a>Hv6J}mWNmhQgLV=Z`XridZWg;hNWu-K6>{z7)7V}P4c(twG&|};Qd-*DhW=1uZFCi)$x8Vv zMSrhb2Vk9RmVitV`uYV5`(?(Vi5VY96qY+2t0k%WWg6UB`h8}nP6btyuZID<)q0Gq z+xxj3x}r(@<1K7)wgsnDoU|?acbJ6rl{oY$riVEBjk3^VwII^=VDVis+Oj!ntRfV` z?!u*jcuL$J!34@Wdegny0L)NfBK}xGrS`kV_o_5YJ=z{&dOpLLR5BEtC50OC@@->a zU>Tj;?W(Ed4Ye_PKo-r8)!{`lp2UtvB|r&XTCv5|FBdPFf4ujZoxryP2sb~$KS~Ez zVz5#Iz~Of|1NZ=U@PK!-fU&ymXW4+xbIPU6_r!@ywZLN1gwv%1Ee8p@rP@T#i7ehP-XLjI9 zy=-TS`%=2Px*vJRN3#m z$SM88YgG6DF9U;ahfanA+<*KFTde8>DjTk}e9Pd$dYxDXor1Pf4$1FEvejno7u2`caSHpL+O5p~xucANB}-ApDOEFh*cH{;C7~ zo0|hEflRHf1Y{GaO*BqCeWQ`yAmy|MVMHtx<*X`%L{0TUue7Z~DVoQkBaRxVRBWOC z3Aij&@K{@@RxabCHUioLyK`u$E#&nA$Sh_68E;;w_>njZ&hod17R0%zP+hhim=c8v(U@ z2O*-3zJ=Bwf+sK9l;-*+Oa1#(OXe^$l0yPNWuGq3?=5_8_~~wr-O?m8^uZx&0&zyP zIB%acJEoDWAx0lu-Czd>4=}9MUe{M3059vWhv9I%#_h#rm4eV|qSR84CsS-S(!0!m zk@>W|RIBn=Jz)XopX;N^{tnZa(la30NlF>`O~%Y82PogL683WnA+-|y87H7=#a>{{ z0A;aV=CBFxN1FB}*)nJX-l_SYvKoS6RK$>il;(i{f&B;V8T`Zm8;#gX?}l1#;S*vS z#;vs$is@$ngEn*DHrXJ9Rgx~4qtdL_x`ry5m-V^~YB~zZS>Hnv-yQOwwY6`2-pTM% z3HKje5a{5`%0Oaa_f(Kc;QRf&HN>CK39(ZV{wOu10*Ft^f;3TI7->!rpaR1%W&AKte>4;u1P9A;B}$XUP-Z=KmralZi4z1>*(W#JW=QT| zk2;@u{jd4?w=M+z1RF?%P(9IrWF?<(r`fXDkzwIRFp%qu89j08mD1};(P~8}$5@Qp=*l*gizR{N z?I$BVo3Dc5(?AzH9^Dk>rlkd_-Kd{XjGrWzS31$wy8>E3@ucT!800_+ahGbVe2;VMi?WaBxwBG7l4YQz7#iq^Y!k2u%% z08`pm$rL128pC(*M>}5J?d2QR=6_pR7R!_@@GJ?!!_5(udv$45m_mHmd4T z*54Y* z_}mR)7s#XNVLeGx=U)JTSRFZE!y_RGlG!fBqqgKgR)5mQW4MCeG=_0v!RR!#_^V4P zej3=WH+}8bSI_xa1R5Fm_%Zlb6ukONWOM5O@Csg=ei)ys2trasa5W7Fh1bVxSfY30 z4c2oESU@BGn$KrTtY#m2im)OVff_iv4xW(sOX>pX!xRD>2Lw0PaD=(+0`ditT>-$^E^xD%|FjKsJZ2`VN`0pF8 z+}Guj`n-jIYQF4PE=2)=m8iR#;(lkZd~@%k&bCYNrbaaJyzuP z20w{1@qC9K$L^wVN6p68<`6A$3{QIyVbc;uTBmppyS2#br`7iztc7vxO{ezw%)9*i z&@a>A4Wk3;cO~QSKG8{WBj9OBjeZSo02D5u5>!Y?Qp8z{5uV~D6dH2be}-olmqG6o2)g|y2ZkPi#Bonae7A;2tTDP30k@#iA37^x&Q>tpVx6uK3?ot@V5sjm4&l`{o50z~<-+PesP2+*dAL>b3yQTo zf4V%qn{`^-=HJh6Pcx9xz!Grw08FIp+0tglFWxJ^ZC~J7rtRJ^xf}@NUv+YNeEL?K z5DNoHZ4BIVH7HfU<|aRMqUF$51Q^lBR|wOM<;tF0Nf}1X*E#$g90E0^gAi|@Db^0z^4)o#dA-e)qNww0=uD=$r&?BH943s$J1+SdAQlju8xQnDYP1CSlmY0mPS96X|*`7(Wq~I?}9(;d=9x63`jUD(2uzA`np8$vT zHbT+FA{HY)-_k@swD(7W=<|ODWvmAD`<7xTa1+t6DgXc=07*naR9-ipi1+gff&6#* z&e=hnk%wH9QnU7pt2!p$%7iuEvqE72gAFRBwdTrLDEB$wH>G7lMc1r6snQ*TZ-o4X z`qFZ)ti3#&Rp`vclAmL(PleKQTba%H4VQ;$@7OLD&;78Za9b`KRWM$ZO3 zXJQbZMw7Q`Z3dElYyfr8ACml(;LnN*7!ANL*o^!D(mkCk{rG9R}X zh>HHPUj*vM%}Mh;3n65SCrC;OJ8|2WKyiWO7Y2GRWMB)mK^{bqRU(RTUsXcGGpK!; zI1IufD4c6aRzIofwZxg~%Z{sF(;SPq($q&zG9X*8XAe3&?I(?aUc|HifsIYTgkYD1 zWz(%{#q-WY(UVz;cdrlS1m$SaieUq2OTn-$%t+woZM$_VZtTB>t(3l6S<)|u-QpDh z76O12Pc3Da5vfUTDAe1~Ce+e#PbJw=(py(Nh^e{%iYvX^^dwA&Hh&(D_4Cra$P#ecGyN#cAb zb8^im2cpD!v&UFNi%8Y~4^`dj#={AG)!JWSKoQ`L+20^R5dT6IXq5W2tPN`j5P1+K za1jSEL!VHkm0U$})!fRTuOvGNERIK=o zG)n0TG9eNdVB?{gLH+PSOy@pO94%wVw#5QeDjKIgwO;ol%hkHA&t5(C(xA~C3y-?< z54F$2Dq4V#Ag&k+dz{OdJU$HX?|SGSE!No70}D%7(oTJ97oS})|FOc6;GRi83Jq*< zEmGkajy;$H22aK2!9Fvgf>qs-=1{XN5>`drXvPdpb3H>1{)Tp9>(k-y<~z@QQHwt3 zdL$1iOes7tjHp*(UaSnLK^v~f20Md{PRu@bn}d?{L(6mz!5@`JH4a@;{g;92w~xB0 zMK`4CKpfEG3E@ccH)UYHzvb-}*XX(d7PsYMvEQxDj6~YZK%g46xSejw_N&`PJh2O7V7rFAW%@mqS-PY+^Rv7`Znt&PEj+;NrbZcsV^O}luI>7q2eUb@ah~{C+5_(6+bkNlv7v84MD}@y)}voL=Dfw@0_cExYLeN-@7wd zBzsM*9jw=yQ+KIWEeS5eq7v%BkISC!0Hu4VcG1krX+g3W>a$dHk41CJp5kDcVwc<5 z#i=ye0L8M8cb-APvPjw_xh5iHH32MdZlc!4jWc-96GoruoD6}TAl_p)3J~6DQ9AwS z2L;fI?^dv{iI`AF0KCNomZVW3gRw)(5*?pDYOJSWJ!YUq$RAbaq>zmxjNlATa&$^t zJpc1t6=;c1d~!_crCwF2#M)lJxK*r=9(fSg1m+hcGA;G87q?$>1RxEkB1$J!I=l&% zKD7kQA%;D(XpbM)Rkhq3YN-wnvA*5%zqPB#gL#_m72@z_d1?W$E;i%#HB&nowrhUK zYGyJ8HA9tcJUEm3&kCs3vytA8IK$Kt;e^MRu98k^-}JT(*~m}lxM}_8EqF3i*9`|rWEatd))*-bRT}K6w81vH{4&JwXfGolBB!0PTTR6|Su|1hRwv8C66w0ivN(VAI8s0bSat*Ijht_snE4XK^D zK$<&tt5oxXuEvsc^nLnJtsz3|-$}sWzO&hVrC8MlgIr6Lzl<-IoztL!SSeE#OY!~g z)G^aQquHXM1#7UMD*AxUYhH>sX(|+Ox{EE&F#*KWI-grcq?rwn+CptK#StUc)rqc4 zzM^{sjhFA2ss8V;uK$MbXw;` zNmGHuKXgIrwZe(5i;*hD^A?zKY)j6a`9PXIZ8o3YiooaXZ9h&M)?5NSZ*B0Uc+SIF z6v=KtXs^-XX^r5y%@V8cjX~iu`Nh5)YgO#0{olQBGs4mN(T#6LCf0j0e1~p0_ekr1 z9uS|Yp}W;nY@1cbR^qv_m6gDJUV#a==Gnsm>J%Knc2O74n-3UyFs1qHx`o`c}(-84`uc3C{QF;aS0hn4qux;hpdu62>^qhI$bI7Af9b$~Cca0RxT0@9 zZ;0)A-u`qkEF0WNk}fzCZ_iLo%Wk1%tAfO^spTsneZKwbFF2boiUg@5yg|Zi5W{m> zk{x8fy+cD1DLhPy5meLJct3Z6V^z9?=mMlo<@lEcbf>8?V|{)n_dkBm)7BzueXpxY0YDmr zaw~ZHgRi6q(G(;{{CRKQr}K=m6L8m1+IRV?cLEv`y$lAb7~n&qFZDHo{FW(U%c-dY z5MmpZ5-*d~uflapMSQ=mIF)O41|QvQ1bA=qw-c>3Mj!}OetEfvU zRhuJ&gSu|+cz1fVfE=j9N@HDDlJYpBZx2q2D&mRkW6#ojP7P;O{jC4*xbh~Mf;p_{ z0X=Ms@0Za)Spl4EJyjR4)la`)L%nP_wKXC3+~s>UeEYtkTRSw4t1bqFK@Y`#w=a6@ zjEzKWu6JDVv~F1(yJdV$W<$v_piMolm-vNQ(Zkdn0#oZ$!s9fgMl2DNhlP6sopOYZ zM0ya1S7I~k#ekRu zil>Q&Upx?fIhJ^9BrI)74_B*Pk7he51h=(t-)qv9K+AGRFJN|%G(X$oW;;J!gkyxp zUW^-TMYNa&0h+3=!gWl`djGWav;**mT?WHNkjfRtbuEvwY|QPRw=&_9JQzI@dTw>Q zqz4Yy@-p}*8USU3V+a?P;jGMpDEz+!)m8DXm|w~3=1N*w>3loS0k!;p|NeYg2N=gw z+y;K$>u4NMCmz@;)cGiNz>fp~57+8QCTkzUv0?{{BiI`4=#fyccQ`oqqsp>qvOkds zD5~f|MSy#fj|?Il#4D(Nt93cZ_yCP+jnv$n)C3#I4N)y3P1JR@MTqN?8~7G&(dsKI zXG0em^FhRXUCHj{YM=a|GiiAT<{s34R-$dtpXzC?S`v;euJc^n06NQ2d3|d|A@^{5 zKT-7I2iWM_s@pO4NsQE6>&wl4lPz~o{>nHi$ZR3x@$2227Dd9<5`}@DG?`koEpkCV zn3loDB_oY`2sn5=ul>Ls<8%zs?pz>1fQJF<*Od!&%iIpT=C>*(RN4cYoS9lJ+`5&i z4;+m$69w=n+kI?Z=?A1Wr~m?|gX$j}iLRR>cI|i8>XjA@_LJktfQ98qN;xf(&9v?8 zdh!)X@h8CwMPt@#VoMGP0+)=CYqbOlQo)S_Kc1{8h~K}c&}xtS+Pc`f&!S!&KSPsE zcYzk@#n4GZgj1lc2B$di*xUG{ER5MiV16+j8Bdg)1+PxPknR}EVx@8uxPC8i0)594 zVj(vGqhw1<)TJI)1t3ZqjZBm+r#9|@_QK#pc8tYZ>%!kfIUPUH6E+oSNG6EOuz-Gy z3t}&*F!y=yKqXL5B#Ns%kYFLo6n*|c9nr&LBXzNF6O@NDRWhuWiTbt;bBP03nK1Qa z@SB(+mhW9olw*3jU#x#?eP1}(^XhD~UM%Zv>=MIfh>sFwDP3Tt^@>BT@8Xg1QP@#$~>ul+3&|JzyEToe17`ZDYTo_pzl<$QTOx z_~1}g1uhP>!~Sm_K+@u(I8Xt~ma^#+o05h>GD7qyUdJsTzWn!f$9HK4Zm?kdbd`X< zeMwTva@wDk@tO_j5PX2{nsU@bUc5{Fr;s+t1QksbH~m+BAh8Qrdt!dq2k_@>rh`UfKbhO}DEb9gN#Zx{ zpps%>OM!QibGODRyU*)CqRw`?QDh0CG>8Tofj}YI5emI zN9IYbo-m>}L_Jy-8{ayh14>8tHfWtWFQV9CRnZy2g3|P_))IVe#S#BFN?0{xlo|q} z53flHIPr7NI0Vic-NtP_crOfG&zX z)<&LaV`_%~kqO8udB%9d#@k(mxrciucd>YG@r;#DMDK)z5v5b~Zj@0)HuPfek3;Md zY2$fwL!(-j&%Dkr?X(rhH79#_g$_{G(yj4+UEIm9-hNhl6h6zchd9B z@i*dxTom>t>@UP^EeJl!3jh^9NktpaxDlbV76XbCQeIFL33q%z@%z)gi^o!EPZ{

        v8hL&oDl89<|asb`4J~l`E6IuJ>S`vw2;jBXetx`vmeuJ}zD^t}D>A6v{H*#gq3!ReM1PZk-FpDf zTP;3u9rj^7wyJEqpP~2juYI#A(i=zfzi_n(Ku|)!Oae37C8=~EV z{IHOuf(>b`r7E^{bS$;H%t)5Y;PH4*ai`KxF;0-xFpoJz=~YZ6}uUAgX;QF zr5WD^hY6xjN)SD64%n0D|E~9%L_Q04+m2#i`2crPzch23#rc))U-Tal0;6eIUQruO zzN@31h%@8!lI!mt54~XhMc?2^=E!W-Qza{SlpbHwgBv4}g6@AQDPVCiH9#+Rj)C<5 z3jbK>2u2bV33t>n!cLJInger#@PTAQ5kdk$E*EOSBCgs=RSTfoxiMVQJk<91n^F7o zbhxz%wb}@5hZDfwY?#sOkv*otxoZ8*trtRIZvpy40fg$?_I734MQeVt+RtMO#U7En z{6fz^KeitIbJlZKN9rbIlH^*6yAE>=2qY*WxclP|2XfgyO8P05_@KZqL%RJR6PTHC)49f z81xB{XmERg!6-bRUv{{T&0Hzw<$iJSmAI1OLC10ZK?3oQoRcIVuX$k?^>V~_U{4{tddXB&HSw6LXkXBQ4)!2UcgSU%;$c^dF^=O~7@Zz{tfUTT zFBXrk&X#!Rb@Iy$RyE}mbFE&qNyYQ}6TEL>Vmxv(EYN@N^WED&wf!pPquGz&{QEb} zOaEhfbO0!Y=QwdX0HAe9jgUxX z3y51eeHark696P`vXFxW%QUf6S*9v@hPfc{GaL34s91h$&7eJ zflm7b2F8T>eIMmE@-+t@N@Zok~~yS*LF0|yQ9Yuht}en@a>)c++; zzxCXNaEz~Zmz^ugQ$9MDBwGfyKaDqa1rgAt(_^FG1sGmDIV-LoPIYCOmU=Z!3Uiq+J@*J?OuBrl%;i zV{d-P)4JIdTJ3pr{WwicFE=PqGeP;S=<9O)<`~(K{mW&?l-60uabNzS~W$gS>_LG+JjfT3!%WudeciM1#VRZGpCj^5-U& zpy+#Q?&SiAPQR1%uhSWTQYhXqu8@fL)F+>mk2F6PrgzX!a2rYOwyDhjtt^qz4rNG3_gpK-FgtDhCY_|6L=SyJxgHZRukAAtgjeE% z{Y8e9pO@NzU@(UXI&u7YafyB2^qE)yC$@U$F=Q;LP;D!!d2@SoN(#Wv{9fI1^_~tA zsOC>`lQPz@uA9@A!ZibBtm?6(tvx>7;1Cd9Sc}X+nlq_}kodDH7HnCrh#XHCaOrq! zH`)(3Xir`-?@Am(O?aDiR2`|k@++j7AG;yx!L(gq8Xh$W*{^~%TCkuY=SqmCvL%)o zp{&AnS-q?9kt*;73*hnkCmp~|8DFnYC+*GaKB@4IetgcfF#CwKq}R%B>TZINj{wi~ zoZnwU4&wtzv%l26kPs{f!sJhyt-RSKiVv}sW+TkvY<75Q)E_!`G;N%sv|xteIjrIS zt9mb=IMFNI@IY$1u6)J8g|AiuKC?A`=NR9`PI4*{AUJY@(5bcE{!P^b{$>Ivn>cUWHTbiVC*jEFA$pAxz+oRN=4edRQQM$Y z=u%I$gR&+;g!a@jqEC|or$6`VV4em5orARyR|>X;@>lGTIk?d3bR)GKGVYhWVOzhw zz!BHZ6`0ENZ7aUhfz9bVll_Mg_#LNIyoa~r$TJ}o`{@OI9!UjO%a11Ld}cgI28Hse zS|SC03_e{S^b;`ohtN9|4a%0qBQ8fDYcq?W;((%;T7NQUEbp9+sVYVD;dmH zgJ16N3Gj6E6&b_&8C+R}xlN$8Hxj^8fjnqHt30h#cASa%sT)arTSAz`P}8A@TMxw^ zEKr29J?>3>su)*RtND5+^NyH8$f5mST(hG-G72bribf<&hQ{9N38b{H~~)vM<2P`@vYLFf8EwaWxM3X zD_VReY2uPA3S6Fis!iS6Q8P!?KV{?>hk#(b^W)#2RQ|WFxC{1MZ+9{I z*w5=j9vUn#7m&?g`xDXvbp3a;ozpta=0_CsSPKeKpvZpM@;&N^afm*7oJNVaAPbNK zB85Q;u{`dx@Mo}caxKypVM3be*Lr8O_FRNyF2P%);zNe#2LLakY{%0UU;LV->eG>R zjHI`Mj8M-$G;^`9bn`l&Jws}w_OlR^X;N*7dZI_&UD;kyUqk8cWgxScF+4;RNa$i4 z-2VRJ^%d!|U0uuT&J$Jc zveDHR1%lkdb@tT`f8%J}4ge1W1&#Ojx~YbZk=VS#Z9sfB+t9NawDNp4EXI&OItkEe z;8M;yE7p`7(Q+3J2J!w>-5AZqL*~B1R8?WsWi7hQ)yqdGKr*!kZ5%hjn4HBO&%Bmx zw5EvOc9FM@DZ$*u7QxfKEzQN=furmth1?tcikoy)0HJ2*alUfb-OAIa!j7#dSj>XO z{}lC1W)%b$iC|=sK;N0MkbUA_$DnW$9>7^0w$JxS7aX5KY(LaLb_#;vd(=@&ymYYk zPbIPckAqBP@F2(v-#>sP_<1_mr27>pMc0)8_C=Lg{p`je4F|tRoPTkh#$#}RnLCA+ zAgT!|p5117QQ82VCR>1wTpPdv8p4AygRO1DHHTIVnk2n^za zfC&&4=kpnt23(8x{_}(AO)(|A?bc=9u-ma=#gV5@YMLLZ=T5kxXx*C_f3uUO0w^h5 zzErtaB2#8r3?!IsMkx!oJVU&uB`P)QSyJIy#2)Lf@6bT}QyO4&JDp8lM0W35fR!{4 zyyYUR^FwRIba_qzkM@YicjuGqYJdOn@Nd=qUpcV*#)-u#-eMA?vY7Hk8lNcn(tkEj zFKy+{Mwe<-zS|mD4TAcnmn{FB0&wR8{rlI_2ksB{9&m3!LJJ);3%fNIVq_W5y)7D> zZ@5abjlQ`bR<)&s|LM@j{V!TNr;c+OwK4a;;eqRi&%m|4R724g{ZFHqCi3jclG$tC z2XY-}wr(;KT&9EDyAuVU`+O@!_QAcgK|%YYUgXa=2I^|$4flVovKILaV?FEu&&9_2 z1Yan?f=*o?U-9yqdm?g&$se*jt0I;_LWb5<)#I$XFGaiOlvL>c(dZA-=;+PM8lGVU z9a8<;5oFWJjzYB^Ln<2pTpp8L!sCCCK4ts8QoN-EbH?GU9Q1({Phx%5Ys5eC1$DSk-=oW&K2nS+X897mbwtHIQf4WGnB zNml28Ht{2sGZ^Uu;12UVyN#majK&%XGUEA&LK6pW;fefRDYU$>1fq08$IHi61trTe z=;ux2RZ_uSL&*=T_@@A7dZXnNYR3*S>#?}##w_0HT93~+F(zd}o4o+|UfE0s8m)pU z8b(NqWF#P|ThXm<8_+vES}r1;#6Z1Y*10-c0zq0vtzAaOriGY#P5+2ZUn2K6KHgJXPWjf$XVA!JvSZ>M1IlC%6UTyG&iTLhpRI4x2-w;4b}eS(HI`wr*OX^bAq)h|tV2N=@SE zimN|Wx@^uL8FYn|bt%{EmR&anv3QvI4|bAt*D*F+>KTa|&@{_>G(<8N-DT#{&s&NA zuEQ2TkFn@x!+29U+EO3M@v1kUXc#o(+EKr^-RP*3&(WD0bhcRbs+UXoqzb2bXv;42x7q4Y}5h)d!GT8*!9w~zOonJ61 z@`uM2ADX!mvnG;NzgnR+2q9P511Id_|Sn82oYkox>13G{` zby_!ca=CWqVZ5}MGGE{CMvu`6oK&8`&gLeqEs=INl=f1LdGqSlVH7h;X?{PAlHb({ z-Y^YTXZym3OhKRaLwefYXC1o+)jeC3==-k%$k1>1VDWmN@BdE!Pun9#o%xIX@fY^A z>1v|_|2F|d_irO5t^0O(4N;7`=h>*4Yul4{lj1ZVwg_CBZ{j4c5S45qLKy6|#!K?b zlt0yKCn+m`CP#EB2ZU8UiBb}o5UEiU*SgH>r6QUZzmt&O;@zu7$X1OZw|Y;Tjar*v zBv(%L2%{5&WS!5uh}}5cg6Mq*sBg^6nU#RVEiv$|`ZiV#xLg2Yy5ho-?V_X4hCyiq zgJqos3rFHw#D@B!y|7tK*La-J4m`vOetf zfHW#CQ@J+Ds+T-mwg|BulfuzNXm6^R;zsUO-?u;1I%@?>MI=(0D4Fx4C?5shVhf9dnT z-%ZJI&OSuMvnUzOh~=d9M!S&TBG>x9$Ex_<@VCavJ#9M6DN-}`?ey4#IFjX z(8f3|s^VzYFa(N&Co{p-6EC$T2ESAkeIXXkr0iUq3}|9T)Gj`OZtTop5uNU|4HCfP z(-C(t{~)TtWZS{M+Wy5p#{ITcQ=qBq7pXQ+F&|-*}ipLAY-oxQeK^2 zS&azg+Y-@9yaEMUD$}FE?PuF^H<6uci7e0JY)^|iSDK=f%{wJo_R-HpEbL373$j*A zGge2)qLHpgHvq)njaPMu@b0`YFFdlSEsQr@BKuSiMhU^#mIglTeXWbrX|w11+0=Pz zTukzLocGoI^KOi@N8=t!`E)0pB&#IOTYRVU=Oj|g{%rUCHdv>}CSx>{gqsY&dH@54 zZ_BN9-tD@qc!pYUuqaJNR<@Se256C2uZM@xA^d>-fu>LlC{{F@b7?bxvmv12;@1z_*Vm9Eb zfD#Nh$JPq*e~6C&z8W($0USdHOa%&Cd}e-5H<@Fy5P&-^3(+i>P^~%fVAzHv55M}i zF11<6)YMrZ1LUc97H8yAbct6=8sCz}D)$(Zuw0jOvtRjmmb} zuEO@R*6x1owcLNc9&(h^avv4Il6Mr1J@z16Z77H3+U~fG>`WPO^Hb>d4`zCb3FGUe zi^yBTjbp*T3)R>tB8UWuaTm>%0^r=W-%BkQ8V!Et+jeC6x{G19NXb&m(gGzl_rn!$X#_4>032-V9HY=&&XZGknk9Yw@-&-Er)9O~Q!4i8{dJb~U&mez{@QZD zGl||GNqFKY%Z&)sVp?sAT}3YCI3-Mg7~*IAy7X(9fT7%- zKflLd=l{6pMeD&c1PL%60pBm%!9il-6u(#5KQi!-!bZ3LvuMV%ED4nDu|A&IGq@D2amHcT$p} zWCnth`yX?HAE9k0(s?SDQ@+jZ=-`}3Rr;Cu=ywBQS3yRbw z<<8m6g|EWDNhtY>5`s#{BQn#p8lNc)vVx05h%mMuUFLs&!Smf zX^FcR#W{bbx7^WyQR?;Dlumlq`PZjsDsts1CtFimxz*Yl>h}hYpk?k9=?3lXcppFScrV8&pgDwM zF>tvkSFAB@#<9dw02A6S#VWen4%_(h&?GmNy=kXCZJgSrjf%a<EvxjjI zcNd9S36QowPymmFJP)}6H2ZwVL-&p{;DhxC=HKy9elz7iyp9=Ft_JF`%(_uuLf9f>xA$f;qMI%a7~0S@k^jH{wgl>`n(PCKZqy@A|8-|7AqcoK;lTx z!-y0BD-+tX@lZ2hzexg%(^h(qX^DDe$kV>2Kta-pEGj0Y7sVxRc%>{&oU>i0mEBS7 zS$t0=fUN{+e;E&y!e_RxcB&xygb%718qejP?mAzmIrjCsbqFI7_V6%)SOTJs-|a}2 zn=}vHX{?vy{Qv#?7Yh~y8>5LK2R!<0^EXXI_P)y71Os*FE{~X6Xj&elxyz~*KLpx^ z7KL^b74Y6JH*0EiIo9O->xuY$GSDoa4#h#J!n-rO8HVW0OLPKiA}+M&Rl)&u2bqqw z1)`m}mv>)fPl9Oo{{ujZ4m}IYTT(zd4Y=n4KXttvl1k(BIF(tK9e1k zWMQmz)c8+wh02+3Q*ts^?5vFgKYg>FsnxVpH&m_2G!lX9Glx+dthH1M-W~sp>i)Dx z?)c*)@-comy8(eww0atva2?|y8g5=~lW~Ew1)YQy$U_(q3l}htX73_1k4!o*!`ofa zqC6gR`}m>r(ICdRg4G}UTYy99O*GKk6#w~9b+in_rOC&G@`;*wV1CaIALg&de~)1R z3>=4EDsXh!TsRB>eE-n!(duWFDTo3Xgn)+8AMhd90t$qsJ`lKs*;<9hf+~fr0XbDsMqc3sF7=EW2}!_?65y1i;k+d|&_ z$a6^mqTnAJONQg9Dw^86aoUcDmj+yh1iEMF_m&JPy^%Zb+#Yfmj@0;J%V#Lb^RGG= zQSOmF|54UI$o&uqum^mww2RK*ClEY<5#SK? zm~-sLcrc>LL$rVfKUVTHdpf`ltWunI90RoG05E|WYPo0`@wjC@1a zD5`-*a8PEfZw?y@M2eeZKvp;sBIurUZC4C7E?I`tTQ{*aNy^9an7cCIe7zE{{Lq&Wa6tFtZ(joE)#E4F;LB3s znSkD3cg2({AUC>47qAK^Ba^(V2tr!rT&eB)EEv;GeM&Rc6x{6+6xD%@KumvH#Lty& z3`c48S(^6s&#`_!TiVK#@=O$cn(XGdJw^TW1#nnrWx2i|jr6wGQP#oHL>)KYU{ZDi z>*Wzmz-Jg|AMH_j9F#S&(7-Zu5K9Mgg$jW6TAY0HYa)3V4dm)w_g$HEv%Fnq=4$WP z5P`0vk)k|Nlf&nO{u@DQSO*}dqqBHoj1ZuCNbj#dx`IEH1cLd;H&d7D9>lj;dgQE) z7{xJOQqvE^wbel3JV{ggJv%UbKv}o)C~j`;Y4mt1wmB5_LMVkr<+$;reN_h zcqfK66Y!k&-#S1q zHhgN9{^$a<4cOQ!`ZsoisQ}h)=>g2bRlO~dkmR?p zo$3W((3FnSGsoV6RI=lQpE-Sp;5t4&?AwvIOm5ujj4OVd12yxu;G&j5LQYR2ZdM8j z4qlMmZ7Bc26ww{9GZtd!P>Bv!!9$`GM?Tu<#(o2|46MC)H7NS9zGstfo>u9P3c#8F zoE1JhfXLV%JOZHsV9&icnaDb$b>Vot*Y{^uVKj>Fr~qcsgYF6mFm(Q~5Yhcpc*yIC zn>i*1KKmo>9M3`84OlAOoDc>eF~MPK+>sWQ{2#Ul`LzNu2X|MRmLzDspo$I(%I8%6~gMHrF zaz_B@yL$}jW;}&agw3Y>$SbZPwM#fFy9 z&y+{b#eV8Q=8aH-^>x#Rzn<3*;~UY|T?++8R%DT6*M8LkWt(OYlPi#%$nJ}){KWa7 z@4+!<`3+c`g?zIvMWA2IvMPnTGT8Zdi&agpsj<1?09h7?_j8nI&G29wxQw%cb|VvB z_&H30Osm%K=;8U(RMqm#HB$8#-7!$zwkKFv0Y;;-2*35HSi_8oGont{`;*<@X!FkK zi9N(Y8W*x3`6Wv9K^HLQ&)-(=xcknKgZ*3l0VBxZ8}gtUTFv|kn3%@T0~?bWT7Mi- z!U7!*uWFF+d;HNlbQMDY0%)+XMdBMI;&6;c&8&&1+bSqqTVYV1ab6-LMQ*5^3g68% z5N66TtW$&zGV4lpLy_VrVey{IgKUdqC^I4|3fY?2s2+wm+n>i9iBbv?zh~NWq^;Bh zNlsaKby%U{D541geoJZzCQlm{UsvteUYWfzdg#sL(vN&JDFQq#@AudyRbeEWKfVvb z5pO`eNn<>n^k8UO`3%b)(NXA1LVE-eM_5TL7r3%=`TIJcC(X=z85{=fB6!YP=DkW@ zi)(_kgw0G}Vqp@SA)TKH~3UxfMs^Ll1 zQ{9--^Nv65rx^9We)fH}7r4Y*q?^jKUC+9 z7VHoY&?_w*85EdYJZg~;Nu+{k#zoPcaT%KI*5$MC^VHw8*E?X$7eZ)IpR{p1W_ZDl}OWDYf@*bx(JhkIW%Hd+Ati|2zts`rK-Du#Vz5e z0ILoo#5Q13z=jMj;wj=B)q3ih&O8M2t=PfOEQb+Xbwg}ONa}4Aq2rpHJ>+-lIHY|Z znqPauKgiwLIJN0vfTBmkkhejyc|zQYDN@vnJUfwTMEgw5yeTTKG)$>|QN*sa`^sFf zE^$$+X@=mwMxA@NKjx!0`1f<-;Fo=H$LXWPEnhpt_F3 z%=321yoZffA%O)dZr8KiApS?xnQb|4BSDn=B5tZa96#u&{QsY6+#6s|KiFk;SsMu; zGcp#wHu;vw!WP}S%!xak<3ZL_ZMS6+{s!Yyyq*=oOMI zdwMhWl?~4-xbV@LVfAvNF0LJ7F*wOl+b@iS%B@QIPErSowqbVspm(09_SjF)p2JDy zEPVt3Y*HJn_T_WJFuAkVzK8KEM@SMrECg`=`1Lk8cI-6N9MLBIqWi%F45M#Aiu)Td znhk-|TP#u{(G0ACyWgzp$3TxofMTXfnfVCxO$~^qusZ1IL>H0TD58+%!Y6|6dg zxan7mlGucrGoGBP%B4hCe-wrL-BvyW9xOZg0xPcRq%Sp$c9v52G#BX~$F}rUFui5U z8~@2J(iZ1Q?Jzvd1#<%RgwXbWb1rC5c{xWdurYM z7PYfd0wf$aqv#|Czo7ir*J$uBu^^Xa@ihzNe^~v_A@r@V!S}r7TLOUk{bd5U2vq>P zv1jcz4|$Mx3JrOUKf&rqj_wNNVp$S6kxhV&Z0*f%@2y}&1GN>ADAZ~$jvMYA7t*qG ze)e^kzdJ3|`gh9E;M$-hoJ=GJnU|VNRbMO*l1X}>a0vmd?_(G%=NLyo}!Yuu#Arhtl>4+HF9Qq7Xn2X zuuvXcc1DtCJ91{97XCxIOfxsGdq~m0%xI4vf%<;I)TNiIZUaiH`G8MCN zbEnK6I&V8;q560UXZ|k{;M@qob_WP{*PP)9p4Dg}!AKc;WZ53^;p1!K0<-smE&fdu zj@{S!a0q|0@BGnNP!pvmgHaPw%T~+i`F7HSH*|xWEe*p_@y=I3y^Tt)GI=sHonxO?zCGZeBP-h*!EMC#li4< zfX^~l8V_f$d>~Hn)plGn&dl~_==Kdc9Ii#8cNy5G19oAryvMk zC}@P`c|MoU8U3RWUM-g}ONeQ@)<(cOozuqnZ1k$lw(Y2~mVZ)l#*jJ@z?-lpr=c(% z6~`u{C@rT7UoDLQpNw$c=S|x`h?_`88^pb11Jl8z6z3n;x1AWVxWu|dUcO3~$hNvB zMrG4X5ukvP|6}q$X-q1zA~*gWRvdxTwM=pGb#@Y|vrSsesr-KFR$5mkWV*7Ct;bI# z`~RHHQ9E$mE6d9trYXj*R%eb$ihQ+p)Yy4RBwklx0!Tn2i0ApV`_(?EQji|na5RAN zGU>|pwXIRbV!G&TvSzGS6tgqyvo~Sl$h1-=HulFao0(p+R4-<}iI+tq+aoN2zu%O` zo8g%qbnmo@>~E`qP%NYP(*aV+jXZI{XFaeN@~^m|DYs{6G^>a{3VOi0(l!q+qZ!kC zUP@XE#QYt54WzY{>abkI(aO$Ya!xtwE`QgBkA^o{d`$H;;CEXA9heQ*b4w6%APeyO zA@2i{4aa|z>AX!rMHvtSUG=B011UEJ@XH%rN(PZ0{|*y%4a{5;J5gHyJpgAwn7^Sw zC&ta>9&-LorWv9-_E^;Js&#z_)X_lVI1|$L}Vm)1)g|SJegN zGCa(HKTi%&^amLMfCsXXz!5o_>q!!_Ny~;Ff4(G>)(AS+YHq zRfNs+iaLI2n=dCEE5=DYW;wuoIN+B%Ia-@OJ>^RA4LX&nQ#=B3vr2U*Ax<_eYeh;B zFw-Jm2a=yYItkj7@HcD8QGbRW18+wMKKZ`awe&P>EZnP>1bE2Qb&eyK7TwZXArKFW z@}|bQB6uSuz$bFk|8s+2`OW5nU)RU+GsHiPfj-6re-jjXsY+4CzshP5=400(K$the zQw|t~l~=O5FSoN54`jAdEo_)BV6egM3Ry>rB10?r7PP4r0D$ujUPf{SCo4y&yd3o@ zZ_4wHG7#sB>ZPsmt52ZNiXE8*3@W90Od8525Hv0GsO_5U%au)|d_ARcC?A&ngnhNK zHP;)8R+XGzrHOP#y$Bk)4-h}!CX0Pr`V)>iO^Am8 zK~un;rh*-H$aiwi(?^c4EhV@sxa$JmC3DeGHN))Vg;w({-%Xgd2k1m2;bx4)CG?!v)9b8pc*ps$c;6~3qv)&M0GsTQfR3sEEA0`IkW_@tvh;>c z`Tt?aQ9J_7VuY#qviYDpiYJ0)3&~70f$YJ7Mz~UoLYpO3y`EqzvmseH@bXr5q0agn z3h}|iQ?ll2JqyiH2OsOo#c4e&MMVdKI{w_Z6*yKraOSQ&JczJ~wqNA$dXnyB@qlI{ zqoZJXwU+hJ{}GOA-{YEGDm!;h!cVh2HXZ8}55T3g5oO=_mckJ<0D3uko^t+U0(z+g z5cvQ72Kc{o_%p)Gcx<<**B!KS64}nmI%Rj0+TJjQFM1PHUF(Ra(AqGM5z^`EyU4+QjqeKExXs?(2IkQ{9JVb4@6kU`{Ng372JVg3YH^9&OiAc7-dgqAK5bvc+HJO>z#BCEUqIAb{XVxQL^R($t@8+jTL~$m0o2Q2)kq z+afB|WN)&Ii0emFGq}rVrS+=9D zpQmXU<&6oW()neOD#>?}UApd8l+;!dULow4V$0)_h3gQYksGhM{Zy^2gbd0lAw!q4 z-usb4U^aM*p_p2~1xzZ8VX!uX_>>DsBffH6liv-~Wg9blTW=LXrtFp<97%xDgWv6H z^~ySI00oi#QLgLcGh^V}IK{koXOBJw{2j`HPZVgHf@kq_{_~$7wE*d46!+HWTP2p4N^RjtpweK)&TaoZ8UGMQoA%4EC=R#U>|EVU@y{#(>(NCM;?9^b7BkHNS4zeZxKXztY3Q3jurLNZ2{PBq5a5S4o?oIvnkSe&`@q*^o)pwC1AW{6) zOy_=nT4e2iK6_GHBH)&sZ&=5G*Mu!MZea6wO%gA4m0or893R-&RSYli{?`njM^_xE$F*SRrtB%c zW$7G3|BsX}Ej31>EXiXh>I;GN0SS}f$@>53Cc9Xjf&uo~0-UdFv@NHNonz}gu(2W< zvte4nO9^iE(@#qFXPDQ<0`CVJct5|!*L!f_2#^@y^4&t{` zYnA%mV+hV2*fyyZugqn<^l|%-wiL35JMk)~K9tRQ+?>b5pbJi?V974TXipnWDw`7YcD2RZdZj;vy(#ApFO=C75_OIF(SnvuZ0yM-7SprjcN#sjv zs~U(!y$%FwK7+{V;%IV#M4OG3x(1ZwhQX+@aRN``u%?EgcVAz%X|;}$U2UUmgouv% z9tyQ7KaO*IHwk@WaBJg?Pn1-?vTwaK@0sRADEu^&;Ae1;I{PiIQhGlOO7fG@5A3$W4S>`8XfSrHU9O<&qGrtW*;l7dEXmbPrQ)7vHU|!LQR?~&Xpx0}FQn!P zW*w~8N9F>seb+`0TqACqY|wT7WM!Wb(s}|@x5xozp(_Jsi?ST?ceDt)?q7E!mV7?a zm&m}y9e^VK;uvDbs}?Bd^{pKNOU5GJ4Ni-*qPY3Y9rNv^EUb%u50V+^Q`RERGuf>> zo(x;WY5iEPx%)1!zoIl*KoAiV6&359*tV16)DYpm_G@$927jk`xNTD&mDv2&-NIbS zgvQ|umY`$qrls3@+J>PC{Q97H^E&y#;Gwhevy)y&x|w2gl}OcI&5ou9v%2}0(MU`t z$Ch%Pgd_xdb%`AUE9|lO6HVQax*oCcgPED9W2>*??xhRM@#@%RxEl2Wtz}9j#CmO- zyZ;)O{B|@aOeJ`G)BKew2bO=hrgfh_Xc61;7{c(}S1buIaI(^!D@wO3US=>-Buurp6}S!0>A6 zKR5r*Q5~ODc2WYEV4dIXA)Pz867XNc-&JhrQnXDksO8Ss`P38tmLE{MJiQ?5i`76a zo;z(Zso$s7lZ=v@QvCEl1_z5sn7ztsUrFnvl+n}m3X?BG29QH_xQ+ruGq9rgm%$%e zppt-)>wy7oS5m90c?=7(p)@a{EIIm9oSY4!7V#n-7oEQNq4iIBjRFYrhf8}yy_AF**_FN=m<7WVTl6`Gl}h{2vl^| zlqGXY^r;O){n`b{y!NG=p35`7}uoz|k|s1h1BP1R$befcG7{ zKMu>*0{r4I;&}=Va5)K}GjKjp5)OF9NwlOMpk-Mi1b&bQ&UsLhawOf#gA(X z2(~~b!N_I^ys%TeAiS^d(CVy}?%yU~5VWpSF1hTdlEKQaUm>zZTeOTWAH(x?Q8Ov1 z!ca&k0Y_9?L&rgJPL7IQUp|L+UpO0>(xEF4YX}Z(= zm-^mcSQ@P7Teb%N(@?VAZ^9+X53UKYkv2*0j-}}{xgYj!mpz*;%mR%gS*msxyZO*+ z!6q%iX3fsU78?5}jM*VQOFi_M(18T*q+a4jR=T~xb=vGVkDbVB_a=7$h^OW;LhtCi zkD8S6Ol(pzd{O*u@8dEClt)dER8?pusz~a zyecjNZzQDHywzJ#8#P(|klDER3(Pm#PQ12VmoCJ*4Zz{!V9I<-*vhcYX32dTZ?)NI z-^-teS1Cg5nr?_y8Q~$cRbPXX*(rbug3UFf4uKk5et@)q)h$By;3eCLe}BaVBTv~k zV&G;A$~w9u=ohxQCG=SGi(Ra=_H^pS72o-7E*wWTRlabLG5X>??K$fDs+WN46l}s{ zRwl*lXk!(^xZD6^c9fcFUQfMo>1%4$Gx-HG++!9K55w>Gzu&z3nWDsyL){4OBpsY? zXU_TT`1J)?QYS!xHs$~<^uCfy06n4JZ%rUW99gzKW9v^tp;M<0I6`beafCvoSZYSF z8mu6rVeI97Ph&1kV{DHJmjozt94VPRTcKYv4O$*0<`dc|S*!aF{haVWLy$ei4oQ!r z5z38RG=zp2Np8Hu4_d5a(0`5}CWpT$rDOuLQ6OsVuvx1xzv^lyO)bT z>ny~ZeNVh0a{w9MfNFCabtKaA9ioz}65_I6#oCrN>0mq5DP8uACyr)!5&rMz)m~+g zYDH}?_#ud+bK2{rws%NC4`P%#xe&>a0i2O|-qQEx<{#6`2-(~OIIBo`e@5fkGx=vVWR@%PD&BK1TvD zfqwsHf$dN4GxQ%$-Zh&OlS+Gu;PRyw=*d0G*JD9nVL%|v1B_cG2?d<^Kl@LTNHbk! z?dSTWwg8G<+ZVyl05Z}VJd(fOwy!hxNmncgAXT)@_SVhV?Z92L6IYP@JGnjgv@Up$ zF}0nP3)GK=4zugWTG+rS;c?2@u?Ki!_-Fq3F`~C%V&nMaqLQeK`Ml|MC<+Tx`?^Za zPF#qE#P}oyKtd_A>c{#K@6k0JhKmez!~EpK(0-MoQ2VR30vAp<>mv~Y^u za)9nKrZa_6jjU1Tr-yWxr+Cx zKVfDAt=_{{+v@GaozEj?%TwmlzO^b~CGA?D@6x501uC;ec8-5y@#i01Ci4ca(?^fW z-;;bHch8d7DVJ>pXIS|wt=WLI`f}wjvPw#}nE-j^N}((puo-{znkfOk4gUKh0fZAw zQJoorz+onT_x=17E1~!UPpw()IKZ{H4z8ixDClI`e+&buzZDzfGFsB!ch>Ez=N|Z` zLq$}T`k~nU*hhKX`}zHDY5eP-eE5gCERn%{^@pp$0A0Sk z&Mhkr?$XSG$T@&-K#Vb(entX_`w6kg0@RC_ehAse?N>;HRU-U(FRo)+0g(Qu#3SEv z?Hxz%2rAHBNzfFCxThz-^I_S9QbkrH6R0_)YZJq_#dwRz0+s5()(@oefBuv!mTo~e zlAT3PLLFow!@VpU8fUF)k)IP(FEkIv0_!G)%jHhDN_9)XgzCHcZ*`MI@~N2OR7Ywo zjM{%@_oB+hgFCvgfQ^~0pL5`{qp=$JvJu|&Ec)0f941-W1 zB^OPex{(VpnFm@Y2lr!R&IMjjQu89G)LQ_+vW2mFFX+|mk62r=ng5gETn2Vt`BdldpGhV#vtrYfQNw3?aDEp@|7*=>Z}>2Wp37SfbRi*2 z7Wl1B*%u;bg$9g0-GT4y>ZqN#N?~0kLUz{r3`KT^v+K(l)I6{Cw?E%_-~E`7U1`+wmbri25sexOW=iZ6@PFq-Ry+gdS-v*RH@fgjg4Db(?FXSR>3G`?t$EIt4* zz*~=Xl29?|tp)K$*-y@><(^Y8D!e~`3#w=^wac^ivF&1J9L^rXSla4kQ7Z;D(yvHEZ&>}Gkz zAk`MR+S9(VlGK}Nz*j;up}PEnW3vxusc`_xub0c9%>HsM)7Nv69+e<~0kA<>I-~wh z_nmaXH9Few&N|+2QVv^kPOWF`R<)a_+c%$jC@9@EM52;T7SUg->@yj{=xLo2rQ!GG z4OGmv{+v|Meddx3=V&jB#9EZ8aOI^eUUlx})?JFoj^<%v*(ZG(^46Jz6%u_DhvSJ7 z*DQ9c7ATmXK5uk{VGK{=To)9od*_Ag=`WjyiURWr^-2~Me!t|*;D_J{@Q`aAlz4TO z!wdvyU*84h9@ya;*dcH*oe|TmC)2*lv<&i z2r8vBlVdC!!jTB-7AtFzkxAK)Um-XpNH@~K>RWVkm#aC+e_62Cio+82K2Do8SGN;% zsFn(+YvQs_-wr-=4i-f7wOHA28z44!kQI>zig$*24Uixsn%Rg;jv(z-+*e_<63*}A zeK+wZb|uk1Pzmk(d*St8EX1xYMvf`sMacD=lk-&?RW-#F3{?(^)#EFA$@OPRa1_yl zlPp0^*J3V!z;1mO(yQ<6YJJ!sp=NWBE4wl`I`B^y4Ly;Lyfo|G86F4q>9P!~uAlE{ z?^$+cEe(^V!cA9ZXd9PjM6QBbRz2GbMDJ8!f;ns--o}*+J#5b+>~T1$U*;)GH507f zS-sbM4fnZRyuMoW09%+D>>y&Jh9kiycdjA4JMB{Z0j|9w!R?65z;*sA3ffm{iU31I zHdii(a-@{Fjs34I0>kLvze5R-lwA#6g+2#QYpT9WY?im+QS*)`n}>NVvIHxi!(-?X zH9pUk^w8M6yMv51J+=w)2w3gewjBH^1kLHtTCdt5xse!{E+|aH=2yyXa`A8T5|~rF zf)HUxsgP^O=)~@vzTfxc1SS6X)Jr`<5G$0s435b&WjU(RQFYg;7UXgP$q#^_K<^=P zs0rh&%a9V5Ycq%jf<2 z?hFWYoA&-rrS7cop{4IIq9LDlR=8s3gB~w86yhBr0rd5J4(DE82Mf&`>juaRUIu$A z5X*F>!pnjF^$2^L`mJs&{d0FK<6Ad+!uMie9g%ow z!`%Ys$1lScu;4kJv*yMZG%P-KvqBW@B)2%wXqY$0I5gs<&;(RU@JICT9fx7b!#!}U$?WyhA|id1HoZ)I%02C8|HICaqtB|!EJAYpY>l`SW!{< zIF!G@iY-7p=`4I14W-KhKI9(wy26cf{sMSWqlf2X*4jU%i6a0)m8955=y5tRbF?S8tI^;blp3EN7PE@Si-}%LxQo^kFj& zsxgFUUB+-z$$Qq7-_#+9>4rsRHn_`H?7g^SOjjT|d>Kq0GI?0%Fw{xhQ0mFP2yVoI zYcR{u`qe`(>!-^Z-8LR^wogWS1nsf80eo_-bqNWOMZPR^F2v^j_qMzQ^Q3#ajB_Kv zv029MG}R8C`m_*jk`@ZfAdG0wwk#EJ8kfUQCJ43Yf~<{%Sdypd(;oAoF{Y<<#fy6H z$ky7@4-abF*0{F6Gv{z?OTgO9wX7%XW)opI`!rX|dZezE$mPN1Y7Oz}Ks*k}{uTj6 zTS1q@EMsH-U0t>_HJvX^@Rvt!t9GG!-4m%IzPC68e1ftye;#Jl{}X@T>7>b7w<#Bf z?!7$2Z4DhOf)hTi<>#XKSzfG2&t+vkfJ7lcxMr*+wX++c^CBx_26b9-7pC7@O6H5l z#b|TM$|HTelF&nQGycz20?ZYwa|Tj3Fb8Bq6xjq2!I=z&bL9C7O>pH3-mNRQ@k6G% zxihN$`9L`x&89>EGelViB;@!@cN1UdwYYhDnY4|DUEf6f3Yn)X$=jK=CSY=gpk*hlK$#Fnngx{}KQ4$j%Z2~VlU zjQnZ4b}&FgU9F{GD~ZsQn=TY^8Uu827eH>N$|XiO@9-d7ttG~(0p`pH9W-si1@SR{ zzwUdXc1#M0AYw*A-V)MD8oO@Jr9y{P07VB6`$|2zdB8W{cExjB1knCC6rDrnfBGuk zeV72GjW79iW}*wUJU-#u=#_tq3v{>`C6cTr`~2h5I_$}SdJx8WtYgW?)(_|qq5r*g zUw{Dod9xI$BB~d!9g8>pfqhP)ns|4k@Sghwr7#S5WS5a^mdozdJFblIK695sBin|B zY|Q3b14a>MHMS?CyqY(M4ZmQ@*BK-V`&EtRT+k#rz$tij*?bC4g_g6mE_K|W=9kq`@Tf>U|B7q+;bu`#aMT=wPL7y7SqJLjSy89MCzl;5!iqen`BzmnM1!Y=WqMb&pM6OeGu+5NIu=oiJNLhgQ z``7m8y>Nh@s=b~67i^;~vMg-nGXfN`|3eUrM=(}+93M+EaC|E5zD9(^(37pFxSqd{ z@$V7ba39JTd zmjs*FE(oy9vi%4G#3$k^1wEa|d1z)H+QdfA)@@7hMn!TgUXA$i)_yAT^1OIzBy;8e zuFeGvV$%Vq`|;lw31MO;$NLrsF#L}-oiD%CQxOTc6-#;rNW4mNcbV9y=1+7G(=+(Q z41~*Xh=M=@P{Bnou|Ln56ZQWOzPi5!0lsVzd4O}I&}6=_ch^I|uuS>tZy^CzbS0A~`~Wd{9l(P;H{BRvzz}R# zU1biuR=~^T{ueQ?F~us@wipT~aOvW^3Rw;o|Un5BhA&;ahinvtE-(r~AV`2gHAdT>RC{;J)1tGv4KVD;x zCOf9eIAxiH(s`zW5ER<^7)2SA^_5FL?%Bz0f0^qVY}VqOM0@=(g3#81%e5}q>#Ddh z>WmcujJ?)zokF|Ze$@YdBh5mbtXX!Yk8a6Z=qUsx{qoS^o{qpPZeI%6HY3HJR zTBHB?bA*hFDfMA{oc!K6XuiFVb;1Fi9J{fVO^^ZC>P(*%{#s=U(q|!$wgzZ!Wa2WE)5uT&L&=Vb1<1P132BbVB`p zz4^J${OPy*i_?1J%pu}YjXd09U($mrn&%5=ps_5e?Q8Oy*21G^nk8MzNaN&ZOf}5~ zV1XoZ%vn~0n7kNi`KH_b*xIjAl|n@pfaS3K>{NewJxj0}$u6(qB0zffhk0OYFu#BF z9^8#u?FjY&eQ5-&Cf%q`Ws>8Q=Q_i@a=3uHdFQ#e%c}svwF~$Trzi#E6@Ha7YFRIo z(URQ@GV25!0sx0KbmoqkCtr*6Sjm-W8YEB7hif0$-?262K&tdg^M2}@97{mvyLx@V zrIkZ4<$Ynt|AGwy3@Y04@k%N+;M%LJgRxI!ma75SNG9hcXfH|DVx?{J`yK0W7S$6K z_9kRIdpd9{1i<-!jhn>{nDNSKd^g-b7#uso{Vb;S_|(AOQ7Z@dhH}1nx{6$p1?1zM zsFkJfRPBD760r9VJ3@w%DNb;fOdu#dWpsE$^UPxBr%1K^bQm5rs*de%KftVNO%!*gCjrHH_K6N)0A1Y#Oog zpzFmuJcOpqlzZk=H8aO7z5xJquQkj>g928108l zQ?<2$IDmMioJ9`>3Tp$N)Lb?ZmMdEk`#&4r)GIXYGR3Or$ntSPzu6_({zi(g&F;UG zoq1Y*rsY_@{1$KE1i{+c`u+CqSB3n=?>`R~T z!h`@n!y`7^b8r%cV1XP3;5!f=Fcsa^0;RdFe_F<&`310+iQAtN7T!CWrDu5p8K}mI zx{HpsI8C)$tWFh<*Gut_LB*;3b@|Wh2Bb|T)gyU~;{8ZH;)u4j_#f-ormIS&Rsld7 zE0G}#+j8dVdwg=$N}A5|6Vj<0XUyB9T^5DI5Cen=_4HNx&=xU%6@nsSy`{-7+Pu^L;Vqy^niFlM zdK_91qGp*LG{>woX6DUiHh%>Qf8evULoxEHZZ77b{pZkuWJYx_K{Ho)+6KRn`FE*n zX-|AwM;E^g^$%5`4|Ocl0t|2etXk&b&0~QXW=2?TwtW~PBMRVVV^fqMU;~vW5V>+N zWD(65#lc30;dWc>aX`-vJvD!dz z1s#Oo@atOo{FEFHCqSAMSfVy~S4QC%G*EsHfRcU$8$#WUu79`>WT5#2>gT}OiCDec zIy;U`=)C!ofYdrV7c(7_zUxoVI-*1vmnlGVf7c1pwIM&QvPRQ&*Qo@g>X)qsRhE^$ z;Rj+JEZSaqcsZ#L%I*1iq@hk8IMsEbf1Kso~K5^Cyk!4Or#gJW~Lu9W zFFxOF0;c}Dl{W2`g%FfrTJNry;1LD0@vD)A>4*%6QBt$r z+-rE9N|aDFS57FuTJr^)DwSll`xaXqj$MI-z&AB3;<*n(XVa{ZG=`eoNL^VIe4+xL zOg{>Xz4a*twkc9mfFL8Wrg_-&fuOcf`qtk|Z{H^F9aN82EnHHG$o-*f{ z*+XEE@IB+C7t{lM(-LS4^83Ctg>Nla1({l?;ayg^ahd#E>D$Cyz}o>BU?KVnsG@NS z+wkbPc6SsoK^MJ|IUwnw`R6twagb1Zr9az>gdmf-$nqocIdOfiQN-3Bwf)V`Q=|eW!);u}S)L`lBxkBME3v|) z-e#Brv=G3a35q3a*_ys$6&WbHq~M)dSyf8Eu5(q6d2b||z5KY$9~JY=4VnUx5;`yj z7VTe!g-O*@>??~<{rP_01K;=CGS0o$lQBMGMgnC!%7J7X>!B4AE|&mTG0QFhu0yEZ z$MzqEwGTFcgSnQI;#%&_vJgG*^2uq|UtlVj8V+<9w5=VJI`%`q4F;AdLqS#Umked@ zdwzNR=qakSj}~G#^>aV&i`Jk(3S(Qhs;~gAg)vlanREe<@eA>>(|4_P&sn36HzW3G z`^tbCbS2<{aV)b@3w(IQd}S>Em83%Vi>lT>6f1(!V$!oCoa~P76@<)RzEYaO%^s}s zu_9;bum(qfBEyw8cteDH4LQF05p6q7whne2F5*9*YO8kDkR)kM#DYy^Z#ycsN6OD@ zbl_0~sHRjn zmFX^5$z(58rRzjktW~QAtBc)f?R8<}te#h^e_tnmb@VdWCW=#=5^M-9^FEbxT1=&b z+Zm2!iPYYGJJDtm8Rsqk`BNKxN?4Y6I)Fy*T9ZXGM21+qZ`D5-QMa#eW5aLA9&`KU+lXzC zQ{@5Bol}Q0LT~%o4L{o~d&+>BnCY4k{|YO<%JR z+l77~2hmP@nRSo_&*QsRrIayl9kkEj0MFD8(pa_|+Go9%O-QQ+cip%Lf#iU?ZD1V* zrRaIL(tYMiH|uNfhdaJ|FWtRYs^rbD(e$wmu)TEWFh1d4qlO-9)pDk?5h%XHcKdeR z+|Ml5Fxwdl4`Lg39P9jjvIlnwqcjyf_iW3uB>+&n1|D~-AL@tH&#(K1T{k>8`nFMO zR}}A*G}`~GW5E@Rnb%!-t*8+ALUn2sNsD<7=8LjC#dnz$-9C1lheuXEg&6?-2X4CsFB`j{#pbE>-lpOazY+c)KBR34C0Zl{!0_Mg4|E=wa z=fZKjTXfTHoH({F{lB&AY9y-L~L$&@TbAzx11DF+UmO{0j9o+Orv*08j=Yn&2hNe zps5+S%}#6-2Vd5OR-d0h1c2+IP^O;$B<#*9X;L#Y(vwWI^hdCV$%Fv-;$<(PexdD8 zo&zwVjLjxq$vY+xhkr(1`-90|-E^Sz0jQ3tKPvfUsASm``_4vQotl`p7e^V33hx5i zq&aJH22+U0m5n3FTh=u6+W+jKxFiBi)(H**zAcU&)l5h$hd7@Kji0%wYfW(arSpGE&eYeJ?vo4EFgxH3Wm!qx z0vAuCp<#VaIhELjxssRa_v+xQXu1$vy(mo}83L1jTJ{B5-8^sLX?dO?zjG`93A8tm z^Yd;TzG%?PV=d(q7ZiyEmS}rPWOh}WNhL|z?LUS21g%4gCcA}=svUJf!+NdOs^pIwqZI60d*sDd`{MJz6w zbyh#%6=YhWA3TQu{e10PvJPp&phmAOm&AA# zPaVKO4GL&f1Dr%!305q{uzRfqXJAWK`mS<8(%+czKm&}SdN{n7&r5rKHj(u(%yI z%m&S6WT^GAwP@W>Lx}Wr4DyoW`*Eq2g>v3EHU)8;lopK^wKBR7F{LxuJ)KlR=<`0^ zvb@@Ztq;N-z;mbw(n|v>4lhVe1pLF(VG&xx^u$*6(}nW^MQvHM&$GN={Spb}QGukgPqDomqzpO7#=TL`?Gj68UBX9^CNS?m*mp z6|-L+Th)aSx+>QhBSa6~-E==Z`1fwP9K?p3Fc)?6=AXdvt^3OCkl#>fPrpvpTMLsixInQx-j1IJ%^c#%DyaqhUrj?rNq@f168Vkwkd>XI0|m0OQGb;WQ^%zJXRCTbL03Z7 z$pi$uf(aQ)JwHnT0)sFKe;h^FIdelyyp9xx=8?Lu_6{p~_{QvB5lI-SuA!@J4hH-q z>VNbGo{Es!6?aomfl7DX-tsQl%V0;-?PRhJ-c3y{q5$!>av1fDpG50RZ~}~`T{*kA zjLcJRjoLO$ze7?(Sp85zPN5&_BqFNq7_Geu&uX_#FD0JGKV4&HhVT0E<*aMHVJVQ( z3B7P#Ym9l4l{2MZT-GDWT!-z1JHN=yORQ&1tF7_k5H*)8%`f!tTkgJ>`-u`)suC%J zL3um1x=!5VRgobQ0oIc&XP%oPI{cEs{50a#yeSs*tYdmVuRdSf{33VH`~%kyJ|mdZ zx(xg_&|FSr78U|n-5d%Mm=dC*a-;X{NH?Oc;_NTck=g0%serNK=Y->K1?*16Tlk1| zl1{Lh4aaFrxq}w0gpG%nbEoaQ>4bpkyY+Ply(IqJw=WCR=GOo6Kev;OFd*cXE|9zV z{7ma;h?~*{Jq40}asFkIyIOatij+{vr)YElDe>PipXfj4id4u?k|G14=}+fk*o5>bSbAc!P0L=+(41_IL{D{ zvOt6uZV%9`%}BbK4A%YEpI6w3s)xo}xS(hmDk>e+L>8S9R>SLl1ncJH4~Fm*MkKcu z{(UB2D>JOZAI)e2sN1KToq^hxj0EjQT8pA2gm@>eRZ`=T8m}{KJn*1zweB&vKaIv4 zhnv9o_IPdojR5}d_l!1tZRM|z1spWYJ8{I2LQr^Guw}4`Xkfyj$c8ar6p4ftXsqLbpGHtS+&>F!zd;4Fp5tnB(Q< z`v|q>L8Wj7yRGQ?sF@V$*z9uVy4k-D9^V>t*4Zm1)VOxf;NV z0Ttt2!$BMdZ+8uJI2tE-2>w1FDXqZgk;s|qUBn~06t8-qvPKh!Icc?O*#0Vq)|UHjA$8hQ)D*OujrDZh7J;;1R#DEOVX%QoF$U%?9a=%xPsM-v4=V@ zUBQFTV!w+$c)r^?44mB(t*b2~=;;B)#zQk`J?$1pfgD|2ww|Jg*e@AFj4Zs&K6n3x z0HcaHcaYKl|Ei30<^jIWiLZ+Y9s#!u07D;P*pU+$wC`P3;B}qsd_l)`n_&4XYeg$v zhmLEON{Ci3ctEkl>`tOn1$L;kbYIO0%7qwF=wzO6dI4=u5r?alDAisLOpvW7F6Mep zsTP!FlTV(~nu0sj0xW@n0?bKUNApp=Tq&?(4J9>{+<=%n#q2x)ye{^5E62`KnI~24 zf)ioMI^VWSopE@rl3O#g9eCniCgI7JU{aY42ooq~HN&Dq5VL98F&i6ry}Td{8eldP zNk-TV!4l)~irkA7mYf#HRu@O_>|D{t3h2j%oEP}uBxq@ZJG_90aEGz}V^|@Jo@!&ksOGX?$x@k5U z=7^?b9dun#C@2{U?ipIWQ2w6t0pnS#+Mj2eB6%HwRYX&n>xE3y$If|uTA=agO0DaY z(na2;1P4s>YlL3~HBpmIjd8;cBr($K!^Wi2($4g&l$_(=CqVOhqy!VC5=m90hyiXU zKurr9P6dgU&>6nSDqSp$y0rdRe?86rgE2@p9S9DlS^0f!51IcdJlrn2iK}@Amn_M0 zC+xeW?kl)RQATHa>DSW?&c~xCjJ1dBwD9h)uQt1dpaz6(%ud(_DqEG4EmjCr$JC%k z=M2O>OA6xwy`7zH!{03ZNK zL_t(e?V`|DMH=2v+QTsAi#XlcEN6oK5}WZH4ZPR+mFk;a7P9wBT489(g?jcs_2|2( ztU)VwQ$uO`9J?)j*~DH7CQTmvHgGthyu7;KnqO< zp7q1dU#WuT4*!}R*oF_;;;B|ZBQ2jyP5!wRHif{;^AE&wFLhK9k2tfyQl@0z^GN<; zl$*3CJsDuyAq?0l8_k%mRFk`aciqCE4EC&6bhHAwnSUHO(D?TK-l*R5EfDON0;o}D zsO&k|AB%VVj)L^YYcZf9e^-o+nUY%*JRBNghvtp?nA}9o%-u zkVPVz?s#|hv2mp`JvZy)Y&-#x+;a;KJJz1=Z)(X%4p!0JV|NMGBy&;j9z>;$Mrlyg zTUbU|gB=nsEH>7usWBAiFxt5q)^c#oA+F};+$^VvfdEYh+_%fA69JY`}vv2WRQ%XJY zM~M{HskM_OO!nXnpr*kXYbSxR@o$mNDgdlFP*$^KZShhVINT2_{xk*U!VBqQ%b&X) zedn|;;Wpbw1ReqJNdOK5B4g&$;`;&v>L4iOAI*N-=-;nF!QI@CuY;j~*Jl55L<-sQ z*)#$a8jTkZGJhr-O_7NQ*br-#t*|0L0K|l?tyNd;Moej`2LjqjG-gC}b*K>ds`5_& zG9|1$k)L+y>xky0H#;Ok<^5X`9f$z&6_YIiPMUKN>%#laFX~q*6cwIA!zEPd?6Lrc zpaIDtHr}gXG$tA@9kbp>>^)Cs`RtW-h(Hshj~E&*Lx<{JE%3QulcX6bU!-bwxbJ$$ z_%P(>pnWnvwqscejYjJIL)O`?SaQQaSPO1sgQ0KcYRUUQXZBdCAD;<!<<_758I;;rdva#NlR5D0g5 zQD3cFQE6O}s{SS_u02pjQtIQ{;o96);df*(b_VYP4`1vy#>WQX=l8x_|Gg1do8UU| z`N!U62PD8W3G8=&{ncrLmk(&Dgwj5)?XAj$yVKK^a@dv6%CDY9c8(ejAXx=B&J50|)+rEd`l70Jap?Apt|1 zlx-k%CK><`gnCc6__;J-PFZ;#Sh<|DVz+=s`t)42;c1Af)!lN-TL0zSDSPth|ND$sX}pu8F{McR<5XYOcxmAfxA48@fT=*2n_ z$-U^l-s6)wE9A8|X**l7Ai(YSKKdTq3e9f$GVyt`r#@ybvm(Bu7XX$wnRa0w(S<%pjWa)?}Wk+=wI}g%k-+0$J?pdYb)m zHDIw{b;1c7Ou}1rq#|SMOBMmi5#`zf{xA*+HlW_r5#bokwU6YYU@gC71&Z*CK51dF z1kxA8OpWIKmTmbM5fW=;qs|^W$d(80@o(bV}dEt2_L4~ z6vr~8f}>2g?_OD?$F5=8y5lD|iGHR}PHP0TheK0>yu^1vmNF#_mw1~Fey#D7(sKw@ z-t_-5+0T#SPhC?4xscYJ_7P$d$JZ>*1gi*ONI9>s`~a}WHbz(Mybu$RwhxT4#b_PB zgtDQDE|i*$7H04qcvM9iDld}eq1wTIsC^UQW)Z#&s!AS2V^(P4BkD}i@EIL%j z$+&3bPWSA->esOuXWB6f6WT2S`1yH%O8}5~KWHED8^G6H-=09bRnh`!Lw|@bIhW}x zqFoD4VqkIgX!l{#5SlcWKcIOD`z}HD5Cb1h{lz9Lb-&NLaHEe9lk^9$6$}-q+8BfP ze8AdJV8;>yllo9qjk9uvdo4}WwwO|q2n2UzvWGmBu@Xpo`)>P#J=0u(^XCxDy2Kep zGn=R?q%iA}j-8IaUnV21Cf=_yXBXI{q?ONCv_b7Di(zKM{r9b(oJZgcZM(q!(Aomt zy_&1vH6)7m-Kz(mU@_%T*`TAoRYoA#v;Xd`pzaTLaYl+vWkbP-W=d`%Bk@n}S9G zzeR)GMqo5@U+@JN?m35tuzp6*VTB}nZ~IM+4;e=o#YB>b3n|NtA69!}4>@$P0Kgbw z(~J0(!<2iZ{ulX%Ucn02rmVj-u@(HmU}tUxNPd~FeY5nr&OYI`Uht`9>{Jim=i7uyPKG}QrB;lfhA!6dv1ebY9S5;2lqmW0qYJpEGR%2ze-zkKC+|2egZkX) zjkYp?DBtziO`j~B`M6OC69Waq;1cxV=|tmE2Qu6%f&-1;&f}cS{gJ%rD6zQLpVz%?G9l(tyb(LatvMJJp25U;bW`TA%g|~^2 zZbE$!^}BUlt_?vwzwVysx}de+DnR^O$qKm*)YFZh*QH1wqdApKAqY6{%qE&b5?Zqt z+pnf1v1nS~OPb{iF@wLG^O6Oar0)o|+OnCyYXTHUi}cm7v&M`HM0zsAIvQy})e zyH8!%zLs;3&udnHD*|!m64YAcFjYAV;`v@fE~6T0xfK#RqM9|;S}35&2IV@m_;EH> z^h$R7_l&36kHs<@T~7ZVfxMG#gg)=i&tMh${eeI5)B&dm&=z1p9~J$65~5WcC=G-s z2*>1~wL+a#psm@*Csg~3)0}X2%xqOreI~POtDd369HCsyoM15Xl7E4y+SY#r8atW) zOIRr$twq49AyOkJ-S}wV*u$5udA?cv6R{D&#+eW9tLd*{9eehG8QbywWg7UF09OY3 z*MI81B(p!Ut={T;87q`7$U%7u$Jo-MvRh!k( zMBOj(de_BP3Yb@QO2G>6y3(jlLj-Mt9&O^mpSdVcTISqL;Bk}9i6#$4eV3;usPW;N zKG`co^3@9zdyP)+7+pdJ4waK;KP}!Xtv!>Cr&=+?>ME7hX9GM&0V}Vd{OXW#jPuC0 zvXJ%x#^-*Wdy~9bJPYKsAOi~ytk9Crm_k}W#-?Z6GOg9PmwZFfZ zMpZEtFtRxXJiq*NO$y){E}h_OC;h%uem1gz{2{pSO%kXA?6v7V&%{9~-JRQBQr};M z6LILFs5-_)ZuCzS8YadUEn#3n>+#VY(mpW+SQ3Qk<+KE_4(DOV5I?{}rMSLo2*}s3 ze6s$K-F}7L`7B#pj$kC)EL(BRqrhir*^K1cTJ~L}>M=7+vsub)bBJLPlW{x=yahx1 zL$Px1?o!h$Ay}Uk!qe>aYl7%RD^v~s)N@fv*3<;D?o&vxKe>H`RMnO^Mn(UeQgitq z4ou-_Uh}#1YXvg6Ao{&wuI?~}n&A6&+icTrBYsLBSQjU1{%b5F%)71$U8~4*80~+p z5T4eqri7ksh1XDV3=0@*j8&UFpcEg$xqGXFUR?>O6Zk3ztg(+&pl!)NpB~*{f9^Pp zYYVDQGMmVLr#w%x(Shl0ZBt5DW7H{F+cg>7gC>BBGGF`O=P{G2Bi3fy)PFspSIpW` zzj}}yDf>o%c$y2;xfGulzhAr4RWDAdvumw7Pa}F5!HBOk2m^~Ov{Z;ab6qi32rP?U zbV5ehxBwJoto6=!R^(+&+GDK0yhBnbc(-Kl-oQH~^Di<8W2y!wx%e8FpOQ#wYBM+9 z_mt_ztg~k9)9DfW`DaH8z>zTfnhwW^B1ish4lxg=ySq?bf483?V1>|j=qkR@bhJII zODPR)_GQgvx#Fnj8TeF`g!M#i?KOcZw@82~IFTlMzQq*SOe4VL)3Onb@fIcJ+*){{ zZn;z|RF4I8s6F81A43124IYI9W`EG8f4cPVD^;|#8I3|1Y-y?o7@_t}8Sk4JoI@6^ zj!bV-BQl2G4KvSS8e;a7o7?crD@P5t(GdPM+Q2PlGCwtCnNL%$IcfBQQ&zA-v+&nl zxG%h3U7YM~#C1IDG|b3)+94D)I`vgIc(1|T+`WF6AOeQzx#-gYTDD{>)2zMZGfYvJ zoo4fS_752K_$wJdLz3lr=u_Z)UT)|iczk1;)0Nt}^8(Lhsk`u2SaKrw;Wm!Vs-xtJ zq_(+B=oZ=-SS{omW~tvVWQa{XF9ABSJ&4t*+5m%HGXp`>)BBI5RNh0R1&`6^kNR8= z>VY*7sqBDB<2NUZSUC!T!76^YjzpHQVX+Z)a*VI>+<8$?-Ja>ad5Q-BNqx~z+^>d( zo9}r&hUWcErRZ9q53RAM#TPO|$sWh6C)92U4kH=~Q8{9TuOtdUF=oK4rg5Fw3(3J= zgOtmCW4m$jmPbB$IFLs&@k|ullPUF?4PRS>P-3ME4lB0KCprjpjmo8r(&{dKn;!`Sd>+A1loA*StOp3mHi zIv`}*Nf(PXiG1Vc%r0pN$e~HeD$?Mnkd_+ZL5* zhgMvdii2j{S7Uh@3<&9W=GgqohO7s|4#2eTU%MW91N?wHB^y-GI zKTi7CIe)(9cEb@lz47iJq>N*lPlFhn`Jc_~=&y(0|4Vgg`z0aOpqq6V0>la93M9wW z;QVi-uFt#S?Jj~K)@pbu8DUYU!;r-WE)h%LY4*>fFpWMg1dH*2l`vyKm~eHGn7P!| zwIC_5s7$qyjl{mFg*=ai{A;UYur0tOa~fFj08`1^Bnf7=!#@&P`>qj$)cO7OZAFh!%D$L&b}gB zYk7!ZO0g83+i(=~O8&JDGh5u|@DQ+N32wmy2nZg3}s>Q^5xe{^6t| zw3Y-hVNHmfbgwKku$(~*!^%OAQN%R14*)@Wah^@%NR3)A06fv>NX|+J8bb|MMUc@h z-{l`qtNlM^SF$6yjYQ+XM38`hy!2`Q|3k+mGTstWwPzA=yX@+!R7zwpmbWy5@e`7K z&;B;3tFSIx_2R)Q##xn0;hJpjmu6EArBC43pjws@{4~m$$l#c|C_HAO0%&LpuW~m) zNUPUM)cLHzw9xCAX-?5fX2qu;UftR#{sPGBfyN9PRwd)Ks)?dEboAc8Z0?-AdUt4G zloQO+#Ok_k{r;)J`ig9=*lYr$D}b=;20%ES0fm*J>!-;-e#?u zj!Fd`h0Mngzf4DRP;e?mkvW8a>n~&&K`Lw&=qDo|urc0h z2S@Rx+Bt}NN3QYAF#h@JFo&U^Ulpcou=n+${S~I_r*6sPhkVajFy6iL5MW`uT7F}k zenDrdL=6sMxAZ!yl~9UihIZo4-2P zmIkP>*jF5@5o#h3%{+6fOh; zq@ZpFGwI_q1mmqxzUSTW`5AFFPYevM4lpGNmDf^y*PFBeuH6XM%mG@|be&a3_2x?} zCG#?i;!!@KOrKB3;ENA)Dw01umQNoqha@`&fi8^09ZB~4i6mJ&Gy_nnREyJ#U#Ge+ zN=r!eN$BNX5r}i5HD}60rJ%XkMf!&zFFyz0Oz;Ju0~FE=O5rLJLtTT)YD59z$ljK& z$UKX{PN(}K&w(Q0o~P&*<}K2Qg?_pdsJly$T?KAIZSZWog5$?g@nRra-s21l6p&y3aope{HtGi zu0)EQz@WKlt^6=2s)u~5g>iITY=~m7f>|w4_PwTS$Jd;YS4T`bT&^WI+m2NGd>5>6 zjV=ayCY?1VRK_noLJ`2)b}nQizEXKeoRbqkgT)+XXDhYM0sV zY5u3KxKgwr6mSKri6CEM(vt4@eodssOc34n0Rr--#Tb^CC(#8~Z;FDdDU45@s(X5%3=*L^J5lZw4fe&Oz(mn!k%xT6X59c~TgdY0Ak-rr@;brQYI2b|%9gYCx z1|RvvK*m>Fm?!3H{pLKr20GU-VvPt3{P-SZfRiwg9HY2Zo3B8P`~$?;H*m_4qkDj^b*-?d!+B&dxdjSW$@n~=8| zNeoj#M^F!y3e>O}9MZ^xMowo(ynn~qxYrON2+iQ?H3t3akiDFyztmDp?^_Nw5$eqhTxHd z(7+frkybBM?rGVL=%)sq(9Nt70OdwrH};0gv6nu#Wn9ad6+ zce*ztUg8QXpk_Fv!Bf`aYUxXvf{&qExHaBQm$uh%U4rDW&$3Z*fkHs{y^QWF?j6!f zW)XP}Q4OKhR|-rFh7?ImD#bz0fhr=f@>D)T1*!dgOWSIqG?gOHmlq5|+Uurb^X*Qzk5f$1}QKkPMBL01Y$tle-l*XVo6CA!cC8ZiO z94p?Y5C6H{AMW4ezHt|vCo#~I2DX-}MaK!y@Oie%_Ezgv`H%~Hi)wFag{gc#ZG6g< zzYW_jGPugNB_st%7N5R=X!3ff0<&*JhWBYDKcISSY>8adQ6?bpj;~Wft#)rLabT!} zYS2*f9<&XmDF9Swh$$$hZDRQix(?WR7yW_%{3+?ri&g^^=7qb6_pGaGyf;p>}LJl%EJRatg8gV}EEkuc2-z5FN*VVp) zR&l|hlx3eoR;~`u1(ViX!7=w%dyt*2x(CF3d!hd0M#bQLxD%7R3wTV1SA3d{c@5>m z27J?WoJFT+ag3*mS=Rh1!BO$mld1$e85QV}@3~XDr5u(it^uMlv>rDKBntZ9I3F?E zus=GOy+KKuVHU&sRpOiKY<=JlW5~p+H|yjm5R?oc|CYW{o}0awc<3v^df05c5Yi9> zUTX9ungF7Q1$Dvw?qe1=!X>Tj4)xp(+CbL$0vHu#Qn#EZ7nLI!;k3!aU_44 z$(!OIB~nMW0cHUNB#Y=@@=Cqlr?JSScb0b}ra=pfbR_B^pO1GMLi`A*QcfkP)@QW6 zY7Bn{=g@C?CLj;K-$S1Z%Am*eSV=sZ^jewvRfw_E`B$_QX?fUMro5#qEYtEdS|KE* zJcIt*(?+f;=eI;3fD~H#08Lfmi=Kp8o{-{25f6-Q4gz3Co6$YADeOd*0i#}_Cb|Y; z6Q;v(0ChVALHP`$qP>>cD0b)aVFm}{A+5-uDUPUoQ-wt8j4=e@(8`2(JG$Gc^s-hp zOB^lP_ek6CO9thh9<3Jh+yjSxnmiY9ASXRe4ZVIMOB4C?SuZIf&-e)KRx5`rq8~4o zzu;Ok9ycw!{5sSkhZHB8(ALhU$TwvLXex9KnDyyRv(CG$ou!7+^L4h@I_&WAAO&iQ z-3dXifE|T#n7EPRf#6=R9ef)*t`^f34HSBq$qFVt$se9ne@X?&5D&X_t%Md?#&d6j zF7=Z7X0{?(tHGGhQbo{|1h6o0_LV0i$?9Z^-KI+YJuX`f*D;!S9_@V@j~tJ>sj)L2 zuixr_@;&1b#C4O?0R~N2hJDrA4Dt6ab-Gp!zjqW`%TU(c3`;=aG97+en?MuvD)Lce z`fwNG0x?@;$<#%o+2@P~NNY0}NRmr(!f9BFtS7VRc-j8Nb9af=LhL9i(qJeIa>kxA zT5rpg!=8Na-rK%@DN}U-GF!nQji3vlQ*ZbLJnF3WYW?jlGyBXpED?O!NV5C27%h*p zX~itzD-^tLAV?{gJrvn+H;f_nxU5%FRX$Gf*ELMaq zabZ1n-=6>L(-Vc+_rAwl1*r#1h!lv9Wxk5zuG=qmNvJy?_wiAIj>lhWtIQ0sGf9*W zX3~;~74Yw`us+&!1lnwIQ~*BG;A{)oagqPi3xeMxf7`6X zPI=#w&TVQA1;8_!OMw~&OBc%%=XBT1d_=E&-0qjBP5wVs9(ySM000CVNklDM>FJQO z`t79mHw=WR3>8WkY44Z6rNw>x)phM>hhh4u|M$)QFR3}Vt409-sb)LwC)T*$Yk)>7 zc%~q&s@8iKe~Df4Ou2b`hZm!49Y{>w2Xk80_{ETvG61q5c!n3^c}IS>bnGy;RK7ZqxB7`@(?&R;_!fUdg$YzM^FzsiaY|Z1^KQ{ z1tkXXrJ$(XaCc>kU%&Svig5U_i6ho)oVhot#3rAbS9bw{`=lW!>~`s(ZWF!K zQAENeQ^N9Q;%#s(KL!I~`3@LqDmAbKwuBkb7!9w%8Kl9oV3rI{elMa3ze3u1Fm4i& zphPSnqV!`If4~`X17bhjzVMn+(7to%Uusy^Fa8Ui!%tkXO|xcNZi4kb%qj}aWIVy8 zd~R!$uC{DHcTm@8>mLV+*`-ceHI}VAO1IJYUHZK2d?0hvLuac;7jy+|p!`VpT$8;Y z50DS8`VBN)zJC;*$Lyh;<8Tx}*=~!8NEl492?oK;1bESLo1SdMin`Y~`2pM=RKM^V z~1s{H)@$i7r4oci+B_h$>@BZx;Kfe7jN5JqL^!2+umsS?=w z9o~h>DyXg3^sWqbxVyIv4-|jEH a$bSK=L^PxPx#32;bRa{vGjVE_ORVF9Q=r)dBH09{Z_R7I_-q@kag zk&lU*n3A%vs-&Wvo}8Ait*5G}qNk;wm6D8?m5;Twu8oU@iH3l=xUz(SdwqL#cXVx1 zP)xnOxNmG`XJueuURYUIQcFrk!^FQqK|adM$JEx*<>=);Gcdpa03ZNKL_t(|+RR+p zj_bG%Pc?+7ExGyl#t z>phl6DP*Dr0rk}HG#`~U%k5akXLUD#_dLOb{LTS1OjF#wC4PzetLXS{1lRTcMMeR} z0Xxt*9t_2;rM`4?7&uryye>A%QOB18qF+s6x6kj5O^)W&cS|=npLlpf3obFyWt(we ze90fC)0kPeIeWORzB4~_yvgN@+O1$s18#r*tnd4Ww)^EVMz~_!%*^b`sQ?v#+hW709+jH>qPeE!O*#iK0 zruzQB4mPTTL(j`{n)$#xz|wzg3DbY_!L0rNg>BmJ?OIHJcZz<`6CQIc+_3tI(CqP= zu^a=#Yg!jBK#&+~!sAen@wyCFx*h0&m>r@zT&_I?bMQR-mYts?F$8QA>mFO^owUcK zP$Fmra#ENYtJOlp72HA&oCq(zsLq?GOj^xw&yDwWnu58IjJ2g@{oE+OprTr z9`4|X?jVYh{qxK<4)7dz3*}B+hZ(kEsvRe3*OcBUCLhj^w`mmW^E12o7Uu1tyhyGx zv_Z{c2rjfuO zotd)oA7irgx$80ShcGXF*w)AA_aCtXd)~Z6Hi{JDU0IU#Y_sqYWDs!Eu{&60*DODo z5qKn>iqISJVB4;s)h%m>`y1(dqaHj2@a31g2(TY`I3&DdRKFccKLQS~y5Pt=7Y0DO z^W-tS8?tVLk4XEA>DwNO$(p`X2`bY+8Z!V+LJ_mqlhn8*LLZ)MxTF6(OOVq=LWJEj z*CMrxga<8U>Lr^RBFDiJyjf|u-68s!6aW#FgY;;og@U^PvaD_B3D2}FE7+)~ypE~q z7#xo|#JwIjliqcwUnHP-1M}$(hXC)clS=(aG)b@+k>4LB0D)nm{Hqz%uB;HJ$73!4 zs0?3S(2ISEW5xf2i$3Rd&7|05($EBhU>Yw%0IIcQtz_SMnz<3ppGmOCz3JLPsP*v! z2MtrsQC&{#;Rz$p`3I->3MyHS2{4Qke}BC&pYrLIrqAPB>)*?BPO_c1+?$a9GY{vS%-lmSpDEqVT9> zo^@O-Q-!9{G*(TY1|4}YH2JtxVi61iNTrY4CrKCl_ah;c?hy@5V=Ah&)150tY7Cg9 z)-=N`msW*Jhwd_M7GR*b_@t9Go%SB&?Meg~huA67GBuEA@_=#H$nTF(0&L*S%7hg1 z&aH_5*oO)t$9s0{Ek4Q?HX9+YTbg7Qw~Dj0oXIlKx0xO70mSJ-YjeI{_a;k%sfQBg zT-W%K8rWyuBHa0d&a$}pBHv-esbL67%vtopo2oGe(9Yb!_!#Lz@nZf!wpjvnKZAgaYp8sE8oZIT*|R0gzL`?bi^b&_TJ@B>Es* zLMAN%uwBoP?4F_&{(#5a7F6laH$6wpVZY5p&JJs&QQ2N>I$`Xm8pbrfm||Gf`$Mrn z7kMNeb3w$N3S`coilt~l6a**(j_nwIC+xGR^=2v=`bysgCaj8RAkSx<3 zDkPD3PJay`z{KaED4-cIZUAI4_jdUMWVI)=VnnLtcMY28)|&66c|`zg3~};j)ceRF zD2n7o0!h-$jIzZ~eC$ewy{=Z=P%U<7SkEzgC`ALG)K&npQ(KL-jQE@k%+sUd#pMJQ z>wG{2Mg+@@Q0t|Tx1ND(gppx$lTdpSiEv61o(WdhD%)QdC@^z}>9mOJjU|+YMc79~ z#ES2YB@+gzha?~Jw;8OA*xBd0?LdZ59!@YW?j3bzzy2yi2PK#wV$_vCq|Occ;r26% zYw4p{p&MoKT9V_k@sI(=p-HV%5}=>dCa~)`ae+`v4en9>w4+Lqpud)bFAN~CuNd$| z`X)$0GgE{z&@IU4_@ua5Ex%d&88N!(((m~IBB7Wg9NLmGulSY<0B7Gt!t{evl*i7h zS#ANg2b#;|UV}Zko2b^k-J*c1gK+aliRffm+bgiyX@DP5wj>!;!R*(qc6>ii1=PrL z4AhEQqd38DCW?A6_#v^6nEyB0U5qi@t*W5kL;y#1xgHS9`b(vT%&CHW>nd3dwH-dT|sph z99veN?Jc1zMYabu*3Z2SO<4mY@^D&HBPAoSE;m!T*R3%KI~n%+***B7Mmu?yNG#st z|B#!^64`QnOX<*>;mlPEAYF^0qz$;51Jwh~q_t(_2HkmnuJnzdtJ%O&>v7PK7bSQm zr{<)iB>_@$CS(l|0*t$tXnv;&E#DkAN#DAlq1!9!Y-dRkcwJ15H3D;&^?%7gwetO3WLrG3o zZ*8J0m&UXpf$XZ)zTN>BWt6nIH{5hnK9Ybsxp?rW0P3={R^_n+rB zrsOmd?vCOm>8y9$_>%$Vl`7uHz6P}^SJ!}{?xanME1#I@!xi2$fZ zb?8Ug0tF1V;}j^3;@3ocHftr9X@P1GkW>bVm5Mnd_2E{4l1>AF#*FMO)Pd^a0HI-I zGiIb`nb^>&A~_LkeoJ@5svk8b6jD!IArPZw8|AE_D_X4C_3C35z<1q$|2X~>->;s| zl6Q2(Vu;9jD#D?oOe`st5l5}AO~A4X?o6yn*6v%8fGk3s4f(P1*rEFLS1W? z-ZY&+t=Cqb!OK;1;mduV6`?L)IrYcM+`<{-dImIIJZGgaOkWl6%i9B%-w$1Esdfg% zgj8Z&vb2?1t1x@oDwMLgJVzP730%J6eN|Pyiow#D1wSd(I3{&tP|x`y!EqoB%m*5& znB$RG`LPcf8{iu+-qNb$^%9;d5y3=)?im+fv7|FC>KV>r%|6Kw>sp0dLx@=+Ojw9A z+0^B51$}avIjxjb#b&8bHlfJ?LDzVt3M}4;`ilEUvIEs< zNX$~mZ>=D25s-)TSpK#GBq?rR8BM!C$+1?bdII$tC5I*C^XfX%XIU95sRH^6+$v{V z33HQ0MWu+lheK~!@1b_!(DH>==3Uv^ue268#l1`#-5**rb>N_{R`hWwX6z_a1VC|x zu{JOShsG8ep`J4dQK52;!XNb)4UGg=?-bAQIMGE@Ytp<>aMNSk(zgn5@c{H61Xs#)>5>xZo=5<^DiI16mqxF`x-eVdmF@SYMp&F3kxD zh$cpLnAW(5t#s7rA=`g=kjnV6VgL;jq1(LfI5cEkmkJGdCXfq)ddM|XgBD*%V-=-H zt&Y9x8i(HA1Th|D%b82)3OHvg;uOXsn1Nw+PDVPq_vx-6en%vW+6L?7?!OfZ{|E) zP*o{!<%s)!?;97!*1GxrWB{F*K%>RhMURb9AnAc0Ds>NZrm!{Rhg2sDYrfpB*X>lU z8E7O1sjgwQ-XzHG8Xr{0r$rUJ{ssO0*Y^KBR_hR8**&&d0*hq{V}pg|4?ZN(MVB_8IOUm>#&T1oI)}F* z`1N^A##?P&we#2|*K_P_GZ2-wlrpUuSBUU>#-UZ%_JCOub9NL&v4qo;^ri)S@0@O3 zzXw@ZmF7P5uHxJQ4g-o)=-v`5dw(&cvYy_MfSgO>+W)%&x)iE6<&9N|G-SUT9RVpX zO$_3x9US!s7(G~lu;f5)6`|FU|D)?lb|brCpbj*s2MEx`r}_U6jh{$X71f;}@nk$6 zyBCQfYZDyY=ea!MpycLg^8a?E;|p%bhhfF3TRQ;E0Xvs2{W!YnTV$(22wu+Xc$rQ? zn=#dA@9};)9qG|v&8Ha=bJykG=Eim1y_(69xaIrnUaMdWIP`4syJ5kOI&(*X0AQ9r zl0bB_ILDH(=aN5!YB|m;g#m<}_Z$%J0+@>@vh4DIQA0MN$G|#~*(M*}n2PNCm<{f? z1>o3CyFTy!NS*&!CaOrc_7)n|TJEKdpx`>!R%wt6DExbIg3YWG(3i{kII{XDHtm;1 zIGN}cyP(~$<0SlMF`3;USWUoC{-3P+t-FeaLWj&~lgw$XoGsy7>$(>78=OgMX^syq z^f3p&2xLKe=f_4vF&mZHc%I2rgEHb(5<_D90(l48cUDNV+(H|Uoo{)thIJpNeI6f zDvSgN--V&=O$&j;_kMqy1zttLOaUC-UgX`CbA~hk4^ri{D zU4kWiSKk03ka*kQ&6w#-%VJ%=%$2!OtX4Ze^SS<>(C_a`EMWcqBZ+y6TYRu=1{S9s z$%0c1q%EL|9IPOltPuAkQT56xKpcMgR$OU^T-qT)@iO>5G9l7KCT92Pv(5En+Q0dH+5BJ9_9_E+mY~cSan6zxt)m4ayY1+!@eP)crRpBi{%#bbo_ae;YH3jS zm5%x%WU;ENcyX`+zELF#{Ow+QYeuFWqW$m9WhACwiFeYei{|XCCNS^~IzA7HS~DxQ z6cd&WtWi%#^&Fb>;iFK*TD>TRC<3X)6VO}e!YWPv(a~I9@dkvV;VQsFmvVCN1pmxT zem(E4*CrM9r!6W%S9usK}8p$#MP@G=*^O+FbS4e6iU_!w;%{;iO-JtlQ|P`$3IJQ6g%nhYc)(4nsnKqmo3adAs@di7XAA zy@vV$bQ380tFV@!?dg+o8>9IHnYvWLXXYkACwezbJ&43zS6XgzSaw z`-ff)8u)sFa^dQVFsv5IOwOrSgm9OW?NMtZ6fW82HH}0RDMOoLenAz5UkyseFz%zp zU#GJE#-luh0!Dlewd;s;>Ttz+Sf(*a_@tS(`kt+Df_rzIXh}TJk2MZX3lDIe*2!dt z*^;wIoTRn1s6e9Eq(@ukNFfo#nuU(-&LY0I*S=%e?fG*OBK5A@l88yNGloCzjyg`{KOx}(jr_R8U@|{`eQ@)q*85iRcsAF;1Dh~2HY|lD_ z-9Vz@!p33ce`$UfQ?~h}=S=#J#LENxv{W`0Td4dV~2wdO*5Dw<1BRFuV3S&zQ zP1|W_7!B=rwse>4gJp@S>R97jyhxuXzBMK^6b4h?lq+RlqFqGKcPeXV;==GEmSVU&Ki7C(X4DAEZVI zmF^V}?$lgGf4ln9m@Sk0r945zI6SRcEt4yz{POL-xPyoiU1D-b#Si-~@Uj2N%SH#g zIDfa`RvHk;>_(Z%;XK}1I~-M6*r|9voX@+xL5y?rUHR5&n~cB7as6J+m|J!oZYfnh zhx0~#*g4EZ6HG}n_o=KHoQ3Q2rVkwP*3MC;$mcQL9x7ho@(O}S9De0Ri5qB;1VzKK zmb57*rjx>S7P}#EAw1+01I;gYl$|^`C4x1ch*m+@JRc|)kpM%pE$GIoCOzrRzj&Rz z6G=)h%U;yBt>_Jv4If;ge=W0|k__g|5S$`37pa6U62Mgn;icd7p0bHlTJ*@P%ISbw znwlhUMJBLvlQ;$OIKenLnt$d;T%cXjId9wXXmR)EO($dbY-)-Z3${&3+~`-5R7dDR zI@8n?4>~K8Yxi{Ln`JGdq_QZH#+v2WlL*{Su=4lc`S@E9YaVsANeFxKm)0Kh^D#eU zf%x60MBBd4OYHO7``A#`+ZxkK+XiJiuu)_PtCiu67jo)bQfgI{CV5&YD^`R~?*IJ1 zy_R+e$3J$ErzVqH_kB2~NFh>`KeEoNHR$p=u~U_I`bw*xvqCsTnD-eFB!H54saNm0 zo02Kb&9%FG9C=Z@L!;Faj7)vipiRVmqw!=WEwtt(^kjFc@XYYh!ozaIj}p#}$Gb=i z0-t$Xg&_Mpw7`%oohd5E;@zeH-hbX-es^H}+4B<5*cbCBIsu_Sw|-gn z3FjeVOy=pmSZcVn7PT|>aZBBhtnekm3af12z;CJoIJBL}QyN2P;|F!^ThrR}=<1!j#D94HnS4il1O~tG6=o9)$Q=`e#f= zm1xoSJmIUpDk*WL;wx#B)<2QBi~**#`rm^A*NzTQ&8i^Q{9lS&^X@98IL4a)sYEfs z1f?0m(cq8IK=zaxX=V=w|EKZ-o+debT6CYoUC~C6=~;AMq80(I8)}7!H0uWOQuDJ|g&s++u+xS7M5q&MEUk8P0zEiXW0- z?%@cG@E8gaSo1RxJQ%zBX9nqaKJ&xy(JYEv^EB70qYy-UzNlly$-R~6)u0;*w^YzK zH}l4?iIiy-XjEvIPC`?IG#H&sKU73=OM#F>SYiqbz$7{PWkWdacNQ+*I^3uCCY7$) z!y1yP?uliZ02sob!&8mwOjX+facA20lGMu~dOW#c7>tqqV20a4!<%l9DN)9CjyoM| z;wLRbP_|XATZNELs)8%QD(^al464Xvc@~3LofAwls+#!`sH{!f%*h}DEDZjRUL!i; zfN-))Z38i?1d-17V;;-qw!c0h6*--jH3lGM2g=0>a`V z4AE5mek;a4r=EjG2GI%~Las>JB^+@ze0wWZbTpt6keXvDh+TNXmMFDUxYeRnosLJ& zGyNKYOa(^N$)FEQBmdN1bm%k8a~6d`G*T*xz@Q2(c}%%I3X+jD$BkSa`TUaF84bZU z+9neclJgg)$*?x}{0IcMBuy|Vx)_sCO#Wh!e+ESM)lv_eY83j!`7LF|n z=_b=7*K249_d~ej6R$oFDKuV}@7^Sqgp8`~rkn4^fdRQl7EA<}!`eUGj$p~A`6D8R zUSCd3D^H;|(L*P7BjtYQ@1-tbw29^W0y0d_WsL4K#-lE^9yMHv!zgV=5s`ljK(mll z_-H$=LkC#x{t4rl1>Frz^TNvb%A? zHgD6NJ>@1pr@t;)Y_yIpQplg(mtB_gre4(t32$(=z(sT_9Ep{qMYfPVG>b5T^Z!@g zWX1hga+ylS&YlC@b?LME)x!`&Ii*LyWsgwGvnf!bSj9s1_xEXE`zQD=gG)(y7g46? zy7SahH&`ED-S^e5sj;h({*$!*%yx6mH`h|)vzh}XdUxY-W`yFcL(nK zb7M|WB5K!O+!BiJf5o$RKQ}AYaG|#M3ZDBmBf>3}AC=G#uB=_bEJ3GDrrIxpFg4Al zmt|?w_^zvNoz3a2!SN0bl8Z%NR!9g_2)t!Y0CGUXD7L}6CBrKG+6cBaZ_pZS30w+^ z86G*mA3_{i-RgO_5ewUbu9JTt{7g5-24Hmn03ZNKL_t&>nw%=F?Q_aIY3okmyq$zt zBrNu{KVqlCU}^OebXREQFEi~%MiKP8Aa2vp2)KiI6HYyuBO1P1ae@4bM^z; zhh5y;1`H3yyQZerNkjS1`Si9YVYgM!4@C#zZc24&@P>Z+shKJ7ZR$g97k3veXh=b> z5@saA#!Ezy7IrXO)})1?-BksYF4rRODkM+zr^KtJ(A5$DxHsz_yqi9^ zR7z$~QGzklt@Nj9RuCBGIoxreF@5LU9{jK}yyr0@wyti4iMIDKr>1begCvp|Hf5m7 ze;EcU?6Fi#%;^p-UO1{_#a-)sgNNM}_>d06~y_-f{dTKkT?3 z3EFZ~N``Q8W!8y*?V;W)!*rEgV0K*nclmGVz>$=2%V9qe_sZ{gV^f&~e3t{|J3w5f zZ79wBOkrbc(s~3;xA;2M~WpGBjX7+hht;=*@eT%XTMs-?cqU7HOBYVp^@u~6f zmY_p^R>Kt!=a2|-5=)rX-8(`WrbdDd9kbtI8-Ui6X9^iI{UTtblzHj}#@?8##~}mz zudMgAk9rS+sI?ZSbiOUagVMxv;$Nj^u+HK%>di?LLWl_vVO44JHy{e^DjmbTfKjb! z;@@_oVq-TKwZBFFfT|!$7E`?L<-^%9r_%fJ7_~Xwqw!li>3IhqgK|MH0;(lQ1+gBe z$8-mbUU|?{ydMV|o}WZ5vOlY>*p{M~ccTQ?f^BpKtoV~r8n2`GTgDTAwW}3e67Bh@ zmAYQh-wcUCYI9h+9qM_sWj^PWV7|THOfg^ z#bE0$dr8<1+*CAfpn+mB7FrIkUiu5Z zzoS_SuZqGuJ5I?5ldG~G-OIn~0zoav$T~rv+b(8CQZN(XJ%k^)ZyWuyh!>y$8jJmh zWfLCF#>*iC#|+P}{NVMa{m7>i;vYE>HQkwD5B^k02LH~P5$i3xad1u zB|F3H^5}V*cfo%j*m2$@js(YwW|DL9l?}V5(&SxO()Em8sL?;}~Mm zb6^b^&gb*rkJ>3Buz6c(pZnW|_9-Q}J$bS!zoqxaA*`))y3~=z`2;b^YMe0EBAh=+ z5?mB4L*9jF3R_-i*~5x!ya%9;Fq2i3w_8J?DV_+WUC-1 z8V%pVJ_;dLEryxQeW};6TDrxy4g7s`K3|c}CL}M<7F6))sZr0zDdSGMLkT+2=8;UB z(Y4}T<-VUCycE_RLOuEZ&tATtf3EQ(O1eMgZv40u>Hhg<{jay{`V0e_boCl~rH%$X za=UAHR&+~fTZZJB+#S}kS^W9cwsDG(GfmqDTU|^kSc>-m8nlM#Nw{WAVl!qOxL+AY zo6oiS62?_bMjsVqx=PDvNG;p>&F2q#_uK%Zvh!`CJ$K>(^?2 zjqgi1D^Z<2J`9&O1|G0x2Zd53O*H6#?z#;8yK9|&5@2Vj4#e5E>?KW| z`pXgfL8|`VX>frLV{)falH9&~%XlyIuUYNw5)TAhR~8wR6MDryD>RA`y98$gpw0RJ z76p%7D{owZ;B^kEK}$rqbC3S=((2-e;}K8SqBZpI^P1*^XFwkFRiFgqC#=VzXo81Z z_m~aE;amIDC~kpLH?fLv2#7tC2%HEdsr{V|f@Jp~M#isVIBD2`);T+h`R8tkEMDM_ zqtl9KN{NrWNEeM9-n9?hR)fQnsn8s1@RQcEzlD7(9H&Gszw2!=fv2trCx7Bw@CKDE z`HFJq{d_68f%SYugTL2EPdl0QZD4U7rr+E`QoCOK1O;HQhQwZ^7X6+wbq}l2LT7$2N}p zxqlo7|N8p)m0;MozZUpw#uaLMq>>WRmhwj)vZG+9_rm*_%&cAq*?LAs-$7lP9zUhJ zB%5=#lHBTtA=!BD3BGU26M)2Tip=-d{M=|%uX-e2S@V(Nr YJg-Tv;lJKI=iGA|45D?6ViMwC=y;kq?nxh0Tn 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

        c-DjJN360V@X90x&qmuT)>Sp>Z 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 a$bSK=L^Pxt2x29mXms{)3u?zU^3WO zSp5rDzrsva%9>`rrM&dZYCe-uv#V-$Rm+;H?JrfIsx~QYw7*hZ3coIe7i8&*c(h_> zL-1wDzDpybxa<9pX2nYipD&`yr^5MbK;)>Gd8|LnVMOoD~d@D!2c_-PZBX^EkmLV`${< zF+9#YBdA}VieWj{xu6By&q?dJS0>;@>!=SQjDr z#ho20`xBv`NQ{HyUxO(Yq?!_?Kj}JEg#twK2HYeB&3BP5zP*4o z9OHPb%nf7QNSSs&4OVvRhXAQI45LIqBI`aiRkgP37_=5zVU|TXzCGa-e jTIWqkY-i~WK9Ix~R@~sTN%YZ=!#^cyOs2ru6YTsAc?cDS delta 914 zcmaJm_iwH9 zwRSQ2(Qw+kY-UcgPe5QJ7n`!**(c1jQSNLM>uICISz~>W)B^KKoN z&o>8AHm3&o}aVrPy$7a=ihF&r}*50YtRioHMNK9)uH$-I`nbX z!1wq;vj_K#S^nN{%p&*epc6BAvan*isS-Y~rkW1FS}f1eUh(0M?)tlX}u1-X8ICXAp Date: Sun, 3 Jan 2021 14:18:47 -0700 Subject: [PATCH 015/111] kludgy bumpmap shader, will probably need to redo later --- examples/NormalModel/obj_norm-kludgy.asc | 199 +++++++++++++++++++++++ examples/NormalModel/obj_norm.asc | 129 ++++++++++----- 2 files changed, 283 insertions(+), 45 deletions(-) create mode 100644 examples/NormalModel/obj_norm-kludgy.asc diff --git a/examples/NormalModel/obj_norm-kludgy.asc b/examples/NormalModel/obj_norm-kludgy.asc new file mode 100644 index 0000000..72d86ac --- /dev/null +++ b/examples/NormalModel/obj_norm-kludgy.asc @@ -0,0 +1,199 @@ +/** + * @author Rick Battagline / https://embed.com/wasm + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, imageReady, + createBuffer, ARRAY_BUFFER, + createTexture, createImage, ImageData, pixelStorei, activeTexture, + bindTexture, texParameteri, texImage2D, uniform1i, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, + TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER, uniform3f, +} from '../../webgl' + + +import { + objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap +} from './Moon_Sphere' + +// OG CODE +const VERTEX_SHADER_CODE:string = `#version 300 es + precision mediump float; + + in vec3 position; + in vec2 tex_uv; + in vec3 normal; + + smooth out vec2 tc; + smooth out vec3 n; + + void main() { + vec4 pos = vec4( position, 1.0 ); + + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + gl_Position = pos * mRotateTranslate; + tc = tex_uv; + n = normal; + } +`; + +// this shader is super kludgy +const FRAGMENT_SHADER_CODE:string = `#version 300 es + precision highp float; + smooth in vec2 tc; + smooth in vec3 n; + + out vec4 color; + uniform sampler2D sampler; + uniform sampler2D tex_norm; + + void main() { + const vec3 light = vec3(-1.0, -1.0, 1.0); + vec3 front_normal = vec3(0.0, 0.0, 1.0); + vec3 norm_offset = normalize(texture(tex_norm, tc).rgb - front_normal); + vec3 nn = normalize(n); + + float d = clamp( 1.0 - dot(normalize(nn-norm_offset), light), -0.5, 0.5); + float t = texture( sampler, tc ).r; + float c = clamp( (d + t)/2.0, 0.05, 1.0 ); + + color = vec4(c,c,c,1.0); //texture( sampler, tc ) * (vec4(d,d,d,1.0)); + } +`; + + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); + enableVertexAttribArray(gl, tex_uv_al); + + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + +// let diffuse = getUniformLocation( gl, program, 'diffuse' ); + + let texture = createTexture(gl); + let sampler = getUniformLocation( gl, program, 'sampler' ); + + let texture_n = createTexture(gl); + let tex_norm = getUniformLocation( gl, program, 'tex_norm' ); + + var image_id: ImageData = createImage(matMapArray[0].diffuse); + var norm_image_id: ImageData = createImage(matMapArray[0].bump); + + var image_ready: bool = false; + +//diffuse + enable(gl, DEPTH_TEST); + +function rotate(theta: f32) : void { //u32 { + for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { + for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { + + let x:f32 = objArray[obj_i][coord_i]; + let z:f32 = objArray[obj_i][coord_i+2]; + + let nx:f32 = objArray[obj_i][coord_i+5]; + let nz:f32 = objArray[obj_i][coord_i+7]; + + let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + + objArray[obj_i][coord_i] = x1; + objArray[obj_i][coord_i+2] = z1; + + objArray[obj_i][coord_i+5] = nx1; + objArray[obj_i][coord_i+7] = nz1; + } + } + + return; +} + + var vGroup: VertGroup; + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + if( image_ready == false ) { + if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) { + return; + } + + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + activeTexture(gl, TEXTURE1); + bindTexture(gl, TEXTURE_2D, texture_n); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id); + + uniform1i(gl, sampler, 0); + image_ready = true; + } + + for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { + vGroup = groupArray[g_i]; + bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); +/* + let diffuse_r: f32 = matArray[vGroup.mat_index][4]; + let diffuse_g: f32 = matArray[vGroup.mat_index][5]; + let diffuse_b: f32 = matArray[vGroup.mat_index][6]; + uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); +*/ + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); + vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); + drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + } + } \ No newline at end of file diff --git a/examples/NormalModel/obj_norm.asc b/examples/NormalModel/obj_norm.asc index 72d86ac..5109392 100644 --- a/examples/NormalModel/obj_norm.asc +++ b/examples/NormalModel/obj_norm.asc @@ -25,54 +25,93 @@ import { // OG CODE const VERTEX_SHADER_CODE:string = `#version 300 es - precision mediump float; - - in vec3 position; - in vec2 tex_uv; - in vec3 normal; - - smooth out vec2 tc; - smooth out vec3 n; - - void main() { - vec4 pos = vec4( position, 1.0 ); - - mat4 mRotateTranslate = mat4( - 1.0, 0.0, 0.0, 0.0, // column 1 - 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 - 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); - - gl_Position = pos * mRotateTranslate; - tc = tex_uv; - n = normal; - } -`; +in vec3 position; +in vec3 normal; +in vec2 texCoords0; + +out vec3 varyingNormal; +out vec3 lightDirection; +out vec3 viewDirection; +out vec2 texCoord0; + +void main() +{ + vec3 cameraPosition = vec3(0.0, 0.0, -1.0); + mat4 modelViewProjectionMatrix = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + mat4 modelMatrix = mat4( + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0 + ); + + vec3 lightPosition = vec3(0.25, 0.25, -1.0); + vec4 vertex = vec4( position.xyz, 1.0 ); + vec3 vertexWorld = ( modelMatrix * vertex ).xyz; + + varyingNormal = ( modelMatrix * vec4( normal, 0.0 ) ).xyz; + lightDirection = lightPosition - vertexWorld; + viewDirection = cameraPosition - vertexWorld; + + texCoord0 = texCoords0; + gl_Position = modelViewProjectionMatrix * vertex; +}`; // this shader is super kludgy const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - smooth in vec2 tc; - smooth in vec3 n; - - out vec4 color; - uniform sampler2D sampler; - uniform sampler2D tex_norm; - - void main() { - const vec3 light = vec3(-1.0, -1.0, 1.0); - vec3 front_normal = vec3(0.0, 0.0, 1.0); - vec3 norm_offset = normalize(texture(tex_norm, tc).rgb - front_normal); - vec3 nn = normalize(n); +uniform sampler2D normalMap; + +in vec3 varyingNormal; +in vec3 lightDirection; +in vec3 viewDirection; +in vec2 texCoord0; + +// "Followup: Normal Mapping Without Precomputed Tangents" from http://www.thetenthplanet.de/archives/1180 +mat3 cotangent_frame( vec3 N, vec3 p, vec2 uv ) +{ +/* get edge vectors of the pixel triangle */ +vec3 dp1 = dFdx( p ); +vec3 dp2 = dFdy( p ); +vec2 duv1 = dFdx( uv ); +vec2 duv2 = dFdy( uv ); + +/* solve the linear system */ +vec3 dp2perp = cross( dp2, N ); +vec3 dp1perp = cross( N, dp1 ); +vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; +vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; + +/* construct a scale-invariant frame */ +float invmax = inversesqrt( max( dot(T,T), dot(B,B) ) ); +return mat3( T * invmax, B * invmax, N ); +} - float d = clamp( 1.0 - dot(normalize(nn-norm_offset), light), -0.5, 0.5); - float t = texture( sampler, tc ).r; - float c = clamp( (d + t)/2.0, 0.05, 1.0 ); +vec3 perturb_normal( vec3 N, vec3 V, vec2 texcoord ) +{ +/* assume N, the interpolated vertex normal and V, the view vector (vertex to eye) */ +vec3 map = texture2D( normalMap, texcoord ).xyz; +// WITH_NORMALMAP_UNSIGNED +map = map * 255./127. - 128./127.; +// WITH_NORMALMAP_2CHANNEL +// map.z = sqrt( 1. - dot( map.xy, map.xy ) ); +// WITH_NORMALMAP_GREEN_UP +// map.y = -map.y; +mat3 TBN = cotangent_frame( N, -V, texcoord ); +return normalize( TBN * map ); +} - color = vec4(c,c,c,1.0); //texture( sampler, tc ) * (vec4(d,d,d,1.0)); - } -`; +void main (void) +{ +vec3 faceNormal = perturb_normal( normalize( varyingNormal ), normalize( viewDirection ), texCoord0.st ); +float lambert = max( 0.0, dot( faceNormal, normalize( lightDirection ) ) ); +gl_FragColor = vec4( lambert, lambert, lambert, 1.0 ); +}`; // initialize webgl @@ -101,7 +140,7 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es let position_al = getAttribLocation(gl, program, 'position'); enableVertexAttribArray(gl, position_al); - let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); + let tex_uv_al = getAttribLocation(gl, program, 'texCoords0'); enableVertexAttribArray(gl, tex_uv_al); let normal_al = getAttribLocation(gl, program, 'normal'); @@ -113,7 +152,7 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es let sampler = getUniformLocation( gl, program, 'sampler' ); let texture_n = createTexture(gl); - let tex_norm = getUniformLocation( gl, program, 'tex_norm' ); + let tex_norm = getUniformLocation( gl, program, 'normalMap' ); var image_id: ImageData = createImage(matMapArray[0].diffuse); var norm_image_id: ImageData = createImage(matMapArray[0].bump); From cefc306167f5c7628c2c33d1a796343d48642dda Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Sun, 3 Jan 2021 18:38:43 -0700 Subject: [PATCH 016/111] Still trying to make the Normal Map shader look good. This may have to be good enough. --- examples/NormalModel/obj_norm.asc | 130 ++++++++---------- examples/NormalModel/obj_norm.wasm | Bin 108021 -> 108777 bytes ...bj_norm-kludgy.asc => obj_norm_kludgy.asc} | 0 3 files changed, 58 insertions(+), 72 deletions(-) rename examples/NormalModel/{obj_norm-kludgy.asc => obj_norm_kludgy.asc} (100%) diff --git a/examples/NormalModel/obj_norm.asc b/examples/NormalModel/obj_norm.asc index 5109392..157492f 100644 --- a/examples/NormalModel/obj_norm.asc +++ b/examples/NormalModel/obj_norm.asc @@ -25,92 +25,78 @@ import { // OG CODE const VERTEX_SHADER_CODE:string = `#version 300 es +precision highp float; + in vec3 position; in vec3 normal; -in vec2 texCoords0; - -out vec3 varyingNormal; -out vec3 lightDirection; -out vec3 viewDirection; -out vec2 texCoord0; +in vec2 tex_uv; -void main() -{ - vec3 cameraPosition = vec3(0.0, 0.0, -1.0); - mat4 modelViewProjectionMatrix = mat4( - 1.0, 0.0, 0.0, 0.0, // column 1 - 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 - 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); +out vec3 cam_dir; +out vec3 light_dir; +out vec2 tc; +out vec3 norm; +void main() { + // rotate z axis mat4 modelMatrix = mat4( - 1.0, 0.0, 0.0, 0.0, - 0.0, 1.0, 0.0, 0.0, - 0.0, 0.0, 1.0, 0.0, - 0.0, 0.0, 0.0, 1.0 + cos(3.1),-sin(3.1), 0.0, 0.0, // column 1 + sin(3.1), cos(3.1), 0.0, 0.0, // column 2 + 0.0, 0.0, 1.0, 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 ); - vec3 lightPosition = vec3(0.25, 0.25, -1.0); - vec4 vertex = vec4( position.xyz, 1.0 ); - vec3 vertexWorld = ( modelMatrix * vertex ).xyz; + vec3 p = (modelMatrix * vec4(position,1.0)).xyz; + + vec3 v = vec3(0.0, 1.0, 0.0); + vec3 light_pos = vec3( 0.0, 0.7, 0.5 ); + float d = dot( v, normal); + + vec3 tan = normalize( v - d * normal ); + vec3 bitan = cross( normal, tan ); + + vec3 l; + l.x = dot( tan, light_pos ); + l.y = dot( bitan, light_pos ); + l.z = dot( normal, light_pos ); + + light_dir = l; //normalize(l); - varyingNormal = ( modelMatrix * vec4( normal, 0.0 ) ).xyz; - lightDirection = lightPosition - vertexWorld; - viewDirection = cameraPosition - vertexWorld; + vec3 camera; + camera.x = dot( tan, p ); + camera.y = dot( bitan, p ); + camera.z = dot( normal, p ); - texCoord0 = texCoords0; - gl_Position = modelViewProjectionMatrix * vertex; + cam_dir = normalize(camera); + tc = tex_uv; + norm = normal; + + gl_Position = vec4(p, 1.0); }`; // this shader is super kludgy const FRAGMENT_SHADER_CODE:string = `#version 300 es +precision highp float; uniform sampler2D normalMap; +uniform sampler2D sampler; -in vec3 varyingNormal; -in vec3 lightDirection; -in vec3 viewDirection; -in vec2 texCoord0; +in vec3 cam_dir; +in vec3 light_dir; +in vec2 tc; +in vec3 norm; -// "Followup: Normal Mapping Without Precomputed Tangents" from http://www.thetenthplanet.de/archives/1180 -mat3 cotangent_frame( vec3 N, vec3 p, vec2 uv ) +out vec4 color; +void main (void) { -/* get edge vectors of the pixel triangle */ -vec3 dp1 = dFdx( p ); -vec3 dp2 = dFdy( p ); -vec2 duv1 = dFdx( uv ); -vec2 duv2 = dFdy( uv ); - -/* solve the linear system */ -vec3 dp2perp = cross( dp2, N ); -vec3 dp1perp = cross( N, dp1 ); -vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; -vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; - -/* construct a scale-invariant frame */ -float invmax = inversesqrt( max( dot(T,T), dot(B,B) ) ); -return mat3( T * invmax, B * invmax, N ); -} + vec3 l = normalize(light_dir); + vec3 e = normalize(-cam_dir); + vec3 n = 2.0 * texture(normalMap, tc).rgb - 1.0; -vec3 perturb_normal( vec3 N, vec3 V, vec2 texcoord ) -{ -/* assume N, the interpolated vertex normal and V, the view vector (vertex to eye) */ -vec3 map = texture2D( normalMap, texcoord ).xyz; -// WITH_NORMALMAP_UNSIGNED -map = map * 255./127. - 128./127.; -// WITH_NORMALMAP_2CHANNEL -// map.z = sqrt( 1. - dot( map.xy, map.xy ) ); -// WITH_NORMALMAP_GREEN_UP -// map.y = -map.y; -mat3 TBN = cotangent_frame( N, -V, texcoord ); -return normalize( TBN * map ); -} + float kd = clamp(dot(l, n + norm - vec3(0.0, 0.0, 1.0)), 0.1, 1.0); -void main (void) -{ -vec3 faceNormal = perturb_normal( normalize( varyingNormal ), normalize( viewDirection ), texCoord0.st ); -float lambert = max( 0.0, dot( faceNormal, normalize( lightDirection ) ) ); -gl_FragColor = vec4( lambert, lambert, lambert, 1.0 ); + vec3 tex_color = texture(sampler, tc).rgb; + vec3 c = kd * tex_color; + + color = vec4( c, 1.0 ); }`; @@ -140,7 +126,7 @@ gl_FragColor = vec4( lambert, lambert, lambert, 1.0 ); let position_al = getAttribLocation(gl, program, 'position'); enableVertexAttribArray(gl, position_al); - let tex_uv_al = getAttribLocation(gl, program, 'texCoords0'); + let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); enableVertexAttribArray(gl, tex_uv_al); let normal_al = getAttribLocation(gl, program, 'normal'); @@ -172,11 +158,11 @@ function rotate(theta: f32) : void { //u32 { let nx:f32 = objArray[obj_i][coord_i+5]; let nz:f32 = objArray[obj_i][coord_i+7]; - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + let x1:f32 = x * Mathf.cos(theta) + z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) - x * Mathf.sin(theta); - let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + let nx1:f32 = nx * Mathf.cos(theta) + nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) - nx * Mathf.sin(theta); objArray[obj_i][coord_i] = x1; objArray[obj_i][coord_i+2] = z1; diff --git a/examples/NormalModel/obj_norm.wasm b/examples/NormalModel/obj_norm.wasm index ce6cf83e8459d6f84fa1db1df2379c9f5466c696..6623fd67583bff9aff399064ae9ac8b25d6c5f97 100644 GIT binary patch delta 2706 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 Date: Wed, 6 Jan 2021 09:43:35 -0700 Subject: [PATCH 017/111] Updated the normal map shader --- examples/NormalModel/moon.blend | Bin 872124 -> 872124 bytes examples/NormalModel/moon.blend1 | Bin 872124 -> 872124 bytes examples/NormalModel/obj_norm-hacky.asc | 233 ++++++++++++++++++++++++ examples/NormalModel/obj_norm.asc | 21 +-- examples/NormalModel/obj_norm.wasm | Bin 108777 -> 108733 bytes 5 files changed, 243 insertions(+), 11 deletions(-) create mode 100644 examples/NormalModel/obj_norm-hacky.asc diff --git a/examples/NormalModel/moon.blend b/examples/NormalModel/moon.blend index eec717d2bc1622be9920983c5102581b808b38dd..aaeaae2eaa6d420ca5df3a17ab6bc71e44f3293d 100644 GIT binary patch delta 996 zcmYk5ZAep57{@)&j_bPJ)IdveAC_1QiY(01a<-wh2|+reM%pT5GDCYYUuJ5}%$y=r z$UK&=L{gMPa0ElkA<285Eu7<=YB1D zKobceaq1HtZz*HOt&pk*TdGhmVdtmxqSM&XF+I>|JHQX=iz375pNyG@v?qhS1UL5sv<16@ci9 zBOM*UrM^{*ter8ZiZkdWkDgGqqO0kmxGw=~;LD6MlS!qgv2QYK1gu1LLy<(byB1+Z z1uS2!fOR7VYoQjHhV}M=#D3I38k;NDB(rcIyyl&C&_!tO2r857VVY`R>L%HIJ?zpK zcz#`1KOo&;VxJT$9dVOhx;6bsRj33 z;ay;xoVxA2U^PiaQ!RgO&p*GJD0I!7pR5ZM7G7Pk@xcaI2g1n8$C{v%;4Lc{gclli z-mQ@sZG%yHKA=(@xQi6W+mv(LxO#5bRf?W_xX~R~1jUOnB12aM#b}1Am5itz^Ffgz zf`=z4I<5XPh32Ou<%UHLhnmGdlS2ItTtkd_emnTq$kLuwteaQ;K)TNoyJ0)^wyAEp zY+{8_-r9|pk}s5Tpz7$Usjl80z|vq*tavOf)*37cD}nd+=nj3?*t2E+zEvO8icwcf Lhn}}|$kv&EYy)5E delta 1015 zcmYjQe@IhN6y81WI^W#GR%!jw6T~z|N=cbXxtuveL24?+GsXO^MP``VM3)mYEh3WC zJ19f{sD>B_R##z#rIe6~LB-RcB%+2DWKhh1qI>ry^x*J4&O7IP-~G4YFPTH76c4kW|q*u#EwCJ#VE2A!ZM!EBxm# zXkwGJM`@#VeL#}UcsotV14S<>A0jjPJonqkOnO~`SR{#ie>d}#Iq7#ZG36nfZGg|3zFlDCQDghvX)A@EJxaMB^SX_ljSebWcgS7 zESfBJeofYNIfzK|8H2hQ270hsz}TWIxv~hxX0HSpg}JM5uM3z^O`EFV50cb(8olo` zqj%IWdNNx9cI-dSx__Qz-Q!X0Tmb`$PH`sDpfPdO)G4K!I`{XN0ll#}Wo}Jf>}hUV zT+oU*l3dG7^D~!;tCkH{6W2`pQ42)qu||{mY{5jlH{dnxtcNayJ-o!!0MpoThy%CFhdOjbOZ?tH!=b!FMcas1b^EpQ*O$Y=1IK~vko6)KsdG(OMzARo+} zA>o%{2X@D6Y$;^&FT%9-GNTj|t#_xc)j!YZx_Sjz2rMv*5EgnCp)5oe272{MSk5n@ Y*BDCQw;BiZ{H?2{!$?~?r1Y2n0P5yrTL1t6 diff --git a/examples/NormalModel/moon.blend1 b/examples/NormalModel/moon.blend1 index a361680c6424e086f54d6c2a65233256b05aca56..eec717d2bc1622be9920983c5102581b808b38dd 100644 GIT binary patch delta 10751 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 b?N{>B(fXfh&NYs#y#3kE*8SNoi|_tFU!T8z diff --git a/examples/NormalModel/obj_norm-hacky.asc b/examples/NormalModel/obj_norm-hacky.asc new file mode 100644 index 0000000..5c435e9 --- /dev/null +++ b/examples/NormalModel/obj_norm-hacky.asc @@ -0,0 +1,233 @@ +/** + * @author Rick Battagline / https://embed.com/wasm + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, imageReady, + createBuffer, ARRAY_BUFFER, + createTexture, createImage, ImageData, pixelStorei, activeTexture, + bindTexture, texParameteri, texImage2D, uniform1i, + DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, + UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, + TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, enable, depthFunc, + vertexAttribPointer, TRIANGLES, GREATER, uniform3f, +} from '../../webgl' + + +import { + objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap +} from './Moon_Sphere' + +// OG CODE +const VERTEX_SHADER_CODE:string = `#version 300 es +precision highp float; + +in vec3 position; +in vec3 normal; +in vec2 tex_uv; + +out vec3 cam_dir; +out vec3 light_dir; +out vec2 tc; +out vec3 norm; + +void main() { + // rotate z axis + /* + mat4 modelMatrix = mat4( + cos(3.1),-sin(3.1), 0.0, 0.0, // column 1 + sin(3.1), cos(3.1), 0.0, 0.0, // column 2 + 0.0, 0.0, 1.0, 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + */ + + mat4 modelMatrix = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, 1.0, 0.0, 0.0, // column 2 + 0.0, 0.0, 1.0, 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); + + vec3 p = (modelMatrix * vec4(position,1.0)).xyz; + + vec3 v = vec3(0.0, 1.0, 0.0); + vec3 light_pos = vec3( 0.0, 0.7, 0.5 ); + float d = dot( normalize(v), normal); + + vec3 tan = normalize( v - d * normal ); + vec3 bitan = cross( normal, tan ); + + vec3 l; + l.x = dot( tan, light_pos ); + l.y = dot( bitan, light_pos ); + l.z = dot( normal, light_pos ); + + light_dir = l; //normalize(l); + + vec3 camera; + camera.x = dot( tan, p ); + camera.y = dot( bitan, p ); + camera.z = dot( normal, p ); + + cam_dir = normalize(camera); + tc = tex_uv; + norm = normal; + + gl_Position = vec4(p, 1.0); +}`; + +// this shader is super kludgy +const FRAGMENT_SHADER_CODE:string = `#version 300 es +precision highp float; +uniform sampler2D normalMap; +uniform sampler2D sampler; + +in vec3 cam_dir; +in vec3 light_dir; +in vec2 tc; +in vec3 norm; + +out vec4 color; +void main (void) +{ + vec3 l = normalize(light_dir); + vec3 e = normalize(-cam_dir); + vec3 n = 2.0 * texture(normalMap, tc).rgb - 1.0; + + float kd = clamp(dot(l, n + norm - vec3(0.0, 0.0, 1.0)), 0.1, 1.0); + + vec3 tex_color = texture(sampler, tc).rgb; + vec3 c = kd * tex_color; + + color = vec4( c, 1.0 ); +}`; + + + // initialize webgl + var gl = createContextFromCanvas('cnvs', 'webgl2'); + + let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); + shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); + compileShader(gl, vertex_shader); + + let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); + shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); + compileShader( gl, fragment_shader ); + + let program = createProgram(gl); + + attachShader(gl, program, vertex_shader); + attachShader(gl, program, fragment_shader); + + linkProgram( gl, program ); + + useProgram( gl, program ); + + let buffer = createBuffer(gl); + bindBuffer(gl, ARRAY_BUFFER, buffer); + + let position_al = getAttribLocation(gl, program, 'position'); + enableVertexAttribArray(gl, position_al); + + let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); + enableVertexAttribArray(gl, tex_uv_al); + + let normal_al = getAttribLocation(gl, program, 'normal'); + enableVertexAttribArray(gl, normal_al); + +// let diffuse = getUniformLocation( gl, program, 'diffuse' ); + + let texture = createTexture(gl); + let sampler = getUniformLocation( gl, program, 'sampler' ); + + let texture_n = createTexture(gl); + let tex_norm = getUniformLocation( gl, program, 'normalMap' ); + + var image_id: ImageData = createImage(matMapArray[0].diffuse); + var norm_image_id: ImageData = createImage(matMapArray[0].bump); + + var image_ready: bool = false; + +//diffuse + enable(gl, DEPTH_TEST); + +function rotate(theta: f32) : void { //u32 { + for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { + for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { + + let x:f32 = objArray[obj_i][coord_i]; + let z:f32 = objArray[obj_i][coord_i+2]; + + let nx:f32 = objArray[obj_i][coord_i+5]; + let nz:f32 = objArray[obj_i][coord_i+7]; + + let x1:f32 = x * Mathf.cos(theta) + z * Mathf.sin(theta); + let z1:f32 = z * Mathf.cos(theta) - x * Mathf.sin(theta); + + let nx1:f32 = nx * Mathf.cos(theta) + nz * Mathf.sin(theta); + let nz1:f32 = nz * Mathf.cos(theta) - nx * Mathf.sin(theta); + + objArray[obj_i][coord_i] = x1; + objArray[obj_i][coord_i+2] = z1; + + objArray[obj_i][coord_i+5] = nx1; + objArray[obj_i][coord_i+7] = nz1; + } + } + + return; +} + + var vGroup: VertGroup; + export function displayLoop(delta:i32):void { + let r: f32 = delta / 10000.0; + rotate(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + + if( image_ready == false ) { + if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) { + return; + } + + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + activeTexture(gl, TEXTURE1); + bindTexture(gl, TEXTURE_2D, texture_n); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id); + + uniform1i(gl, sampler, 0); + image_ready = true; + } + + for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { + vGroup = groupArray[g_i]; + bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); +/* + let diffuse_r: f32 = matArray[vGroup.mat_index][4]; + let diffuse_g: f32 = matArray[vGroup.mat_index][5]; + let diffuse_b: f32 = matArray[vGroup.mat_index][6]; + uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); +*/ + // dimensions | data_type | normalize | stride | offset + vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); + vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); + vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); + drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + } + } \ No newline at end of file diff --git a/examples/NormalModel/obj_norm.asc b/examples/NormalModel/obj_norm.asc index 157492f..26100a3 100644 --- a/examples/NormalModel/obj_norm.asc +++ b/examples/NormalModel/obj_norm.asc @@ -38,20 +38,19 @@ out vec3 norm; void main() { // rotate z axis + mat4 modelMatrix = mat4( cos(3.1),-sin(3.1), 0.0, 0.0, // column 1 sin(3.1), cos(3.1), 0.0, 0.0, // column 2 0.0, 0.0, 1.0, 0.0, // column 3 0.0, 0.0, 0.0, 1.0 // column 4 ); + + vec3 up = vec3(0.0, -1.0, 0.0); + vec3 light_pos = vec3( 0.0, -0.7, 0.5 ); + float d = dot( up, normal ); - vec3 p = (modelMatrix * vec4(position,1.0)).xyz; - - vec3 v = vec3(0.0, 1.0, 0.0); - vec3 light_pos = vec3( 0.0, 0.7, 0.5 ); - float d = dot( v, normal); - - vec3 tan = normalize( v - d * normal ); + vec3 tan = cross( up, normal ); vec3 bitan = cross( normal, tan ); vec3 l; @@ -62,15 +61,15 @@ void main() { light_dir = l; //normalize(l); vec3 camera; - camera.x = dot( tan, p ); - camera.y = dot( bitan, p ); - camera.z = dot( normal, p ); + camera.x = dot( tan, position ); + camera.y = dot( bitan, position ); + camera.z = dot( normal, position ); cam_dir = normalize(camera); tc = tex_uv; norm = normal; - gl_Position = vec4(p, 1.0); + gl_Position = vec4(position, 1.0); }`; // this shader is super kludgy diff --git a/examples/NormalModel/obj_norm.wasm b/examples/NormalModel/obj_norm.wasm index 6623fd67583bff9aff399064ae9ac8b25d6c5f97..ce12babb7e0d4bd2aa689ea8a40c73e48de08a61 100644 GIT binary patch delta 605 zcmZWmO=uHA82#SVDbY10Qd{Yt*^s1KO_~HRg(`ME6cL49y!B$mL!oWNs(6tWycE%P zVGh%x4avbI2a!UQAk-3#haNnn;4!F0goqoP&>kZ?yRCvcF!ScU_sx87n6DenuQr-j zdNj<6quQ9utaELKjB;*Hn`?zB4te`f5`*4uK5KC!DMr2bI|>%}Xn{56f64r7%yZDj zRc6#I@zdKjU{-Cn;JAfd*W(VncDSlqQFcq*Z{?ZmV%o;c5MO@ea zum!QGpI2cvbvuma8{+17ZWMAOzMUpkspW=)qgU5i~(N#L7cDLxd ze71}(gys4&E-UCx;7pg2DWvQviqj36q$@O`SRW0NE{BphB0nb3$(^eF^8~)Y9j9p; zr<-cVX-Y08arS?yM{Xw(_(yL~q1gM^X{U3H`YGykv_sz|GOW*;dJ6lP^-XR+fsZ|~ z8-P(3K*;4x6@&p~Kfks7KX7Q95M zHZX^$GzptScXKGR7$gX_#1_$m2Xn8Gf=fl#`Us@`=5EMHLfbbHP-u%^{z4Xh>NRC zPuImCf7ggzciD22E$_2xNAN>4mQ`OReKff4hBCczke+XdtJ&O^Vv5txGq@Q_~TB%7pI7JZb+;&s}{;zdsq!m@W7X5bzqU=pTiC5JvfE8S_@ zGthTTgQTn&ly*znKq;2PA4rP^cGHA`XIw8z-wa$o=}tP>I|?0e7#;!W3*W7ec|61x zYV>It1Gqvv%Xk*QkZMY?lO}rAS-34lPQZP+3iM2!ZkiavReEY-AJ*uNiD8y$P}RgS j+@u~0=OmDYBP`=k#lm4Zt)+mM Date: Wed, 6 Jan 2021 10:19:00 -0700 Subject: [PATCH 018/111] Fixed a bug in the normal mapping. There are probably more bugs. --- examples/NormalModel/obj_norm.asc | 12 ++++++------ examples/NormalModel/obj_norm.wasm | Bin 108733 -> 108727 bytes 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/NormalModel/obj_norm.asc b/examples/NormalModel/obj_norm.asc index 26100a3..7840a53 100644 --- a/examples/NormalModel/obj_norm.asc +++ b/examples/NormalModel/obj_norm.asc @@ -39,12 +39,12 @@ out vec3 norm; void main() { // rotate z axis - mat4 modelMatrix = mat4( - cos(3.1),-sin(3.1), 0.0, 0.0, // column 1 - sin(3.1), cos(3.1), 0.0, 0.0, // column 2 - 0.0, 0.0, 1.0, 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); + mat4 mRotateTranslate = mat4( + 1.0, 0.0, 0.0, 0.0, // column 1 + 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 + 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 + 0.0, 0.0, 0.0, 1.0 // column 4 + ); vec3 up = vec3(0.0, -1.0, 0.0); vec3 light_pos = vec3( 0.0, -0.7, 0.5 ); diff --git a/examples/NormalModel/obj_norm.wasm b/examples/NormalModel/obj_norm.wasm index ce12babb7e0d4bd2aa689ea8a40c73e48de08a61..8e9f4f7ffcac70a58cec9335fc6640a49875e74c 100644 GIT binary patch delta 594 zcmZurOK1~O6uoEaE0w7-QWe3^yqKgk$t0~+Q7DKb)Qt*7#FbrCaS?14j0<-TxT&Hd zzQR)`6}#vpqKjY_gHXd%MG%U#yDSP?Toi282rfl@Gt({#&SK8F=X2kEv(WA@wAc3P zTI;JY^^p$e7t?Q%Jy##s$GhN&ZDt067%=y+)(W#9iVNo5UA0wa=&6R5e61xLn$a2J zjAnlkf6bjoobRC-L}n11#+KADZZNpKbh@_D?GKvCirP} z!V(Wp&=bd*^Ml#7`cUF`8=CdO^e{tH45mMd(cI#icgDJp=;|G!mEVq_&I(Jwr`yZD z{&FuSid_vO+d%}1zYw$jgC}^7JSR?LG(tD%P{hvCHO0gEGM%IAie04=jmC;R?;^38 z(*Y__A6fFLi==$vqEi;j>No46J7NbfsVybyp}dL}sGl-qDPE$Y+O|>U>lta4k&D`y zjk&(4&FMco<)bnV$8S%$;PEMJ5?MbtiN~9;=)a!=6v_|N*suLrk>93~Mp+sjvY3+t z9=fqAFNSbW-to|b8TrbCrNqx3j^U-;SHVpMvVx;ZoUfo?)!V8#fu=lJRXsb=PsnW<4{Dkx~<3#3I2xX%`n5rbM#E!-uzk*Iia z2M*yAYT+9L7s4!tz^2!qP0?b6ma|X@oW+<5?b7hRH!6a6aldoE-*?YFrRC<2%gu{t zb#3yuH1y#XdrRog$f_2n_33ul@`RB@MP4_~h{?LJ-pV24dBm%WupTRGT_3crvK9{c zx};f~^1sn>)n50Z7eKE8!^dNvgIf`t@mpno-M3fdEwfWpHiTu%Q8Ttz<;~k_ zg;mpEL67ze`;V}^;$ZY|6KchQ_+5dT9Eg9HV;8G?ESq|XVC&Ozv*#2lMbWzo{F++p zE3Ne*pKJdXPPY(&8pqdk>D3#&hcQmW^pviUN#pd0M(93`Q8w@%Q;sHhWCqdrJ%yf7 zf-X}pWhhB0>QQ};9v=31#X%>3nn5~#gsJgIW*p?t@l6LO`Hq8D-te#eDufJI92h+7 zp!>i*#QoobHzD3}kSHZ*kw1odsr(L5%HAB#;{^}7i15ETv|)i;U0gu5VP#!qZTodM z9G-HKz)xOqk!spr7t+Xd@RpC3I8wlblGg=XQ~4hSTvC&E3b=t9_s^?{%@5`=xC;=o BzfJ%E From b12242b562ac10b4c153bef0380574b1071aaa30 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 13 Jan 2021 17:19:46 -0800 Subject: [PATCH 019/111] WIP convert to .ts files and standard AssemblyScript workflow --- .editorconfig | 12 ++++++++++ .gitignore | 2 ++ ...ure_animation.asc => texture_animation.ts} | 0 .../AnimationTexture/texture_animation.wasm | Bin 5091 -> 8084 bytes .../{color_triangle.asc => color_triangle.ts} | 0 examples/ColorTriangle/color_triangle.wasm | Bin 4215 -> 7202 bytes ...le_rotate.asc => color_triangle_rotate.ts} | 0 .../color_triangle_rotate.wasm | Bin 7432 -> 10408 bytes examples/Cube/{cube.asc => cube.ts} | 0 examples/Cube/cube.wasm | Bin 11693 -> 12040 bytes .../{triangle.asc => triangle.ts} | 12 +++++----- examples/HelloWorldTriangle/triangle.wasm | Bin 3919 -> 6885 bytes .../{mouse_point.asc => mouse_point.ts} | 0 examples/MousePoint/mouse_point.wasm | Bin 9568 -> 9903 bytes examples/Quad/{quad.asc => quad.ts} | 0 examples/Quad/quad.wasm | Bin 3927 -> 6918 bytes ..._follow_mouse.asc => quad_follow_mouse.ts} | 0 .../QuadFollowMouse/quad_follow_mouse.wasm | Bin 4167 -> 7158 bytes ...simple_lighting.asc => simple_lighting.ts} | 0 examples/SimpleLighting/simple_lighting.wasm | Bin 9125 -> 12079 bytes .../{texture_quad.asc => texture_quad.ts} | 0 examples/TextureQuad/texture_quad.wasm | Bin 4781 -> 7766 bytes .../{warp_speed.asc => warp_speed.ts} | 0 examples/WarpSpeed/warp_speed.wasm | Bin 12193 -> 12528 bytes package.json | 22 ++++++++++++++++++ render_lines.asc => render_lines.ts | 4 ++-- render_lines.wasm | Bin 11896 -> 12242 bytes tsconfig.json | 4 ++++ webgl.asc => webgl.ts | 0 29 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 .editorconfig rename examples/AnimationTexture/{texture_animation.asc => texture_animation.ts} (100%) rename examples/ColorTriangle/{color_triangle.asc => color_triangle.ts} (100%) rename examples/ColorTriangleRotate/{color_triangle_rotate.asc => color_triangle_rotate.ts} (100%) rename examples/Cube/{cube.asc => cube.ts} (100%) rename examples/HelloWorldTriangle/{triangle.asc => triangle.ts} (90%) rename examples/MousePoint/{mouse_point.asc => mouse_point.ts} (100%) rename examples/Quad/{quad.asc => quad.ts} (100%) rename examples/QuadFollowMouse/{quad_follow_mouse.asc => quad_follow_mouse.ts} (100%) rename examples/SimpleLighting/{simple_lighting.asc => simple_lighting.ts} (100%) rename examples/TextureQuad/{texture_quad.asc => texture_quad.ts} (100%) rename examples/WarpSpeed/{warp_speed.asc => warp_speed.ts} (100%) create mode 100644 package.json rename render_lines.asc => render_lines.ts (97%) create mode 100644 tsconfig.json rename webgl.asc => webgl.ts (100%) diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..b10c1dd --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: http://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore index 0223837..2ff3a55 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ node_modules +package-lock.json +*.wasm images src/extended src/old diff --git a/examples/AnimationTexture/texture_animation.asc b/examples/AnimationTexture/texture_animation.ts similarity index 100% rename from examples/AnimationTexture/texture_animation.asc rename to examples/AnimationTexture/texture_animation.ts diff --git a/examples/AnimationTexture/texture_animation.wasm b/examples/AnimationTexture/texture_animation.wasm index d08ab803d42ad249274b40b03613381c040085fc..3c2b0e38cb467b4c4fde5cd35fead065f6c06c0c 100644 GIT binary patch literal 8084 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 b2U)Mr^H1vAI?EjjcD$TV(_P)K=8ygl)P09$ diff --git a/examples/ColorTriangle/color_triangle.asc b/examples/ColorTriangle/color_triangle.ts similarity index 100% rename from examples/ColorTriangle/color_triangle.asc rename to examples/ColorTriangle/color_triangle.ts diff --git a/examples/ColorTriangle/color_triangle.wasm b/examples/ColorTriangle/color_triangle.wasm index a61e418b54a7eb684b93330986422fff14941a01..e5158f30e8889bf5992cee8e53b860bde6c14760 100644 GIT binary patch literal 7202 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 AbN~PV delta 1994 zcmaKsO>7fK6oB8%u77sN#^W?`9FmZ6yh&_AB2n6?6;y8!`gdg}iA$wtWr((#O!>eYpEC2)m+dhz=j^`nhq6{w%J*lHC^$Na2*0#+&4 zjt7o!`0?h+rX4UJ`6a!5^2iY^$88HvP^=wty%_%gps9U_4_q`jN|6p0AtfLxC# zZd%j-7c5MM>TW6Oe>~`OU8010>|U z1sM_&MDmt;Vop1=hy=)I8yg$iv|a#~MbmtSB1_E6gmjuGhBe8Db)gA;x<3;VRD|aF zOM*&%JQEgS5t^d7z*Z5KWQyttaEjstQ#2+h(?I~!fOt1$u;t`eu85UfQI-ks3|)eE>J*1@+jp|KT8s3X@6dCufuU87n2Um%=VZBN8;nQ~v` znrl7pTCaNu$E&{eI`ynvw{CbQ9NUzK+yDn ztOKF}SdMoaB7napQMj4=GAAp1T2_m#E0_lyrP zw$_!zyJvSIS2X;DgZtvkyJOFZF*d2{Infiuy777FafLx2PzsO^+#7?P?Rn=P*i^Py0^8GkI%#Zj5cM2NXKJ?Ll5*aKV-IT|bOHhMT z&;Y)rHvmjR@rkhs6HRxXDr8_ld7>4543|js>b4$Kzo4NxkR8n8Xr`ZiG9Yi1bfBu v^8Y-sGr7#!YdKf*pPWiejwFk?vy!_v&T5A|-#wERe3!0Ij*u?(%jD!gm_eGo diff --git a/examples/HelloWorldTriangle/triangle.asc b/examples/HelloWorldTriangle/triangle.ts similarity index 90% rename from examples/HelloWorldTriangle/triangle.asc rename to examples/HelloWorldTriangle/triangle.ts index e294a0f..5c57511 100644 --- a/examples/HelloWorldTriangle/triangle.asc +++ b/examples/HelloWorldTriangle/triangle.ts @@ -3,28 +3,28 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, + WebGLShader, shaderSource, createShader, compileShader, VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, attachShader, useProgram, WebGLUniformLocation, getUniformLocation, linkProgram, clearColor, clear, WebGLBuffer, createBuffer, ARRAY_BUFFER, GLint, STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, + bufferData, getAttribLocation, drawArrays, vertexAttribPointer, TRIANGLE_STRIP, } from '../../webgl' -const VERTEX_SHADER_CODE:string = `#version 300 es +const VERTEX_SHADER_CODE:string = /*glsl*/ `#version 300 es precision highp float; in vec2 position; - + void main() { gl_Position = vec4( position, 0.0, 1.0 ); } `; -const FRAGMENT_SHADER_CODE:string = `#version 300 es +const FRAGMENT_SHADER_CODE:string = /*glsl*/ `#version 300 es precision highp float; out vec4 color; @@ -75,4 +75,4 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es // mode | first vertex | count drawArrays(gl, TRIANGLE_STRIP, 0, 3 ); - } \ No newline at end of file + } diff --git a/examples/HelloWorldTriangle/triangle.wasm b/examples/HelloWorldTriangle/triangle.wasm index 6f526b885eec8b84c83db368582fa412d9ea660e..ef021e624751401f939697b9e4787f2572882c58 100644 GIT binary patch literal 6885 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 MjL=E{aLa~&0eHddSO5S3 diff --git a/examples/Quad/quad.asc b/examples/Quad/quad.ts similarity index 100% rename from examples/Quad/quad.asc rename to examples/Quad/quad.ts diff --git a/examples/Quad/quad.wasm b/examples/Quad/quad.wasm index 3f5582c1841e2605980778dd6cdb3d807e3ea4ca..7c2a4efa6bebacd6a507d3fff3877468f777cd26 100644 GIT binary patch literal 6918 zcmeI0X^>P`701tgOHVUz2oH#1HF>jqAeIswBB?SF<^?lG6AQ{z`4xJG24-!hyBVac z*gZW9i&-FS38s{=Bt}1&2oc0sBAX;3$*_lPV$`a{Qj3t}gC!Q8bN;WV8Fs6vRHe#+ z`Ty>6&b{ZJ+x^}FN@Us$5t*swvrW$AW?Q)&&9-x*+~ffwo}k$d4>8IF{6n+d+=KiB zTa&Za*(2>_d#9UdNTstBa~CBW=CzJ$OeYiBLo znjfL#s!!=k|5&O4{1e!xWBXN4tDaH)NcCgYl^Vxms;gDksIFCAr@Bh@an(Gs-USqZ zZeY_By8C8e3$Rh$R_GBos%}#KWQ+vgJ63e7>Q2>u)x)YsRFA42Q$4PFLN$L>v$F$v z`vCYU^7bt7GvMdIriV4Ye3hn6wV?V~Hzp?Ngla*xTeU~ESG7;IP%D;ws!LRtsxDJq zuDTTgZ3F(?r&~O?R`ERW0rK|mAL-y(;8n~W1kS+ZKbU(RgZXvpPyo7tUZ4+H20R2j z4CM8D*`-=g?N;qk?N#klU80)5OB146Q0-P-{skFdvRtEB3goA%t!hCve^BqI3&_8Q z9#8}x=X)^2Qc<8WM?;e zdw{(_KX3>*3>*QD0>^-UJk<^Xhk+x&DIgEa4Z!*yjaIMZ7z~aBCxDZ{JHXSxGr;?Z zxlbSWyEfz8z;0j_-7KO`erKf}m?|f*tK7f|+;5GmbONW2>yCTb-i{jNd0s#@#;Y}Uj<-E~ zj{SK-@~TaxsWu#kY~qjL#jLP5n?}SoK5MKD6tHS{1fu)oFGr?W?bSJuEml zo0Aw_(eUCG89o!=34cI|KP;m=11F4U({g1dbajS5G<44D#p%%`*LKzc;whX;Cf`9WQ*ctdC?6=9_)F;fTtdL zu;=BDZ2fOX<^##MF1o{!r32Z;$T-}%9B6bg=CXmX^gukxw_Kd`if%a2V9#L#o_e6c zo|iiiKS%kg#^2X#`p#UB&-MS;kf&1VIrQ1dhkQ=tS^n9H_|u8B_|E!tcDwp65|6wi zuWosD3t8(L->2TQHdkK!mLz_M8h$}pT-InLV0io zW$&Qpa1Z5=);;6#&OZhcPOj*qk>o!_V76CypFimn8;PCZEvD6QtXxrXAa75;p*8m z`=g`kS!(5|NOrg!^lUQv8>4C|*Pk-HM!3QapL2avv(>8RzmFQ%m{|R5t9r6OOxip63m^7P z;LGDbzAr-~LSh5|me6YRhkN6x`Zruy5Bi5vji$%H+4FYB;uKbRwKwyYM)u_&q4a-1 zt<*#fbQ`59%bHO6lGc~C74YiC z2p;4;_}_e%*JGWIGRn|IN&osMNDhu%7Cs%5JeU9W~8P?|}GQu-HO v5GUXDZVw_02HE@@NQ3Bi=lxFOw*1N%+9ChXMvcSWfPdvDP%W`$3*vj7_WHrB!7YU+huE_+1)p9-uum)kKJ7w`QASWZo5tZfQ&km zRBM<7m?WBL1ei2*q@Yan)4`(gz}Wfp(tgd@EpKYZ&s1BU8+a4f+-a``9kCsECmQpu zst4wFWwzR=H*0>U6gp}={%or;({k%TlTHX zotnRT6_=DGI#ac|=|nQaVRDQ>=o5+fkX-2Jj=`uw2thDS(gb4N7oVsm3b-cA8Tuua zl3auOO2Z#^U--*rdYwhWMvQkXp1P8@>R!FkTA+}sR9xS0RAFbjQfYaCTbqMjc0_&8 zZF{gAd9~sDUNwLoEN*#iFMwW-EC_0qDXcL*P(EF2H+^^EOrz0+e3}$&i+~~=oS%ks zF+-RhgCcH0i6DICjN{8EF0YixaQyS77-&?KneZ2QXj*NUYEd%* z<+rqi_ah=mc{!$tuc=6=Fe3M1p|LB>^1IkVT&99W1CXMdP+@ILB89C; zmsjKJq0*|R!rr#jb0(bfT5POQ!Fd)Jj(Z%W8AWgM^MGZi@oR^FU~x=jqVZg0qh_e| zo|cBij)<>OMb*-vg6I-mk<_gK3q(%Qx)8hH2J?o0px diff --git a/examples/QuadFollowMouse/quad_follow_mouse.asc b/examples/QuadFollowMouse/quad_follow_mouse.ts similarity index 100% rename from examples/QuadFollowMouse/quad_follow_mouse.asc rename to examples/QuadFollowMouse/quad_follow_mouse.ts diff --git a/examples/QuadFollowMouse/quad_follow_mouse.wasm b/examples/QuadFollowMouse/quad_follow_mouse.wasm index a40f996a005e3b812a3ca63f979cd7b9db338137..5abc897763be2921b5f2731ad342a30c015e4549 100644 GIT binary patch literal 7158 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 qw_p5+3Ey)tmanYo*hIIb4jp6a<)i1h%G delta 1215 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 T{~J>+N>138&seOj68`@JT&u*{ delta 1563 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 WeGmAb$5QxzHS}FRV=*;N_Wuh%#`G)z delta 1624 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 fg#wo(^hEzTYIPBeU=308PNO;p2KWGm$b%m1V0q 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 diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..798b474 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "assemblyscript/std/assembly.json", + "include": ["./**/*.ts"] +} diff --git a/webgl.asc b/webgl.ts similarity index 100% rename from webgl.asc rename to webgl.ts From 615bb1c27761393c2674fde5887eb1a16b052487 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Thu, 14 Jan 2021 19:28:31 -0700 Subject: [PATCH 020/111] Restructured to have a src and dist directory. Added a buildall.js that runs with 'npm run build:all' and builds all examples --- .gitignore | 1 + README.md | 13 +- asc.d.ts | 71 + buildall.js | 63 + dist/ASWebGLue.js | 2032 +++++++ dist/examples/AnimationTexture/index.html | 54 + .../examples/AnimationTexture/kaijunicorn.png | Bin 0 -> 2795 bytes .../AnimationTexture/kaijunicorn1.png | Bin 0 -> 507 bytes .../AnimationTexture/kaijunicorn2.png | Bin 0 -> 530 bytes .../AnimationTexture/kaijunicorn3.png | Bin 0 -> 521 bytes dist/examples/ColorTriangle/index.html | 54 + dist/examples/ColorTriangleRotate/index.html | 54 + dist/examples/Cube/index.html | 54 + dist/examples/HelloWorldTriangle/index.html | 47 + dist/examples/Lines/index.html | 31 + dist/examples/Material/index.html | 66 + dist/examples/MousePoint/index.html | 66 + dist/examples/NormalModel/LunarMap.png | Bin 0 -> 177567 bytes dist/examples/NormalModel/LunarMapOG.png | Bin 0 -> 169007 bytes dist/examples/NormalModel/LunarNormalMap.png | Bin 0 -> 488729 bytes dist/examples/NormalModel/index.html | 66 + dist/examples/Obj/index.html | 66 + dist/examples/Quad/index.html | 54 + dist/examples/QuadFollowMouse/index.html | 48 + .../examples}/SimpleLighting/index.html | 24 +- dist/examples/TextureModel/RobotTexPixel.png | Bin 0 -> 2975 bytes dist/examples/TextureModel/index.html | 66 + dist/examples/TextureQuad/index.html | 54 + dist/examples/TextureQuad/kaijunicorn.png | Bin 0 -> 2256 bytes dist/examples/TexturedCube/index.html | 66 + dist/examples/WarpSpeed/index.html | 54 + .../AnimationTexture/texture_animation.ts | 166 - .../AnimationTexture/texture_animation.wasm | Bin 8084 -> 0 bytes examples/ColorTriangle/color_triangle.ts | 91 - examples/ColorTriangle/color_triangle.wasm | Bin 7202 -> 0 bytes .../color_triangle_rotate.ts | 108 - .../color_triangle_rotate.wasm | Bin 10408 -> 0 bytes examples/Cube/cube.ts | 145 - examples/Cube/cube.wasm | Bin 12040 -> 0 bytes examples/HelloWorldTriangle/triangle.wasm | Bin 6885 -> 0 bytes examples/Material/Robot.asc | 656 --- examples/Material/obj_mat.asc | 145 - examples/Material/obj_mat.wasm | Bin 31911 -> 0 bytes examples/Material/obj_mat_commented.wat | 4297 --------------- examples/MousePoint/mouse_point.ts | 173 - examples/MousePoint/mouse_point.wasm | Bin 9903 -> 0 bytes examples/NormalModel/obj_norm-hacky.asc | 233 - examples/NormalModel/obj_norm.wasm | Bin 108727 -> 0 bytes examples/NormalModel/obj_norm.wasm.map | 1 - examples/NormalModel/obj_norm_kludgy.asc | 199 - examples/Obj/obj.wasm | Bin 77983 -> 0 bytes examples/Obj/obj_small.wasm | Bin 8334 -> 0 bytes examples/Quad/quad.ts | 82 - examples/Quad/quad.wasm | Bin 6918 -> 0 bytes .../QuadFollowMouse/quad_follow_mouse.wasm | Bin 7158 -> 0 bytes examples/SimpleLighting/simple_lighting.ts | 180 - examples/SimpleLighting/simple_lighting.wasm | Bin 12079 -> 0 bytes examples/TextureModel/obj_tex.wasm | Bin 33233 -> 0 bytes examples/TextureQuad/texture_quad.ts | 126 - examples/TextureQuad/texture_quad.wasm | Bin 7766 -> 0 bytes examples/TexturedCube/README.md | 7 - examples/TexturedCube/textured_cube.asc | 180 - examples/WarpSpeed/README.md | 7 - examples/WarpSpeed/warp_speed.ts | 211 - examples/WarpSpeed/warp_speed.wasm | Bin 12528 -> 0 bytes package-lock.json | 4742 ++++++++++++++++- package.json | 14 +- render_lines.wasm | Bin 12242 -> 0 bytes server.js | 2 +- .../examples}/AnimationTexture/README.md | 0 .../examples}/AnimationTexture/index.html | 2 +- .../AnimationTexture/kaijunicorn.json | 0 .../AnimationTexture/kaijunicorn.png | Bin .../AnimationTexture/kaijunicorn.tps | 0 .../AnimationTexture/kaijunicorn1.png | Bin .../AnimationTexture/kaijunicorn2.png | Bin .../AnimationTexture/kaijunicorn3.png | Bin .../AnimationTexture/texture_animation.ts | 166 + .../examples}/ColorTriangle/README.md | 0 src/examples/ColorTriangle/color_triangle.ts | 91 + .../examples}/ColorTriangle/index.html | 2 +- .../examples}/ColorTriangleRotate/README.md | 0 .../color_triangle_rotate.ts | 108 + .../examples}/ColorTriangleRotate/index.html | 2 +- {examples => src/examples}/Cube/README.md | 0 src/examples/Cube/cube.ts | 145 + {examples => src/examples}/Cube/index.html | 2 +- .../examples}/HelloWorldTriangle/README.md | 0 .../examples}/HelloWorldTriangle/index.html | 2 +- .../examples}/HelloWorldTriangle/triangle.ts | 0 .../examples/Lines/index.html | 12 +- .../examples/Lines/render_lines.ts | 2 +- src/examples/Material/Robot.ts | 656 +++ .../examples}/Material/index.html | 4 +- src/examples/Material/obj_mat.ts | 145 + .../examples}/Material/robot_temp.asc | 0 .../examples}/MousePoint/README.md | 0 .../examples}/MousePoint/index.html | 2 +- src/examples/MousePoint/mouse_point.ts | 173 + .../examples}/NormalModel/LunarMap.png | Bin .../examples}/NormalModel/LunarMapOG.png | Bin .../examples}/NormalModel/LunarNormalMap.png | Bin .../examples/NormalModel/Moon_Sphere.ts | 0 .../examples}/NormalModel/index.html | 2 +- .../examples}/NormalModel/moon.blend | Bin .../examples}/NormalModel/moon.blend1 | Bin .../examples}/NormalModel/moon.mtl | 0 .../examples}/NormalModel/moon.obj | 0 .../examples/NormalModel/obj_norm.ts | 0 .../examples}/NormalModel/reminder.txt | 0 {examples => src/examples}/Obj/README.md | 0 .../examples/Obj/Suzanne.ts | 0 {examples => src/examples}/Obj/index.html | 2 +- {examples => src/examples}/Obj/monkey.mtl | 0 {examples => src/examples}/Obj/monkey.obj | 0 {examples => src/examples}/Obj/monkey.zip | Bin .../Obj/obj.asc => src/examples/Obj/obj.ts | 0 {examples => src/examples}/Obj/obj.zip | Bin {examples => src/examples}/Obj/teapot.obj.txt | 0 {examples => src/examples}/Quad/README.md | 0 {examples => src/examples}/Quad/index.html | 2 +- src/examples/Quad/quad.ts | 82 + .../examples}/QuadFollowMouse/README.md | 0 .../examples}/QuadFollowMouse/index.html | 2 +- .../QuadFollowMouse/quad_follow_mouse.ts | 0 {examples => src/examples}/README.md | 0 {examples => src/examples}/RobotTex.psd | Bin {examples => src/examples}/RobotTexPixel.png | Bin {examples => src/examples}/RobotTexPixel.psd | Bin .../examples}/RobotTexPixel_n.png | Bin .../examples}/SimpleLighting/README.md | 0 .../examples/SimpleLighting}/index.html | 2 +- .../SimpleLighting/simple_lighting.ts | 180 + .../examples/TextureModel/RobotTex.ts | 0 .../examples}/TextureModel/RobotTexPixel.png | Bin .../examples}/TextureModel/index.html | 2 +- .../examples/TextureModel/obj_tex.ts | 0 .../examples}/TextureQuad/README.md | 0 .../examples}/TextureQuad/index.html | 2 +- .../examples}/TextureQuad/kaijunicorn.png | Bin src/examples/TextureQuad/texture_quad.ts | 126 + src/examples/WarpSpeed/README.md | 67 + .../examples}/WarpSpeed/index.html | 2 +- src/examples/WarpSpeed/warp_speed.ts | 211 + {examples => src/examples}/commented.mtl | 0 {examples => src/examples}/commented.obj | 0 {examples => src/examples}/icosphere.png | Bin {examples => src/examples}/monkey.mtl | 0 {examples => src/examples}/monkey.obj | 0 {examples => src/examples}/robot.blend | Bin {examples => src/examples}/robot.blend1 | Bin {examples => src/examples}/robot.mtl | 0 {examples => src/examples}/robot.obj | 0 .../examples}/robot_texture.blend | Bin .../examples}/robot_texture.blend1 | Bin {examples => src/examples}/robot_texture.mtl | 0 {examples => src/examples}/robot_texture.obj | 0 {examples => src/examples}/robots.blend | Bin {examples => src/examples}/spaceship.blend | Bin {examples => src/examples}/spaceship.blend1 | Bin {examples => src/examples}/spaceship.dae | 0 {examples => src/examples}/spaceship.mtl | 0 {examples => src/examples}/spaceship.obj | 0 {examples => src/examples}/spaceship.x3d | 0 {examples => src/examples}/spaceship_uv.jpg | Bin {examples => src/examples}/spaceship_uv.png | Bin {examples => src/examples}/spaceship_uv.psd | Bin src/extended/main.js | 266 - src/main.js | 164 - src/old/aswebgl_glue.js | 310 -- src/old/loader.js | 430 -- webgl.ts => src/webgl.ts | 432 +- tsconfig.json | 9 +- 173 files changed, 9930 insertions(+), 8746 deletions(-) create mode 100644 asc.d.ts create mode 100644 buildall.js create mode 100644 dist/ASWebGLue.js create mode 100644 dist/examples/AnimationTexture/index.html create mode 100644 dist/examples/AnimationTexture/kaijunicorn.png create mode 100644 dist/examples/AnimationTexture/kaijunicorn1.png create mode 100644 dist/examples/AnimationTexture/kaijunicorn2.png create mode 100644 dist/examples/AnimationTexture/kaijunicorn3.png create mode 100644 dist/examples/ColorTriangle/index.html create mode 100644 dist/examples/ColorTriangleRotate/index.html create mode 100644 dist/examples/Cube/index.html create mode 100644 dist/examples/HelloWorldTriangle/index.html create mode 100644 dist/examples/Lines/index.html create mode 100644 dist/examples/Material/index.html create mode 100644 dist/examples/MousePoint/index.html create mode 100644 dist/examples/NormalModel/LunarMap.png create mode 100644 dist/examples/NormalModel/LunarMapOG.png create mode 100644 dist/examples/NormalModel/LunarNormalMap.png create mode 100644 dist/examples/NormalModel/index.html create mode 100644 dist/examples/Obj/index.html create mode 100644 dist/examples/Quad/index.html create mode 100644 dist/examples/QuadFollowMouse/index.html rename {examples => dist/examples}/SimpleLighting/index.html (73%) create mode 100644 dist/examples/TextureModel/RobotTexPixel.png create mode 100644 dist/examples/TextureModel/index.html create mode 100644 dist/examples/TextureQuad/index.html create mode 100644 dist/examples/TextureQuad/kaijunicorn.png create mode 100644 dist/examples/TexturedCube/index.html create mode 100644 dist/examples/WarpSpeed/index.html delete mode 100644 examples/AnimationTexture/texture_animation.ts delete mode 100644 examples/AnimationTexture/texture_animation.wasm delete mode 100644 examples/ColorTriangle/color_triangle.ts delete mode 100644 examples/ColorTriangle/color_triangle.wasm delete mode 100644 examples/ColorTriangleRotate/color_triangle_rotate.ts delete mode 100644 examples/ColorTriangleRotate/color_triangle_rotate.wasm delete mode 100644 examples/Cube/cube.ts delete mode 100644 examples/Cube/cube.wasm delete mode 100644 examples/HelloWorldTriangle/triangle.wasm delete mode 100644 examples/Material/Robot.asc delete mode 100644 examples/Material/obj_mat.asc delete mode 100644 examples/Material/obj_mat.wasm delete mode 100644 examples/Material/obj_mat_commented.wat delete mode 100644 examples/MousePoint/mouse_point.ts delete mode 100644 examples/MousePoint/mouse_point.wasm delete mode 100644 examples/NormalModel/obj_norm-hacky.asc delete mode 100644 examples/NormalModel/obj_norm.wasm delete mode 100644 examples/NormalModel/obj_norm.wasm.map delete mode 100644 examples/NormalModel/obj_norm_kludgy.asc delete mode 100644 examples/Obj/obj.wasm delete mode 100644 examples/Obj/obj_small.wasm delete mode 100644 examples/Quad/quad.ts delete mode 100644 examples/Quad/quad.wasm delete mode 100644 examples/QuadFollowMouse/quad_follow_mouse.wasm delete mode 100644 examples/SimpleLighting/simple_lighting.ts delete mode 100644 examples/SimpleLighting/simple_lighting.wasm delete mode 100644 examples/TextureModel/obj_tex.wasm delete mode 100644 examples/TextureQuad/texture_quad.ts delete mode 100644 examples/TextureQuad/texture_quad.wasm delete mode 100644 examples/TexturedCube/README.md delete mode 100644 examples/TexturedCube/textured_cube.asc delete mode 100644 examples/WarpSpeed/README.md delete mode 100644 examples/WarpSpeed/warp_speed.ts delete mode 100644 examples/WarpSpeed/warp_speed.wasm delete mode 100644 render_lines.wasm rename {examples => src/examples}/AnimationTexture/README.md (100%) rename {examples => src/examples}/AnimationTexture/index.html (95%) rename {examples => src/examples}/AnimationTexture/kaijunicorn.json (100%) rename {examples => src/examples}/AnimationTexture/kaijunicorn.png (100%) rename {examples => src/examples}/AnimationTexture/kaijunicorn.tps (100%) rename {examples => src/examples}/AnimationTexture/kaijunicorn1.png (100%) rename {examples => src/examples}/AnimationTexture/kaijunicorn2.png (100%) rename {examples => src/examples}/AnimationTexture/kaijunicorn3.png (100%) create mode 100644 src/examples/AnimationTexture/texture_animation.ts rename {examples => src/examples}/ColorTriangle/README.md (100%) create mode 100644 src/examples/ColorTriangle/color_triangle.ts rename {examples => src/examples}/ColorTriangle/index.html (95%) rename {examples => src/examples}/ColorTriangleRotate/README.md (100%) create mode 100644 src/examples/ColorTriangleRotate/color_triangle_rotate.ts rename {examples => src/examples}/ColorTriangleRotate/index.html (95%) rename {examples => src/examples}/Cube/README.md (100%) create mode 100644 src/examples/Cube/cube.ts rename {examples => src/examples}/Cube/index.html (95%) rename {examples => src/examples}/HelloWorldTriangle/README.md (100%) rename {examples => src/examples}/HelloWorldTriangle/index.html (95%) rename {examples => src/examples}/HelloWorldTriangle/triangle.ts (100%) rename webgl_test.html => src/examples/Lines/index.html (82%) rename render_lines.ts => src/examples/Lines/render_lines.ts (99%) create mode 100644 src/examples/Material/Robot.ts rename {examples => src/examples}/Material/index.html (94%) create mode 100644 src/examples/Material/obj_mat.ts rename {examples => src/examples}/Material/robot_temp.asc (100%) rename {examples => src/examples}/MousePoint/README.md (100%) rename {examples => src/examples}/MousePoint/index.html (96%) create mode 100644 src/examples/MousePoint/mouse_point.ts rename {examples => src/examples}/NormalModel/LunarMap.png (100%) rename {examples => src/examples}/NormalModel/LunarMapOG.png (100%) rename {examples => src/examples}/NormalModel/LunarNormalMap.png (100%) rename examples/NormalModel/Moon_Sphere.asc => src/examples/NormalModel/Moon_Sphere.ts (100%) rename {examples => src/examples}/NormalModel/index.html (96%) rename {examples => src/examples}/NormalModel/moon.blend (100%) rename {examples => src/examples}/NormalModel/moon.blend1 (100%) rename {examples => src/examples}/NormalModel/moon.mtl (100%) rename {examples => src/examples}/NormalModel/moon.obj (100%) rename examples/NormalModel/obj_norm.asc => src/examples/NormalModel/obj_norm.ts (100%) rename {examples => src/examples}/NormalModel/reminder.txt (100%) rename {examples => src/examples}/Obj/README.md (100%) rename examples/Obj/Suzanne.asc => src/examples/Obj/Suzanne.ts (100%) rename {examples => src/examples}/Obj/index.html (96%) rename {examples => src/examples}/Obj/monkey.mtl (100%) rename {examples => src/examples}/Obj/monkey.obj (100%) rename {examples => src/examples}/Obj/monkey.zip (100%) rename examples/Obj/obj.asc => src/examples/Obj/obj.ts (100%) rename {examples => src/examples}/Obj/obj.zip (100%) rename {examples => src/examples}/Obj/teapot.obj.txt (100%) rename {examples => src/examples}/Quad/README.md (100%) rename {examples => src/examples}/Quad/index.html (95%) create mode 100644 src/examples/Quad/quad.ts rename {examples => src/examples}/QuadFollowMouse/README.md (100%) rename {examples => src/examples}/QuadFollowMouse/index.html (95%) rename {examples => src/examples}/QuadFollowMouse/quad_follow_mouse.ts (100%) rename {examples => src/examples}/README.md (100%) rename {examples => src/examples}/RobotTex.psd (100%) rename {examples => src/examples}/RobotTexPixel.png (100%) rename {examples => src/examples}/RobotTexPixel.psd (100%) rename {examples => src/examples}/RobotTexPixel_n.png (100%) rename {examples => src/examples}/SimpleLighting/README.md (100%) rename {examples/TexturedCube => src/examples/SimpleLighting}/index.html (96%) create mode 100644 src/examples/SimpleLighting/simple_lighting.ts rename examples/TextureModel/RobotTex.asc => src/examples/TextureModel/RobotTex.ts (100%) rename {examples => src/examples}/TextureModel/RobotTexPixel.png (100%) rename {examples => src/examples}/TextureModel/index.html (96%) rename examples/TextureModel/obj_tex.asc => src/examples/TextureModel/obj_tex.ts (100%) rename {examples => src/examples}/TextureQuad/README.md (100%) rename {examples => src/examples}/TextureQuad/index.html (95%) rename {examples => src/examples}/TextureQuad/kaijunicorn.png (100%) create mode 100644 src/examples/TextureQuad/texture_quad.ts create mode 100644 src/examples/WarpSpeed/README.md rename {examples => src/examples}/WarpSpeed/index.html (95%) create mode 100644 src/examples/WarpSpeed/warp_speed.ts rename {examples => src/examples}/commented.mtl (100%) rename {examples => src/examples}/commented.obj (100%) rename {examples => src/examples}/icosphere.png (100%) rename {examples => src/examples}/monkey.mtl (100%) rename {examples => src/examples}/monkey.obj (100%) rename {examples => src/examples}/robot.blend (100%) rename {examples => src/examples}/robot.blend1 (100%) rename {examples => src/examples}/robot.mtl (100%) rename {examples => src/examples}/robot.obj (100%) rename {examples => src/examples}/robot_texture.blend (100%) rename {examples => src/examples}/robot_texture.blend1 (100%) rename {examples => src/examples}/robot_texture.mtl (100%) rename {examples => src/examples}/robot_texture.obj (100%) rename {examples => src/examples}/robots.blend (100%) rename {examples => src/examples}/spaceship.blend (100%) rename {examples => src/examples}/spaceship.blend1 (100%) rename {examples => src/examples}/spaceship.dae (100%) rename {examples => src/examples}/spaceship.mtl (100%) rename {examples => src/examples}/spaceship.obj (100%) rename {examples => src/examples}/spaceship.x3d (100%) rename {examples => src/examples}/spaceship_uv.jpg (100%) rename {examples => src/examples}/spaceship_uv.png (100%) rename {examples => src/examples}/spaceship_uv.psd (100%) delete mode 100644 src/extended/main.js delete mode 100644 src/main.js delete mode 100644 src/old/aswebgl_glue.js delete mode 100644 src/old/loader.js rename webgl.ts => src/webgl.ts (52%) diff --git a/.gitignore b/.gitignore index 2ff3a55..54fb03a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ package-lock.json images src/extended src/old +gitrun.sh \ No newline at end of file diff --git a/README.md b/README.md index 80d235e..0c72db3 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,3 @@ # ASWebGLue (Assemblyscript WebGL Bindings and Glue) -Compile render_lines.asc demo using the following: -``` -asc render_lines.asc --extension asc --runtime stub --importMemory -o render_lines.wasm -``` - -``` -asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm -``` - -``` -asc obj_tex.asc --extension asc --runtime stub --importMemory -o obj_tex.wasm -``` \ No newline at end of file +ASWebGLue is a set of bindings for AssemblyScript/WebGL. \ No newline at end of file diff --git a/asc.d.ts b/asc.d.ts new file mode 100644 index 0000000..fa89206 --- /dev/null +++ b/asc.d.ts @@ -0,0 +1,71 @@ +type externref = number; +type bool = any; +type i8 = any; +type i16 = any; +type i32 = any; +type i64 = any; +type f32 = any; +type f64 = any; +type u8 = any; +type u16 = any; +type u32 = any; +type u64 = any; +type usize = any; +type StaticArray = { + value: T; +} | any; + +declare function assert(isTrueish: Text, message?: string): Text; +declare function instantiate(...args: any[]): T; +declare function store(size: usize, offset: usize): T; +declare function changetype(value: any): T; +declare function idof(): u32; +declare function nameof(value?: T): string; + +declare namespace Mathf { + const E: number; + const LN2: number; + const LN10: number; + const LOG2E: number; + const LOG10E: number; + const PI: number; + const SQRT1_2: number; + const SQRT2: number; + + function abs(x: number): number; + function acos(x: number): number; + function acosh(x: number): number; + function asin(x: number): number; + function asinh(x: number): number; + function atan(x: number): number; + function atan2(x: number): number; + function atanh(x: number): number; + function cbrt(x: number): number; + function ceil(x: number): number; + function clz32(x: number): number; + function cos(x: number): number; + function cosh(x: number): number; + function exp(x: number): number; + function expm1(x: number): number; + function floor(x: number): number; + function fround(x: number): number; + function hypot(value1: number, value2: number): number; + function imul(a: number, b: number): number; + function log(x: number): number; + function log10(x: number): number; + function log1p(x: number): number; + function log2(x: number): number; + function max(v1: number, v2: number): number; + function min(v1: number, v2: number): number; + function pow(base: number, exponent: number): number; + function random(): number; + function round(x: number): number; + function sign(x: number): number; + function signbit(x: number): bool; + function sin(x: number): number; + function sinh(x: number): number; + function sqrt(x: number): number; + function tan(x: number): number; + function tanh(x: number): number; + function trunc(x: number): number; +} \ No newline at end of file diff --git a/buildall.js b/buildall.js new file mode 100644 index 0000000..cc0010c --- /dev/null +++ b/buildall.js @@ -0,0 +1,63 @@ +const { exec } = require("child_process"); +const fs = require('fs'); +const path = require('path'); +const min = require('node-minify'); +const imagemin = require('imagemin'); +const imageminPngQuant = require('imagemin-pngquant'); +const ASWebGLueWasm = './src/webgl.ts'; +const ASWebGLueWasmOut = './dist/webgl.wasm'; + +let ascRun = `asc ${ASWebGLueWasm} --runtime stub -O3 --importMemory -o ${ASWebGLueWasmOut}`; +exec(ascRun); + +fs.copyFile('./src/ASWebGLue.js', './dist/ASWebGLue.js', (err) => { + if (err) throw err; +}); + +const exampleDirectory = './src/examples/'; +const distDirectory = './dist/examples/'; + +fs.readdir(exampleDirectory, (err, files) => { + + files.forEach(file => { + if (fs.lstatSync(path.resolve(exampleDirectory, file)).isDirectory()) { + let subDir = file; + fs.readdir(exampleDirectory + file, (err, exampleFiles) => { + exampleFiles.forEach(exampleFile => { + if (exampleFile.indexOf('.ts') >= 0) { + let fi = `${exampleDirectory}${subDir}/${exampleFile}`; + let fo = `${distDirectory}${subDir}/${exampleFile.replace('.ts', '.wasm')}`; + let ascRun = `asc ${fi} --runtime stub -O3 --importMemory -o ${fo}`; + + exec(ascRun); + } + else if (exampleFile.indexOf('.html') >= 0) { + min.minify({ + compressor: 'html-minifier', + input: `${exampleDirectory}${subDir}/${exampleFile}`, + output: `${distDirectory}${subDir}/${exampleFile}`, + callback: function (err, min) { + if (err != null) console.log(err); + } + }); + } + else if (exampleFile.indexOf('.png') >= 0) { + (async () => { + let fi = `${exampleDirectory}${subDir}/${exampleFile}`; + let fo = `${distDirectory}${subDir}`; + + await imagemin([fi], { + destination: fo, + plugins: [ + imageminPngQuant({ + quality: [0.6, 0.8] + }) + ] + }); + })(); + } + }); + }); + } + }); +}); \ No newline at end of file diff --git a/dist/ASWebGLue.js b/dist/ASWebGLue.js new file mode 100644 index 0000000..593a36a --- /dev/null +++ b/dist/ASWebGLue.js @@ -0,0 +1,2032 @@ +export function ASWebGLReady(wasm_obj, importObject) { + if (wasm_obj == null) { + console.error("ASWebGLReady requires the WebAssembly Instance as 1st parameter"); + return; + } + if (wasm_obj == null) { + console.error("ASWebGLReady requires import object as 2nd parameter"); + return; + } + importObject.webgl.WEBGL_READY = true; + importObject.webgl.RTTI_BASE = wasm_obj.instance.exports["__rtti_base"]; +} + +export function initASWebGLue(importObject) { + if (importObject.env.memory == null) { + alert('You need to set memory in your importObject'); + } + + if (importObject.webgl == null) { + importObject.webgl = {}; + } + + const webgl = importObject.webgl; + + importObject.env.abort = (...args) => { + console.log("abort"); + console.log(webgl.getString(args[0])); + } + + + importObject.webgl.WEBGL_READY = false; + importObject.webgl.memory = importObject.env.memory; + + importObject.webgl.contextArray = []; + importObject.webgl.textureArray = []; + importObject.webgl.imageArray = []; + importObject.webgl.programArray = []; + importObject.webgl.shaderArray = []; + importObject.webgl.bufferArray = []; + importObject.webgl.frameBufferArray = []; + importObject.webgl.renderBufferArray = []; + importObject.webgl.uniformLocationArray = []; + + importObject.webgl.SIZE_OFFSET = -4; + importObject.webgl.ID_OFFSET = -8; + importObject.webgl.CHUNKSIZE = 1024; + importObject.webgl.STRING_ID = 1; + importObject.webgl.RTTI_BASE = 0; + importObject.webgl.VAL_ALIGN_OFFSET = 6; + + importObject.ARRAYBUFFERVIEW_DATASTART_OFFSET = 4; + importObject.ARRAY_LENGTH_OFFSET = 12; + + /** No specific flags. */ + importObject.webgl.NONE = 0x00; + /** Type is an `ArrayBufferView`. */ + importObject.webgl.ARRAYBUFFERVIEW = 0x01; + /** Type is an `Array`. */ + importObject.webgl.ARRAY = 0x0002; + /** Type is a `StaticArray`. */ + importObject.webgl.STATICARRAY = 0x0004; + /** Type is a `Set`. */ + importObject.webgl.SET = 0x000008; + /** Type is a `Map`. */ + importObject.webgl.MAP = 0x000010; + /** Type is inherently acyclic. */ + importObject.webgl.ACYCLIC = 0x000020; + /** Value alignment of 1 byte. */ + importObject.webgl.VALUE_ALIGN_0 = 0x000040; + /** Value alignment of 2 bytes. */ + importObject.webgl.VALUE_ALIGN_1 = 0x000080; + /** Value alignment of 4 bytes. */ + importObject.webgl.VALUE_ALIGN_2 = 0x000100; + /** Value alignment of 8 bytes. */ + importObject.webgl.VALUE_ALIGN_3 = 0x000200; + /** Value alignment of 16 bytes. */ + importObject.webgl.VALUE_ALIGN_4 = 0x000400; + /** Value is a signed type. */ + importObject.webgl.VALUE_SIGNED = 0x000800; + /** Value is a float type. */ + importObject.webgl.VALUE_FLOAT = 0x001000; + /** Value type is nullable. */ + importObject.webgl.VALUE_NULLABLE = 0x002000; + /** Value type is managed. */ + importObject.webgl.VALUE_MANAGED = 0x004000; + /** Key alignment of 1 byte. */ + importObject.webgl.KEY_ALIGN_0 = 0x008000; + /** Key alignment of 2 bytes. */ + importObject.webgl.KEY_ALIGN_1 = 0x010000; + /** Key alignment of 4 bytes. */ + importObject.webgl.KEY_ALIGN_2 = 0x020000; + /** Key alignment of 8 bytes. */ + importObject.webgl.KEY_ALIGN_3 = 0x040000; + /** Key alignment of 16 bytes. */ + importObject.webgl.KEY_ALIGN_4 = 0x080000; + /** Key is a signed type. */ + importObject.webgl.KEY_SIGNED = 0x100000; + /** Key is a float type. */ + importObject.webgl.KEY_FLOAT = 0x200000; + /** Key type is nullable. */ + importObject.webgl.KEY_NULLABLE = 0x400000; + /** Key type is managed. */ + importObject.webgl.KEY_MANAGED = 0x800000; + + //imageArray + importObject.webgl.createImage = (image_location) => { + console.log(`createImage(${image_location})`); + let image = new Image(); + image.ready = false; + image.onload = function () { + image.ready = true; + } + image.src = webgl.getString(image_location); + console.log(`image.src=${image.src}`); + let image_id = webgl.imageArray.length; + webgl.imageArray.push(image); + return image_id; + } + + // DEBUG STUFF ----------- + + importObject.webgl.logi32 = (arg) => { + console.log(`logi32=${arg}`); + } + + // END DEBUG STUFF -------- + + importObject.webgl.imageReady = (image_id) => { + console.log("image ready check! image_id=" + image_id); + if (webgl.imageArray.length <= image_id) { + return false; + } + return webgl.imageArray[image_id].ready; + } + + importObject.webgl.getView = (alignLog2, signed, float) => { + const buffer = webgl.memory.buffer; + + if (float) { + switch (alignLog2) { + case 2: return new Float32Array(buffer); + case 3: return new Float64Array(buffer); + } + } else { + switch (alignLog2) { + case 0: return new (signed ? Int8Array : Uint8Array)(buffer); + case 1: return new (signed ? Int16Array : Uint16Array)(buffer); + case 2: return new (signed ? Int32Array : Uint32Array)(buffer); + case 3: return new (signed ? BigInt64Array : BigUint64Array)(buffer); + } + } + throw Error("unsupported align: " + alignLog2); + } + + importObject.webgl.getArrayInfo = (id) => { + const info = webgl.getInfo(id); + if (!(info & (ARRAYBUFFERVIEW | ARRAY | STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + return info; + } + + importObject.webgl.getValueAlign = (info) => { + return 31 - Math.clz32((info >>> VAL_ALIGN_OFFSET) & 31); // -1 if none + } + + importObject.webgl.getArrayView = (arr_ptr) => { + const U32 = new Uint32Array(webgl.memory.buffer); + const id = U32[arr_ptr + webgl.ID_OFFSET >>> 2]; + + const count = U32[webgl.RTTI_BASE >>> 2]; + + if (id >= count) throw Error(`invalid id: ${id}`); + const info = U32[(webgl.RTTI_BASE + 4 >>> 2) + id * 2]; + + if (!(info & (webgl.ARRAYBUFFERVIEW | webgl.ARRAY | webgl.STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + const align = 31 - Math.clz32((info >>> webgl.VAL_ALIGN_OFFSET) & 31); // -1 if none getValueAlign(info) + let buf = info & webgl.STATICARRAY + ? arr_ptr + : U32[arr_ptr + webgl.ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; + const length = info & webgl.ARRAY + ? U32[arr_ptr + webgl.ARRAY_LENGTH_OFFSET >>> 2] + : U32[buf + webgl.SIZE_OFFSET >>> 2] >>> align; + return webgl.getView(align, info & webgl.VAL_SIGNED, info & webgl.VAL_FLOAT) + .subarray(buf >>>= align, buf + length); + + } + + importObject.webgl.getString = (string_index) => { + const buffer = webgl.memory.buffer; + const U32 = new Uint32Array(buffer); + const id_addr = string_index / 4 - 2; + const id = U32[id_addr]; + if (id !== 0x01) throw Error(`not a string index=${string_index} id=${id}`); + const len = U32[id_addr + 1]; + const str = new TextDecoder('utf-16').decode(buffer.slice(string_index, string_index + len)); + return str; + } + + importObject.webgl.createContextFromCanvas = (canvas_id, context_type) => { + try { + const canvas = document.getElementById(webgl.getString(canvas_id)); + const gl = canvas.getContext(webgl.getString(context_type)); + let id = webgl.contextArray.findIndex((element) => element == null); + + if (id == -1) { + id = webgl.contextArray.length; + webgl.contextArray.push(gl); + } + else { + webgl.contextArray[id] = gl; + } + return id; + } catch (err) { + console.log("createContextFromCanvas error"); + console.error(err); + } // end catch + } + /* + importObject.webgl.activateTexture = (ctx, texture) => { + webgl.contextArray[ctx].activateTexture(webgl.textureArray[texture]); + } + */ + + importObject.webgl.getSupportedExtensions = (ctx) => { + alert('getSupportedExtensions is not currently supported'); + } + + importObject.webgl.getExtension = (ctx, name_string) => { + try { + webgl.contextArray[ctx].getExtension(webgl.getString(name)); + } catch (err) { + console.log("getExtension error"); + console.error(err); + } // end catch + } + + importObject.webgl.activeTexture = (ctx, texture) => { + try { + webgl.contextArray[ctx].activeTexture(texture); + } catch (err) { + console.log("activeTexture error"); + console.error(err); + } // end catch + } + + importObject.webgl.attachShader = (ctx, program, shader) => { + try { + webgl.contextArray[ctx].attachShader(webgl.programArray[program], webgl.shaderArray[shader]); + } catch (err) { + console.log("attachShader error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindAttribLocation = (ctx, program, index, name) => { + try { + webgl.contextArray[ctx].bindAttribLocation(webgl.programArray[program], index, webgl.getString(name)); + } catch (err) { + console.log("bindAttribLocation error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindBuffer = (ctx, target, buffer) => { + try { + webgl.contextArray[ctx].bindBuffer(target, webgl.bufferArray[buffer]); + } catch (err) { + console.log("bindBuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindFramebuffer = (ctx, target, framebuffer) => { + try { + webgl.contextArray[ctx].bindFramebuffer(target, webgl.framebufferArray[framebuffer]); + } catch (err) { + console.log("bindFramebuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindRenderbuffer = (ctx, target, renderbuffer) => { + try { + webgl.contextArray[ctx].bindRenderbuffer(target, webgl.renderbufferArray[renderbuffer]); + } catch (err) { + console.log("renderbufferArray error"); + console.error(err); + } // end catch + } + + importObject.webgl.bindTexture = (ctx, target, texture) => { + try { + webgl.contextArray[ctx].bindTexture(target, webgl.textureArray[texture]); + } catch (err) { + console.log("bindTexture error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendColor = (ctx, r, g, b, a) => { + try { + webgl.contextArray[ctx].blendColor(r, g, b, a); + } catch (err) { + console.log("blendColor error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendEquation = (ctx, mode) => { + try { + webgl.contextArray[ctx].blendEquation(mode); + } catch (err) { + console.log("blendEquation error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendEquationSeparate = (ctx, modeRGB, modeAlpha) => { + try { + webgl.contextArray[ctx].blendEquationSeparate(modeRGB, modeAlpha); + } catch (err) { + console.log("blendEquationSeparate error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendFunc = (ctx, sfactor, dfactor) => { + try { + webgl.contextArray[ctx].blendFunc(sfactor, dfactor); + } catch (err) { + console.log("blendFunc error"); + console.error(err); + } // end catch + } + + importObject.webgl.blendFuncSeparate = (ctx, srcRGB, dstRGB, srcAlpha, dstAlpha) => { + try { + webgl.contextArray[ctx].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); + } catch (err) { + console.log("blendFuncSeparate error"); + console.error(err); + } // end catch + } + + const bufferdata = (ctx, target, data, usage) => { + try { + webgl.contextArray[ctx].bufferData(target, webgl.getArrayView(data), usage); + } catch (err) { + console.log("bufferData error"); + console.log(webgl.getArrayView(data)); + console.error(err); + } // end catch + } + + importObject.webgl["bufferData"] = bufferdata; + importObject.webgl["bufferData"] = bufferdata; + importObject.webgl["bufferData"] = bufferdata; + + // LAST TWO PARAMETERS ARE IN WEBGL 2.0 + importObject.webgl.bufferSubData = (target, dstByteOffset, srcData, srcOffset, length) => { + try { + webgl.contextArray[ctx].bufferSubData(target, dstByteOffset, webgl.getArrayView(srcData), srcOffset, length); + } catch (err) { + console.log("bufferSubData error"); + console.error(err); + } // end catch + } + + importObject.webgl.checkFramebufferStatus = (ctx, target) => { + try { + return webgl.contextArray[ctx].checkFramebufferStatus(target); + } catch (err) { + console.log("checkFramebufferStatus error"); + console.error(err); + } // end catch + } + + // Clears the color, depth and stencil buffers + importObject.webgl.clear = (ctx, mask) => { + try { + webgl.contextArray[ctx].clear(mask); + } catch (err) { + console.log("clear error"); + console.error(err); + } // end catch + } + + // Specify the color fill a cleared color buffer with + importObject.webgl.clearColor = (ctx, r, g, b, a) => { + try { + webgl.contextArray[ctx].clearColor(r, g, b, a); + } catch (err) { + console.log("clearColor error"); + console.error(err); + } // end catch + } + + // Specifies a depth value to fill the depth buffer when it is cleared + importObject.webgl.clearDepth = (ctx, depth) => { + try { + webgl.contextArray[ctx].clearDepth(depth); + } catch (err) { + console.log("clearDepth error"); + console.error(err); + } // end catch + } + + // Specifies a clear value for the stencil buffer + importObject.webgl.clearStencil = (ctx, s) => { + try { + webgl.contextArray[ctx].clearStencil(s); + } catch (err) { + console.log("clearStencil error"); + console.error(err); + } // end catch + } + + // Allows you to turn on and off colors when writing to a framebuffer + importObject.webgl.colorMask = (ctx, r, g, b, a) => { + try { + webgl.contextArray[ctx].colorMask(r, g, b, a); + } catch (err) { + console.log("colorMask error"); + console.error(err); + } // end catch + } + + // Compiles a GLSL shader to be used by a WebGL program. + importObject.webgl.compileShader = (ctx, shader) => { + try { + webgl.contextArray[ctx].compileShader(webgl.shaderArray[shader]); + var compilationLog = webgl.contextArray[ctx].getShaderInfoLog(webgl.shaderArray[shader]); + console.log(compilationLog); + } catch (err) { + console.log("compileShader error"); + console.error(err); + } // end catch + } + + // NOTE: Requires extensions + // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions + // Secifies a 2D texture image in a compressed format + importObject.webgl.compressedTexImage2D = (ctx, target, level, internalformat, width, height, border, data) => { + try { + // THIS DOES NOT LOOK RIGHT TO ME + webgl.contextArray[ctx].compileShader(target, level, internalformat, + width, height, border, webgl.getArrayView(data)); + } catch (err) { + console.log("compressedTexImage2D error"); + console.error(err); + } // end catch + } + + // NOTE: Requires extensions + // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions + // Specifies a 2D sub-image rectangle for a compressed format texture image. + importObject.webgl.compressedTexSubImage2D = (ctx, target, level, xoffset, yoffset, width, height, format, data) => { + try { + webgl.contextArray[ctx].compressedTexSubImage2D(target, xoffset, yoffset, width, height, format, + webgl.getArrayView(data)); + } catch (err) { + console.log("compressedTexSubImage2D error"); + console.error(err); + } // end catch + } + + // Copies pixels from the current WebGLFramebuffer into a 2D texture image + importObject.webgl.copyTexImage2D = (ctx, target, level, internalformat, x, y, width, height, border) => { + try { + webgl.contextArray[ctx].copyTexImage2D(target, level, internalformat, x, y, width, height, border); + } catch (err) { + console.log("copyTexImage2D error"); + console.error(err); + } // end catch + } + + // Copies pixels from the current WebGLFramebuffer into an existing 2D texture sub-image + importObject.webgl.copyTexSubImage2D = (ctx, target, level, xoffset, yoffset, x, y, width, height) => { + try { + webgl.contextArray[ctx].copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + } catch (err) { + console.log("copyTexSubImage2D error"); + console.error(err); + } // end catch + } + + // Creates a buffer to hold vertex related data + importObject.webgl.createBuffer = (ctx) => { + try { + let id = webgl.bufferArray.findIndex((element) => element == null); + let buffer = webgl.contextArray[ctx].createBuffer(); + + if (id == -1) { + id = webgl.bufferArray.length; + webgl.bufferArray.push(buffer); + } + else { + webgl.bufferArray[id] = buffer; + } + return id; + } catch (err) { + console.log("createBuffer error"); + console.error(err); + } // end catch + } + + // Creates a frame buffer object to be used as a rendering destination + importObject.webgl.createFramebuffer = (ctx) => { + alert(arguments.callee.toString()); + } + + // Creates a WebGL program that consists of a vertex and fragment shader + importObject.webgl.createProgram = (ctx) => { + try { + let id = webgl.programArray.findIndex((element) => element == null); + let program = webgl.contextArray[ctx].createProgram(); + + if (id == -1) { + id = webgl.programArray.length; + webgl.programArray.push(program); + } + else { + webgl.programArray[id] = program; + } + return id; + } catch (err) { + console.log("createProgram error"); + console.error(err); + } // end catch + } + + // Creates a render buffer object that can be used as a source or target for rendering + importObject.webgl.createRenderbuffer = (ctx) => { + try { + let id = webgl.renderBufferArray.findIndex((element) => element == null); + let renderbuffer = webgl.contextArray[ctx].createRenderbuffer(); + + if (id == -1) { + id = webgl.renderBufferArray.length; + webgl.renderBufferArray.push(renderbuffer); + } + else { + webgl.renderBufferArray[id] = renderbuffer; + } + return id; + } catch (err) { + console.log("renderBufferArray error"); + console.error(err); + } // end catch + } + + // Creates a vertex or fragment shader object to be used when compiling a WebGL program + importObject.webgl.createShader = (ctx, type) => { + try { + let id = webgl.shaderArray.findIndex((element) => element == null); + let shader = webgl.contextArray[ctx].createShader(type); + + if (id == -1) { + id = webgl.shaderArray.length; + webgl.shaderArray.push(shader); + } + else { + webgl.shaderArray[id] = shader; + } + return id; + } catch (err) { + console.log("createShader error"); + console.error(err); + } // end catch + } + + // Creates a texture object + importObject.webgl.createTexture = (ctx) => { + try { + let id = webgl.textureArray.findIndex((element) => element == null); + let texture = webgl.contextArray[ctx].createTexture(); + + if (id == -1) { + id = webgl.textureArray.length; + webgl.textureArray.push(texture); + } + else { + webgl.textureArray[id] = texture; + } + console.log('createTexture id=' + id); + return id; + } catch (err) { + console.log("createTexture error"); + console.error(err); + } // end catch + } + + // Sets the culling mode + importObject.webgl.cullFace = (ctx, mode) => { + try { + webgl.contextArray[ctx].cullFace(target, mode); + } catch (err) { + console.log("cullFace error"); + console.error(err); + } // end catch + } + + // delete the buffer object + importObject.webgl.deleteBuffer = (ctx, buffer) => { + try { + webgl.contextArray[ctx].deleteBuffer(this.bufferArray[buffer]); + this.bufferArray[buffer] = null; + } catch (err) { + console.log("deleteBuffer error"); + console.error(err); + } // end catch + } + + // delete the frame buffer object + importObject.webgl.deleteFramebuffer = (ctx, frame_buffer) => { + try { + webgl.contextArray[ctx].deleteFramebuffer(this.framebufferArray[frame_buffer]); + this.framebufferArray[frame_buffer] = null; + } catch (err) { + console.log("deleteFramebuffer error"); + console.error(err); + } // end catch + } + + // delete the render buffer object + importObject.webgl.deleteRenderbuffer = (ctx, render_buffer) => { + try { + webgl.contextArray[ctx].deleteRenderbuffer(this.renderBufferArray[render_buffer]); + this.renderBufferArray[render_buffer] = null; + } catch (err) { + console.log("deleteRenderbuffer error"); + console.error(err); + } // end catch + } + + // delete the program object + importObject.webgl.deleteProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].deleteProgram(this.programArray[program]); + this.program[program] = null; + } catch (err) { + console.log("deleteProgram error"); + console.error(err); + } // end catch + } + + // delete the shader object + importObject.webgl.deleteShader = (ctx, shader) => { + try { + webgl.contextArray[ctx].deleteShader(this.shaderArray[shader]); + this.shaderArray[shader] = null; + } catch (err) { + console.log("deleteShader error"); + console.error(err); + } // end catch + } + + importObject.webgl.deleteTexture = (ctx, texture) => { + try { + webgl.contextArray[ctx].deleteShader(this.textureArray[texture]); + this.textureArray[texture] = null; + } catch (err) { + console.log("deleteTexture error"); + console.error(err); + } // end catch + } + + // Before calling depthFunc, you must enable DEPTH_TEST + // This sets the function that tests the incoming pixel depth against a pixel already in the buffer. + // The default value is LESS, meaning that if an incoming pixel depth is less than existing pixel depth + // (the new pixel is closer) then the new pixel is drawn. + importObject.webgl.depthFunc = (ctx, func) => { // func is a depth function enumeration + try { + webgl.contextArray[ctx].depthFunc(func); + } catch (err) { + console.log("depthFunc error"); + console.error(err); + } // end catch + } + + // enable or disable writing to the depth buffer + importObject.webgl.depthMask = (ctx, flag) => { + try { + webgl.contextArray[ctx].depthMask(flag); + } catch (err) { + console.log("depthMask error"); + console.error(err); + } // end catch + } + + // defines the near and far clipping plane in the depth buffer + importObject.webgl.depthRange = (ctx, zNear, zFar) => { + try { + webgl.contextArray[ctx].depthRange(zNear, zFar); + } catch (err) { + console.log("depthRange error"); + console.error(err); + } // end catch + } + + // detach the shader currently attached to the program + importObject.webgl.detachShader = (ctx, program, shader) => { + try { + webgl.contextArray[ctx].detachShader(program, shader); + } catch (err) { + console.log("detachShader error"); + console.error(err); + } // end catch + } + + // disable a specific webgl capability + importObject.webgl.disable = (ctx, cap) => { + try { + webgl.contextArray[ctx].disable(cap); + } catch (err) { + console.log("disable error"); + console.error(err); + } // end catch + } + + // disables a vertex attribute array at the index loction passed in. + importObject.webgl.disableVertexAttribArray = (ctx, index) => { + try { + webgl.contextArray[ctx].disableVertexAttribArray(index); + } catch (err) { + console.log("disableVertexAttribArray error"); + console.error(err); + } // end catch + } + + // render primitive data from array + importObject.webgl.drawArrays = (ctx, mode, first, count) => { + try { + webgl.contextArray[ctx].drawArrays(mode, first, count); + } catch (err) { + console.log("drawArrays error"); + console.error(err); + } // end catch + } + + // uses index data to render elements from array data + importObject.webgl.drawElements = (ctx, mode, count, typ, offset) => { + try { + webgl.contextArray[ctx].drawElements(mode, count, typ, offset); + } catch (err) { + console.log("drawElements error"); + console.error(err); + } // end catch + } + + // enable a specific webgl capability + importObject.webgl.enable = (ctx, cap) => { + try { + webgl.contextArray[ctx].enable(cap); + } catch (err) { + console.log("enable error"); + console.error(err); + } // end catch + } + + importObject.webgl.enableVertexAttribArray = (ctx, index) => { + try { + webgl.contextArray[ctx].enableVertexAttribArray(index); + } catch (err) { + console.log("enableVertexAttribArray error"); + console.error(err); + } // end catch + } + + // waits for all previously executed webgl api calls to finish + importObject.webgl.finish = (ctx) => { + try { + webgl.contextArray[ctx].finish(); + } catch (err) { + console.log("finish error"); + console.error(err); + } // end catch + } + + // ??? + importObject.webgl.flush = (ctx) => { + try { + webgl.contextArray[ctx].flush(); + } catch (err) { + console.log("flush error"); + console.error(err); + } // end catch + } + + // attach a render buffer to a frame buffer + importObject.webgl.framebufferRenderbuffer = (ctx, target, attachment, renderbuffertarget, renderbuffer) => { + try { + webgl.contextArray[ctx].framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + } catch (err) { + console.log("framebufferRenderbuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.framebufferTexture2D = (ctx, target, attachment, textarget, texture, level) => { + try { + webgl.contextArray[ctx].framebufferTexture2D(target, attachment, textarget, texture, level); + } catch (err) { + console.log("framebufferTexture2D error"); + console.error(err); + } // end catch + } + + // set the winding direction of the verticies, which defines the front face + importObject.webgl.frontFace = (ctx, mode) => { + try { + webgl.contextArray[ctx].frontFace(mode); + } catch (err) { + console.log("frontFace error"); + console.error(err); + } // end catch + } + + // generates reduced resolution mipmap textures for rendering objects at a distance + importObject.webgl.generateMipmap = (ctx, target) => { + try { + webgl.contextArray[ctx].generateMipmap(target); + } catch (err) { + console.log("generateMipmap error"); + console.error(err); + } // end catch + } + + // query information about an attribute of a given program + importObject.webgl.getActiveAttrib = (ctx, program, index) => { + // will this return an externref? How do I move in the data + alert("getActiveAttrib is not implemented"); + return 0; + } + + // query information about a uniform in a given program + importObject.webgl.getActiveUniform = (ctx, program, index) => { + // will this return an externref? How do I move in the data + alert("getActiveUniform is not implemented"); + return 0; + } + + // needs to return an array of webgl shaders to the AS + importObject.webgl.getAttachedShaders = (ctx, program) => { + // this will need to return an array of shader indicies. + alert("getAttachedShaders is not implemented"); + return 0; + } + + // get an attribute location inside a program given a name + importObject.webgl.getAttribLocation = (ctx, program, name) => { + try { + return webgl.contextArray[ctx].getAttribLocation(webgl.programArray[program], webgl.getString(name)); + } catch (err) { + console.log("getAttribLocation error"); + console.error(err); + } // end catch + } + + // returns an int given a buffer parameter name + importObject.webgl.getBufferParameter = (ctx, target, pname) => { + try { + return webgl.contextArray[ctx].getBufferParameter(target, pname); + } catch (err) { + console.log("getBufferParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getParameter = (ctx, pname) => { + try { + return webgl.contextArray[ctx].getParameter(pname); + } catch (err) { + console.log("getParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getError = (ctx) => { + try { + return webgl.contextArray[ctx].getError(); + } catch (err) { + console.log("getError error"); + console.error(err); + } // end catch + } + + importObject.webgl.getFramebufferAttachmentParameter = (ctx, target, attachment, pname) => { + try { + return webgl.contextArray[ctx].getParameter(target, attachment, pname); + } catch (err) { + console.log("getFramebufferAttachmentParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getProgramInfoLog = (ctx, program) => { + // this needs to return a string to the AS + alert("getProgramInfoLog not implemented"); + return 0; + } + + // get information about the renderbuffer + importObject.webgl.getRenderbufferParameter = (ctx, target, pname) => { + try { + return webgl.contextArray[ctx].getRenderbufferParameter(target, pname); + } catch (err) { + console.log("getRenderbufferParameter error"); + console.error(err); + } // end catch + } + + importObject.webgl.getShaderParameter = (ctx, shader, pname) => { + alert("getShaderParameter not implemented"); + return 0; + } + + importObject.webgl.getShaderPrecisionFormat = (ctx, shadertype, precisiontype) => { + alert("getShaderPrecisionFormat not implemented"); + return 0; + } + + importObject.webgl.getShaderInfoLog = (ctx, shader) => { + alert("getShaderInfoLog not implemented"); + return 0; + } + + importObject.webgl.getShaderSource = (ctx, shader) => { + // this needs to return a string to AS + alert("getShaderInfoLog not implemented"); + return 0; + } + + importObject.webgl.getTexParameter = (ctx, target, pname) => { + alert("getTexParameter not implemented"); + return 0; + } + + importObject.webgl.getUniform = (ctx, program, location) => { + // this can return multiple types + alert("getUniform not implemented"); + return 0; + } + + importObject.webgl.getUniformLocation = (ctx, program, name) => { + try { + let id = webgl.uniformLocationArray.findIndex((element) => element == null); + let uniformLocation = webgl.contextArray[ctx].getUniformLocation(webgl.programArray[program], webgl.getString(name)); + + if (id == -1) { + id = webgl.uniformLocationArray.length; + webgl.uniformLocationArray.push(uniformLocation); + } + else { + webgl.uniformLocationArray[id] = uniformLocation; + } + + return id; + } catch (err) { + console.log("getUniformLocation error"); + console.error(err); + } // end catch + } + + importObject.webgl.getVertexAttrib = (ctx, index, pname) => { + // this can return multiple types + alert("getVertexAttrib not implemented"); + return 0; + } + + // given a vertex attribute index, return the offset value + importObject.webgl.getVertexAttribOffset = (ctx, index, pname) => { + try { + return webgl.contextArray[ctx].getVertexAttribOffset(index, pname); + } catch (err) { + console.log("getVertexAttribOffset error"); + console.error(err); + } // end catch + } + + // sets shader behaviorial hints, which could potentially improve performance on some implementations + importObject.webgl.hint = (ctx, target, mode) => { + try { + return webgl.contextArray[ctx].hint(target, mode); + } catch (err) { + console.log("hint error"); + console.error(err); + } // end catch + } + + // THIS MAY JUST NEED TO CHECK TO SEE IF THE NUMBER IS IN THE RENDERBUFFER ARRAY + // THERE ARE SEVERAL OF THESE isX FUNCTIONS. I'M NOT SURE IF ANY OF THEM ARE USEFUL + // IN THE AS CODE + importObject.webgl.isBuffer = (ctx, buffer) => { + try { + return webgl.contextArray[ctx].isBuffer(webgl.bufferArray[buffer]); + } catch (err) { + console.log("isBuffer error"); + console.error(err); + } // end catch + } + + // tests a webgl capability to see if it is enabled + importObject.webgl.isEnabled = (ctx, cap) => { + try { + return webgl.contextArray[ctx].isEnabled(cap); + } catch (err) { + console.log("isEnabled error"); + console.error(err); + } // end catch + } + + importObject.webgl.isFramebuffer = (ctx, framebuffer) => { + try { + return webgl.contextArray[ctx].isFramebuffer(webgl.frameBufferArray[framebuffer]); + } catch (err) { + console.log("isFramebuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.isProgram = (ctx, program) => { + try { + return webgl.contextArray[ctx].isProgram(webgl.programArray[program]); + } catch (err) { + console.log("isProgram error"); + console.error(err); + } // end catch + } + + importObject.webgl.isRenderbuffer = (ctx, renderbuffer) => { + try { + return webgl.contextArray[ctx].isRenderbuffer(webgl.renderBufferArray[renderbuffer]); + } catch (err) { + console.log("isRenderbuffer error"); + console.error(err); + } // end catch + } + + importObject.webgl.isShader = (ctx, shader) => { + try { + return webgl.contextArray[ctx].isShader(webgl.shaderArray[shader]); + } catch (err) { + console.log("isShader error"); + console.error(err); + } // end catch + } + + importObject.webgl.isTexture = (ctx, texture) => { + try { + return webgl.contextArray[ctx].isTexture(webgl.textureArray[texture]); + } catch (err) { + console.log("isTexture error"); + console.error(err); + } // end catch + } + + importObject.webgl.lineWidth = (ctx, width) => { + try { + return webgl.contextArray[ctx].lineWidth(width); + } catch (err) { + console.log("lineWidth error"); + console.error(err); + } // end catch + } + + importObject.webgl.linkProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].linkProgram(webgl.programArray[program]); + + if (!webgl.contextArray[ctx].getProgramParameter(webgl.programArray[program], + webgl.contextArray[ctx].LINK_STATUS)) { + console.log(webgl.contextArray[ctx].getProgramInfoLog(webgl.programArray[program])); + } + } catch (err) { + console.log("linkProgram error"); + console.error(err); + } // end catch + } + + // set pixel storage mode + importObject.webgl.pixelStorei = (ctx, pname, param) => { + try { + webgl.contextArray[ctx].pixelStorei(pname, param); + } catch (err) { + console.log("pixelStorei error"); + console.log(err); + } // end catch + } + + // ??? + importObject.webgl.polygonOffset = (ctx, factor, units) => { + try { + webgl.contextArray[ctx].polygonOffset(factor, units); + } catch (err) { + console.log("polygonOffset error"); + console.error(err); + } // end catch + } + + // read a block of pixels into an array buffer view + importObject.webgl.readPixels = (ctx, x, y, width, height, format, typ, pixels) => { + alert("readPixels not implemented"); + } + + // create and initialize a renderbuffer object's data store + importObject.webgl.renderbufferStorage = (ctx, target, internalformat, width, height) => { + try { + webgl.contextArray[ctx].renderbufferStorage(target, internalformat, width, height); + } catch (err) { + console.log("renderbufferStorage error"); + console.error(err); + } // end catch + } + + // sampling for anti-aliasing. SAMPLE_COVERAGE must be enabled. + importObject.webgl.sampleCoverage = (ctx, value, invert) => { + try { + webgl.contextArray[ctx].sampleCoverage(value, invert); + } catch (err) { + console.log("sampleCoverage error"); + console.error(err); + } // end catch + } + + // create a scissor box to draw inside. SCISSOR_TEST must be enabled. + importObject.webgl.scissor = (ctx, x, y, width, height) => { + try { + webgl.contextArray[ctx].scissor(x, y, width, height); + } catch (err) { + console.log("scissor error"); + console.error(err); + } // end catch + } + + importObject.webgl.shaderSource = (ctx, shader, source) => { + try { + webgl.contextArray[ctx].shaderSource(webgl.shaderArray[shader], webgl.getString(source)); + } catch (err) { + console.log("shaderSource error"); + console.error(err); + } // end catch + } + + // sets a function for allowing pixels to pass through a stencil. STENCIL_TEST must be set. + importObject.webgl.stencilFunc = (ctx, func, ref, mask) => { + try { + webgl.contextArray[ctx].stencilFunc(func, ref, mask); + } catch (err) { + console.log("stencilFunc error"); + console.error(err); + } // end catch + } + + // allows you to set different stencils for front and back faces. + importObject.webgl.stencilFuncSeparate = (ctx, face, func, ref, mask) => { + try { + webgl.contextArray[ctx].stencilFuncSeparate(face, func, ref, mask); + } catch (err) { + console.log("stencilFuncSeparate error"); + console.error(err); + } // end catch + } + + // defines stencil masking bits + importObject.webgl.stencilMask = (ctx, mask) => { + try { + webgl.contextArray[ctx].stencilMask(mask); + } catch (err) { + console.log("stencilMask error"); + console.error(err); + } // end catch + } + + // use different stencil mask for front and back faces + importObject.webgl.stencilMaskSeparate = (ctx, face, mask) => { + try { + webgl.contextArray[ctx].stencilMaskSeparate(face, mask); + } catch (err) { + console.log("stencilMaskSeparate error"); + console.error(err); + } // end catch + } + + // PROBLEM: zfail is a function + importObject.webgl.stencilOp = (ctx, fail, zfail, zpass) => { + alert("stencilOp is not implemented"); + } + + // PROBLEM: zfail is a function + importObject.webgl.stencilOpSeparate = (ctx, face, fail, zfail, zpass) => { + alert("stencilOpSeparate is not implemented"); + } + + // specify a two-dimensional texture image + importObject.webgl.texImage2D = (ctx, target, level, internalformat, format, typ, image_id) => { + try { + console.log(` + image_id=${image_id} + webgl.imageArray.length=${webgl.imageArray.length} + `); + webgl.contextArray[ctx].texImage2D(target, level, internalformat, + format, typ, webgl.imageArray[image_id]);//webgl.getArrayView(pixels)); + } catch (err) { + console.log("texImage2D error"); + console.error(err); + } // end catch + } + + importObject.webgl.texParameterf = (ctx, target, pname, param) => { + try { + webgl.contextArray[ctx].texParameterf(target, pname, param); + } catch (err) { + console.log("texParameterf error"); + console.error(err); + } // end catch + } + + importObject.webgl.texParameteri = (ctx, target, pname, param) => { + try { + webgl.contextArray[ctx].texParameteri(target, pname, param); + } catch (err) { + console.log("texParameteri error"); + console.error(err); + } // end catch + } + + importObject.webgl.texSubImage2D = (ctx, target, level, xoffset, yoffset, + width, height, + format, typ, pixels) => { + try { + webgl.contextArray[ctx].texSubImage2D(target, level, xoffset, yoffset, + width, height, format, typ, webgl.getArrayView(pixels)); + } catch (err) { + console.log("texSubImage2D error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1f = (ctx, location, x) => { + try { + return webgl.contextArray[ctx].uniform1f(webgl.uniformLocationArray[location], x); + } catch (err) { + console.log("uniform1f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform1fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform1fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1i = (ctx, location, x) => { + try { + return webgl.contextArray[ctx].uniform1i(webgl.uniformLocationArray[location], x); + } catch (err) { + console.log("uniform1i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform1iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform1iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform1iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2f = (ctx, location, x, y) => { + try { + return webgl.contextArray[ctx].uniform2f(webgl.uniformLocationArray[location], x, y); + } catch (err) { + console.log("uniform2f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform2fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform2fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2i = (ctx, location, x, y) => { + try { + return webgl.contextArray[ctx].uniform2i(webgl.uniformLocationArray[location], x, y); + } catch (err) { + console.log("uniform2i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform2iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform2iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform2iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3f = (ctx, location, x, y, z) => { + try { + return webgl.contextArray[ctx].uniform3f(webgl.uniformLocationArray[location], x, y, z); + } catch (err) { + console.log("uniform3f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform3fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform3fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3i = (ctx, location, x, y, z) => { + try { + return webgl.contextArray[ctx].uniform3i(webgl.uniformLocationArray[location], x, y, z); + } catch (err) { + console.log("uniform3i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform3iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform3iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform3iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4f = (ctx, location, x, y, z, w) => { + try { + return webgl.contextArray[ctx].uniform4f(webgl.uniformLocationArray[location], x, y, z, w); + } catch (err) { + console.log("uniform4f error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4fv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform4fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4i = (ctx, location, x, y, z, w) => { + try { + return webgl.contextArray[ctx].uniform4i(webgl.uniformLocationArray[location], x, y, z, w); + } catch (err) { + console.log("uniform4i error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniform4iv = (ctx, location, v) => { + try { + return webgl.contextArray[ctx].uniform4iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + } catch (err) { + console.log("uniform4iv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniformMatrix2fv = (ctx, location, transpose, value_arr) => { + try { + return webgl.contextArray[ctx].uniformMatrix2fv(webgl.uniformLocationArray[location], transpose, + webgl.getArrayView(value_arr)); + } catch (err) { + console.log("uniformMatrix2fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniformMatrix3fv = (ctx, location, transpose, value_arr) => { + try { + return webgl.contextArray[ctx].uniformMatrix3fv(webgl.uniformLocationArray[location], transpose, + webgl.getArrayView(value_arr)); + } catch (err) { + console.log("uniformMatrix3fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.uniformMatrix4fv = (ctx, location, transpose, value_arr) => { + try { + return webgl.contextArray[ctx].uniformMatrix4fv(webgl.uniformLocationArray[location], transpose, + webgl.getArrayView(value_arr)); + } catch (err) { + console.log("uniformMatrix4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.useProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].useProgram(webgl.programArray[program]); + } catch (err) { + console.log("useProgram error"); + console.error(err); + } // end catch + } + + importObject.webgl.validateProgram = (ctx, program) => { + try { + webgl.contextArray[ctx].validateProgram(webgl.programArray[program]); + } catch (err) { + console.log("validateProgram error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib1f = (ctx, indx, x) => { + try { + return webgl.contextArray[ctx].vertexAttrib1f(indx, x); + } catch (err) { + console.log("vertexAttrib1f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib1fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib1fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib1fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib2f = (ctx, indx, x, y) => { + try { + return webgl.contextArray[ctx].vertexAttrib2f(indx, x, y); + } catch (err) { + console.log("vertexAttrib2f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib2fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib2fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib2fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib3f = (ctx, indx, x, y, z) => { + try { + return webgl.contextArray[ctx].vertexAttrib3f(indx, x, y, z); + } catch (err) { + console.log("vertexAttrib3f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib3fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib3fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib3fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib4f = (ctx, indx, x, y, z, w) => { + try { + return webgl.contextArray[ctx].vertexAttrib4f(indx, x, y, z, w); + } catch (err) { + console.log("vertexAttrib4f error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttrib4fv = (ctx, indx, v) => { + try { + return webgl.contextArray[ctx].vertexAttrib4fv(indx, webgl.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.vertexAttribPointer = (ctx, indx, size, typ, normalized, stride, offset) => { + try { + webgl.contextArray[ctx].vertexAttribPointer(indx, size, typ, normalized, stride, offset); + } catch (err) { + console.log("vertexAttrib4fv error"); + console.error(err); + } // end catch + } + + importObject.webgl.viewport = (ctx, indx, x, y, width, height) => { + try { + webgl.contextArray[ctx].viewport(indx, x, y, width, height); + } catch (err) { + console.log("viewport error"); + console.error(err); + } // end catch + } + + // expiramental webgl2 + importObject.webgl.copyBufferSubData = (ctx, readTarget, writeTarget, readOffset, writeOffset, size) => { + alert("copyBufferSubData not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.getBufferSubData = (ctx, target, srcByteOffset, dstBuffer, dstOffset, length) => { + alert("getBufferSubData not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.blitFramebuffer = (ctx, srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, + mask, filter) => { + alert("blitFramebuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.framebufferTextureLayer = (ctx, target, attachment, texture, level, layer) => { + alert("framebufferTextureLayer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.invalidateFramebuffer = (ctx, target, attachments) => { + alert("invalidateFramebuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.invalidateSubFramebuffer = (ctx, target, attachments, x, y, width, height) => { + alert("invalidateSubFramebuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.readBuffer = (ctx, src) => { + alert("readBuffer not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.getInternalformatParameter = (ctx, target, internalformat, pname) => { + alert("getInternalformatParameter not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.renderbufferStorageMultisample = (ctx, target, samples, internalformat, width, height) => { + alert("renderbufferStorageMultisample not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.texStorage2D = (ctx, target, levels, internalformat, width, height) => { + alert("texStorage2D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.texStorage3D = (ctx, target, levels, internalformat, width, height, depth) => { + alert("texStorage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.texSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, typ, pboOffset) => { + alert("texSubImage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.copyTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height) => { + alert("copyTexSubImage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.compressedTexImage3D = (ctx, target, level, internalformat, width, + height, depth, border, imageSize, offset) => { + alert("compressedTexImage3D not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.compressedTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, imageSize, offset) => { + alert("compressedTexSubImage3D not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getFragDataLocation = (ctx, program, name) => { + alert("getFragDataLocation not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform1ui = (ctx, location, v0) => { + alert("uniform1ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform2ui = (ctx, location, v0, v1) => { + alert("uniform2ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform3ui = (ctx, location, v0, v1, v3) => { + alert("uniform3ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform4ui = (ctx, location, v0, v1, v3, v4) => { + alert("uniform4ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform1uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform1uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform2uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform2uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform3uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform3uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniform4uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform4uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix3x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix3x2fv not implemented (expiramental)"); + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix4x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix4x2fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix2x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix2x3fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix4x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix4x3fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix2x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix2x4fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformMatrix3x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix3x4fv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4i = (ctx, index, x, y, z, w) => { + alert("vertexAttribI4i not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4iv = (ctx, index, value_arr) => { + alert("vertexAttribI4iv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4ui = (ctx, index, x, y, z, w) => { + alert("vertexAttribI4ui not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribI4uiv = (ctx, index, value_arr) => { + alert("vertexAttribI4uiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribIPointer = (ctx, index, size, typ, stride, offset) => { + alert("vertexAttribIPointer not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.vertexAttribDivisor = (ctx, index, divisor) => { + alert("vertexAttribIPointer not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawArraysInstanced = (ctx, mode, first, count, instanceCount) => { + alert("drawArraysInstanced not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawElementsInstanced = (ctx, mode, count, typ, offset, instanceCount) => { + alert("drawElementsInstanced not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawRangeElements = (ctx, mode, start, end, count, typ, offset) => { + alert("drawRangeElements not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.drawBuffers = (ctx, buffers) => { + alert("drawBuffers not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferfv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferfv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferuiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferuiv not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clearBufferfi = (ctx, buffer, drawbuffer, depth, stencil) => { + alert("clearBufferfi not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createQuery = (ctx) => { + alert("createQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteQuery = (ctx, query) => { + alert("deleteQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isQuery = (ctx, query) => { + alert("isQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.beginQuery = (ctx, target, query) => { + alert("beginQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.endQuery = (ctx, query) => { + alert("endQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getQuery = (ctx, query, pname) => { + alert("getQuery not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getQueryParameter = (ctx, query, pname) => { + alert("getQueryParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createSampler = (ctx) => { + alert("createSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteSampler = (ctx, sampler) => { + alert("deleteSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isSampler = (ctx, sampler) => { + alert("isSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindSampler = (ctx, uint, sampler) => { + alert("bindSampler not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.samplerParameteri = (ctx, sampler, pname, param) => { + alert("samplerParameteri not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.samplerParameterf = (ctx, sampler, pname, param) => { + alert("samplerParameterf not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getSamplerParameter = (ctx, sampler, pname) => { + alert("getSamplerParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.fenceSync = (ctx, condition, flags) => { + alert("fenceSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isSync = (ctx, sync) => { + alert("isSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteSync = (ctx, sync) => { + alert("deleteSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.clientWaitSync = (ctx, sync, flags, timeout) => { + alert("clientWaitSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.waitSync = (ctx, sync, flags, timeout) => { + alert("waitSync not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getSyncParameter = (ctx, sync, pname) => { + alert("getSyncParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createTransformFeedback = (ctx) => { + alert("createTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteTransformFeedback = (ctx, tf) => { + alert("deleteTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isTransformFeedback = (ctx, tf) => { + alert("isTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindTransformFeedback = (ctx, target, tf) => { + alert("bindTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.beginTransformFeedback = (ctx, primitiveMode) => { + alert("beginTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.endTransformFeedback = (ctx) => { + alert("endTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.transformFeedbackVaryings = (ctx, program, varyings, bufferMode) => { + alert("transformFeedbackVaryings not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getTransformFeedbackVarying = (ctx, program, index) => { + alert("getTransformFeedbackVarying not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.pauseTransformFeedback = (ctx) => { + alert("pauseTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.resumeTransformFeedback = (ctx) => { + alert("resumeTransformFeedback not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindBufferBase = (ctx, target, index, buffer) => { + alert("bindBufferBase not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindBufferRange = (ctx, target, index, buffer, offset, size) => { + alert("bindBufferRange not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getIndexedParameter = (ctx, target, index) => { + alert("getIndexedParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getUniformIndices = (ctx, program, uniformNames) => { + alert("getUniformIndices not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getActiveUniforms = (ctx, program, uniformIndices, pname) => { + alert("getActiveUniforms not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getUniformBlockIndex = (ctx, program, uniformBlockName) => { + alert("getUniformBlockIndex not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getActiveUniformBlockParameter = (ctx, program, uniformBlockIndex, pname) => { + alert("getActiveUniformBlockParameter not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.getActiveUniformBlockName = (ctx, program, uniformBlockIndex) => { + alert("getActiveUniformBlockName not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.uniformBlockBinding = (ctx, program, uniformBlockIndex, uniformBlockBinding) => { + alert("uniformBlockBinding not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.createVertexArray = (ctx) => { + alert("createVertexArray not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.deleteVertexArray = (ctx, vertexArray) => { + alert("deleteVertexArray not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.isVertexArray = (ctx, vertexArray) => { + alert("isVertexArray not implemented (expiramental)"); + + } + + // expiramental webgl2 + importObject.webgl.bindVertexArray = (ctx, vertexArray) => { + alert("bindVertexArray not implemented (expiramental)"); + } + +} diff --git a/dist/examples/AnimationTexture/index.html b/dist/examples/AnimationTexture/index.html new file mode 100644 index 0000000..ad8b6e3 --- /dev/null +++ b/dist/examples/AnimationTexture/index.html @@ -0,0 +1,54 @@ +Document

        \ No newline at end of file diff --git a/dist/examples/AnimationTexture/kaijunicorn.png b/dist/examples/AnimationTexture/kaijunicorn.png new file mode 100644 index 0000000000000000000000000000000000000000..91448806959fde7a7840bc19725e81f3b045dbf7 GIT binary patch literal 2795 zcmb_e2~-nj9*;+E)xkzRSpdmu60SvLk$~BppK$>G>GDxsg6fM?n zrK?YbD!SPE#IEQ{U0tXra_O#$RV!J%p5j$Gge@RlDC`%mr@Pwr`8F?^`HtWB`(MBB z`?5JYGJO2FspD8I)_6rkmDX? z-pu@&eSLkb-F;v_QLXOH+^%RDQwcgF7*%8pEA){=$6~o0(W^C#M!6ItXcHGFX)VRI zn=AmuVg-fREjVGI7`B#5)|;iAXD7~Z*m_dRi4`glrA0=i=p)uxshBm9YGRFnkdT~^ zV0Mrl0|X|D!P$0`(QL!)QcgcF2HMVHn8WUeFa{}Sq0=B+ql{+DXe-4Qazzk<3dHO{ z2^SR!5WZ*un}?th7!kuLA3{(J5n;kW_TYyDtXWANrV3j;XbbeDoD_z!U@)APmc~uv zb7^Zbj7lVcg9r0?5I{h-bTfn7A+ybQh#`!!5mvp0(bHzOlM&a_sf?5ZJRJzZWErM4 z+XmAF5(e9G3yg9RXGr}(k{HHWQmw{*<0Ju7M#@B)85_W&!&plS&Cs?K`Zd(U(=QnS zsZ}b6ZM@PKlWEw5jghYgVGJhZm1vtf-9o`C%0{PJ2}-^ixasSR#)8SL6wc6AHBB3b z3Kc!%GMfjYX3ve)n@Kv&7VyFXDhy{RDTjyf5C{cdRE>%;fdCW^0<}Ys0jQED^}6)` zg-S4#kD=&GP#_r+XYgMIlLV%tttK15nCabiBO411o60Nzq?8$rZC$W+)Pl4FewKlhpX34w%vS@mEG;>I`Tac)efcCZM&4OBIKaO=cSs|H&}J-c5n7*061fs{iy z>rauK!D0O?GVt3X7@$o{p#bSG=wbk7qjgLgZlx9`gKYh(?%>xsZ^Kvrvg<+tPr?&v zaR?Wo6eJ=A2qflHD5L{LBS|3-(V{@BuXA1EJcv-ikWSyk^+9eT1ve*C;7o-%ZywBV zQ{wA`d1=%A|AK*?N9lmV;Qtn1|J)15E+}OG5ID=7&EZP~bcU}X$_(;k1(!_B#ynSW zL5;OUtgx|I6Tqc5p>jm-{0Y-otWiaZu!U+(Me~k$^G(FHW_*xP zR_NVqR@qrMho{%hpm*eTk58utYN8}hD?9=M;!m70Pov)Z{zU9iuJ-%; znTvPrmzUzEuEO^pgz>8Dvr6I{x1kLMX_b!q-htIkn@g%j9@tvx)q3%&)DZZ9yyMk+ zyu#tV(kQ6D?C?4!^xt`K%Vq;FcCC!~_nrI=IpOWW6MnXcelGiJ;fA({y;trg+e>?c zT%+C!^2x6G+p3t=?!MlK-_hBh><{}`)*0I+ntpWI$lbg>2_7Zd*{&<=3mj4Kkv-qZ z>o1l+YpH8|_E_WUyLhwmNQ?F4Ce_#O#>Qr*^5aJ%b{0;aTW*L)zQkaEH$#)p@G z|BvO<#GA?Dy62{J-_W0yHSrwv5m?iQ{spK(;rPsO`F8i>>Lr(&kHIy`A!T>!e|L>n z)iR@bM_b9f3q2k6CvFuY=MEWW6YOo5WP87mpZI-My~sDAC30fzoRgS5ZWqUcPD(ge z5L-sCTb{G^pwCS^^ATscHZQk&-i@Bb))08PdAxPYyBXiI6r&gb7h+X)A4MPM zbaD=MK5tcAD>NBO3%c*E%!Z@xb~k?R6Ed>5(|^zLeUZ_Ad2?)~)!ZqqxP4t|YRR># zYk~Y_XSe)SQzSm`+S6j3^yEPM`#+ynqar<58+~x!m5sLI zIF$ERpgCS@3&!QM*yC98>{-}lbVb_+${Y^>x@5VU8|_Q zJ-?w~-;%N#_QS5zs}AXJ?ALU86mCD4Zk=*qofP0wKaya^@s9&%ei~K>f(}mgiF5l`tjsB$G;}dTqVDr(ev)p2QIyz zcSzbYBYS2Rbp5oi=Ghlr;kgR`wd)H~rXD}<-#a#Q)}%8v<4!hTNqN>$8R51;?6%l= zDC&YY|JKIo(%`G>p^9VAakY1ML{8?fbaybu^|9i&Unj&i>Bdu$n+&5xs X?4)T$Zl0^1|1=fy$gsnUlCu5-7H}pj literal 0 HcmV?d00001 diff --git a/dist/examples/AnimationTexture/kaijunicorn1.png b/dist/examples/AnimationTexture/kaijunicorn1.png new file mode 100644 index 0000000000000000000000000000000000000000..af7210592cfe1c8b8f0d88f99ff5ded21e04b01e GIT binary patch literal 507 zcmV>WD{{Wr;0001AR8;~-!Y~YmBYJ`m4p2h(PB2^`Se5oVsW(8)4OkC=wmtK<-C#TA;?UHVLfd~6C20=goZ480{5%!2&0z141lR%#uv277+%iHdEs#|x$_Ee@# zc)|0zZqFIuy4TvhWr3^R%kQ9=+v;AG>n`XnC9`m7yzM+?trt+S&bcRM27t^1pPalR z`0nEx9XPq_zsHZS&nq9D5k$5pz?M01^rIyvfTpy0ipMjQyPg9Z0N~(ed#bp(I{~A+ zQ!uzY1%tb@U{cjM>wix^Tdw&J2<|GXs*H0it00gnX+vtOb$B%*0l#SL7+3=MI{XrV!`mDj9d-liEDLe_}#z}Yz_?vs~dP|I9T8esD1=G x540A!9DZ5k0NXGJs5ZN3lBuGg$5`BN%{O1>vgm3+(kcJ|002ovPDHLkV1o1b-s1oO literal 0 HcmV?d00001 diff --git a/dist/examples/AnimationTexture/kaijunicorn2.png b/dist/examples/AnimationTexture/kaijunicorn2.png new file mode 100644 index 0000000000000000000000000000000000000000..d87f09d7db58e4ef4839a6e5b365a9b7cb3dd556 GIT binary patch literal 530 zcmV+t0`2{YP)>WD{{Wr;0001AR8;E-1*_6tk$MBv-hgocwC$OAKKHIU=qWI6M)-wQ_@bB%tstG_P8jqj}tXd&NlNHcf=LJG3B_jcWS|Q>-5)jaK zAKOS^K~4L6(QKk>oxp;v48bHIfF=Z!01>u`Tml=sFD3yO8gUp9JHyL%PTepbaX8Aj z2rGC#b;BtG#`9}8zGcDKjW2(LYR>AO)p)+(c#-S~ec{8|QdW8enpMuvq@4jEsCzmA zHhAs9yIt3~uk?HR`1-u^(b3Gx#ASG3WDY#q(MsB(!Fuivd_t!F8EgSy*UJnbMW582 z0hN#K01Hygfzml4%mJ6xA#x%xDOmJd-3cgv0|qmI3M9KEtF~5(0A;mNGQ7(cnA=q^ z;ubCw0I;CoCI;4Oi(V1~mzH^e;7iqt+bArXF!axim~~*Z@P~-u<)4f^2rhrSV1P?X zKY%(0ZZgeE$6nKhTJ?tvP^#~HmBdi0SoO9II?8H-1j=;3uo7v3Nk8>WD{{Wr;0001AR8;6e)nVPV6b|0?Nz)XcK>Cfo;$M zl`*KyfWl}GA{(Ma`o1&3*NQAX1Kii4QlMwRbRP0I&}6^{JtX3hEbSL7L^MQWKPauI zTZ21P)vFZP{m}hm_ynzU)yiKp@ukqBpnhxEmTV=uf6QSY0`CKi0|QG3R8bx=^WM^5ShT9`==Dszt8^w$n}`Document
        \ No newline at end of file diff --git a/dist/examples/ColorTriangleRotate/index.html b/dist/examples/ColorTriangleRotate/index.html new file mode 100644 index 0000000..6570bc0 --- /dev/null +++ b/dist/examples/ColorTriangleRotate/index.html @@ -0,0 +1,54 @@ +Color Triangle with Rotation
        \ No newline at end of file diff --git a/dist/examples/Cube/index.html b/dist/examples/Cube/index.html new file mode 100644 index 0000000..9b12815 --- /dev/null +++ b/dist/examples/Cube/index.html @@ -0,0 +1,54 @@ +Document
        \ No newline at end of file diff --git a/dist/examples/HelloWorldTriangle/index.html b/dist/examples/HelloWorldTriangle/index.html new file mode 100644 index 0000000..05cf4e2 --- /dev/null +++ b/dist/examples/HelloWorldTriangle/index.html @@ -0,0 +1,47 @@ +Document
        \ No newline at end of file diff --git a/dist/examples/Lines/index.html b/dist/examples/Lines/index.html new file mode 100644 index 0000000..184283b --- /dev/null +++ b/dist/examples/Lines/index.html @@ -0,0 +1,31 @@ +WebGL Test
        \ No newline at end of file diff --git a/dist/examples/Material/index.html b/dist/examples/Material/index.html new file mode 100644 index 0000000..de8df61 --- /dev/null +++ b/dist/examples/Material/index.html @@ -0,0 +1,66 @@ +Wavefront Object converted to AssemblyScript
        fps:
        \ No newline at end of file diff --git a/dist/examples/MousePoint/index.html b/dist/examples/MousePoint/index.html new file mode 100644 index 0000000..ef0cdd7 --- /dev/null +++ b/dist/examples/MousePoint/index.html @@ -0,0 +1,66 @@ +Document
        \ No newline at end of file diff --git a/dist/examples/NormalModel/LunarMap.png b/dist/examples/NormalModel/LunarMap.png new file mode 100644 index 0000000000000000000000000000000000000000..c8776c0d1d75f8070cfb9f58221390507cba9bf6 GIT binary patch literal 177567 zcmb?>18^oy+iq+p8{62}wry|t#I|iG8yg#QW81cNV{dHdIe9<4^_^4yLH%{6YHE7A zZ(jG+-BUFksiYu@2!{&?0s?|4EhVM`0s`^b1OtHq|9sG)UqpXCIF#hn#6to-BE$Ur zyq&zoxkg?JO=LY*Bftu2hn$%t8)>C{!^vohip<)!Kys|pG-);E`M@>uji zK%nX@)wEo+}?s0Ozn*U3?8-)pQb@T_yj#1j7+QnF2u$Fb4xpZ(#wt>QesO} zeo{?#c_w)WQGkV|l$R4g)k{Im#LL=*+muvLfSAvN=hJ{Kz{QBz!`8;mna6{l^dEM4 zKHGnFGm;YjL&U|JpH%oShs0X)O2ne}P5@$d1`c`?W;QNjPHqNf4mKuMj<3WlOw8Pj zOk9l2tn^IGJWL!s?3~2^x=260IhmUAsEA4Y%h%@{KdFU_ivtfMqr1C1gF7pOy^}d3 zGdK6A4HiZg7Wz*KdS_2N7b6dPJ7={n>blIxLDfT5&vb;$k^W1g`e~@(toC4 z>+rW(JLiAF^a&WFhmiv#GXv9KDg8sx)Z}kD2UjPXe>gWaVFcI!YyoyI&Y!Z(f6F>p z*t^&}TiE|^O#eOnKRNh>R$l&ZAOB@6wzhw}aCQ-Q`%L3sfc%%z&T5_x07eynv%Ra6 z2|(QKGfc9-vT@)MbpjZ<*gL7&+uQuRP)h#}`IAx%OvKchmUgE0?#?v-p#Tswaslv@ zvM{kQ(KEBqvofhMbMvsX@-T7HGjZ}TG5u3i-rm&G%=2$i=Fig7GqI>Kv+=NT^Duw5 z|3mbXGNwi@M*mk~QxhIDdna3?&x9>)jm!az4tD0G#DBxcBWiDB@AT>Tuju}>Us_aD z$;sZ#(&lr(Sw&KWSXx|^gPEIygPw(f`5)oR%kxOvIlCCynE<54_(?y(VX(9`<>6*$ z25=ZLGkr$O#!PR<&c;g5ZOp|*&&Fb8#BRiFWXjEK`fq(PdlT2cDDZE6(@%X)V|FH1 zQ#KZQ786zudLtG#GkPNvF806lSy@a>SWHdWx&N)N=w$gh1&wU}+jjn%n16AHN6OOq zv#Or|nmVcg$A7hKEQ$X?7ak*%zor2{smWjU2YhDm&u+{A0)hXx4F0L_ZUOi-`hVcX zKgFEw&0O4#oB+b+pJ@GGdB^y_3*Ont?f)FQ5r+vE7aOMuJrnz9$&5@t!RO}qWFaRP zHxn~EI~#{Fhta=N|2y>m;3*3y&nLbA#nb;z=>LM%#KOqV9PqiOGLruHllgyR;{Q^I z|48P4nsopFl41O7Dg7tI82?xD{bTGumfg=n{-f)2E&r?e_a^fB^7l3bu=~Wx>2s5j zuA+(g+@N3`q_mwuK#-08x!jaorfsUU zSsR~!`&alHCs8-94s-jOr*DIdf3-c7uqDR!ZLp-zF1G=8Z98n9ATDEX=fd^Mn-U9> z2YBqBG4+Vf4N)uenb#x(a-ih$frfO=H3K!!_3ZgE{3A&ZL!g)iyXWTNBi15m4{+j| z$9V*$Q3stpx$}Jc`dhHp!0YVXymmzpsOWm*pHuj}Uz*zUaksGItHdVpCKoaf(_nyr zDr7Wzi!86~vBb3g+IdWV7}?GHno-C)?|`I(Bwy>irI@ss(R?1o9Lt;o%(hWmN%vyu z-lqB(2G63v?jjO=s{oE3OnngA+a57v->+cZ?XZumWuFfGtmEOhc%slC0`D5Wb_wxG z3M3O9z8#Y`K8KCBZ-*S)BaG^8l2G~rZN^SHY&V2Bchb9*EHb~Za>bnDwY$KJKiw$q zkVDq7JjG)KOTP;4lS_4d>2rHy1#sYE?i1~V_KhICG#1b0ma`XQ->No)sE#unx`=LZ zdu*X$)N)pJTRVJzaH8f_+}(JO6MO{T7{Fs5B%ckWC*)21RLDCm$~K!GQD=Y!1&2WZ zHaV%?DZ^n-X*u?9eM6a6Y_gY|PUbjIGg=60xI_AI1<}z##aj%HVm1=N`BR#H6~%yH zTmm&3dkJxA0j(THi%o}8p(G8=7?Dg6pf*&$w3F%+ED6AjqnL)GNfz5BkEeeQ*!S## zI*1C{qLA*eXB$8GQ)0eN3e`t~xEQshG1D|5%#)rjI`@Y8#D^iy-EO;$DjAYJsW#xuJrZ$q&s)EFCW4VC_n4^ z68N=9E$UG)dINX&dJJJ>YdWHbqrHJ@Is^v|!d&!h<3r<(T(izoEf*|J3Wk2bh85>4 zwWnjCL)WN_8Jw@nK`cGWAYcO__i27iX=?Sb%y1atG9FQ?(aK0)X>mcxPTMaQ zhtPXW4j6uw?wOi3h)kp4s#3PQ{5VGwpi5nvOl8?yRG?;t&%gvvekrk?bpA=hvy(V6 z|J;_sX&a*|^QEa9-N(bc;$lyhrKexhJJR@FFJr`_%FlJ2`61s2%8enN2=8Y?Db6rB zW0e?8v~?zW-MiW1vIPvupRnoj6_Wj|e2nG+yIX|3RQyDBk?-;TNdw+_EZqjEej30A z&JX!q71iq3jH#G5=IjRPI+C&ETMl>zH87fz$H%YPRFuPnL=-OQLS&p!&JWkxT&?>6 z>nlqId@uS89AUYO@|4L2+4@F0=(Lr^3vW~}J0Toc(Cs=wNi?RID=tjD{BBCboMz4U144#a@A2HU zsZf?8HWJbS=uH5cSYvlur&)(>e4AEG)5WH5~A4rKVnfh%|9-2W}Il$q>g+y84)v0^ZB+^F3!5K?Oxw0sO*BGn&s_ptB-CNMScN}lCz)@8edG~mCiQQ-9a<8~_`sWGTR zj(@G=V$cXZxYHw~cUgY%`({5_~EEQD43Wz)LC zwlp})=)=dYr->OmR260L2viVOI`*NB_%glt#mVFkLP{OZxvGhSxC$=(;16Ztf*pw_ zsiJ+L_K+yH(vaJg-KbE3wQ{8pTR{4i1ww!zp+xR7Z=ww50fRsne4>h{@KQ~3)TzVN zE1Z96Sr@c>PGi$V)gpGX*3U%xyLnvYLXWDeSiTJLC=n4Wdv78={=RbjS>-4YP_?jX z`t_8|d5JFfkpn8wo`jSi-1%=9xLYbVggZ7T?})CT;`y*vZJA!iWp?t|_qdHV`~)Fi z@bO;Rf$)g7&|vJ?;yCfuWkfY`ICQ@V$Sm&^>}?IhzmhsFLBpzwui z(oHY^=k!Zko+8)sO+*8+6dn2QNNlqZSnxR)j7-5BKzPmd!VSweXw^k`1nnf1jPo1c zvu!Udh>6HMyx~_c0*zNz9J#6bjb*3@tQUv~J)`>R)-~)R)?Y03U}AS(D~t(QW4hGt zM_nop8QX)eDy!9o(3p{x)nsdwO)J$aCnRcrD*Kba-RVKdz=axBPl2A46wHixnX*eC z=*-4I*JU=s9bmy=XlM1vuq%H}xxI=_XRPs@B=KOS8&#el<-8EFObB!kS2SYsQP)UcaHh&^JX z1h&kUe1kR>zf?mO<~l%TZbjk4|v_tn{FKs)3ELdFB#z4#y}^QIu2U z-Xi5mkNtb9RZvFLiXM$~Fa;r>Ej?sV^#R+is5~~pt8?s0Et-GKmvBx7j{_W zLHAW0^T(*^|LBNo>*P2}TV{9L$1)|P{VJqoag$)&6 z3wOB`?QP&0B31=_M3xp*|Ey>CMLonVS8ARP7q8+EV)oIrswdM{>OH@Sa7 zxwCVNOLcL%#Lw!Y8PIJP5XI`g`6X8&354D}KWB#?=BsnVPxD7Z8&i5Mkv@ntr`Lx# z{yHwwOf(ibak^mrj>QOXk;0U7lw=`P95GKA4IQ_^lq|Nb)lO{jm@%Ac5ob1&XYP3` zU*DQGH+~7mgQ}F;I^!gK=PL5*O~dAVNpfxqt+j7O%Bk%^R{Wg(Wp3h+px!K0*A3+@ zi=?4RPubj&=3nKMA#{GCFTTGo<0^sBS&CQAiPO|EN-Wb^cQ$PEl)KT6UefW2^jn)= zS%DC*JX7>NUVI~YPPEZ2zU$ivSWSnvWr8LGNkz>Jqg7jfFVzlN$Ftz!~1P*_V!>T$4<{gFiuRZT)&cSzawirg6__i;_ggO~)Lgd6p-w=7Q z1vkuS0hV}ZCSaI7V&L&76Efen3Rm$(5O==`g2FetwO^6STFXjco4r(G9-X)BuRi*7 zD`q#(%9{k>x~>NpbF?6sqaz&g272g}+!5JAbYdDQMh||lPc5dQj95Hl`n8%VmDx_) z$Z{Mzj#QfEtLjZgIwshEZ+x&5!*J-Q28H z=l-ON*SpDRZ;fQ~%!%;S0EV)2P-d5%Nc}i(Ntl}j|(tpu;Rd1U?OREu+YIY3mT?=|abpTOY zEzdvOUgyd6(cQrr+vb|Qj%Za}ckpIAYApx`|Kkj~u#uO#bjeqynkCi74L>vnymkf1 zs_ZiwxuC7S#tKlsb5D7lP*EPB9cIRUi38Nlufv_WmpXw>Fx zpzk4!e>lLeEF3{=py*o2xaQKsiU&j@*f2P7Vm9Q7+c+7wMKMOi2|!rU1-NnG!Ps@v z0JzJ9iggBMS~PMyzAuW2a##NI=OhTCBF3x+FaInVXUgZPPwe;gUQ;;q@# zb#u5MxEwD!e`Qfjzqo{c_YsI3zB%s z8hqBneMk^3_=0{(b#<}_Ok&#QPCy#E$3sEXaR!kdc;RqUp7ZCDmdL*#A$n@a&t&K* z6q37_GHE*4F|ogZmK^83L=<58$y!xHy@Dv!PNQ1=P{war@`nb#LDOi=yikMk589rf zV;`P$RnykDMx7f8IqRggKn-V%FuZ^-JVQDK`I4+e#R>5Nu426}>&9{La4jh2O6xC=dRE70yVrqG9av2t*lb((GC0cPKXuP= zelh(^A?ZhbzV9Nm9albL z3iC!euIP7w?wTlG+5W|S#zO*(20Uu3lQ`JuIrfJ+gt*JxzUUW&OI&>xpR3*Ri;L3Z zotL*V+QOHeE{xk4I%qcXUVL2}Ttfp2RXOs|#fpmU4XiGrGV-7ksCc}=a?MkA$4=S} z3?WO0R1*tJxI2`z z*umq$SEs4z@l-Bw3m|+3T z3raIpWRfq}vhKpr@1DlDBFe=22rX7~!ARalp;8Vb)A1d|5w%~s-NJ0!WfWel>L&$0 zA+DbT^+sFhdak|?%rx~t;+H8D2_UZkfCU0-r^}dNUr7xTFLX*`5YyI8@|fRUDu(O! zPsH4CA=!s8S5_k9?Y9SJ;&bC;`JjPjHsvg zm4R539`DGKkt9lvlYMuKl*%gDOZdV?zAn`reXs174f#MDxcH6Vw%)?SYd3NO*mGI* zSn?Q(It1%Fce@2Gyvh$QpLw{F0NVT&#d8&vTb8-y)tvn>pB#iLdvMrweH|z14u7iW zt1%&dh?n4~j~~JmF{{)R#4$$MR+gYlQ04OBv*J{TZqqm@xJ4De2Z)5sp>1a<5ze1< z(DS+4%weFfD`YG-93fn@tKee`jwN?{Od$!^JhqPbjccUzOp_|ELl?d|1#Y78VIW<# zbxV_Gt!Mqg{QN->H&VNOdXRrf7*|PkO@TputY;h8>9V`aTmNf?_Z?ir@59IcO$k{k z#TE=L;u@VO`TjIuxZ8Hf{dB%*V&w2eM^WGbuo!U6aNGp1ZHmNX39}CMWyYGnXR9e5 z6{Ds5(aeLC=M@WYk*~5qd6XEO*+SgoQr%CcpMX~g#WmhI%~vHpW9m5Hvq}yS)ofQ` z`ez_01w@V0V_>2SR>I{NR$9@|PYQt44iKJWyCn7IpXL`@KO&=C=fN^BtJq;G#6ixi zr5enT$;>uia`13V!(~w%vsKI2FXLIn_W+Q+$wbWesd#CnyAYy%t9Z@0RU8jITP*q7 zygM_~l9%VF6^&edz<^e_EezMXI4;E9N6dFzfG!jZ*V1$kscNrpDlw9*iBF`XP*(B z0kjs|t^oU%iYDq%Oz5?)mD9D{gW%ODnqoY{7OkP%s`2QnQt2R%k5=X9CB_TeMJ^ZE zb@2>tyI4mzu&ePw2=w=}3dlp-z9p%3DhE?U=4Lhl|!NtFFW1VYI8aa<=~( zy`ob!B%H)(*(if?zGBHoZ|p@5A;<*H0DQi)`X z(J@zwXB9tM2`ZhsD&%q}qTw05k8PsgmVxIKSDSGrLyJAa6#m5PXQCiQWJN-<)%oAI zaQTyS3ns$kFfs0s0&eR;%`_m(mwBjlW7Lvdj5(LXZn6^ak32~9Yo1nPpecWJ=?7oM zZM)-%g@a}gfwNiFnitozsv~nm&s20d@7*uP`P<(BdcC<$Ln65IUdpVjWUa?VLt*6Y z=abf4$BB34NnH#Zw+xMgJXuk3uo8wV@n&L=P|K-TpGCZiT@xacfxPeX;4D()(1ueu zQADmF-dbbSmmRCsVFqq3%n&0I@n$V!)y}1qU}+*))~s6IYr2~CE@1nvKDnruRO34| zsujgD9!+?AX_RrCsTOJt0Xli^pamk@=qZc((OKj1W4!{U7$Gdr%z>Pui@9)0U=%W= z;ACO}VEAF)S)1py&(2Ss75ClKr+f0#UzT7J56j(9<{M$P9lHOA)nKT&mOD533<+~ZNUZ$$| zdqi;KJQvAjiDBzj*ZYjrQR9_Wr)UBZ4YNkL43n=NnI~Owl;>%rS^xsMFf9%p5l&B% zo$C>9g(y8Eaa&pjavTQ~U#UKf8S#+?nB>d=hl$)X{y<&!PGBbe!(+VJXbnfik^se~ z2G0c=KMD_c{K+ZD>Z*^R)ro7958Ve29KDVibrcGJ~IrOCi$(Tq2Ve(cc zwQoN3m4bh8iacw>e&;oUoI^tujcM|iF!cOIjv>cZRf5YBrUt)ILS8zE9)7dJ((}un zsic&{yR!o|J3Xuu6WJ5uPTBU@gLs9s^?Fv)ebA4jV%~#&(u)HWKCDri%IDElC)j0T zM_+^%Ljo7NnN!T;ot41b8Tylu(c{&q$l3nfVGYZ7?5e(lzUf}fPKtV}h$^ip*|0&7 zx3ygHB1?SEdw$jLrY`R8Y=wlxwgDX_Q>QKkqMI1~8JT+n2BpCb-zwt;`VVB|d!@~C za_)o*Tcbl`FMB3nAl^f{!g*~S?fIlsDk)ExUBzu2KpN>Pt2{@10uXP?Ov$FWY#+KH zt8TKY<^_T@-91}AC?%jt1;pxxq%;;Y`C-$f)hZ}Uiga!B8n3>8M*>l6zjNs;N*;m} zEvuV&i#^gv8%OaVhgCP{g%Y)@D{%gkD<|$L2IU+5`=VX^G_DEtO#axXcrAUvp%r@q zDPj?lKC=7-?E#_=abJzE8!?Ob^cZtiC3+A>|2Q*^ft!mBNq#wlF@WWV0fZA{dZWhf ziHDG$g$=Iv9NXEIZEv^2TUsIdbtpJDgq$Xi&>9<;&mVbi6$~L!n=oJ@KE6o_%uwh7B_u}{7m{V5u-_Mn zzndDkEYI+o$L&qWUY`mF2pV=u-ZUH;W_yir*`x#DN)ozenD7*08eAvgLv;SAHw56Fw@BIGq)~q4CVk5DOu`LROJmu05kl9XMoB z3Qc`FydtXO2Y|N@ygWQ8A}Hw+)v29>CaT^2S$^5rqYxQdqUzFa_yaI?YIO&AeL%E)ERl|i0a6`6CuWf1<*uF zPB}{5p&`};^S}S61(kv)5=76?P*%!<`^Blrsx%qFryzgNLHtdkNQU}7)A+2P9kcYj0bGGfc&}RL zb2M}0$2mk51@i=O!4*o@ZjT9tA|KpWxf%$x=EQ{EW-rUYS4lBtX{Jado_*)3fZ!jA zMrD0`$D7`G5kBIByVHo8kRR#qrIkD#d#4E7kZI=w1kxXv02)No(}FlMkWmOyS-66`Yq+3zPt(rt9QbD zziAkXD8w6(WHHt?fXC^1W!e?m4xoQDBf*7MeveU1paEy)Q^{;~dxPI`c9SUmSqXp= z!xlNRnpgv7QDkxB67;+jMa8f<@D zyKh@fp7IG7P2^H8$vtJhwVTiKWKFlVM+r~jng(Y-)>EI_-PA_Z%e;@_%j?F}u6`|i zd}MhfZI7(}YC0`dSu%;#(BUZI(yBW6CUCNS3h&uB&7g42LVOl4YIf#GZ}#>DOZ#8~ zVyn;dpgZ_zChiVRE|VIqhKNaoI@zzx_02;go1RE5b3~PQTNX-%4{?hx{r-w)V?`a! zX|))wclMyoJ!pKl=Sf9!mYed@ph3#)-nNUMpG5O0ikiLyrK&=W-Ti681a9a=RiBA)I=fI+NK2qOxlDra6vdUVWkIh4+OUB2qS>P)g ztjQAGDBbnhYdripo^N256_f3|?kze;Kb(}1M2hvPA%wN^x%-hzs#Q@{c2$P+`gY%< zEti*7NRh9>skPO!G2&?FL93=kkXzF9zs~|3T9Ou*+SdxwNg}Q2%;cGSH({ft=OBs` z$+cX)Bf8o5E8o*dwo}&oh?5!4lhORqe|Z|Bn3!|0n?`5Z5v&uE513@$tB&ro_o~~7 zHIPX>ypD(E|MHTCy)UML0uExiO`mc%n_QB#-x5kRaxKqCy09S=BB*%Q?F@^1CQE3R zOfJV*m>jY`61H^{Q!Qb!fS?aY3u^f-UDbGv`ffC*I5oi9OwpDhxC^+Da_QG0z4;YQO>p7Wlxy4=A(XNY_; zKbiKSURBhzPKkye^|5+;Oi1O}Uc#_KKxb;2H1o#A9Xfv~cXR^*jUYjmZ1XO0)-S#C zwjPb^nxF>M6qYL+>m>bdES7TJ2faP#QU@^I+;DV!eD z4NE1y*?L2!`(q@dnH#Of2H(ukDX%A#&UL2Bo2iUdG&qyy{XHzLxl-AB<>%=5&J7}K zzfB-z)>$5}@e2}7z7?((M{e}ndDo%E02mR!n;5E4U5>bZr93b32nCo{XcSoP`py6 zrU+F_3=y%RtB#Hn)bxG?qe;qVQ8unw4a!BwTi@xfpN$$PicvI-d+?~p4%fvo6EzgV zuJ)j$lM(|4!r)kJ-Fhok!BHm+P?O}-rZnK<8c0kNRAIDC8!@NUJ(r!r8}XpjPrmTJ zFTC^|hv~^KeE};n6Z4z!4>Ul&TaD@59izX-EyP+bHjE;@q;v?s)4$pmjs$-P=K z+8mks3en%=vDZ^c5Vh;cBA8zN6Qx8G6mCIDZH|)ZW3%w9AEWC-edK^ zBm32=)S$*>e`#32P*Op%7L!;p?3v&E``uPj2YP;OMjd0PQDAJG05A^#9^aPk$Nz3! zR5XRGJ)iZ3bHtZLF@`U64t(_+Yviz_M=)&Z$WXiowz6`YP}eN-vbsW^YO)u@^ZJZ? z)9(g8i*JBCe@7N(q5Fuedo%w#v?ytnLVWe`Swm}by`Ky{voT=OOnI*vGW=xH0weFb=DeU{ zEpY)I9dff~12J1FUw((%TXg>%Bu^rnm3Z{}-Ls~L)Gf{b-XvyfFVqAP1?CC+fMywP zy&Urs62&-vx<yG5_I;eA#NJj8#NupP?1-Dckgh324GS5)-t=3LGVP>FXF&)rlh z*s9vUx#!o{&E#}-WBTU0iLVKyUcaWUzG^OmE0fJPy-W#nhW7rZy($T{Qk_RPJC#Wl z_Ui4;Ui`%!g^4$9r(2d02U**KYOiUROwXMqp@1%kekN;j=$~j3ASF&AWiIy}v*_K_ zdyNFAKjtV`Nh=eIhs=Kh*BhT1<~AMKDs`PdkhB7uXt31oLga({{6tZpl-K%6S)fO*V|_PmU#gX{u$#G(Mk36 zAb&c4295*orPYx3*xUCn&PG7x9zszm8`b0Uk>FaqA-p}-=2ywkJ(<@)o_y!Yc2Om< z0}cGV+!nG}W&Rw|~C9tD$w+v7btGX6~#yCp1vJ zkR{dNhO4{61wrGka=0e!F-0P}#vqLKuWDQf9~-!hU)X2lRZ#&2@cP8gQtw%o$(cKx z+;i`d?E1i>i-r2sUUilpgu6gs>4OgB>yaRW@a-^-;D!qL-c!w$$7)ie2!__98b6JgM(_U+g)rk6;I*S>N*GInhz9Do}En2@lHNsFp zRLcljhwkIyOkgMHiluSyR3AfO9e5?+DEIGA7mjUoG&9wE?T96>^|r);-ulVDSl>bY zR6j1@sfk^|xPLhVyl;J;BGUdA?hikRWa6Y8Dj8BhXj{D2b=}#N<0VLmEhapG)UWv! zlFC(OpfHQv0LrQsf=-lMG29~g7mikQ9~B{E7`mN(Wa_M(U@&N<&e1L(%NRxx8j9`l zw0+5}srJ&@>OMX$+<{!K6NEjxM-mfWYx!j=z;`GzcFI_Le#tLA`*bN`pp7n@lH=dCTR)TkV@B4y1{sL*Ed;ke_&C;7* zWKJ_sMwVHOqngD!yI4gEt7N`P!-dt;cqzp}V(X7<3@y2#B4oY=QGCQTiMm!C`N{oP z$1>&M=xzx3z@~@$=s2E{{6GZhoy5QmR%9)y-yvOIsAH(=mng>Tc--MSLXb|#kgx+u z9haF$cAl7lN+`BA87)Jh7ZCn|&^ROTt&+>Xoyjk#AASiNJ}uJ^^@YFCy5PwV5~2H4 zuRT+jAoNi)XB9fL%#0!VZ>|?q0$d%u3-0|<2_*A?S@jEF0+fn@lVV^ci1;5_3{9=X zM>6G0n~!_XK>pW{25r6awsxM3rj1=%(Ux6pDe?r+NtLy4QI@|nq3$vzP9q^jSyOD5s_!X zisNG!jx*2DDNJtLH>}alI?M}Et7GZAqi#+PIpsCf-K>-+=nzWoiinskS86bChuO;3 z5z;k*ig}T%j4BQmPl~J1#qA$KCSXG5kt{uo*&Sj#xqk!_IA`1UIb%32-s|G;W}qd7 zbXE2k%^FQUJa?z)AjLdtd%2;rWHn{<0)0STH})5V(UU7zb?Y0Ma6-tkGS z2Km9RBUEas#0WFW2wt8lDGD(p{HXwkvt!_QPGT+OtXmY&56l1{7hF0ydg+N;y&L__ zYVGQFL!3&qWX}Er%SXBEb_1ZthGNv#SE+9}`fbvzbS90r8^MLrGJM9{M67r&#FKNj zKImJlvfP@YDTWE=8$5X3hi$}*jJgU}jj*TwfbIY$R&V7OTcIDJ4s1W(aE7Lx(779n+5Y8!5mbVUp#}J6Dm7V z=0=XU08514aL)DGuEl^x5SXxaof$4qT6iZ_XwsM`GHCM42F0JAJ{qq!zI1AKd`rs2 z*ljd+nW|`AAPYv4l^4C}X4^!t{|!$VZ&Y*~h9GJucG|eNA>m98=9zfiz_{EDvhLwJ zIkcKnnd<^%P`uRn>DYNb+iZ5aPLI(yJ1~2{I$@cXe4>4ky1)X~s~Q#frL~koZ7$3y z%_l)vew3?@F%(reS>*TIJtz#c91Np%APCVW+Xm!rZc?C7{9j}QjWORm%3Z0UmN*cw+K#HIGp|asG6<5l69@G?* z0KQNVLB{tzFoD?_0?9jt+fjIYrtp=(L;!dt_=nsgeRtdsiH22@Ogk1k#p(CD*VOTe zI=@94N}81MG>Enp;YB94y9G)k*!pk``zbO%Gy7pn7%vu@B)R-F#D)9|+v|AqA4;Kb zaUg1H^6jCj*FUY2ZX=+?c_ev(+(5t&X;{)!A202T@WsoT2Ki7Si4Q&c zVp<%g8azHzS=i!4>S>27qIAO$_9VBk{)NhqdzN(ZjtM>cL24E(QM|KLn-VtL4mm3o zal{PxCD)%~u6=esg)eljS*9GW$&gr~ZDNF`$*3GTox>vY1aN_G04%>i+xl97f|Wa$Aily3wcBW%K+?o~Pr zfg#!I79^f6`(CNcL#^55jl>FrE*Xr~`9Uj3G{qJ)G6F&%Wy9V59cB03i{e)~RE_!$ z!xWqR#zjJwX5~WvsyB!QJK6RFRO5rJ1lzM;1z6^B`Jn~syVxO@^Bm1Gnqx(^At?wc zJc(F<;kTatX=7aPq;WB=gPHWMLf_%_5^93Sgu^z-ytxZ6+sShthMl}U{&dd*;%HqJnamV>X6&%9NIRX)%al<>wR(`_&Br6H3N!O+2uMJkA z%kbm9LX}oMB>$-FxW%fdgzw0>sJj33;Q%dbyS~`BI%y^T;V|Jr!%SQ9RA&U`Cks2* zixF|WdIAEBnr*qWH5?VyX(X5+k>BPejq(MbTXgy0( zx7gkr>)XOs&!A_AIqI&JtT$Qu+z=bqiFgZv*V*INvlMA(h?|$(oq~2dg39JHV#8L2 zm=e11&GN6U2l32O4J+581Y_fVMIBfpXyQk&k&cKFFK_pU;@yeq%+F0T?z)S=y^7_& zG6~1B$r_kC)$nLHwPa@cME;xvEwnW^3(T$tAu}o-CqrX7=~;gdyJ9evGnMdD3pCZk z8-(d|begn=e`{rWfZK|*$g=0R8NEFf_mH<(;m7^6BD>d(HSE6vHB#(r#y=?4F_{+@ zvRvr%Q=!-yjp_7gy+opwl`d^p#|+a{o!+tp98Dm!SK+q!0|I2EQKtWTHdm=dPiqm}s%CHfA zpH@<$!?WarOs>JMkJnvc`RbVG=9P9to!K0EMj&-B#8?N4G<8UT=|(4u zEw#V_KF&}G2Cm(*VzqvC5E}RC4gZvO%spJOFe?gis7`sLqbK||^|?0mqXUglbL{ib zW9)JqO2R=l-M|1|I950-+Y=)$hPxZkk);JMfG3LtPfbAh9%oayKnBhR0dJu#;P@Wy z@D!UyC!?Pra?trr3{`51lSqE*kr(LY*Et>TDl&h!4msALraFonp1SNQ=4z_v$Ig2j14%4#-qpjG<&#vp_ zs~CA5^f_dWZls3(ERsgIv84NQP$~LbJ}~BKYdN=;Rp7Uz{L35uGJbFD+xo`wkLJ^b4FEa{SZ8 z_0uW|^;#^5^*W>9JI)$^I}$~%ybb%RrUN}yXi8Qm1T<;nI=T+^E2(MMTGZT#A$}Nl zb_RevPPJcahqCwvzM#n;vYey18qTbqf0Za(pUKXOpCBCxMf=dOBhVSvNLa2LmNVH5 zhp(6==H3p*cOq+3ZZ%)r43*m-@FVfsrhZb&7I0d3_PCc)P=Dk39S|(rUv^vPFS>^# z*SPsof&1+W8ki2x=sO?qduIyA`Cbh89mBA6J;Kgg{M*TLrajiCZJ%|2NW`XpluGNK zpm2KE9@Ic|+*FxLLoj+>k6VA9nkTuG#7cUJq?QGMK~PpH88iqx0wAGcWYR^Q8@HH2Z>+D@C#P zFQpGlo)ZvY&e(o#;$7>|(Kfm<#|N`*$&}!}R0UVfiCGF6c8uO%ltD_Ws#dg#-N{~W zHB5UqpwZs8*eHPia?vIdNsF)Rr;2Ovh>wX8s*zDX3mLSknqCStLU`?H^YdrCIFMro zPj>lp*#NPHtiz%py=X8L#Bubh0=li`7{5JDDZrZo5rxbPZkv;yFXG(=AIKkeRE%Z3 z?X4gsm8HL8Pq<&H74Wv)Z3led;B`O?ZXKX60STg+m9JLdF6<9>!RDSw}5FZayA*Abn7kC_}2r0ci!-kvyf z?~K^X$0Kh!uqy~P_Vt_HTlBaGP{^M+_=cTE=y`T793s5>2-ObjTfw=^UWDcBYNWaq^v`X2F4w*Rr+)4hJ45^k*5To~qSKPQTa^umx!~yP`nY;)| zPd3pO+-Eqi-?+bbqsjyYJ}hBAj4Unv9AmFRU^qi~iFPg!I?ZQ9(0!u%HSpD~&PkKe<~G+v9W9x1ReK+g zFw@Y#9iFDrUGei%kUGa1ZY4WWbdUZdG+&bBdrl#Txa1KhPerLJ_T(8p`3!;_700^^ z=I!m3fD&#ss}XhkGqqXE3BGp&U4uO>46&wAY4Y=U_H4n7G?J!eg5oKj$tWncE8XEH z$peFnsQaQ!grGH0+%`ELLoGmB9c2Ujl-6bUVS`AwD50^dpB{+H!GUYL`3+|5^5Qy0HC zkZD?K(nOBt20_1E{abM+OF`h1z)e1ot8K}l;k>4+ln9u2TW60Qd~|CHn)iJ;K7E&6 zDwkPmz%Br9TJN+MHM}}iCSu?ep?awT)>|ki@np_s@xXv}vn5zHUVal3T&yQR-yG$l zEThr59xs6fTD-^X*R*aQb$w|1Fj9#=G38>{&$@99iN|>=w#S!Ibj1v!bb00538t(w zoxnbhsv(xf*6s^|-<67A$-drRWg}LCvFFG4Nb2G+P@O+vnZ|Pz>K{SuXvUkw)1ID} z@hA|*Q%dIWr9EgO@z1>5OBi_!HamB{6EoUJ_&|ePi&4peL>wpN^Ph#i|18^(mmzn% znD&0Kq2T_WKV?x}U;gT+@CqqG8K&xLtzCRj&Kc(p28eVBhbhhktnT9Hr#8*b`X>AvB?H5CSq6^TV`;pX zHbJ+*V#n|~qPEUwka+k6@Q2wkw-{NT3xa$15#JPNU&mqLrzfuQM}HgrXgBgUxZBF* z2kvs0B_QyOJ*oF%Y-)O%Jjbsc0S5Le5@7Q=!TH7)?e&=Fk?f*wqCTAolR3+Voo!O|Km&4 zl%ki?*U1iIe0aq_GS?Eu5TmU9c=_(_(~`;S-H7-yJ(YQD5WP3igytDPF;BS|heKV$ zF0)D+Va#S*--e!GiJNL~4kG#6e%1P+r!y>D>~@MR5mpyU_1vr@XL~8Hbd?f!#5yBV z>f%nOQLQK~Wp4gBEM*rd_}I5^t7a`#d9m@e^|jnpcJ_Y&M?kp0Q3^+WNXITdl;_ue z%~@n%k5UBE4N9bgF&Rpcw)JfaJwp|7|Emj4dm>{h1a4Qvfz?!j1z;sN$l4dx4~A3) zggOtF2XIeqo?yb?ifsYg5UzVNhZ75d7hmfKf8M5hCtkNiA8xi@_*^T5y@_rjTIljV z{3VV&zA06@MZfR+{!Q}V&jIy68{7j6d_M&FJyMP5Bn;1|e!lVvVg`2?dvxk96m$?t z?ksyf6O(4o!W=@L(*+ce)+$(lEg5L0cg)4HtnPUs4BFEaxDHY!S}?nUnPfZD2kr;P zmgg=E4Y)2a{}|e8PNH%XfcPO*&#}y%?J_=mfG|uVfs=1c6TJf~`qnB5AY%8y>o40) zbwnD7@0tTb8T@)o8;%hg!n}X2pY7Mvwqm>1m)%B$00^*tg&VmaV@I~;cr$tSu{Ir# z`bE(}r(0#S4cqzshrggbzXu_}ClSfd;SJFa)3_B z5SJMc5~3WEEUsrhCpu;M^si3b?wH%IKg4c?%?+?DgtBZwIjZU^4A2|u$k+zOxUo19 zE4qRK#_Xy{ZgCPvshSGH>=_p>LHvROczd}Bxnv?&WEVm5`zY5A^Z@Fb9ZHS_h4pM7 z$&ZmBK!C2w?rHv2TfuJ9*5v~xw=V4+-`VeY1Gcwe12~F_f7~zddB$YGVxYMV3?#fc zySS=Cv3#y0v%#LX)V44bBf*B6Rd-4h-9|osEQ_+UWr5)R38MH>G8^m;d0IpGQ7MF~ z>g-kx@hm1Gjw;?n#^u_leIASIUI<}OU6Hv82CUz4(JokPu^*c|+38k_jE|lz``ncT zjb-^-P$~vAM_!AW2(H@nw=v7ji^w;dPHzAJ03ZNKL_t*Q*PC7kSBs>@T8?qG@Dsy* z`s9<FkMuDu?Shv_)_dBee^+OvM0I*nAx4ftLC>+T5m96t@g(W7_-O))JsG@RMHwqNmSm?`8eUnT;ASVnQ8ZcL zB2oS1$Jsoe=QvB_)Pb~$WzT)|0uO3>TC1U`Pb{~+cN6?^pEkqCuBBDFeTK!Mi}tS#L*f z**;h}h4_vR0f=zHj2Yq(MZwA(cC8mevD+hSbW!nVI6qEJV&!i4QotSK-|!ra>aTKw z{mTIZEzrDJamUMA>xg7pe2i`FyE3)cR864SsKXW*$J_n5NNrsTsX#HYv=sQSxNneIATn+W=UEy5+x7eN za}g0;ZE7Lu1DYzYTux~e?73YKd2G$`%EVYyMtM2JI9f%tv{?)4{zm1UCjwe)@rrF{ zV?t$BDH@6jDpN3CeqxlhsqWD8WO=T>c~dVSfO%f=b1w58O#t6W{_{kzkFSIKd*6-y z|EUp*+a7mC6aazxScyaB;8t5;(bymfXdG&9TMnCRWz6O%m<0~`VraFQ`2dTjOZ4D_ z7hE4TtK1z<(jamk&dC9r+ZG;T&_Toq0)VMy^ch}LQ(0GXi>+GGFc&r12>0GktRLQL zW%bD|;zCD0se!e!3FOWU?akvXaY#K1b%w`&t7|O7p&=>&a@k_j^u6hD#vx}J7bD`Z z7gGwb!A{_3{8C87UpJE@t02qTq$MMp7V&|43o?6kWENOurtX>%_1t@c`%z+jM|Jdx~_U0wQ}yK-1I$jc1$p_0>vu;R4uWt`XnB|{`>Fu z+Fx_|C(9h*4!lr@>jtZb$uY$k6%>6_Heo41_5y&xjhs-yR0yd?D2X*|cZEqz0uHn@E_fQ$u0cNITT6ptf^KwOsoVnF+K$Gf8hadhs(^b4A9th-3Q*YBuxVYx*!2z zUFtzy->j*LZi?bZV*%Ue?^z@@H1QDAqhf~S$JRtBb~G|>Nbq4rz|R-bBZO?b3IVtzBP>2Qsn2j~MY z;!-U!kMqEOG4O;XM|C4$D=JJ3Q$AnJ9U63`!F^a|gGsv|mglpW8La+3`N#>vqtO4A zFmNFKf5gPd4Nk7{i&pqUF?bDuxALZA+=^?)sPVe* zT?g1H?pgZ|WQ>8-I}W@(8ZMarWqH8Q@A_Kb&t=uuoSsm~uh`PI*;VOJcVIwlG%wl$U`>wO%ui!a zva)3~aV^XM);~Wk(a4E4x*N1|RH=O$;pRO@uCEi_JE{)^u3~Dq0q?BI2whTEyGB$| z0eE_6_LEemni9^kq>YuW}&CnLrlo^#j09N)`$T~*YIFPIx3WHvfOWGlj`xQDSdgysn zN%HA{!C)m&L*4+ohcvMXib8^Y&_X!?JeIv1;L}|JAm(GY*jE+{j9`vMB3n!c<2RGj z-ei*Mx&=i&EpY9!3grohqX5ZQm^Y!8x)36m`!GwU=4N=4;M2Aa`~mi7DpB)OlFv9m ztu+cXEe|R_bZPJ-#6qfBjzZ!KCGr)}sRg8YV}`zNGmBq8{*SI}QE!yjfyRblzCuFZ|7DLg7nyAT)4g@uY&HQ)mPRw< z@#*-=8y~N2O133Y>&7nDbi+=Y~rMjq!;6SXG0+=dA*i3zdCZEZjah;|b|s6BmF;9~R~2GS^IhXS`$E ze~sWDzg}L9#G*(Gl~N`sDq-(#{1v?e$dfU!Q;5 zf9=`({g+z!`xpTJexB{alW~|c$=^92KqGxi-x=Vb>2vcys;Cpil@mp}kJlK$%>;Zm z5M0RSTSf<3Ii`yMSA({*q>XBOzwJbbJxu&w!ihOd#^jY4Yg0Rpji)ZOMH)$f5;9Bz z$p&K0`sAPJBPo0xb=UPNrlB^}{{=TYLXYxqa099jUB@<12$5Fu_vXxi%d+IBLHo85RVCfYM*igv>w$GD)+lcoJ19*q>T*%0Yq`jo(+#!g5~8Gj|KVi zwl!rNIc8X&pEwbx>Zk3WUCi}5$1#gFJ{RTppA<@73NUcfNVtJq8OZ8onmtf-=42cK zB9DyEou^K7RtMtcO(LQDfN$B~?~@( z9zgBC$R?EL4q%aTPqzou-X<+Kr_iR6#8=RmNd6;Rr=5KTiS~_#FEW_frMAggM3cBD z{~sfMt5_)GjpXbfslhwUktOrt*hk)c5Q!VP0@56W8GTjy1GlQpQ~lxv1_FWs7bsi+ zT5E}w0%Cvi@)@a7$5iSGMDH%CEzB0HX*@tiUs>kqxg^gOarT-u8+oBU{ET-uVsUf< zU0pRxf#~YbH-mLV@XJAuJTN|eF%7&>2`K&}6^sCn2W|*!va0aU1rdyPV>8ui{I*6n z$)e0r9vwv_i%sQ!lxCaJTel^w29gpa%8%=?PM%7I*aDgh8)R5OO=~O$>jm}9$E~@H zH|*vW<^H`}?-tP@2bbmPWC@b{X!y$gWD?!~r6hRdfp5OypYh<#0h3uAS;1&T2^`Dbyo6GO2X-Iu!+fC6PK=xR}pfc5oJB~ zHXIFB6`_#W>6XL;Z<)Wu1w`!t`Ady`@<8mjYNd`zWOm*td+muZ=>L+?9;d#PJr70T zjU~buRE@Z2d!7e*u-ciDu*3ur{=MBhJJ8x!4+}|pt)x0)y{>)DRDiis^yp3G`FQ5C zjNmr*b);}UsK5f0FzJs!$|8!Z%uEVv(`%_#!W_cFD>=|==Sk^aq|xJJYUc}u=oZ62 zTcH(kwSr+IUbg4y&Vr9km%pOk_a=_tj@Y%&w=w`fo+SW+e?t;rc0l~UPI0DBWD=AL zNCJFfBmn{mKvtX)06uJZ3E6&lB}Ygc~No;XFA(00aDdUVK3A&Kw)uHyd_*Z)6r!_VJF;)`_jp*x5V z78gOJ=(uYrZGqd3=f(6lR+sSlSdCP+bgStOPWR}F5sXX`+W~IvFbENiVns>6MD4Su zaEyxWu3>>AL31!!g)!CMMGS?mwLkLGc&6Qw%~}0hzPE~E)L_OT>y8Ur09en6*A4Z{ zl~;yDc}7fC`d1;8N|D;kQ9U9z2Ce1Vbv;NK?jonuQDm?h)03TdOoh4Tw&puXUdSuX=ryoc#bcN4NSDD81e;^&aUh%qMeHL4Z5%oG z3o_gT?-R6!f<}AmaR}FcW3Cs7KlbnQHRE5O0u7u^07CpkN$}!kKdzdy#+wO)z=1jh z)CQ-fjHX|!!dIT)?+Sl`6#1%EHV6&?!Kj(wY;~a)W34isN5ER>PhULp=4{nY3{7?! zI!&UfUcnJ&Kg1J7yWM^dmw z#!zFWEAG!YZ5K^`WVlOnO4(m3q8_e z>%{`hHRk_7M|Nz{U>UaQV&E5TFC#HlX*Sr|@{5J>AU^VD@wGSa{P|ot@sFzyKx2EP zfkxb)H8%HbZQ6*|Z1yvp`QzwsMg03wBCsz2tcbt={3r$ZVdv?%R!<*S6Vd(#^6)-g z0H8@&Q~D!#P^nlqh4i+=>cT1Ire9@ry*lokl#>14pTr&6CY5<0Z;?rM)t*^78V`m; zXf;TT32c^+6$zuER)(j@ZDrOXpI|YJuKT~d#GY;c-*0`H4BWfQ3$`zJ`Wn`f?k>fr z2++;HRxBES0C@aSv1p_s9mE?n(H}P>b!{a2^6N zB0u;&s`g)BO#t@)jdg)o0I&CaTy_YN0DfLS{x|p{YWYYvp0FUt;z{%$yV{?c>`jw| z7$Hz7w26AU@TNXFO-TzYql4(7GP~0z(_WkD&S7p1D&_$EK9r;dh2&s83&PS$JISL@ zBlF8AHAJoWxjmexmb=M`Rlc71e?Ir;%l~U?1^n~(As_mO36v5LG3P1v)Ttf22IiL! zZ|77G%ckXWMWwQGtBGqD36XedsWDHeJcr@1A5BxSoZ8z4O6Iz;kKWdnODf|>JdZA$ zrfz?5taUnX1EF5j1e2}}rp%-tFr$FpQ<}NleVt6(*ckUR{Z1%Y;x)7Jrcp0*!VvY$ zg{WmpHRB(p@6knnx4xH^rMhNgr-z4J2s|XX<^k*DLJ$^hX!2d0NM)kkJIqIV_yFt+ z?u8UHIu~?V>}FWo^F5R38Pn*vvB*5Q z<0~1KJUqtlzbe7+zW+CQhDZPweCd=Dig#QH1eSfS6%wql!J3(|wK6BUq{^;MQZoMW-&4Om54#l$xf0 z<^py>6y*iF52RJpY2ud0^>S}Qskz8D1w1fv)Hc=&m2wvJc09;I&c@-T{(JE(3Q~Y# zur79aE#d=sdQ{pm*@0WS|EykEK$sR@#u{4*04sN$ET@;xC;6)iuA@*nNS7^IQtv`4 z8a?l-ph&W6JrgH3*GrkS-K?h?3tFIC7zf_4AYbM@Al@N#Q}HGmQhDyzb4-8I!=*>G{5!{i zoLl0LBpJTnXbs=nX2lVbSNu8hr-1=Vm&6F`W)d6%c?0#~c6E7dx664?7JL_Zs%c0? zLO?{32qoPxFlws834v5NBLGW;J#q!;9dat5f(6u=Ja|Osd?X<7o16Z$6ZumD&=K_G zLq@NM&qM4gJ9Iz`(0U#$S$Tl>vJ3TYE-%61N%be$S}3C-8K`!GsU*T2r00;+#Wfb9 zFsIlq0o}q$SZhu-aTB5sXCW(+aR6PKEnr%Ot=$BA59 z;O_{+cnZ>cuEhGE&##vzfa^aw|NH6@=A7`Ap+6tc-0=CqZJg#4YdUZlL}X%mI)Pi0 zgNr!85MjZsg7n#w8l2>2d&ALA5{fIB$L$=Xvq8tr6Vt%AZ9l_>q=XAjh|)VTu~QyH zG!}i{#Saeu4+!ows=<0`m56cQ4!S3n;1kg?9k948`9IbU|1J!{Sr@Dd;*S~tZ-5f} zTN07C%-%yc8E&3&uK@wa^zSUP*C2;am{uy|N7mFk9iQx?J>7O{@~usqu`C470!H7k z#N0rBFBzl>Z|Qt5L#}TLMTWeR@HyiQp7=H)CFQ|+9L-9ypO5E@2jeJ3L#n!(4I?;i^lEB=9`xS zSr5rS*Mal@Vwhiwb%gMhMF0==nHuun00>@x0$<7F(o<4Lc&qHVzyLT5L&O8f0hk@) z(OaW`;{`cX%#W4`fwFWoIsN?$Iu9Uyl2^Mvi> zBypxTn1&L?NI7{4iUhF-MClchAVQ#G)&zc+^c`kWTrTn9zM0e8v}j?60eh7TAl{%i z62ORVApSCCfG&`Co&P}mh){uGFPH z)2!6c^mJOPy^Ze_kfy3n4xrDUGQ;FK)qS=zc|r>32iHezKbPK@cmO&JA{39EG zhrW9Nbp}5?;BU|Q{2vzpD*S(znt-CAIWk~!5mQiTBY7Aj?>{t2*ALI7QyGj7C|~pNJ?;} zE9n8X;bcmy&5AVPwU5P?DY=VkUM7adQRWCrp3pvoULz%!tl#FjfX4zD2V5EduWwqw z4{Ctdk|c6+uonLu9Uz_+_%{&&;tvY&BY8tFO(bXh^P8Vb?;W`z&e;pR!*;Amb8(B0G*u zfa+nMf}l$O$XON0g}>gnWqXeW5BMx2KkV%ILja;f55xdLJAS^R5S2JduP+eTL{q;P zj?UPvYsQUG07netP3!^6;~XkLg3l-gDp2>V>_Pa6<{eK-qY#_l(l06~FFvjlC<`?q zAyt>vC1;27WeC>M8>y$eu@8`Sn*I?Y*v&I`lOAGHP#B<%GdltjXEjmd+=c)=)i3lKXUvPp+3WDC%28Y(Pw>hF{B*P@j zJ(G<+dfcIj+pE8^#~%6u*`iq9%r*wUoR9hAdAk(zNy_nA`nqlM5&b|JEW+9U-^Wup z9^Z370RaA3a>C^z;OB1&Py!G!a7u~*f$$R&2NN!2egedhvBmoT&W!SU5<M{k)@q4?=Caj_j2<3XGPy#kG`nFQ^B8 zkArEVN*gnZH)^DPgX-aNg4a#l{C(ii?qlAxZSxl!o!bisMN z+B3XtQ_PUGKDY-0L*tPe;|O4OEHa1VIl7_JS!+$v+E~027da06Ey-o8BXurB5>oZr z@$^0Ia_8a!|7tsIp6J#k%xkn%&KvDvugylAQLp1ySUqIDs;7|vWWU8Je|+nR5c@jK zg#{?aEe+6vho%DG0ANJr%fbQu^jk9s!Veq=<`9AKXqXTz)5w=Ih$oA$JD<}Ag~=V@ z2&A0ecMg6(PKbypI(ZP`Qt!q7t$PN@L8*;b%Nbu=YD@3XvDz_FzZvcr&x;lsmw=v%hy^yx zFmbMRcwn7%vE(eoxTz)pW z77Qpn(Xtq45^aT}I0pROcf+<*FJv19T1YSK;wZbs2@0LmMH{;w3} z+=8=!*R>XR_|FXg*S$6ZlL~lnrh#+#yASZuze))sHHl6HaxkwH)jj?+KfxqJhx{LI zLbe~O05~=tN&sB&UNkKNRfg!DSiMmA?cnirI-v2q(56Ey9FO8xHwY%%YyzSmrkrwp zB`$SM>|SIt8^uT9RPU4vc>nhlCxtgZ$!172f*?LO~57BFDwbZKT zNyP59;DO2~3HgP7?|pHy zg~(b=m8gN~4939~Y}mPnqojd;Ki@-8@>pHi*^L{wPwu6y;@}QIFl*XE;G;Cz%nT83 zf~>=h&(ACLF0ziz3?M-acMQZZh1=r`SMwAx=wuOyiNMKsQ|bXA!0*pKrQ^z*mX3Dm zgZeCXqE3l+IXx{13}_Y_*;2Tq8}=a!o1^9KfG0Qfvx;lA-YU>3;~uST#p*o6-Q$kg3;DX4F6>A`F{P$gH!W*HL`BX-A=cO8Q}H? z{&8Fj&Cl9kpS`L2M|Izhd)Dd^8&(Dw33w_Hf`Ryn_mUuRZI>?^Vqyb`ufGK4C7s<$ zpvry7?g)<)avuoWBMU@l32`gC^UtPLu41LZ%<9DLHZkDm_aV8aZ&b=Ym!!!E0MYP8 z$~grKnK(l#m%;6ztbxs|X~cW66@Kd0kJgO+`*%i*9$2JShM!b20|*RnoD+P+O^J*| z@eM4|E?*zBBkXk%F>dWjDrG7eEbVD*pL;f*e^RTP3kK7FN?(@gYP05WfArNn`%dh- z5Zx3(m732fmg3&MZ9+ssXc0oJSImQXe%-yETx0}?d8X9P1=dBO{B%uNd+Lp!tkR0F zQKrK2GW~vXgXk^^V<~BpJqUtoCOG$s$@Z&s3u%!VgL95K0MLQigZ7%%qY2!fe1@?1 z?$b`Yq1z|d9p}7XuuBa(6!rqriFmWELU^SPs2n=$%b2BYntUAY$aW+_ZaK5WvLicFkZ;Ay0Wk5NZhg zY`6;DUq!(Z`9DcFd|o92wWubBx$j(67dtC{X{Gnpn%1Yj)EevRrW zQ|91^cSnt-1+0bJ>x=Bj$t1^{4Yj~EYP#HUud5t=AW1|H;MgB71)d9jqB$pXQCdK5 z2ITga(>ew$jM8==p6d0fH=DWX!Pg_BI#DDnXn1<_U9b_j;el&*+%#iR=ROY=MKyes z%f6Vr%S&h96*9>LN}>U({WO4RZ7bjArF|x6a>FtEsqOtS#Go3knUJ&=B<~wb{T<&^$Vt z=ba~1fC$rm(UDGgauRHYjWuZG*Ok%JDf5u*we5NQ55-I)HU2WF4tz_u{WbkG(&sxf zyi2WhAl8n15$}Ij?!@Zv9M}KH)|F^EZo@EHM=UkA&PU9dx#}(l8FTdmw6gwxg2!I1i&D``>_NN^TWP(g{S$V@-BOsW!B#OWayq$>!fvk zFEuUIqekj}77?jqnRYkD=}+mq5pk?4KY~F|-2Jh-9JDCqk(jpz;bPJqzGl7{`;QWu zpgqriP2=elWcwJ3^e7=(o!^bKcy-}?jjBhzvIJ^j1*prRm<$UBI1?Df9#Q7D zW!C&>v;CDlQIU0g#th5VP#s(rm4?6rnTu&u{}efk#54KyAZE!R{pXxC8=@uRm-?9AnEw8e= zbn>Kq+s{`TIhyU(** zx9UpERK6#(_%Jmn0>ZfIMR{)w4AewqGafMT4u!&XvG&P|^1)Af z#N?@5l63%Q``+Kv^?H8iwo_bLbVI4H3O~Ygy&^(|?<{}8bTyN(suja}3DP6cY~O0m z7vsh%%n?j(UX61J)P1^l=W{{$neF}^j_l+68r44X;hKx!b8b{XUB<#E^atla0P}4n zb-^>Z3vyb1f7pZEPRSjIhx(pq02~lFbWwcm=ce_NBhhL$zP>KW(W(jFzROvM*+*znvkY$fv1wjE%IT-sR-hyD#iqo8v&gKAaH<|IwB ztxroLvl(8Nq}MaPPN)(?2!Qk-s{2oQ0U(BG{xYX8m=$b@H(-8bf}eC^eh+8O#H%yq z|0J)91$a>r<|v_ z5%@io2MQD|++|XC#jtx>%ZmW-CN}`UDVlHK;0yMXevXerZ86?=M|=0+RWintr0-kB zy#MgNcS?*s(C^nmnN;6$52f3a2OABD=??Yk>=|O;;A%G@;LH5OZ8|6dismJ*T1&Z+ z+g^!FUeLtQT_U#aAP{2;DDw3Db$RwW2Urf`Z626@K^u6VjMoQ;UfE-?Suy|jY%JX!OWY30^o6^(aAl`MQjk`_&i z=m_cIt=yOk8yo~f@v*#J;-frZg#_3?wEjBL3CLoIu|%Jn2_^eIziBhAsWmX2+H=Z| z1Oj-M%R;fb?u}yntPm+#ywt-*qBg*+okiwWfasvf2&;@vZLPU^O|* zqPH5@0Ib}yT?TnLQVO6BnKy^2BmBbm4=t~=O#4Hh&_ln_H#v)R+(~yVP`$#o%yT^( zS2j;fMFVIEk0FS+lN$jn$GN)3_(4o`Qw=Y|U3FI3HM>n30FNR!`vuk&cp~80AnSiw z@T2w4%b=$MTcVy`#yaol)a@DNwjwD}*{ZNZEEUjVA29h5b$*lBj|RVo*8v3aHNzb> zZ@80#$^dLQxX;6WJ_?OqjDZ&;W*W#;F7X7V_hx|gabN#rqgN2s-B!kW8O@ibsNlglPly2mdnnT)C-oLt0rX(?jHpp!jBjVtX*dW?{g4RCy-^w3 z2CqLdVA1Q23_ag6bjD+m#x^@0fbdx4e>c+paQ(>HB9&=#XZ^xr-I00F28#GfwcOgW zw9y)#7(rm<3K|G8q%~sMU^yHFG2AURKNQemmMhlBVB}X}x+-1{eCY8Ay=bw468&KH zF!wtKiiO%r;iD6^!JsqJK)TL=2eCo?^pcdxZW1!i&fR|W4p<0FV4~9 z`aTl5HUfSf+LKH8eJ;Ne&GR=5J(N{5*FQwFLwXmOe@Vs_l5%|KP*F z;RiW_9!Q!)3&{~@jn@^O{*N8e_2eA=cK_GcV8Dm)ECU8cN)QKQ7Gu!a)~SNBY}It% zy*W~9cR~BAdj}`J>FnbWo)-6=P9%fF7uftbAAt zq@9*wcjSj)5U2zYS^_~oAR7}zOQszc128-#IbAMUoeSG?anXuN-b)Z=+ypntGtdjV z>J}0`o@nSA_q4e6y@XFF)rVy*ppx8^DM&KTL}+QG6pXkoGxMTQOe0I587hY&8)26W zs?eD0aKqnhwKA;3S>a^AS;mw;0(>cPDAhSLmV>g(DX*v%h&1Wp#%3Xx9%=89`wg;W zquviYQq=gv41=mrWC8!A`nJ#zRX1WKtIBiL2PRL$@wN-VAt-dUUN5fuwfMaPFoY0Y z=tCdNrgypZ%mt9@FI(@>qY&~rit*e?i^p9Ug+n%MFUto1;4I=r!SG?-j2)n}FEtAo z2TGf&1ibpI36tRGZ3tQm?4G0sX@1=_6oZIwKEM?=W6Orb9M!D04fLb;v{^TK=fOhd?nTz$bHnQ2&2uD{5N>_Xg7jo4^Td9Jh;9^Nhy| z=$EH67q^24;8l!d)RTfQt!CDvtfjA~ID~|(zB3GU!pg(hxGQIN34}$Hp>&2jrF-nm zPb9C!#^O8~JckyhfBq0VV59~QH!4bx9%6L^ZnJqhny~OSk&hq+0O10NHG6K%2I!zc z!SQn+CDwJ4lY9srqQqb4Ja?0AM|@)L9uc~R@5&aJHlRQG`xpfn(V!J}lRlV{y?@^4 zL*sKYa`28TXh13eyb_?xuAlEP?msR$__2I$kFNhXxEN#Ku%ELnamWYAsq?6fZ5Ntl zn`;y3gy;5LwwgOT2ONvvjKotIK%Es zk1$Ag0-H~(O+5s2*hf#hW*o*~{M-Ifu)z0I2^I;HEqfXZ)W9|aRN{}!Y^YBb2yjCg z2y|e+h`7TxKBSuf@=fXGw=oa^`vAa79){;xHXo(00}+{V^Y8U2+fpKOIYvlgk`t!J z0?QH4Okq7HZtl+mG+@Yc)1i7NrHzF#0>v9p5h=q3wt8@5Q6_iZ|Ng9e%5Wc*k;n*_ zM=Y%Bo7M;rHYWHz%r$$Ya$E05`ZM+=#`l<)a@cgh0fL$-SKGN{0@D<5({0|23aM%s%yX)rt z?0<8gaLnNSTqIZPP_L6{1k4>ZUb+Dw$K1Y^@l+u+PxxR@&H5h1KBlK~lxeVqUGP8i z-}igIbdk#MxL8JSCUP0|P&H!nh2uJ6B&gZJ^$`BO#Do^AFLmPe-=_atmrM?xXP{xx z)BeqLe_a_COn*b*#~}Z-E0NX6_3{O``EZoIM$0=HR_rh_aV4|lyu0bx(~T5t8#BP0 zAIw$@f`)SxTLL!$pf`woiuaT1Uv&Up9T+e`rK=%;8;C?ZvPlR?cz~p-4WaVyT$Npf z*%9hul0I?+aLN(X$T(p^(MzNd zCnn!1Lj2s6w3E)eb2!NT1V4fTZnzzoI5;k=bA}TpnesF&&_K$+q0loU|I5~yC`XPX zF;wCqk)@;L|Nq%h0>~uo>E4ZwiP`OTm0cq903P`I*|)ZkEI4Ziqel53TnZi(00B1K zgV+9y2^pR}=WMvO7n{u}txBc4SvgIMt#TfuF1+3TTg)jEt1_&M7w`7#IUc%~xecCY z=d$_vuUH=VYAixKuqB}E{uFQ^v2}AN?Ky>Yv9bXqFams3t%H;HcF7r+Vd5A6eC)qR zW$0LO*EGTllTI1y{u_@V9~PkMI48s49mnFpgvI*eA2WgI0dSGgkK20i5xHp2#KGdT zSD;nTrpq>KiNV4au(p*=*@dcNWeaWDgZzx-z=)!{`@QdTW~T7hq{LXvo4t=x^|V?c zx?EKMYv9l6zMBF4UyBpSbYM;hNx6aw0QjGak&{Zy?Ra4@!^uw2zxgUOx5#PR`@e5zl`aX+AB8x-o~R+)yJgz9KwD)~+zy4;dnm?=#y* zsoD}FzV#Dx2o^W&3(OY4M?VNMcQ5Og(U3jdv0dO3%`>VaL5H9q=N#c7=n0-L5;i11 zoah|f{|^7I)VR_Iln4&%j-v8qn7Rdk1gMWP4tn2zz7O7KEz8yEhCTIga)Zt$z^yxR znafENZk`x~YbW-x$8U2U?=h{$oy*Oe_I*&e#Ft8HgdkG&gvFu?0Lt~a;)6<2$guZ6 za79u?j@OIF|8s1eEr6X5X3l*pq4#rSGY?HIE0L(~B&g-PhYnZ{Vdx_|mC+&wPH#3e zj=u?nx6Uur^NM{Z)Cz4ZHdWTSG@38W^0qT%nptxiJNd!~&Nm`8Z47|LwFBn!z_sCn zjR~{CS{D-G7e={3f7npffhchuocR%iT72v4AaS_j31c_t(05F}snB>iU zoyD~}cxQQ1^s$nML0QYa0sX!e`}dv!x1Rv-Z(G62A4LsFqwmF;(ZrP+hs;Tjg93%i zSO}c1r*|jx$?fGfrx496!Vni#YR@T2wBMmJgH$z@2)cONOsW>D-Abwe^92--w#nD7 zKCf8r8=g0#Tdj-aBGrrCDZ2ss*enLo1>b&>ULDmR7hvX4m9*ze==bwGB@lX`i#q^v zM~zU1z`tF2$Mz{@HWp?T3qg@43s8T9Ts=NYHl;~GfpK3sjqLejAL!klsM+q%>JY3v z@OBf6rnM=`FD`uPdOewHBy;0}2I{9VjuEF&Uh%dV#+aJ&wwiFJ!SHE19-LMykX2)au1)6yiR`J#Q}hIAoPa*!ZGVn`Ggrov=(3{X9WwUJ&6!RF&+;i^J~~f zwP?CtbV|JcyJ@NrD}bEAs%pCsrM!^k!zpX8F`Bb;pwUb#72Gk8yz~$pejs35pz8ml z6X5gt9G_$UH7SW9>Zw#HPtc<7A8U6Lg(3JY^PeO$uoexY(-_3R^DO~1uzU-ER!IK_ z`P9QcAxEbpomWkh<*CrFftQCacFG4WQk9L-GFEc zmGS!i6lx9Li--(h-F#Q>nzLkW@WMc7x9%;Z>^;Ujy~QUE`ZcNkZRly)J4w0kwjeZO zH=~AEPWR~!{(9MuNMTe3KacB$5ka)CHXQgW;)qzV#DLI@5jwUDKm_Z0H`0GYh!i$1( zGNaX7n6BI687Qh57x@zKy)hpM#XA;0ltOjy*C$CynGt)OtPcgGVlJvEh<1E1ve00MkD`}|K;Zgl(_0o~UE+a-)OBY@7w3CeWoJGDzWeWGT5Z1v z!upfKROs?sb4TFZ$(|ZWve@&)NX&y8ypd34!sg=5SC;`TrQEe{|Dv=WZOA6o>N=32I3fzO*_zxu@W1|g9e z2$+k%ON%%kkJxMgQb4W0+>#XH^y*oZs1i3RG=fc;Vhf{}I*?<{cjvZg$tAKeOTDM3 zd>G)4?UyRv|J^aH`O}^6Ex_kE=1l;aX597WAFuH!Mv_qVv79z@=VUPC9c*9mGZz;} z=yZAwx~Z;fihWK?gf;c@{(eKdD~=Tg?Bhw6K%|kC5kbq$k~5GbF$LU|GKi_9_6ghV zDsBfU0=(o2cf6bO-U5!L`cbkz&?XTE^d3R|KIyh3wPs!1e%aje32#dtQk90j)(YH3 zN$|FjM=S)=yLVkv$@2w0E9_@V19+HGsGwgw_7;1Oe`ZQKp8OpG0tOqP*N~_&aeIzo zMDk{uRC<#u=WvgAf`20bw>m_`c@nuzCSo@?ARE<6qA=nl$9f0s)6N!lQduNhscDyv zm`l$&1IEvUBv1gFs!?b_1_|w7o(NMOdGkPVWpLmO$jz1O)9xM#rV{0sgqb`cCgdQZ zxJm@V1oEVW?=j-PpcAkqve;w7@6>p3OjF>0LQAnS+IoCrudAErgiC3Ay9i<`9>%NK zOJdXXD=K{OW@6m^%NaBk264aNTU`9xbO=mC1QNHaqeDB5Nz{L)#&ixv1uDhsCd|P% zc3emL8H2CgXEM-DtRJeM)3v?t^}Z3LS3+)Hh=q8<98ORGa3Y;B3Lo6~-GvoQEMT*9(-1Ci%<(NVe;}v2lTHUJ3=@I?GUim z!Qu(+>+EENDT_9%>rNEUH^r?YyW>gz5vYS!&EJR3^!-R*--K-`ezSV(}tIWbash!A2I*w1^+zgW9@GGXcMyX zEX`SNz4$DD001BWNklB1+} zb9nzo)lr~l^Ka(qfFDg9NeyMqb>9=1Bt%+0%(1ek(oNP`jH+ees2Tt17&^hL~{;y4a<{n z`>o=zY3gEeO6{#Ploij}!^Y%~FydJ$ZMaPWSs0A?zOm)`xuCGdv6wMJ z!KH3WOGO2i>GB82;X}5v(bOf^3~rqtl1w5W)#N zcnuzB!(EOC6%VF9L}z9%@&?i-PHQyIPOI)KddD3Fo*BJ6b1@^F<0QD1g4%7;{Y_Gy zV$uc0QDyg#(TmO)MvS8Ps(6*f*`E_p0d+5VhdTpal{Ew;9GLZ!hLFR z!RW5CE^n{Fgw0#uX9c5r+0A?pm+-nGknqi(JXV`5huJ+V$BhLzuTv zi3S1*$NZiMa#1Dlp|Y>GGoYLRvc(RKg`Ruh z&yxhGeKht>Q*~begtw);eBRdf_C9vZ@ZZbpS%~4i1~#+LLENa9kgp2)w23Q{Mv8Vg zLI@$fvmI=FU-o#u_pB)=Tk%Y+OXzFK_E3c5n}BGP3&-0Mwua`ZcrnsbvFU1m9KGi2 z_F^LF={m^W+&lb!0+;_>!V&LJ=9dsP%Z&%9Z0!?kqb&X<5cuj0Fw7|V5MMZ)9rW*J zD|Ei9!62xebUf|{J_0=Z`}sfq_Yd0;5A*KdW-B2^?$yQ2@ea)I;i(0uas;%+Gt@8V zf1D+FKv;E!a_cTxI$|AhIHns%unimODOy`?po(G^h3L<_2Kh(QKjo9D8ByNHHe!lA z6AX;ejS9ss1Hi~aUkAGc>tpK6h3rVgKH zj|2z>W#R+B+8uAApgrZt&^BD>!uH&BZy5d~EA&6Mu0%_26b522Z5SWp{Qu7`swxRO zo4kFQ>}1l1+kjN6;}37_TRPwuz432og~bITD#*b=0x;;Mfb|5_3v39-g7d9?J(w6= zTJhuvkDQkOC9|z($%CRuGCrVVg*pN>62^0S4ay!R#oeT5)7vlDI6?a<8`(6LRBj-j z9qb?^fUtB3+=QmdIsnr~;W$Qc0;BCax-M+pw^?Xn`=Wc3!69~e3?phVUWwo@V0>4V z*2rN94-X7-fN*~b4ctGldWaZ-pBcKoyRUt~fB>^|WWvJQA4LY`4GPl}zU$r=iDiLP zQe6(-P>QM+MwdwQ5EylWm}15~(6@@p28ZASVMI9Z4|;=>97JuE3_RU1ip@L8lB?94b4(IEl@UJl8X9)JbNchwhxa84k0>HySa<&kz zzN{H?j+|r-|3eHw7;Jvv0vM8xQo?DFO!Kn~LBBK78-Qu%8LR1EZElBaclgF>JB!5i zyC)Kh`ru~B?D(qmTqfnoAY;g8K;|heEPTY&m%Nzo3)(Jt#KpMBCwDpS2;h(rCbrLv z5#KNNWxC=8hl$iMBUkZh&iIg+Uf#-|v*lh2@Xsvj&&d)#zj}kE_J3k{z*ScL%&Jj| zgherSG@i#q_IEeznv$gGL*_5rAK?Do-FNuwXU(AR!pYL=LobAjf)W-$PAm3_gI51c zGpWHyBE4`Ar%|^XmKYK&(MpQbBJB#Sy3_T=4WJ3lSg@z8RG#1kh#0Tn3lizWl;Tmy78CgL-mQX{74}C)v$*puiGbkn{&`JQ1|6Viu$m!KckoKX6+yXsP z^ySLY4uUzM6#~WDRGzZ%K4-^lOV*BW52|()Bo}A=hGr=44e$fqA=8=noL*;RBsX$h zUDubxG@~oFr(mfnY2Abt8H~z?Xlr)Wwy$j)n;aUQAVD>|@F+zltL+p8jNuKOY1;r^ z+5bg`krgT3Cp|&r?ImUy_Z|45NAiVMG1T~ycPiz#F>z!(a1NcJ6bhbS%!<>!k#?nX zGo*La9d~isTU{n9>bs9F*Zu42zx|PK=2aXA_?orF$_jMgv()zIcXQw?FcNw^hp+CV zFr9a~$00XO0KW`3AJ7x88l>d&-@nGWo!d2+{ug{n8S<}9Vvek7i20Pjk;WvjR+$EGXD7#cpv2At287{YJYHzL|(22m_(#I!+_ZiSsQ-IBM>8NP2MowJR+|gKHF8pQR(1ipR0Pei=HSyPwxf=j#z5BpVK$<6_TV8ACl4y!9vIbR$%hCQ(Xu*8AWjWXom zX^|`%cq`qdj@(Etek`RhsL_Z($e=JoAy10!{U}il>@Mz(@gk?+bO;~^KkTYNRD&ZJ zs$Rh1FPdMT^1uPf5CltxV}avF;LRbC0P!=^2Imd?ggwoTngQ|x*4Dp&ewY5@CLf6c z^g@I(ag7M`W)XPx?%?(W!y+P2#9mApBqvS^(&_21$NoRc@In=>d=*s;dHc=2-05orUG$Xs@V=6T$PUQcf2-M`_-e?qtr zO@I!}NfW4zVV^VuHNjcm0Y%tHX(I03H-H_sAe?AXfn1~x2I;6L<@1hrc)K$=mYwee zyOtYiDmMB%PsM%oW;Wo0(*AMIE-Uk#VBhDnng+)DFM1^D?Z&6uj))&%n+$2B!lRyL z7x5<&t`D96|6j}b#WOPWp~lJoy%~YlbeaJ8l2h*`RD>w$r4S@Y6EF85e-shExQsb5 zkzir443r93k~^`RYhm6gCrAzGY~9&$G1jN|&Cb)iyMfc?F97&srzdu$115-IXb4IO zL)}lH?twGUKzP>IWVWZo1mc2jGGm>S#(U5a5M40yie(Ul181_DLf7%=b>Rz&6|Yk&=60VGt5B?M=HUV>HAW;jLZb1k%K5hzfNGJ{g4eIW0o z*P?orn1<(ozRH#;&tfKWCV2L5VEmI|hepPRA$B3MiGmOKw$i*eyLPEVKw!{@Nh}V+ zoHjf>5*zTYN?)R0z0tY;dvjJ2W+68-%STf%3YgdJat=Cj z>62Ij6b$|hTky3G&at9FVjLiE%p?bvs`JVYTDtVv9M6`}HLK`lnJpBYMJRlJtz1$E zFLdwEDY(9aO6z7XA}~5qhTFA1-qyzho>6pkTfP+e{j2<65Bs$(ITxYQslbdb3lewJ zt5vpRJj+88tW-TpBlfn3Nhwv+&$I`3c_5{Kl{zP=vBx(3=dL#Bu7vN|$8TMc!KT&~ zR0}^7?JhJu?J*<)g}-1ovFsf*1Ug3w;qnksc#Is_!|>!qZY>o-V9r`&Z-r|Ej4xKd zEq6}%IM+iuI4T7-_Tc{`F2F^C&=L|f!v?S=$$`NedgUx&PnMZUXvZaiEEj*}tvE|K zGNm087XIBOr`E`;!Z^mMdNFXf+qiaW>X|OyJPy-J?y;;lD*eDsXjbzSY-zu^2ryaT z@B<^04MrJ}$qW`VDhMQa*l&idAj(IWs}Fl+$GbOBoHqof5tWfy0Ur~rE*Al#1jq^P zd?-8_Sh&Hw2p|OG5{fJl@h+{lqyC_jHl2yWGT84}2`;CxxDA%GXN1GG;$zf#_r&`= z|2t}f;lFDAPp`9=1^Aa@c&60gB|KGby^ct7=1)kXepeiyh3$8$8u^(z!)0&!Iin8I zD;>2!4HJU%i@Y$Njrk%KoF`Cx_A3%Y6pAJk@*$;=rk;yuO8tbJIMDxa0Axo+e`Awm zj!w%Ci_Q6&xP`}|j8biUeG?JiefL1a=g9?gjOy}uCe9_sfbbr69swZfe0UHs3*yBwiNZTp`JJRg#s+}tJ^Ty~W;1UjKEUM!lL6x#%>ZBob`?HA0hQSP0Pb*+ zh*b$qn)z|k!a4^9M=~4YrZBTEv*wcH8^&{*oH!;RB2z44i3)s=G)-hC1m#_cG!GRU zna)F`CVLTO$AohetGf(GTB@b&jYR~To4U~dD5(1`0e=31-v9c)00@!xg@hd}y;?mZ zL;bVDf*n~W#Pj(k_x!Kq|M6ev|8$1oS>z>1dD~q4^EWsWUwS#$rThhupA;FS;$W{# z1&WxHy}p0IkYuIqR)Ib$bn}3aUnnf$-c0t@V;G*{j@+HXC5IPpl>EzzcM5Sr|uzQHziOAVmKk|~ zNdMNRTy({V;9q72Dqzr>7%K>hP;qPFR-I{&G2xwjv8zxN=5RUX4w|{@;W#UW_h7{G*}y>_x`YvZhnm@86I^6dPeJ;H#fzAAdIi(SB&pSs9C` z6BEX_Tdt1;Pn%^>sL$r*xa6@5BLsJv7%w!Bk70}0!D%Rd?XDyUq~KyNApND7)odZU zamF_UV0LRjN6EQ)V*&c1{g6uysL3?>Y2*4}W7kY5wD-^$r{Z#jNvJ+L51>L?G28Tw zjjQ4HiCf8g+mHa^0Jbw&^?yM2gV{dBJvQ32Gn9+p9K>M^Y!Sm49U8~>zB|?n@`G;D z0^}veX2RCJ{*)+AP*80nEI`hnn0i|liKhD~=!)St?R(i<7Z20XXJkwd(O;n;CSRBD z4oW7*u)ymRb{pe!KvXM54ZuFgwn3YZ)~FbGfPnPFh`U@~8M}eK)b}?@Fl?BeXnk4I z9Z--YLgd4#(x0<=eZ05ZPRe~E}j1S%nzk~ zfl>LMe;|$v{@`1HZvy|G2CiTJW9v$k+|+@f4i3Qr_Wu9RhCW8f-qcIIq>|mW!AP3v z>ErPtd#FOo6gC{l9>P?9G>w=4kWA9(L|xE(qgL2@&`OUNUoJb^A2t-4-T%wF#1j^o z9*4xWmTDH#{jpea_D0KjmPl_THbjL@e#^xsQZ>B+@acJ!1}7pGY$4$$F&G@HJ<|@*Swff=l1ul7O4*s?C+B1I z5hV^N(IBuyH42muXMy2ZSRPYiiy&qJL&IkB+}x9Bj>vu~G!vsClFswY%6JklGRYzX zQN-(85y+ZR6yl)l>{$W8Au%z{5L}1Tw7{2{4II<~t1Ksdnc;N^9}qa4mW^l%5kDlm zU;|iX-I1&!!uF~}a60+J9cj&+0TyPhugTR5c8J_W%Ier*F-9nhAeuiU`Z9Rl!|JYGJ-@t!5faUWK%lG;pSWILUq|F*03hi-M zQkaiU$CDy214W8*B3|)HKD``nW-~KY01hF$#Gx|WabH{8u4wQbcSOwke)v~;$m@p+ zLkL}xK*jF*tHijeM`jfJ(AE#jdL1E!o4kc*0FHImuBP8?NfFz0zAcI#C+=N&YJv)U z3Kp09-~HPuLBN}*>YEDUq~A|b{hT_^=>iZz6b53}XxWi?oYghJwUoHz{ST*HIjZu} zHQ1v^jo$MlcPa;<3-sGc4*<6XKYQ<(2ZYg8CFPbF9p`S)AQ#4eR=T3l&yeb0${Ftq z%#J}|LOWr`(oT))!8)RsKvGyIa|AaFoC~=5#WEyKUJUfvVvsk#NS0)KKn?lHQbzre znn#0;3(^7D{1yk%DNBn^v07Tlh%RngYUj zPP-2KYjv}0OMbr%J-GM+gkQcSe)}KXZZHOO-w>eSy<+C51Sb0r5o4Rmw)}i+{Fkv0 z*as9~|Ngq~65ttCeo+<|q(Qyp zqnnOESqXBAMP7^SYI%Ia)dLkjyJ4K=_vu}>tPGKG`Z-1YTgjd)?LObZuoD)jX}Tf^ zK>Q(Uu*x??<{PXWc)FJALHz6YF0G|XCMM5=Qme00=Obmisq4o3x2OH-wu7#lTjYV! z2?U+H0@oR=>PV&R>){A*h0KzfX!o0=NEQQ3;q0YNj}1Bf6lM9(Er419FJ_2!5}VdTdt9|EBVyd%F#T&mts=AI1}n+Xt5i@5;Wkb}VwWo;3} zHqQfJus!D5P}`RC_l4awabDG3@E=?6tJ~^E?;q>Whwsl;3 z?hI&^a<>?;uz}S(<`}v(-pGx1gw_prymix3C710HLCw?Lt&ffijDg-$m>R3u!_Oj@ zVjhT@$Z-`RHnO!#_o{BWxl0Cc$Y+yP0|BWD035N}N)A(?K#L9FULNS>3zfG3#7{V0 zd5yo|>4krUqcp_y;LeEhd-gvF9?(ENg$8)#^sQM|&v0byANBPvCsT&tr#H!urz&Xt ziSG`tXk+9O(6lrf%GsxfW;>cn;OFR=rV0?}xEOsLX!z=F|^e8(0Q!?I5{YB=_gWyPNuTs1?*X6$0!>; zDXoYGEL37RCxUw#%pxN&ggVx3J72Ab0;vSRGl#)5ii(*5U^cn$I`=*Vc-Ghs7R|Hv zMz5d!0q91>pIvz$=+MXTY`finxsSo{=a?)r9H#wI0$d+MfT0ffzzIeqa`~83JT3B+MNbZDBPZIrlxldl*si7qNfPR*;B+eZ|d6KQM!7*lf^ zj`}zYyW-d%l)v}-I_daxFU*%be|T2YM-)9kML}?){e&Mdzf=0U)xo1E5P%laGK_H5 z>tx4KJiAUZ5veN+Z z+_t4e{^XieC~!I@e|)nEcmomvOwk7OAB`?+cnv4d?_5a8V-cVs%Xd*N$$lz&eZ~LW z&mF@X!y&0T5@JVR#zKgV8zEeoy;nzWWCAv z$6-<;0!EUi&%LJt@Zyg1AK4rJi~Y;%>o0Kc_1`y;J@A7?RY2J39M>@#aKg8@m-|tA z40FM;`XAQ+-?tET!~%9xa21A718e}RO%Dx9Ze1Y=8?epJp{ylYp*;mal=WRX+^t7U z5jqq#=E5d41mSMbQ(mTUlA4^skk?Q}3;h)3LW~f?s?_=?y9`VCDqSF6g~V zQv=k1CmXP76~3iv z3AA0(xDCiMO>+c6e2P&d_CZ{LJw=k&N~)1NB*iSR<^3XJ!X3q)B*10dWf9UbBPg$S zA<)LDyx&b|JBikGxYO~+h#qrZ?E*Ni{cj%5&;smxEU^DkbM_Geh!rgp&BfzJ%U|rL zJB0_q*gyP-1YiVU|4R#u_hT93)v3!vVW0)u$h5&43j^keD{gV)|E8b(-rIJ>as-t%S#wQVN`|D`aCRPTylr2JPSzOc<~IU_5ML za^{nAYZg2Kb@u^HQgC)e5q~H)IhYpVx;d91`H6*#vyn+*dSTPTyiR6-Y_1&N;TOf^ z#1MfqQPRB)kld7{jS_J9%FboWa`UQIr4J-SVlit;x`d*XRdESo5zFZD^}A-1Gw^|B z^;(|q2q8=@EU1D_Ax{d|lxjwg(Ayujqp}iaKAv2kp~oI@zkQE+U?B1PcLDA%-G6%j z(8qT_W5#YL&s|}^cmEpZ{`=1->2GZPhd=zE7QA$1q96ZbtkKVPu))JNG>5^q^TX#! z!FFjgTHkp+zJ<7Lbqgq9%Ll|hZ3Fm+UEp5IaA8Tqh*SK&V}7QfN;((+PauTELi#xH z`hozsZ%|3(5SD8zMeL4LZ2?v+TD=SI`{9E*55Vmb=Kt9b#@2J_Y)RP|7508tX>x)m zlO+8?f9~`U5AV3f@i#@%UlpF2FIb#kEcb`vQGB?#-AYU{#mQLXwcT2M7U zuqtgJjq$=$&#@1!pd34CkSXs$S?w1lE)^5>NaLyD^G#YXvJ=;IU->T#gP?FcGkgCt ziXISw#8J8zR2JkPBI=?IpsvLkN6!D`Tjze3DS}pYM0+HlpWH9+R|9vqIYXFhoF;9R zi&(TmQ;S3Ei7Q>3c;mmnYuLDOBQwiMLJmQv@*EA0Z&w((zKsBHN97$)AIyhs{&4n^ z!gd)vzN4exqZ{xl|0@|9y?_VI(9iJ@ynXc+fVAA@^S~co`ET{#A;!-!;3oj^(U?4D zrq@;TG&dg66XQiglgruvggQR_QK!g938V5rO#Hs#KQ^_gH&d~*%C|4P)|8(*hZvG0 z#vroel;4I=iK1v#4^jj?zQqoNfjfK+Ep7A2NhFn(*5Me<)7Apo8{$x2|C$wJ5h9Jo z$=|>OY*1el>-H6{f3yn+1p$x%zw8vVM;&OA@s{OAgrrpW(k_gxaRrwZ2ziyghWy_M z2tcX7o?bo8-MJ)wT4)$BkUnF_Epyxnq;|=FeuL41acU8Xn7;lcxW+08?t__w$Yd=f z5wtfa7HXxbTYAv}h4b}Vv#3TI0=60yUM(?2FRdTVoyg~gXipFXLjOycq}R-M{m zmPFc%v`MWbc`2`K;lMrf8Ye2n0t|k~gJs zS?c1h*513;?92KNZk&tH`;O`DoeuChkN+yi_x+UOf)BX4|LjL>y zyoz6IA2)-aAs67!+Fw59i%jesBMrL#R<^tMU6&|-QKInNvue8?d4PLE9EL`=001BW zNkltNfhAZ9@powx+-iZaw~%pU_T}SaM+aPEQVKEo_D~cnR8Q^D@yxpDrN~h zi}u<~xJQf7RAJj|TaROMqD}X*>2a88jra^P-k8-TL!a$#q!SmCphA~1_RG@&>Z(5s zyo;_W@d)3XkB4D6It&dVxL4IJD=SSBft*AYgbNDIJ_?8Zl2X_m7#LiM5I?pAG*@a- zdvKnAqSGiZfT7Yo(lI$Xj8*AtvKzwICt?RAT`R_dL_tbd9=s}MyzkSI>IxOrTc}T3 zQ3Yur|0C>7l-x#=7+MEO@h1KMKf6o-nN^f}cRdjk(LNMyS**$fcsPK2vVp5!A;CmC z2%+QwfldcjsXdc-F)#qj%y2Q97qMGF?#b7Ep}<{V>%Fbp39Mf``~CpnJP+l+J%|Hi zw4AJc?!f_nZ~fj^{<`&F`zYY64Vb>ni%u@t_OCz#r+mo?bX|Px7GTyGOg**&VAq6i zn&RAgUSXgXs9N99P{!RtpBP~u0q(9RBIO0?vrE{FpU3~QT$=(&yhIAs;h+JFVf$NA zDQDF0s56P#q~X+raK{Huc22pDr(#X8-dPm9uazpZhOvOlm?6VBYagZqd3kofREs3f z#Uy7(u183Fz_fyZn7F!BGjBC82+%UTw7M=)Ssa4{B-#*=61)HOcfdpNyyle`)Gug| zMG}skzg`fi!V1aTpL>NHBNiejfmkoV?Sh z7+>12TFLGiAjw7sl=)e9GK|8QEJ9?6wB?%#YtryK@GH-7d9i-eia{ih&vlnB_{heC z4G2iAihAt7pUfxj z^y(4dkCf+S31808e$Uv4p-ygily6A0zVU?-)MGDBxXX+yo_;rEX*58~he`bO?~dR6 zJh@Bgh(|3B)FFcQfwCKLtKqZ>8`Q(r5vXOPh zg_Ut6K>dRr0JA|fpIC4uVt0z*`6V+fToVI46+?@>pM}8DE*+nDd(4GJbWSGf5IcU- z0e+rzZY-HUx)A4%ri-Xyw+dCl|1B~+sba^OIC~fwlmQ>Rn7Ic46^)_Fpr_PDJqcgOq zb6Jf&+Dkbw(?scGo698TG1a?p9P#AKQu0_KbceEvA*={KD22gp78k&?62p147Scmr zWR7BIV(#rL7fb4HymqQH|jNrnxB{{da16Btl8o0gHuA&Ns z37XY?@ByI2?UbLM62p#z)cI?3;kW7g+W$nW0M=i>Q0o_@2Oc$uBS;HAL<(#67AL;` z{i78JZB@Dcq>ucrC4*8rQ3f0lrSm;A@fQWVFlkSFrm3Be=5$W(r>7c4E755JtY@;) zOPh^hP)@kh*C_|agCJZhPn%tTdK{kH`T5uj@joigIBeaTe*5-c&G)}c?pF2nw5`tc zj6x1Xt{ex|(5{=a1z(VQW0{|K#XQhT0e1g(C;$OwD}m?FV9IasY*0TdX!}VaT3HSn zGzQiJ9N=u)2VW*eCF;rUY8k-_r$fb16rbo^!h^)p`yaoPo08(=DAW+v#LQuGQHOME z{>{oJ8wV8X1N-DZPuih)#5C){0TmdNI@@UCv=J1=Y!D1nCeavRW1c!Tw9jlMigN-g z`k)F(hlcWrOGVWd`udxd8)l<#b|GP1&i%d%nJ>UK<^UsHJNT)Rl)&lB{H@jAaUE~174MD( z&HbjWAL4K1g>z7LdW?oxp)FT*+Fr)Lm;W!0fTmRZdl&eQBkItAZ4XK1L#|XH*^!8a z8?w0u-sYlvQ$)pdg8d~a)J7v-@Ej+y!Wa%_x*~4&s^GO&$J@t->h83-w}9?JJ10C3 zcz|qrXq=ar9xCXXBR2Ex!_K22QdJV4HtizGfJehi3kvweb(=j3Q0&80cJSI}T8<5_ z;0**WA6@-ZJ{$_sO9!mQoB`Urjt>nTX+UM+N~$S&1>o#UNtf8~0^P-{U$g-0FZ31Y zd?m|UV1)_u3?W%+HmHSc0nhD3^k>#|vMP;X!3}9+No+rC&sPaOz<;D5e!%)a00cmI z`lrJ4pPcQ5p5@m0V22AIRM+g zmjFu_mx?0L+~|vjdV@+EoZ&P!QEQ>$=ivP!TA{MI#s%OcO{7l!--7`0F}8Ui=UfQA zeSUe`+P-gn-}P-ju)Uh{t*r<85x$QBLi}s|`;q^3Q;6^g_ll+I*B(5* zf(t{6cxnW?%ycA8Bc^{N#3OtcLc7u zo~Mri-Qvb4-d2Gy0@itmFjyyJsGP-zj(xZ_yrx>>0HJ=6LYX2QFLCz|ot=H4Kb)JT z%4{LK}x|hv3JN2r}h`dOEc0`jnkaytY`^=!q>=UiVQ0sofHmIznF*v2 zK5^=z?~FqU38Tnw7()Cgp?C<;w58T!--jUN3mYUxBMOfV#vE%DaL8qBi!Zgc)7p2B zz@v=?;uCwKv^6`y3R=55zn}W`mB4Eu7rzwMzaI&4342_p`hls%ivMi<*T2q!pOv8W z2w%XW?VVt>>u75S0A_e2*89`AFBE9<`em&j6L_zY-T_F>55PDfZ=@!s24i8k53!Mv zn7!_r`oBP^G9BRxfGV$-8O#U_+zhP@={QdyY3TdR(o0kf)bwq$EI z49hGc^T?2tg8p6X+NTxJ666H`O;Ve2<^0jQKQ>ZO0AMD71Y@h-3+=tAL7b;Ykx^=QP^n#eG)fGejGFX&>^q?@5lDL2n+n#XKMu%ywPIh(c1ZVnO2)crF|q0}HBvJCjONJ)j=bx)iZsx{ER7 zCi2Gi)o}hG2k@VgL9n($PB2b@Lw6=?T&}ppp%Zq?Q~;E|n5F%bRSTG8jSFlaYiUS1 zE5s9z(tR-w3g0eI4IUphNT~GoV9{w@4rYVn`JBbtf_M&Y8fqK{UkGUX5N5n00I5wI zn263yWcyoFxu`4?(t}cENyS)Jb{=LhGIq&A%z)F!pu@vFRbk0I0dBAp?~ikYZJmj4 z1oaw`)E?xc$i%8Z>6V7BC)P?2E{1BDA7-+ZT{G!Xpd+;-o>3bWrAbwNxxKr@bswDx zFnOxis?A?7=l|mhZY_9Q2Qs8L&Wtxvga?4G|40xsBkg=PuR-Gv{m)9^dmHdKq;PxX z5qix*=fi$>Nkz64y^d=7;N&%`la&1(+ciKrr>`~u&;Krx=;>~xGiWw6UUAp3L=>py zeuT@d;s1gP1xM%1_!o2zo<7a!_aQ*jGflnL&x5q1PZ`SILPXUP3bs(Pfr}3@F2-*t zxG%7?EE)qmZxDd5Ll`j3;;{RI3>b@P?8pmKxNuPu!fW4!{XQEQ)aw5Nm`q4x7vY*Hhsunwf{AE^9$_h`lT)6?PU? zCM3;Y1;9;CGFN+yF(A7j1H^%ufYk@w*|V>y!hPXIxjO(bTxsj1BJ;Iv%82+RD-?`H zW|66dQGkp;B@qzAoESJRDa(aqA`jxlH*c2`( zQyEB!BoL?gO)=r$`YV6?y?WR89!_TBPRRRn0QkN^t{r3a%)2uPI{#n;5&ZW)piKk+ z3#GKhmZ@QPrl%xN=d=gc1KgCF=2j@V6j>!Geu|G&eiHP#`ypSsX@cU>yBGq zvJ5dqMo(l_O)RY&+JuxT3XPdga2%bn^T;5Qcqz0MV%#JL6vl%kM$E(2Os25x4D{=iy4c=kP{27-{j2-#;gV;$^#J06qV^v-xxvo&fo8 z68~)PtM*%vv;DAn^!#;hp*J|t3uYGQE8xMvg?12uUl7^54ro)yRke!K2)={N{=?U~ zXvb{>F;pTciF(Wb|FhKq7(RA4&1sLDG6BM6st6=S2kAVL=@npgwi{0r>w%Kjl=N&}G{Xj@=@U>iA%w6$db#;|d416}C>sG3izeS;6cfM1J}Bxmj6$w9`-9SJA2 z^rL8b%W73X^wYvPO|p1eecC}RAWVqT_L>rKEQ#p&Jpb+mwp{{I;d*4g5z`Zi-T+%L z2rs?}^r1x@9nH4m^E<`U$94Xnkx}iAUqSC8wgF=iv^n95!SM%LMKjU_gQA?|6NqN{ z&GEFnJ2i`Nk54r)9lL^5g4oxP3W9>EK*hSkCG<2#pLYzO+P}6D zFY=tLo_~)Sr8fWAyP~1C0zdkIdI40;@cxg?z~TbB%BWs+G7l>}l>8AL&A|;E%9E*( zK0PV$n)|Y%Z3Lj7bfzjx00e{x=)cO$l2pkFi^hmlgijXYe}q|H@->wSjL)8sXjCR? zV&w3dm$LT-B*$Pa7nMpH2PRqLfgSK#S6E&cIdt=hn8$y3FzD$KVvGsJR4YIlnu70J(TOJB1O7|T?g3h02&{}N zem()pNa!mDT8qn%Kc=iaOkiXgF>+nXzRc6zGo(v|iz+6$9#tD32a8m-?|d$2I|&CD z5Q}K?lI&x?_esX);XVEN&SWe$+*tLr2kQZP+o;Ub1gp?~c(AVddmrCS;qmnS*aB?d zetrEXHe^+q$7z{d1Y1iS*tY%uJAi@>X={cyK6LI%fZ0_%;`!k-P1yDu$wyJ)(%Uz& zhPEA;9G^~tdZ{h0#$t3-!%?$)JUr&gqMn$-en42jrohodajmh>oGc}zcMh@wkuV%% zVHdlI$g^EMk;+3K7Dw=RG*tv#H_;WK(6q95k@eA+&T-S z$UyjZ987Kl631iIqUds2q->n{+YM?t@CS~_=CIG+s(iNoe$kl(U_h)9NBB6l&utaC zb4K64*K?xI@mqDs3k6UZ#hJ61=bx9r0}ZeY0k&!x8GoRhvaHH3*Emt32$g{5Aj$Wn zzTZH>w9P&wg}>;&%+;o)T%GDl{YYl8@cWfN9~KSI9jD@Qw|4=34kIvZ{G`U&s^fp# ztt|L`0QY9U*KGmzx*7bE=V(k=Cg@eGvlZe%uP^w&g<#hs6g%MjZ3f=U{pMSU3tRvs zm9P1&)U!6H_GQ23)>UY72*Q(RseE z$`7OhS_=$c%i>J}*IHH}V=^}ifgxHrK;TjSyTO417~`#OVOXBG=6EDn22f0mLq2CQq>2HHtJqXQ9WZU>0!VDj9|EgKT*~HxdSkKT4cYCM_~Y z7xKG%k3Kaf*&z%r<(eXB-*-9CJ!S{_DAqSHVPNId*z{0qlSEu&?ug_#^swCeRlgmT z@6p?~x6db3&dv`|gLRuy6MFZ(-oxb}B!^3O+~xSL@{2ce#0T zngIqap=A|pSQZHv>FN40>m#BB*o%}&#>2S;m0gx@BYQTTfqzwvdX<&4l+I;Q#S#3*zSd zpPYx2op+LLG0=dZRu+bYQ8Zz!(XIQikszjcc2z7e9xM|7zP}N0P5?*@lBYCGo>st1 z2P`i}^%2p%b4UfySc76+OC)$-=Fll1q{rMxlEBd&#r#mL@*?C)0TBrX-{g?)_Gx|d zFAD;gqyQ@}>i-e)Ao#28@Q?ieycZTT6bOv?u#7;?I>}0dVh9)`0*rVG4drZ)b6ih$ zL%6(Cqa0UL75$c*7Bv#`Fbm&SO};(|ZksL^RJ>CB!e#!IYl5zcYTTK}iH!hTfO-F^ z$lH7BM~4mQD}d(h)@F5C)66PhI`;0JTCvaf-mkae1!8-xUv=_bB2hKaY0e?FDeN+<#xg zfzA9f(%eRI%R^W=vQucUyYa-7Uq=AW2dDuq2a&0DJ|OcM%p)rkM_GCxnt-W|1s}KD zNH`PXD{|E)aV~`Vc2C;0WJJpE!YO)FP)iCpnyi=b&S(^1S^#P}SVW6JN)w9(^#Eu^EjZ_~cD&zZ7NMUS$|Uk*vpcRv-Xr z-$VqHN(7_O5T+6^J{_X=H7AxdON=H65+)Oaj&(&wl;HfN#)fFpovKV>8g9 zO!H!PLvhq+0aFf}8;Wa!7`ZnoLi`}h8CE9Y-ZM>Klt&pKgJnBy#u`y zikpE=07L$OKRTs$ruCOg02u(`F0keyXm@fmWo@Bc$Cjkb5>LwhcHUXCx&HfgoL1u7 zHM*x3^{70EJs{*$)t!wfJN2NH{T*8*Yt z_x6ZU4(Kiru}l*D(m0N*i~`+hXbJ#0obVg{_wSzWfzxVIp7pk2741P@lqE-6Cjwxw zIUikY&(pm`YB}SeV6*ZZpl?&*Aqk^D0bvFHwbw5JJ~>D;=018@UMRFb7c8zmj=vIt z01o15LFWvE?l9hB1C1W0XL8#20$5@S#iOd4gqeO3G2{#Yf`J~`Wz7Nt4w+XnJRw#y z7YFfJ!-IlQD4_d9D3s4X1N!S@CmYzE(n1qR3IhSuee7pW<{hi_!J5-jk#5vOMm@%C z&lU&4^~8~cB|F{#o}I(u<_N^DF%JRj!yEfUeAO6^@+<_OE-GcTw*j5aC&2cz_Y)5k zEVx3565ykdt1+yW*tZb>FHZxo{xS`gDO%UU7Hu=>&Tz7=y=F!u;vS9#Eh=4&=z1;Q zzJ06(%d>votLd*I!@k6TpIKgW9SY2I=P9g#AC)jP|1tCv0ctn{ zAAewqWzK0TmJpY4VQ0})fqHsa{L}m9xiRUtLegH4)l#=Ww7 zL^y@v6fz*g9sP=IjwO{ovD-hyl+_C9ZS^lb5hPkKQ7WFFQ1^-}SwZi|8J5XaX&HWZ zQnKb_F-J^QjJ91x#3EP@yzgmJW_3NW`*tRwms1+a9LB#J7Kr@4! zJRVGY&Vv|^W*%@|ehE)=4>#y?it47cOCHmJV5(cd20wN&H*n3TE`09#9o3XTL`(o! zK&QW6m9GIyaNB+v$&)O6HTxV3BgB|PL_7>Uk6x&q2;c`Et?v(UZ1Fl`o(@KfNTjf_ z84d(twAcc)cfg}w_yp}AYitH+;kk#m`^WvAAc|q?4~R0DsGx~(HmYzW4@f}Yk(ny;K6T%F zB{~Nc@+Ydl$f48x0t#njHiDtxu5|J}Cp;NE5Kej?h)rB5D(}UV=(&&pAjTp^_dH5} zWud7g6lhoJ`qOpu)BL~pV31~kP(b28aKZi|Supp_Lx=R~t$*K?u$EWy@qRkT$5f^c zmjr?DSEQbOVGwymx+$T?k#w#C1t%53qoarsuG;1gfvv#8%09f}ZG7&dZ;mI9B-d&s zMt7q5M86LHgR6y$j2os@c(K7_K&1FFtIK-}sEs)WIRBu}t_(2bHxYZsp}~dY#jVXF+C;5H z;cvuoNl(Jm4ZY$Qyn~bdS)j6~=s-v}yf8z?v$bH4?pJ*_%yrIe!q2Na~%HJ7zGV8aBm5yryag9`wL=du-X%!+S^xkb07*naRG(uP z2|`qdoO}J~o~~TngwrJ*_;M9r6UHe>XOUm@SRa=WSbNTac!f|245s2Y`7ZY2SQ3tQ zuc<@BxzLQ=K>oV6Nx?WanfGcwh?m|W1yWZ4_mLB1D#dR&>m+ZW&%r93IknN;QqxDZ zy&!gR0pM*vl7@Y=f-bX~g2NVCg;ca~AZG+8fplm~s*z8L#XcEq8J=vv*SY7t0*6RmPIQQ<~EFg5HP zUunpv3BcJ=0~SCUnDhWgfG*?_B2(uL%RI;eT#023*Z7Uo2UzDIYb!mYE|$JSO$?!p z=7-cNk|NSO7fs6b^rEJ;Hp6sD;TJ+ZF19x+6tVXN0Ky$Zde}hq(VVGflBG~$MzWBg zyTd6*!qICux!8ZJK*XDJE_qD;9sW6|;7mBT_l{_mryq)?qy%AzotB(V)zUyU+n zU280G&;-;5I9!52URb`B@PI{`7hAwZ>YjKwB1tY*hU-XMJI5#qUs@Css{10RVJs_{ zptu|dL}U#Vy6smg;2#yh{uS37GTx5`!2W#$+y)I zBzKK^WA^~n^_ZGgn77|q89b-yhnQ&p0U5f^|7cCHbAy`_5dW-?DV#QhOap9b3D~~q$+}tX4-_&m=&unXjd40nyVX8HClD}ILiI0k;hd4L?!3|2 z0${~K_}g0GH!On8>`VgY%_QAu5eV~On-LUgW)?Apae?7jpu&Ao%ujDF-})MWvSL>e z2_5q*$!v4v$PkmfwhaWA^ZHKe{OoSO3B>)7~LYGAjH0L|fT`&{I zjc@-gye|g>XlOLtOB6IKYEf3i<0Y(DR>U8Hh{=;d8VGHZNE{xJioE1QI?Kc;0j@0% zjb2bDEjdOEy$@_ownhnVpc`P-81N<9t(y>Zh*Eu3qBV5Uf zL6L#c!S2(qQG1U8Y!Q3YO|~zJ$fe%hyAl1~ox!co3EA%8zQ5u=w~xWYwtegx`_tb2 zb|1UTeZMgQP%gD*-ijT@m2}#|Z^BqFFnrw9hCJeH>6k$iwK~f%;Yx-W0B2X^*U-EX z`f|~mn`(v7xNJlJaB2P@UKlVBc(@>9OQeK)sci6Hqy(>$j5AY~UHC#KW{*SBhSE0+8(X>Qeamz*1%V9&!5fEI$_OXkHY5*1*w7t2JLC@oWUn~n% zHYH{BpiEiqK4nOz3e8SeOPrC+tX0T6 zqa!OxmO%U&ZC`COTa`W_q`OC@t9AY7UwO`O17QAxX6k$?)?m(Nj0HmpM3p}ed96cT z-8)KjCejUG{YC?P*Z|DY-}IO0zT@lM+jdI@_nVHVSL<{gz}9>Hlo#45|Go;1UJcmm z0QwsMSJ3{ETk@?_-usci^SgIrNl5dg(Ekc0_=7R}B{!P3-GfCQ(pWRH8-I*t9HKSv zNbf7g^D5w?bzg0cBLE0B;dUv`O>J&ijuDK~^jHnW#Ui914(*mTH6qX!xI8d1NIe12INj z1RFXkkTX3FRZ;1jhZ1g96brUSfPy0p89*$K0--3T%5qLD#Owmc(;%O@Dc*ySpQDUI zb`cB_M|XLQ849GFDFU*dyG6g-|A4rf;;oDB_-7W*>9H>B7yfXWN^CN>1-@`;t zeEyfF`{B@Q^%O67UD}!t%7`)Py3Kt8^CB9c62iGC)L^QHjaX1!vcMFPt?@#YA78_3 z_NCR!Vua9CdF9TU08a*#^B~x~_zXc#T)a}7*)a2{mqNk&%QG*!-aQdlW+;2(g>5)? zlTIU993=qfoRr4m{H3=LBnK7!^875pztxOzHQHD}J*+yh3Q;g`;^@>eyzD7}M|iU` zdS0`q3=4^aez@C|F0E)P0P4Xp$6k=jzNFhH8xRhXIKmHkaA)xk-~lAf`21hM{t;f8 z)c~su0zgDE(2$et6htYf>`sjccV7Vb%Ufh*;NpV<$R%Kbi%_skLUev85%NzlEGQE{ z%Y!9YfZi}gAhjk*XdexiAQ2FE0pI@T^k)YU&AwKJ|MO+t41W8lo44C${WIG8zE-@? z751NYfFJ2#+x_?Is*tNSe>#!m*=M1ie@s*G%s!$IzGt3S2D*d{cIK=~81O{E%U4=6 zdD@q>#+%O~xrX-_0(fIywI(ud&ik$ogxiX=Gg_K0W8V6KxZir#|ue2MXG;3 z8>Hz`55rI7TVudP?>Sw;+CH3L!0_lbqq2YDbB7`yAdDKb_CpIYHr^TrS_8)!7_)&i zU8EyWgNT`C-UjEyHIVi7tj3wv`Qqx4St1KmK1=AFR2i#4;xfQ%qtBUpVbl*3fSeF$k3Pqe=tbs)zW~b_=p7h1m*f9c93Q~@uP}twn-J4~ zT?erXp%WT0E7BgZr^xXWB$gziD{IoJ>yAU)YA8qzrmN!=hHwpY@9K2HK}*30)jW8F z9*=jjT%_`W!QZl1MkdvN=H2qk^>qDN0JI6fS?fOk26XPdNYGBAPnFL0d$PXWQ$?mb zRs36vynj=|fB6!cI-ogpdN6pzp+5#;Li&wn|3mf8plRxvDX0LR%orcBWDP7Zq*_#Ej1^axQ9`Pz3=@%i6P(IQT!_7+305<`)c7=<6M|A%NgAmfe+E z$OreADhx<2Cf0*H!c<%-P?UfYAQ#gT+1C`!9tcz_+V)fBMDqhGoVnurrE&W>eDcS+pEL9&<|2Kxs}p^3YaSg^&$SMjlGF)4xhUxKP_OI6QVx z&ZQ1DE`T+b0}i0oOY$_}PRVtAydGh5o2Kc1A-p<4{}bDD+wpC`F#X@VwU4#Jz3Tp> z*tmuRov>ir?$*RshirS3=LriW0z$|5eT>uH(|C_MYX8y?G~$;B4|pM{XIYfFz_seA zO$~2=u(Jfpjh{01b^EFXWexiWnXp6w!Ky#CXxis9!11(LM?RDDQt2 z5^L3m9*wHDOr@~;u!&e_qpYKM7UyRed$DxDQ>dvmN8O72F+Q)zLC^J9=ofN{4TQmj zPSC9q(j~Hv0O(JaBBlj|E>9PQ!vHe31twUsR`cs0<^K>bvuPf@IryM zklf#CAGie4%BP6$JwH+pIo>s})}z9Ln7grQn*L1W_~pv~IFP>-`TLh~aJr5EV-?qj z32gfpS>*HG?=p(_egt{f0dLX%ci;{Z00M(B*%fpJlkfY-M&iT&5Ei8?8kJlAiq0wx zSCIG^(5_XY|KgFpykN!Q5aID$1?TYPAj;Dc1b9?!tB_=B0vKKttu)RRQv^rGMnOj= z$vxk$ir{K&!E!Q~mbmMPrAl2?<@wRTM$1gpb;#-X_vWc!m7j&Qf;Tw1%vK5T_9P%{ z&~7|1k35E*b#>+)mUd(ZvN)DKIl%jmuyavz)P{nnkN^o|Y|sDy zZ0N@o!n2#LR3+J|WF8(%+(-9mVAdyk3D96n1r?Dp#myy&#E;r@08Ia2Pzt%BMMi9x zCUa%@s(qGf2llQpx&_V+$;Xae(ezd7~i`ON#q?4c8eML zGZg$!rNh47?veE?6w2VJ=VT(Ag)7{8=Z617AnifZ_;PrA}D)=l_#se$?O@(0G*re8N<4(iJMde z@{o&(#0)^L`<4HbxS_*GG2NhG$K(uaeA-zr;QHWhP{aFFT>xD9=u=Ppvlsd8Vnee% zIfThC#!pI{CdJK!C&G&4|C28Rdmi_1j2Ot8mI#ibj5CUQTG+xc{v}#mv%D?Xa60pg zHNQ{M!52*mx)Ior+b{?}ondjFj{8yj7n19bn2^V?hWC^#PUh>@@_&;%qgKBv`p4t8 zH`oUf$Y@8nWQe2Om_`Hq@fCm`wf=Zuv+7Y3uwU-|3rzGFKi4>KxB&-(nZzwX`z(>U zxNMGb(S1HICAz#?b3}9hOpE~6Os}*X3v9v&fCNBX(rhP^B-@A!6cb*F7sc^>CW110 zzEFmbn*fR+DE6p%QzQ>H}2W zb#mIbgb-%%z*?z(9QPG9dgx>(?K<%|2l2;cH37n!FchD2tUt6@V0?-tQRRj0=o(I0%g9 zs4e?Su*ZKb%d=|-`yg;})@2l{)B(RP2GCXC4iR6Edot+Xy99k?jj*oAjR3HYX2A7c z2gHQ!dhFjO`upR)L%3l9_n}GeNYlNq>GuBk4`rThdV_m+&?F6>f-f_|HMHo+1T6v} z`xU9nApqRpS%j@9NB)Ko>D^iUP50x=C#Q zQ)xkjMB7eoAN6lZbTFm%NtZt}vXJkEmBS~o;?G)OS)eolg@6(rkwekaT2?Pdz2<e
        gI>P#TI0^1USME9xZJnI0eqiBHw_g& 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
        2z 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 KMNUMnLSTZiicP@) literal 0 HcmV?d00001 diff --git a/dist/examples/NormalModel/LunarMapOG.png b/dist/examples/NormalModel/LunarMapOG.png new file mode 100644 index 0000000000000000000000000000000000000000..d47ba9c651b39fd8e66832b2a079499d51691b29 GIT binary patch literal 169007 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≷B}958nfFBC`KP8z8o_Av9>=ZD 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 BzRK+a~=w%chlnrxOIVJ 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%0AvQ&0c;;a}aG#l_ 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 P00000NkvXXu0mjfg~JxH literal 0 HcmV?d00001 diff --git a/dist/examples/NormalModel/LunarNormalMap.png b/dist/examples/NormalModel/LunarNormalMap.png new file mode 100644 index 0000000000000000000000000000000000000000..4f162feac2cf01335e9a48c694159c2d8318f726 GIT binary patch literal 488729 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 z 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

        Nfu$Z$3pvbhCLVsPpQTima^_$tlkq4Ru$@K$A8< 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 u5S7o^KE)>G!~tHTZ7Wavefront Object converted to AssemblyScript

        \ No newline at end of file diff --git a/dist/examples/Obj/index.html b/dist/examples/Obj/index.html new file mode 100644 index 0000000..5fc6894 --- /dev/null +++ b/dist/examples/Obj/index.html @@ -0,0 +1,66 @@ +Wavefront Object converted to AssemblyScript
        fps:
        \ No newline at end of file diff --git a/dist/examples/Quad/index.html b/dist/examples/Quad/index.html new file mode 100644 index 0000000..520306c --- /dev/null +++ b/dist/examples/Quad/index.html @@ -0,0 +1,54 @@ +Document
        \ No newline at end of file diff --git a/dist/examples/QuadFollowMouse/index.html b/dist/examples/QuadFollowMouse/index.html new file mode 100644 index 0000000..e40051d --- /dev/null +++ b/dist/examples/QuadFollowMouse/index.html @@ -0,0 +1,48 @@ +Document
        \ No newline at end of file diff --git a/examples/SimpleLighting/index.html b/dist/examples/SimpleLighting/index.html similarity index 73% rename from examples/SimpleLighting/index.html rename to dist/examples/SimpleLighting/index.html index 05806b6..8660391 100644 --- a/examples/SimpleLighting/index.html +++ b/dist/examples/SimpleLighting/index.html @@ -1,20 +1,4 @@ - - - - - - - Document - - - -
        fps:
        -
        - -
        - - - - \ No newline at end of file + })(); \ No newline at end of file diff --git a/dist/examples/TextureModel/RobotTexPixel.png b/dist/examples/TextureModel/RobotTexPixel.png new file mode 100644 index 0000000000000000000000000000000000000000..434c184319c663dc4aca5bb0e6d777e557780c63 GIT binary patch literal 2975 zcmcguYitx%6rNI$fGIBnibyg{F;Hc89y^bnk%gAsmKNArmPLxOggY~Lx+A+g!_0Jd zi>Rf6h?4kB3_(JW;3EbV z?sv}l?sv|;&$l!$t{Q*;cnrg;ni|7Vbno)6(Us_*nY6JF!^Zt;#9H0f$TC?qlRluC z3iM@@7W$51^A~0{j5jtXpVBBcjV8ay~nq%sQb*iKh z3m4$?voZomLKooKWFqCr*&va}mC>^|Oc8kA#9bF8>O6;dYorAanKs0EpFpY%7r;fy z#|Rwl7v|wC%}5j-pcp?%Gcqm6yoeWn1oCEUx*QER6n&w$AQ5+6OQxtyCgaQaeWu+` zF_MHZSc+vyWI;NeDHmkPlv7LYCNU$_ZlMG8TLX44Qo|ajWq(zyg3#JiMGxW|| zOan1GATt5kPv2yU^rit93~Q{ZvToW*fY>sUpdC_Hs-3{gYaoZrglQwkC_4YZ@upCy z#Wr;#fj&6V#f$K!`jEg#fTjh>XUT=7&wS!_$v9zfek=sUnOU;ROJYIKcTyQAZel-a`|0jpRjI z6u=CLQ#=^H4akk z5N!k09V7!;21>fp3IUAllYs)NzOD!9a(MCTbkXazG#%o@2>?g1RU#2@J0V6u=3-f0i^x=5ae z0VkKz5IPQdkL7b1dMTgeU<%c(jm~KwU)=vNI^&JA8dp0QcK1ErRe|l;c^?{_)v_#B z-_z4G?cN#Dn11l!!T$dKM;1gQ*r-VB4!iqufA*<<>@HmH+l^rr4>pDCV)1XUY>!On zrYCKwnR@oj<`dC34$ZkZ$`|O`zW>^kHJ?>yn`;*B-CO(BrnNoS)3bm3`E9drdN=Yk z?YrhDjy-+&!^tnqtgC(K#rJdDe(3siZ0@CZ_r)ik6DKZwFKkSB^|{qur@v8VJu|mw z&X$g2CylWOaCy=mE4}-bY+_HtvZ?sBkd4Ja@bz=lJ6VrObSdK8aUY&ROXycP#?)-f8xq01{Sni|h znd^7$-<5mzYz2n>S#|o-zScIpZ8?rVcB&P>T)Qv#eShUo7poc^{`__SoY^R6tf{^^ K{K2BN-G2e8EaU?K literal 0 HcmV?d00001 diff --git a/dist/examples/TextureModel/index.html b/dist/examples/TextureModel/index.html new file mode 100644 index 0000000..6fcc8f6 --- /dev/null +++ b/dist/examples/TextureModel/index.html @@ -0,0 +1,66 @@ +Wavefront Object converted to AssemblyScript
        fps:
        \ No newline at end of file diff --git a/dist/examples/TextureQuad/index.html b/dist/examples/TextureQuad/index.html new file mode 100644 index 0000000..e622224 --- /dev/null +++ b/dist/examples/TextureQuad/index.html @@ -0,0 +1,54 @@ +Document
        \ No newline at end of file diff --git a/dist/examples/TextureQuad/kaijunicorn.png b/dist/examples/TextureQuad/kaijunicorn.png new file mode 100644 index 0000000000000000000000000000000000000000..2825d1adb8ff6f160e2e8a198cc00625d45779c7 GIT binary patch literal 2256 zcmb_deQXnD7{9TBu!#-}(bd2}WY@d5>#_Fkyt}O( zDsF&LBOiWD0olePB40wbC=T7^Gin0FLC^$|KggoYAVCNrkf6->+O8SOSBRIp_Wk%h z&+~ge-sgR*qO5py_T$+If{gZ-c>M66gr6rX6aF$Ackl=@qC*VK)93k0SzeBsI6)2q zQ#`7`eFT{~E3R;SEzr>*s1YS6_GkA#3>5_@Hka{{KE(~fV#yK}R4yqC@JniWhk(s` z8l4$up@JyTIW!)PNE#b=VhO!092?67h9)3-trIIW45IUV6{uTQ0m_)HI8V`b)aEcz zR+_X}pF+(f7#DZ~L_icsx(2aS8mok5UDm?#ZB(bXZ!!Qw>+_{;+>%Q) znl_>7MfK2)R6uTt)&dO*ApAg+>r@^T)kB(jhBpf9RspBWYCx7FgNdpbq>P%O*J%D+ zQ4-{sHf@Li@NhbCVrJ4z;uL(T0L8GRnWZTl=8hzjP@gP_p@#oLZ7k_vY1>UuSTX{q zb9V&`JR6eLCgZI0mr|pMh$hN~<#^*5I5FPHKY$F9%i=8}aBm(Ytm^{0YJRbHNJIMj%)=wsGVp>LrIb`@2$D0__%e`>S|-57Cn`z0VxqtUt@hueOr?j8TR67DH*9G*{fhFZ1q(h=fGMzU2Cr9Ol}>M^<}YZ?zE2jP0yDiKJj|)>McZUedY|$uV)s& z{Mnwb3oUi~s-t literal 0 HcmV?d00001 diff --git a/dist/examples/TexturedCube/index.html b/dist/examples/TexturedCube/index.html new file mode 100644 index 0000000..24482cd --- /dev/null +++ b/dist/examples/TexturedCube/index.html @@ -0,0 +1,66 @@ +Document
        fps:
        \ No newline at end of file diff --git a/dist/examples/WarpSpeed/index.html b/dist/examples/WarpSpeed/index.html new file mode 100644 index 0000000..43cdf85 --- /dev/null +++ b/dist/examples/WarpSpeed/index.html @@ -0,0 +1,54 @@ +WebGL/AssemblyScript - Simple Lighting
        \ No newline at end of file diff --git a/examples/AnimationTexture/texture_animation.ts b/examples/AnimationTexture/texture_animation.ts deleted file mode 100644 index 9c819c2..0000000 --- a/examples/AnimationTexture/texture_animation.ts +++ /dev/null @@ -1,166 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com/wasm - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, uniform1i, - createTexture, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, - ImageData, createImage, imageReady, - pixelStorei, activeTexture, bindTexture, - texParameteri,texImage2D,TEXTURE0,TEXTURE_2D, - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, DEPTH_TEST, - enable, blendFunc, - TEXTURE_MIN_FILTER,TEXTURE_MAG_FILTER,NEAREST,RGB, - UNSIGNED_BYTE,UNPACK_FLIP_Y_WEBGL,UNPACK_PREMULTIPLY_ALPHA_WEBGL, -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision highp float; - - in vec2 position; - in vec2 tex_coord; - - out vec2 tc; - - void main() { - gl_Position = vec4(position, 0.0, 1.0); - tc = tex_coord; - } -`; -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - - in vec2 tc; - - uniform sampler2D sampler; - - out vec4 color; - - void main() { - color = texture( sampler, tc ); - } -`; - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - -// ImageData, createImage, imageReady, - var image_id: ImageData = createImage('kaijunicorn.png'); - var image_ready: bool = false; - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); - enableVertexAttribArray(gl, tex_coord_al); - - enable(gl, BLEND); - blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); - - let frame_num = 0; - // frame 44 x 198 - // x y u v - let frame_1: StaticArray = [-0.15,-0.2, 0.0, 0.01, - -0.15, 0.2, 0.0, 0.33, - 0.15,-0.2, 0.95, 0.01, - 0.15, 0.2, 0.95, 0.33,]; - - let frame_2: StaticArray = [-0.15,-0.2, 0.0, 0.33, - -0.15, 0.2, 0.0, 0.66, - 0.15,-0.2, 0.95, 0.33, - 0.15, 0.2, 0.95, 0.66,]; - - let frame_3: StaticArray = [-0.15,-0.2, 0.0, 0.66, - -0.15, 0.2, 0.0, 0.999, - 0.15,-0.2, 0.95, 0.66, - 0.15, 0.2, 0.95, 0.999,]; - - - let texture = createTexture(gl); - let sampler = getUniformLocation( gl, program, 'sampler' ); - let time_left:i32 = 100; - - export function displayLoop(delta:i32):void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - if( image_ready == false ) { - if( imageReady(image_id) == false ) { - return; - } - - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); - - uniform1i(gl, sampler, 0); - image_ready = true; - } - - if( time_left <= 0 ) { - if( frame_num == 3 ) { - frame_num = 0; - } - else { - frame_num++; - } - time_left = 100; - } - else { - time_left -= delta; - } - - - if( frame_num == 0 ) { - bufferData(gl, ARRAY_BUFFER, frame_3, STATIC_DRAW); - - } - else if( frame_num == 1 ) { - bufferData(gl, ARRAY_BUFFER, frame_2, STATIC_DRAW); - } - else if( frame_num == 2 ) { - bufferData(gl, ARRAY_BUFFER, frame_3, STATIC_DRAW); - } - else { - bufferData(gl, ARRAY_BUFFER, frame_1, STATIC_DRAW); - } - - //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0 ); - vertexAttribPointer(gl, tex_coord_al,2, FLOAT, false, 16, 8 ); - - drawArrays(gl, TRIANGLE_STRIP, 0, frame_1.length/4); - } \ No newline at end of file diff --git a/examples/AnimationTexture/texture_animation.wasm b/examples/AnimationTexture/texture_animation.wasm deleted file mode 100644 index 3c2b0e38cb467b4c4fde5cd35fead065f6c06c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8084 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 = [ 0.0, 0.5, 1.0, 0.0, 0.0, - -0.5, -0.5, 0.0, 1.0, 0.0, - 0.5, -0.5, 0.0, 0.0, 1.0, - ]; - - enableVertexAttribArray(gl, position_al); - enableVertexAttribArray(gl, color_al); - - - - export function displayLoop(delta:i32):void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); - - //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 20, 0 ); - vertexAttribPointer(gl, color_al, 3, FLOAT, false, 20, 8 ); - - drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length/5); - - } \ No newline at end of file diff --git a/examples/ColorTriangle/color_triangle.wasm b/examples/ColorTriangle/color_triangle.wasm deleted file mode 100644 index e5158f30e8889bf5992cee8e53b860bde6c14760..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7202 zcmeI0Yphh&701^;kD0mmT;u>&o~7qLK48-#g2AL(yhkdv)dmuieucTi0QWiEnc-5> z*qJ-`!J}w-idxfB!B^X)TCjlClqy;usF%0zQrjll*cM+On%dB{*8j{57v#}|n3!~6 z{=c*LUTg2Q*FJO30!rpO4H21HwF^wa6c$*80xhr$qI}66L_9zX9PVPo1^l4}ZsAt` zz}6J3E%q2Y-PPkJTQb=^#oXoTmc<=oQ`vMfpPrrR%BR1VpOejW&Q5mqBy(hAybj~H zEJ-d*XDgjKZQhbumQAI}g5`)*rgLd)M>;Y!7p8} zJ~rKzZ0SgUH=X4@!z9dRlPjpaXsRQf%+AhqWU`cii>qB_gOM$|_&1XIa;Mrd7d=7XXcme2zNeSo!`hfvp!+Le!2y6m21IK~C0PjSt z+tuN(!2N5r)vxIpP+g_E?=nfl+hawCRM)A#ul?)CN&hZ{@Dl{P70}ETYh}DwwWKU9WL$P~D`uS@jOpEvg$;?^G=!>%Bk; z=mWOhrK@iT?gQ>sw{^P3dsVloemq`+ADAGzL-jG$A=QJbhg1)%9#K82dQ7!=ShKSm zd3zUl5P5qD_&M+kVB2jPU$H^crdm?n(1(F3I-puo?NjYn9Z(%qEln58LDiM2t5jF3 zu2J2AfOZ0Z9@HfszC-Z{@GkQ9?;mUDC%}ss+YfvIlmB4sWpoy|s6z?p0|tOWU^TE7 zxD6=k@3L35q}r$2uR5SQsJc?Mc&#QxwWQjoy5`H$zjBR6u?i^8Qd`xMYH`1wPcKk> z2`!)m^Z~^oi~%K}5BSqWnYT1mbR(A91Z)QG0JZ>k0(Sv-1NQ)XS8Kq(2c86;0`>t< z1J3||0G}aI1C&CjsnMkSAbW6*MQf7H-I;Rw}3wa z$AR91n$2I8bhjsP;|<}?IRG344grUOBfwGM81M@4D)1WcI`9VY7H}N67tg?Lz;@t1 z;BUB@pGNDac!c)i-aLUj{C(g9;6vae;A3F#-8e?zD1KkZfVa_kAAZoi`a^sceg8ss zo@U>`698~_dihk(Pt5nu>UwFAIG;1F;eD8h0paCg5(t4DGK21kKoz^lNU!2Q4j zz&nU}P#^buw`1SHlfYBJKH#`6vzLFo)tCD@uJ*>|SB1Cv_JkK-R8uJ)-1+mn(#z=! z@%i(!X}KDokgI&MwTmXy$R*b@xin4W>r|$rBc00ABsI>Z^YlfJE%N!+`7LZ?|JL#r zw&s?0Bv;&=$tHnqewjCb?fH{M+?ROGro7R00`yMZT-c`^wXPrMDcAuc~F zH;Bv2-a*UZ7Rn#3d-O5P&)d1tB)rTq!}gSKz1%zu#S z4N^>UQaR`#ygIafA})5NH026a>J6?cc*RCDhY!|pjmt+INc9^y{57W(!))hD?P~=t zS0!9cHN+&4d_z2l1@W6Ea?#6YD6{!vgIELB@Hp!{kGM9O$W^LsZ>lj;>{bhB4$5!m z>e;mUl>BrIKCzyUs(=N51+PKT|YcUd@ zi1}XA?r4^9Yn)qqw6)vv>%?Xc)8iVH!b{tySbk{rcxmE+*~Fh=QoPO|As%)9C4#Aq zk6Dc~{E>3Kn;!#>{rqpZ@Y0ZcU%K{iQCaRvplftU?BjnabUXb~-Xv;#oGb8Q|DtNr zJo=M8@4-Y3g>~Na$sC1|Q1~O1_7A9oTB(Jupe*HCbF9m_J(Zaw3i-csj@$d$`cy}0 zH&PF!*(t~F8S0{dX3#YL6L4>iYMB8ob*9 z?G@a+jC-f(cuFnGt9+gPrqSiBt-7j2k)r9kT1MB&M-j=K62*ngc;y*0&S1|J#~~4B zH9naOaRs{f6kVk@<#n)H58JfTLLTYlxFyCZI`{XZXk?bfJnMX#$Ci?pa=Zb_-mssm z*h}&^+~OG8p+j_dKK{ONoX%En#Jnbc?y5gSDecn_kHWQaZ!#x)n5DF = [ 0.0, 0.5, 1.0, 0.0, 0.0, - -0.55, -0.5, 0.0, 1.0, 0.0, - 0.55, -0.5, 0.0, 0.0, 1.0, - ]; - - enableVertexAttribArray(gl, position_al); - enableVertexAttribArray(gl, color_al); - - - -function rotate(theta: f32) : void { //u32 { - - for( var coord_i: i32 = 0; coord_i < line_data.length; coord_i += 5 ) { - let x:f32 = line_data[coord_i]; - let y:f32 = line_data[coord_i+1]; - - let x1:f32 = x * Mathf.cos(theta) - y * Mathf.sin(theta); - - let y1:f32 = y * Mathf.cos(theta) + x * Mathf.sin(theta); - - line_data[coord_i] = x1; - line_data[coord_i+1] = y1; - } - return; -} - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - bufferData(gl, ARRAY_BUFFER, line_data, DYNAMIC_DRAW); - - //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 20, 0 ); - vertexAttribPointer(gl, color_al, 3, FLOAT, false, 20, 8 ); - - drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length/5); - - } \ No newline at end of file diff --git a/examples/ColorTriangleRotate/color_triangle_rotate.wasm b/examples/ColorTriangleRotate/color_triangle_rotate.wasm deleted file mode 100644 index 303045331f200cde0f2303f214e0cee858d4abee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10408 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 = - [[-0.5,-0.5, 0.5, 1.0, 0.0, 0.0, // front face - -0.5, 0.5, 0.5, 1.0, 0.0, 0.0, - 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, - 0.5, 0.5, 0.5, 1.0, 0.0, 0.0], - // back face X Y Z R G B - [-0.5,-0.5,-0.5, 0.0, 1.0, 0.0, - -0.5, 0.5,-0.5, 0.0, 1.0, 0.0, - 0.5,-0.5,-0.5, 0.0, 1.0, 0.0, - 0.5, 0.5,-0.5, 0.0, 1.0, 0.0], - // left face X Y Z R G B - [-0.5,-0.5,-0.5, 0.0, 0.0, 1.0, - -0.5,-0.5, 0.5, 0.0, 0.0, 1.0, - -0.5, 0.5,-0.5, 0.0, 0.0, 1.0, - -0.5, 0.5, 0.5, 0.0, 0.0, 1.0], - // right face X Y Z R G B - [0.5,-0.5,-0.5, 1.0, 0.7, 0.0, - 0.5,-0.5, 0.5, 1.0, 0.7, 0.0, - 0.5, 0.5,-0.5, 1.0, 0.7, 0.0, - 0.5, 0.5, 0.5, 1.0, 0.7, 0.0], - // top face X Y Z R G B - [-0.5, 0.5,-0.5, 1.0, 0.0, 0.7, - -0.5, 0.5, 0.5, 1.0, 0.0, 0.7, - 0.5, 0.5,-0.5, 1.0, 0.0, 0.7, - 0.5, 0.5, 0.5, 1.0, 0.0, 0.7], - // bottom face X Y Z R G B - [-0.5,-0.5,-0.5, 0.0, 1.0, 0.7, - -0.5,-0.5, 0.5, 0.0, 1.0, 0.7, - 0.5,-0.5,-0.5, 0.0, 1.0, 0.7, - 0.5,-0.5, 0.5, 0.0, 1.0, 0.7,]]; - -function rotate(theta: f32) : void { //u32 { - for( var i: i32 = 0; i < cube_data.length; i++ ) { - for( var coord_i: i32 = 0; coord_i < cube_data[i].length; coord_i += 6 ) { - let x:f32 = cube_data[i][coord_i]; - let z:f32 = cube_data[i][coord_i+2]; - - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); - - cube_data[i][coord_i] = x1; - cube_data[i][coord_i+2] = z1; - } - - } - return; -} - - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - - for( var i: i32 = 0; i < 6; i++ ) { - bufferData(gl, ARRAY_BUFFER, cube_data[i], DYNAMIC_DRAW); - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); - vertexAttribPointer(gl, color_al, 3, FLOAT, false, 24, 12); - drawArrays(gl, TRIANGLE_STRIP, 0, 4); - } - - } \ No newline at end of file diff --git a/examples/Cube/cube.wasm b/examples/Cube/cube.wasm deleted file mode 100644 index 63a85b6447ce1e3687e389f8f52d162e03c73bcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12040 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 diff --git a/examples/HelloWorldTriangle/triangle.wasm b/examples/HelloWorldTriangle/triangle.wasm deleted file mode 100644 index ef021e624751401f939697b9e4787f2572882c58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6885 zcmeI0X>3&2702&=%gor%jvvs5wdwQnfmA7>rXo_4f?sIdw4nkiQoq{cVSw>Ac;;b> zs&vNVg{4{8Nodp(mZWK=HVLHAG*u}}N)nP7vxRJ>X)7gFTM?3cs7gi8IsZ2v%o0-x zMT*oh{{P;+_ndprJ@?If$EbL=Lo229tny~1nvGmeHJdqBozppPlUmdvJ*qj%m-JE1 zcJ4mdmc zD=>cV;`oAOX1Fse&3n^JGl`@!U|E?+cPvS@Cqq+R?3MZFXVQx@@eXB%v&MrUo>&~3 zh7&mLsm`{dVd!4IG@HDnD~#yQr3)8QMB#+xEve20VOKcam_^CJ4}wgpWo|kV4^rt) zRfg5aCp+UU?aA*ZGqh)z_?b+6xhgK2Xivs7bJFeUjEcd%M5p`RNqpG^3)Jp?pCmzD$)XO8 z+AlgFxUZ4-?2iC0>_w~RAU?Xq_ z_zUn}*m_VL{t7&PzqI-!J^i99MGxM{X?S-$>!9cw(GR45?F8=MgAjg;QJ@B?h<`YbWn6i^qA;z(G#L4MNf(5 zk4tv;B5&^lKSkc21bznm9N7MV#Fwv;w22l(*Y#pxstkx0M0-X1MEgYtL<{w7IUu@1 zbfxGj(bb~65YTSm&jYf=Q=0@&1Meem|NfD5o(EpR*b(3yO#Xwh*U*{YEDi;r7w88D zfK|Z#zym;DzL!0s1<_v7KGA;B0nrtr`8y;bq6N`j(bZq#{uQewij_cqme`6GMDs`F ze0qTVt7riQpclvwVhkt%y}+L)^Sp&=tn0DV24Eww3D^ug3_JpC0UibRt&)I$59|jH z00)6Xzze`1fWyFxz)Qf(z!BgT;8ox?U=TP83<1Z0q~IXK{yr0GtCp1U>>j2KH^iF#;#?{W=A_i_V?+LiflQ@i6-S zh3xD{>i}>N7zB<2L%=cMIB)_O#8d4kFa#U}&H#B>ZUwgVNwjh#Ctz?AI0c*r-Uc2A zo&erM%mebc-?sz%2KEC7fP=spStd{K;L^+e%2#+1Ziy%lfwUCYZoZ&1; zWtX(am(NY7m#8nsv{x3#Hvhr}vz0}h-0o`A(>0c7*4Uoq+25XAZFyD$)g5<}y%}C8$8kJWr=5Cj z=4jdT7s#I`R8Fm~*0q}A;6>cAG@0RCO0xIO#!92Ybc_bcPPIAu z+}Fc`f-@1w=O)xaitBJ#mFe!7;k7oG3MxSSh67+q*E>qIz=~ZXryP= zu%~Qjr03N(M9)!rs?qoLn!YpFI!`QZD6pXHyOh(Dc3i|?#YXSLB+ z;duBRIlATO7ChHAzE7PeO{%=;Eve`os_6w~P+3Fu6xA72cKB4Y-93q`t2WPU^ZDha zgSPKbWxyqu>E1{-eEBV_flLiH^`l+%_KkKG3l+Yuj(8ES$?l>_BMwhO#S?AAu8H#3 z%J!oCvbWH(sD<)J>K=Iv)AM#-I0>zGv#D+~IhGjLU^bT^)XT8Mh2C!_tpn<)PDXA2+=ila=u2NL&a%oBxD%TrSRnUsHx{(f6Q;kbU>~Zz$S@f$fDu&6<=Gxcr zY^qAAnyQI#AVE#ki+Is{CR5Q%XUMa;Cly{ZD*R+THf68`s-7ce+{yn5!qi(lcl0I#? zCim_(T#NZ2k3K7-q|bz-&tlZI>wYCeq~s7`2fC!u@Y0Q<%Z(A;vbsHDJ*{?+;g(~> zAGBSkZm;z3HQWkkuA+fCiasMGKijQjj|%q&##pRwZYHRozUj?}syS z1dC{eCN-ZdIfCLGp87hCVU4en7e_kM;uh+gPDz-q`06Wi<>(); //1 -export var matArray = new Array>(); //3 -export var groupArray = new Array(); //0 - -export var GrayMaterial_mat:StaticArray = [ - 323.999994, // specularExponent - 1.000000, 1.000000, 1.000000, // ambientReflectivity - 0.100000, 0.100000, 0.150000, // diffuseReflectivity - 0.500000, 0.500000, 0.500000, // specularReflectivity - 0.000000, 0.000000, 0.000000, // emission - 1.450000, // opticalDensity - 1.000000, // dissolveFactor - 2, // illuminationModel - ]; - -matArray.push(GrayMaterial_mat); - -export var RedMaterial_mat:StaticArray = [ - 225.000000, // specularExponent - 1.000000, 1.000000, 1.000000, // ambientReflectivity - 1.000000, 0.000000, 0.000000, // diffuseReflectivity - 0.500000, 0.500000, 0.500000, // specularReflectivity - 0.000000, 0.000000, 0.000000, // emission - 1.450000, // opticalDensity - 1.000000, // dissolveFactor - 2, // illuminationModel - ]; - -matArray.push(RedMaterial_mat); - -export var BlueMaterial_mat:StaticArray = [ - 225.000000, // specularExponent - 1.000000, 1.000000, 1.000000, // ambientReflectivity - 0.000000, 0.000000, 1.000000, // diffuseReflectivity - 0.500000, 0.500000, 0.500000, // specularReflectivity - 0.000000, 0.000000, 0.000000, // emission - 1.450000, // opticalDensity - 1.000000, // dissolveFactor - 2, // illuminationModel - ]; - -matArray.push(BlueMaterial_mat); - - -export var Robot_data: StaticArray = [ -//X, Y, Z, U, V, NX, NY, NZ --0.1, 0.1, -0.1, 0.625, 0.25, 0, 0.2651, -0.9642, -0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, 0.2651, -0.9642, -0.1, 0.1, -0.1, 0.625, 0.5, 0, 0.2651, -0.9642, -0.1, 0.1, 0.1, 0.625, 0.75, 0, 0, 1, --0.1, -0.1, 0.1, 0.375, 1, 0, 0, 1, -0.1, -0.1, 0.1, 0.375, 0.75, 0, 0, 1, --0.1, 0.1, 0.1, 0.625, 0, -1, 0, 0, --0.1, -0.1, -0.1, 0.375, 0.25, -1, 0, 0, --0.1, -0.1, 0.1, 0.375, 0, -1, 0, 0, -0.1, -0.1, -0.1, 0.375, 0.5, 0, -1, 0, --0.1, -0.1, 0.1, 0.125, 0.75, 0, -1, 0, --0.1, -0.1, -0.1, 0.125, 0.5, 0, -1, 0, -0.1, 0.1, -0.1, 0.625, 0.5, 1, 0, 0, -0.1, -0.1, 0.1, 0.375, 0.75, 1, 0, 0, -0.1, -0.1, -0.1, 0.375, 0.5, 1, 0, 0, --0.1, 0.1, -0.1, 0.625, 0.25, 0, 0, -1, -0.1, -0.1, -0.1, 0.375, 0.5, 0, 0, -1, --0.1, -0.1, -0.1, 0.375, 0.25, 0, 0, -1, -0.1, 0.1, 0.1, 0.625, 0.75, 0, 0.2651, 0.9642, --0.03964, 0.319577, 0.03964, 0.625, 1, 0, 0.2651, 0.9642, --0.1, 0.1, 0.1, 0.625, 1, 0, 0.2651, 0.9642, --0.1, 0.1, 0.1, 0.625, 0, -0.9642, 0.2651, 0, --0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9642, 0.2651, 0, --0.1, 0.1, -0.1, 0.625, 0.25, -0.9642, 0.2651, 0, -0.1, 0.1, -0.1, 0.625, 0.5, 0.9642, 0.2651, 0, -0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9642, 0.2651, 0, -0.1, 0.1, 0.1, 0.625, 0.75, 0.9642, 0.2651, 0, --0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, 0, -1, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0, -1, -0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, 0, -1, --0.070778, 0.574785, 0.070778, 0.625, 0, -0.6461, 0.7632, 0, --0.036361, 0.603924, -0.036361, 0.625, 0.25, -0.6461, 0.7632, 0, --0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6461, 0.7632, 0, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, -0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, -0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, --0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, --0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, --0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, 0, 1, --0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0, 1, --0.070778, 0.465943, 0.070778, 0.625, 1, 0, 0, 1, -0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0, 1, --0.036361, 0.622896, 0.036361, 0.625, 1, 0, 0, 1, --0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0, 1, -0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0.7632, 0.6461, --0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0.7632, 0.6461, --0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0.7632, 0.6461, --0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0.7632, -0.6461, -0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0.7632, -0.6461, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0.7632, -0.6461, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6461, 0.7632, 0, -0.036361, 0.603924, 0.036361, 0.625, 0.75, 0.6461, 0.7632, 0, -0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6461, 0.7632, 0, --0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, -0.6177, -0.7864, -0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.6177, -0.7864, -0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, -0.6177, -0.7864, --0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0, -1, -0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, 0, -1, -0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0, -1, -0.036361, 0.603924, -0.036361, 0.625, 0.5, 1, 0, 0, -0.036361, 0.622896, 0.036361, 0.625, 0.75, 1, 0, 0, -0.036361, 0.603924, 0.036361, 0.625, 0.75, 1, 0, 0, --0.036361, 0.603924, 0.036361, 0.625, 0, -1, 0, 0, --0.036361, 0.622896, -0.036361, 0.625, 0.25, -1, 0, 0, --0.036361, 0.603924, -0.036361, 0.625, 0.25, -1, 0, 0, -0.036361, 0.622896, -0.036361, 0.625, 0.5, 0.7864, -0.6177, 0, -0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.7864, -0.6177, 0, -0.036361, 0.622896, 0.036361, 0.625, 0.75, 0.7864, -0.6177, 0, --0.036361, 0.622896, 0.036361, 0.625, 0, -0.7864, -0.6177, 0, --0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.7864, -0.6177, 0, --0.036361, 0.622896, -0.036361, 0.625, 0.25, -0.7864, -0.6177, 0, -0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, -0.6177, 0.7864, --0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.6177, 0.7864, --0.036361, 0.622896, 0.036361, 0.625, 1, 0, -0.6177, 0.7864, --0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, 0.5681, -0.8229, -0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 0.5681, -0.8229, -0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, 0.5681, -0.8229, -0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.0692, 0.9976, --0.058197, 0.722006, 0.058197, 0.625, 1, 0, -0.0692, 0.9976, --0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.0692, 0.9976, --0.028575, 0.764915, -0.028575, 0.875, 0.5, 0, 1, 0, -0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 1, 0, -0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 1, 0, -0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.8229, 0.5681, 0, -0.028575, 0.764915, 0.028575, 0.625, 0.75, 0.8229, 0.5681, 0, -0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.8229, 0.5681, 0, --0.058197, 0.722006, 0.058197, 0.625, 0, -0.8229, 0.5681, 0, --0.028575, 0.764915, -0.028575, 0.625, 0.25, -0.8229, 0.5681, 0, --0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.8229, 0.5681, 0, -0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, 0.5681, 0.8229, --0.028575, 0.764915, 0.028575, 0.625, 1, 0, 0.5681, 0.8229, --0.058197, 0.722006, 0.058197, 0.625, 1, 0, 0.5681, 0.8229, -0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, -0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, -0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, -0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.6468, -0.7627, 0, -0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.6468, -0.7627, 0, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.6468, -0.7627, 0, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, -0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, -0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, -0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6468, 0.7627, 0, -0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.6468, 0.7627, 0, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6468, 0.7627, 0, --0.098092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, --0.128092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, --0.098092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, --0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6468, 0.7627, 0, --0.098092, 0.551623, 0.040654, 0.625, 0, -0.6468, 0.7627, 0, --0.070778, 0.574785, 0.070778, 0.625, 0, -0.6468, 0.7627, 0, --0.070778, 0.574785, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, --0.098092, 0.489106, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, --0.070778, 0.465943, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, --0.070778, 0.465943, 0.070778, 0.625, 0, -0.6468, -0.7627, 0, --0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.6468, -0.7627, 0, --0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.6468, -0.7627, 0, --0.128092, 0.489106, 0.040654, 0.625, 0, -1, 0, 0, --0.128092, 0.551623, -0.040654, 0.625, 0.25, -1, 0, 0, --0.128092, 0.489106, -0.040654, 0.625, 0.25, -1, 0, 0, --0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, --0.128092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, --0.098092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, --0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, --0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, --0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, -0.098092, 0.489106, -0.040654, 0.625, 0.5, -0.9978, -0.0665, 0, -0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9978, -0.0665, 0, -0.098092, 0.489106, 0.040654, 0.625, 0.75, -0.9978, -0.0665, 0, -0.128092, 0.489106, -0.040654, 0.625, 0.5, 1, 0, 0, -0.128092, 0.551623, 0.040654, 0.625, 0.75, 1, 0, 0, -0.128092, 0.489106, 0.040654, 0.625, 0.75, 1, 0, 0, -0.128092, 0.489106, 0.040654, 0.625, 0.75, 0.9978, -0.0665, 0, -0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9978, -0.0665, 0, -0.128092, 0.489106, -0.040654, 0.625, 0.5, 0.9978, -0.0665, 0, -0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, -0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, -0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, -0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, -0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, -0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, --0.122195, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, --0.098092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, --0.103989, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, -0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9921, 0.1251, 0, -0.128092, 0.353791, -0.040654, 0.625, 0.5, 0.9921, 0.1251, 0, -0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9921, 0.1251, 0, -0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, -0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, -0.103989, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, --0.128092, 0.489106, -0.040654, 0.625, 0.25, -0.9978, -0.0665, 0, --0.122195, 0.400565, 0.024672, 0.625, 0, -0.9978, -0.0665, 0, --0.128092, 0.489106, 0.040654, 0.625, 0, -0.9978, -0.0665, 0, --0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, --0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, --0.128092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, --0.098092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, --0.122195, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, --0.103989, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, -0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, -0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, -0.128092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, --0.098092, 0.489106, 0.040654, 0.625, 0, 0.9978, -0.0665, 0, --0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9978, -0.0665, 0, --0.098092, 0.489106, -0.040654, 0.625, 0.25, 0.9978, -0.0665, 0, -0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, -0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, -0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, -0.098092, 0.353791, -0.040654, 0.625, 0.5, -1, 0, 0, -0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, -0.098092, 0.335624, 0.040654, 0.625, 0.75, -1, 0, 0, --0.103989, 0.400565, 0.024672, 0.625, 0, 0.9921, 0.1251, 0, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 0.9921, 0.1251, 0, --0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9921, 0.1251, 0, -0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, -0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, -0.103989, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, --0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, --0.128092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, --0.122195, 0.400565, 0.024672, 0.625, 0, -0.9952, 0.0956, 0.0214, --0.128092, 0.353791, -0.040654, 0.625, 0.25, -0.9952, 0.0956, 0.0214, --0.128092, 0.335624, 0.040654, 0.625, 0, -0.9952, 0.0956, 0.0214, -0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9952, 0.0956, 0.0214, -0.098092, 0.353791, -0.040654, 0.625, 0.5, -0.9952, 0.0956, 0.0214, -0.098092, 0.335624, 0.040654, 0.625, 0.75, -0.9952, 0.0956, 0.0214, -0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, -0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, -0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, --0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, --0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, --0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, -0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, -0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, -0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, -0.128092, 0.353791, -0.040654, 0.625, 0.5, 1, 0, 0, -0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, -0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, --0.128092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, --0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, --0.098092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 1, 0, 0, --0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, --0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, -0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9509, -0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9509, -0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9509, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, --0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, --0.128092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, --0.128092, 0.353791, -0.040654, 0.625, 0.25, -1, 0, 0, --0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, --0.128092, 0.335624, 0.040654, 0.625, 0, -1, 0, 0, -0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, -0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, -0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, --0.098092, 0.192117, -0.077302, 0.625, 0, 0.9329, -0.3135, -0.1774, --0.105592, 0.186814, -0.107362, 0.625, 0.25, 0.9329, -0.3135, -0.1774, --0.098092, 0.207583, -0.104626, 0.625, 0.25, 0.9329, -0.3135, -0.1774, --0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, --0.128092, 0.192117, -0.077302, 0.625, 0, -1, 0, 0, --0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, -0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, -0.098092, 0.192117, -0.077302, 0.625, 0.75, -1, 0, 0, -0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, -0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, -0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, -0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, -0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, -0.128092, 0.192117, -0.077302, 0.625, 0.75, 1, 0, 0, -0.128092, 0.207583, -0.104626, 0.625, 0.5, 1, 0, 0, --0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, --0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, --0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, --0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, --0.098092, 0.192117, -0.077302, 0.625, 0, 1, 0, 0, --0.098092, 0.207583, -0.104626, 0.625, 0.25, 1, 0, 0, --0.105592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, --0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, --0.105592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, -0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, -0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, -0.105592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, --0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, --0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, --0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, --0.128092, 0.192117, -0.077302, 0.625, 0, -0.9329, -0.3135, -0.1774, --0.120592, 0.186814, -0.107362, 0.625, 0.25, -0.9329, -0.3135, -0.1774, --0.120592, 0.179081, -0.0937, 0.625, 0, -0.9329, -0.3135, -0.1774, -0.098092, 0.192117, -0.077302, 0.625, 0.75, -0.9329, -0.3135, -0.1774, -0.105592, 0.186814, -0.107362, 0.625, 0.5, -0.9329, -0.3135, -0.1774, -0.105592, 0.179081, -0.0937, 0.625, 0.75, -0.9329, -0.3135, -0.1774, -0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, -0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, -0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, -0.128092, 0.192117, -0.077302, 0.625, 0.75, 0.9329, -0.3135, -0.1774, -0.120592, 0.186814, -0.107362, 0.625, 0.5, 0.9329, -0.3135, -0.1774, -0.128092, 0.207583, -0.104626, 0.625, 0.5, 0.9329, -0.3135, -0.1774, --0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, --0.120592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, --0.105592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, --0.1, 0.1, -0.1, 0.625, 0.25, 0, 0.2651, -0.9642, --0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, 0.2651, -0.9642, -0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, 0.2651, -0.9642, -0.1, 0.1, 0.1, 0.625, 0.75, 0, 0, 1, --0.1, 0.1, 0.1, 0.625, 1, 0, 0, 1, --0.1, -0.1, 0.1, 0.375, 1, 0, 0, 1, --0.1, 0.1, 0.1, 0.625, 0, -1, 0, 0, --0.1, 0.1, -0.1, 0.625, 0.25, -1, 0, 0, --0.1, -0.1, -0.1, 0.375, 0.25, -1, 0, 0, -0.1, -0.1, -0.1, 0.375, 0.5, 0, -1, 0, -0.1, -0.1, 0.1, 0.375, 0.75, 0, -1, 0, --0.1, -0.1, 0.1, 0.125, 0.75, 0, -1, 0, -0.1, 0.1, -0.1, 0.625, 0.5, 1, 0, 0, -0.1, 0.1, 0.1, 0.625, 0.75, 1, 0, 0, -0.1, -0.1, 0.1, 0.375, 0.75, 1, 0, 0, --0.1, 0.1, -0.1, 0.625, 0.25, 0, 0, -1, -0.1, 0.1, -0.1, 0.625, 0.5, 0, 0, -1, -0.1, -0.1, -0.1, 0.375, 0.5, 0, 0, -1, -0.1, 0.1, 0.1, 0.625, 0.75, 0, 0.2651, 0.9642, -0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, 0.2651, 0.9642, --0.03964, 0.319577, 0.03964, 0.625, 1, 0, 0.2651, 0.9642, --0.1, 0.1, 0.1, 0.625, 0, -0.9642, 0.2651, 0, --0.03964, 0.319577, 0.03964, 0.625, 0, -0.9642, 0.2651, 0, --0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9642, 0.2651, 0, -0.1, 0.1, -0.1, 0.625, 0.5, 0.9642, 0.2651, 0, -0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9642, 0.2651, 0, -0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9642, 0.2651, 0, --0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, 0, -1, --0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0, -1, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0, 0, -1, --0.070778, 0.574785, 0.070778, 0.625, 0, -0.6461, 0.7632, 0, --0.036361, 0.603924, 0.036361, 0.625, 0, -0.6461, 0.7632, 0, --0.036361, 0.603924, -0.036361, 0.625, 0.25, -0.6461, 0.7632, 0, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.7408, 0, 0.6717, -0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, -0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.7408, 0, 0.6717, --0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.7408, 0, -0.6717, --0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, --0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.7408, 0, -0.6717, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, 0, 1, -0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0, 1, --0.070778, 0.574785, 0.070778, 0.625, 1, 0, 0, 1, -0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0, 1, -0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, 0, 1, --0.036361, 0.622896, 0.036361, 0.625, 1, 0, 0, 1, -0.070778, 0.574785, 0.070778, 0.625, 0.75, 0, 0.7632, 0.6461, -0.036361, 0.603924, 0.036361, 0.625, 0.75, 0, 0.7632, 0.6461, --0.036361, 0.603924, 0.036361, 0.625, 1, 0, 0.7632, 0.6461, --0.070778, 0.574785, -0.070778, 0.625, 0.25, 0, 0.7632, -0.6461, --0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0.7632, -0.6461, -0.036361, 0.603924, -0.036361, 0.625, 0.5, 0, 0.7632, -0.6461, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.6461, 0.7632, 0, -0.036361, 0.603924, -0.036361, 0.625, 0.5, 0.6461, 0.7632, 0, -0.036361, 0.603924, 0.036361, 0.625, 0.75, 0.6461, 0.7632, 0, --0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, -0.6177, -0.7864, --0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.6177, -0.7864, -0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.6177, -0.7864, --0.036361, 0.603924, -0.036361, 0.625, 0.25, 0, 0, -1, --0.036361, 0.622896, -0.036361, 0.625, 0.25, 0, 0, -1, -0.036361, 0.622896, -0.036361, 0.625, 0.5, 0, 0, -1, -0.036361, 0.603924, -0.036361, 0.625, 0.5, 1, 0, 0, -0.036361, 0.622896, -0.036361, 0.625, 0.5, 1, 0, 0, -0.036361, 0.622896, 0.036361, 0.625, 0.75, 1, 0, 0, --0.036361, 0.603924, 0.036361, 0.625, 0, -1, 0, 0, --0.036361, 0.622896, 0.036361, 0.625, 0, -1, 0, 0, --0.036361, 0.622896, -0.036361, 0.625, 0.25, -1, 0, 0, -0.036361, 0.622896, -0.036361, 0.625, 0.5, 0.7864, -0.6177, 0, -0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.7864, -0.6177, 0, -0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.7864, -0.6177, 0, --0.036361, 0.622896, 0.036361, 0.625, 0, -0.7864, -0.6177, 0, --0.052774, 0.643794, 0.052774, 0.625, 0, -0.7864, -0.6177, 0, --0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.7864, -0.6177, 0, -0.036361, 0.622896, 0.036361, 0.625, 0.75, 0, -0.6177, 0.7864, -0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.6177, 0.7864, --0.052774, 0.643794, 0.052774, 0.625, 1, 0, -0.6177, 0.7864, --0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, 0.5681, -0.8229, --0.028575, 0.764915, -0.028575, 0.625, 0.25, 0, 0.5681, -0.8229, -0.028575, 0.764915, -0.028575, 0.625, 0.5, 0, 0.5681, -0.8229, -0.052774, 0.643794, 0.052774, 0.625, 0.75, 0, -0.0692, 0.9976, -0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, -0.0692, 0.9976, --0.058197, 0.722006, 0.058197, 0.625, 1, 0, -0.0692, 0.9976, --0.028575, 0.764915, -0.028575, 0.875, 0.5, 0, 1, 0, --0.028575, 0.764915, 0.028575, 0.875, 0.75, 0, 1, 0, -0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 1, 0, -0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.8229, 0.5681, 0, -0.028575, 0.764915, -0.028575, 0.625, 0.5, 0.8229, 0.5681, 0, -0.028575, 0.764915, 0.028575, 0.625, 0.75, 0.8229, 0.5681, 0, --0.058197, 0.722006, 0.058197, 0.625, 0, -0.8229, 0.5681, 0, --0.028575, 0.764915, 0.028575, 0.625, 0, -0.8229, 0.5681, 0, --0.028575, 0.764915, -0.028575, 0.625, 0.25, -0.8229, 0.5681, 0, -0.058197, 0.722006, 0.058197, 0.625, 0.75, 0, 0.5681, 0.8229, -0.028575, 0.764915, 0.028575, 0.625, 0.75, 0, 0.5681, 0.8229, --0.028575, 0.764915, 0.028575, 0.625, 1, 0, 0.5681, 0.8229, -0.098092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, -0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 0, -1, -0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, 0, -1, -0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.6468, -0.7627, 0, -0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.6468, -0.7627, 0, -0.098092, 0.489106, 0.040654, 0.625, 0.75, 0.6468, -0.7627, 0, -0.070778, 0.574785, -0.070778, 0.625, 0.5, 0.7408, 0, -0.6717, -0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, -0.098092, 0.489106, -0.040654, 0.625, 0.5, 0.7408, 0, -0.6717, -0.070778, 0.574785, 0.070778, 0.625, 0.75, 0.6468, 0.7627, 0, -0.098092, 0.551623, 0.040654, 0.625, 0.75, 0.6468, 0.7627, 0, -0.098092, 0.551623, -0.040654, 0.625, 0.5, 0.6468, 0.7627, 0, --0.098092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, --0.128092, 0.551623, 0.040654, 0.625, 1, 0, 0, 1, --0.128092, 0.489106, 0.040654, 0.625, 1, 0, 0, 1, --0.070778, 0.574785, -0.070778, 0.625, 0.25, -0.6468, 0.7627, 0, --0.098092, 0.551623, -0.040654, 0.625, 0.25, -0.6468, 0.7627, 0, --0.098092, 0.551623, 0.040654, 0.625, 0, -0.6468, 0.7627, 0, --0.070778, 0.574785, 0.070778, 0.625, 1, -0.7408, 0, 0.6717, --0.098092, 0.551623, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, --0.098092, 0.489106, 0.040654, 0.625, 1, -0.7408, 0, 0.6717, --0.070778, 0.465943, 0.070778, 0.625, 0, -0.6468, -0.7627, 0, --0.098092, 0.489106, 0.040654, 0.625, 0, -0.6468, -0.7627, 0, --0.098092, 0.489106, -0.040654, 0.625, 0.25, -0.6468, -0.7627, 0, --0.128092, 0.489106, 0.040654, 0.625, 0, -1, 0, 0, --0.128092, 0.551623, 0.040654, 0.625, 0, -1, 0, 0, --0.128092, 0.551623, -0.040654, 0.625, 0.25, -1, 0, 0, --0.098092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, --0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 1, 0, --0.128092, 0.551623, 0.040654, 0.625, 0, 0, 1, 0, --0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, --0.128092, 0.489106, -0.040654, 0.625, 0.25, 0, 0, -1, --0.128092, 0.551623, -0.040654, 0.625, 0.25, 0, 0, -1, -0.098092, 0.489106, -0.040654, 0.625, 0.5, -0.9978, -0.0665, 0, -0.103989, 0.400565, -0.024672, 0.625, 0.5, -0.9978, -0.0665, 0, -0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9978, -0.0665, 0, -0.128092, 0.489106, -0.040654, 0.625, 0.5, 1, 0, 0, -0.128092, 0.551623, -0.040654, 0.625, 0.5, 1, 0, 0, -0.128092, 0.551623, 0.040654, 0.625, 0.75, 1, 0, 0, -0.128092, 0.489106, 0.040654, 0.625, 0.75, 0.9978, -0.0665, 0, -0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9978, -0.0665, 0, -0.122195, 0.400565, -0.024672, 0.625, 0.5, 0.9978, -0.0665, 0, -0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, -0.128092, 0.489106, 0.040654, 0.625, 0.75, 0, 0, 1, -0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 0, 1, -0.098092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, -0.128092, 0.551623, 0.040654, 0.625, 0.75, 0, 1, 0, -0.128092, 0.551623, -0.040654, 0.625, 0.5, 0, 1, 0, --0.122195, 0.400565, 0.024672, 0.625, 1, 0, 0.239, 0.971, --0.128092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, --0.098092, 0.335624, 0.040654, 0.625, 1, 0, 0.239, 0.971, -0.122195, 0.400565, 0.024672, 0.625, 0.75, 0.9952, 0.0956, 0.0214, -0.128092, 0.335624, 0.040654, 0.625, 0.75, 0.9952, 0.0956, 0.0214, -0.128092, 0.353791, -0.040654, 0.625, 0.5, 0.9952, 0.0956, 0.0214, -0.098092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, -0.128092, 0.489106, -0.040654, 0.625, 0.5, 0, -0.1776, -0.9841, -0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, -0.1776, -0.9841, --0.128092, 0.489106, -0.040654, 0.625, 0.25, -0.9978, -0.0665, 0, --0.122195, 0.400565, -0.024672, 0.625, 0.25, -0.9978, -0.0665, 0, --0.122195, 0.400565, 0.024672, 0.625, 0, -0.9978, -0.0665, 0, --0.098092, 0.489106, -0.040654, 0.625, 0.25, 0, -0.1776, -0.9841, --0.103989, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, --0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, -0.1776, -0.9841, --0.098092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, --0.128092, 0.489106, 0.040654, 0.625, 1, 0, -0.1776, 0.9841, --0.122195, 0.400565, 0.024672, 0.625, 1, 0, -0.1776, 0.9841, -0.098092, 0.489106, 0.040654, 0.625, 0.75, 0, -0.1776, 0.9841, -0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, -0.122195, 0.400565, 0.024672, 0.625, 0.75, 0, -0.1776, 0.9841, --0.098092, 0.489106, 0.040654, 0.625, 0, 0.9978, -0.0665, 0, --0.103989, 0.400565, 0.024672, 0.625, 0, 0.9978, -0.0665, 0, --0.103989, 0.400565, -0.024672, 0.625, 0.25, 0.9978, -0.0665, 0, -0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, -0.6592, 0.752, -0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, -0.128092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.6592, 0.752, -0.098092, 0.353791, -0.040654, 0.625, 0.5, -1, 0, 0, -0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, -0.098092, 0.234285, -0.048174, 0.625, 0.75, -1, 0, 0, --0.103989, 0.400565, 0.024672, 0.625, 0, 0.9952, 0.0956, 0.0214, --0.098092, 0.335624, 0.040654, 0.625, 0, 0.9952, 0.0956, 0.0214, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 0.9952, 0.0956, 0.0214, -0.122195, 0.400565, -0.024672, 0.625, 0.5, 0, 0.3233, -0.9463, -0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, -0.098092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3233, -0.9463, --0.122195, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, --0.103989, 0.400565, -0.024672, 0.625, 0.25, 0, 0.3233, -0.9463, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3233, -0.9463, --0.122195, 0.400565, 0.024672, 0.625, 0, -0.9921, 0.1251, 0, --0.122195, 0.400565, -0.024672, 0.625, 0.25, -0.9921, 0.1251, 0, --0.128092, 0.353791, -0.040654, 0.625, 0.25, -0.9921, 0.1251, 0, -0.103989, 0.400565, 0.024672, 0.625, 0.75, -0.9921, 0.1251, 0, -0.103989, 0.400565, -0.024672, 0.625, 0.5, -0.9921, 0.1251, 0, -0.098092, 0.353791, -0.040654, 0.625, 0.5, -0.9921, 0.1251, 0, -0.103989, 0.400565, 0.024672, 0.625, 0.75, 0, 0.239, 0.971, -0.098092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, -0.128092, 0.335624, 0.040654, 0.625, 0.75, 0, 0.239, 0.971, --0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.6843, -0.7292, --0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, --0.128092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.6843, -0.7292, -0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.6843, -0.7292, -0.128092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, -0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.6843, -0.7292, -0.128092, 0.353791, -0.040654, 0.625, 0.5, 1, 0, 0, -0.128092, 0.335624, 0.040654, 0.625, 0.75, 1, 0, 0, -0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, --0.128092, 0.335624, 0.040654, 0.625, 1, 0, -0.6592, 0.752, --0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, --0.098092, 0.234285, -0.048174, 0.625, 1, 0, -0.6592, 0.752, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 1, 0, 0, --0.098092, 0.335624, 0.040654, 0.625, 0, 1, 0, 0, --0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, -0.128092, 0.353791, -0.040654, 0.625, 0.5, 0, 0.3097, -0.9508, -0.128092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9508, -0.098092, 0.234285, -0.079572, 0.625, 0.5, 0, 0.3097, -0.9508, --0.098092, 0.353791, -0.040654, 0.625, 0.25, 0, 0.3097, -0.9508, --0.098092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, --0.128092, 0.234285, -0.079572, 0.625, 0.25, 0, 0.3097, -0.9508, --0.128092, 0.353791, -0.040654, 0.625, 0.25, -1, 0, 0, --0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, --0.128092, 0.234285, -0.048174, 0.625, 0, -1, 0, 0, -0.098092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, -0.128092, 0.207583, -0.104626, 0.625, 0.5, 0, 0.1306, -0.9914, -0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, 0.1306, -0.9914, --0.098092, 0.192117, -0.077302, 0.625, 0, 0.9329, -0.3135, -0.1774, --0.105592, 0.179081, -0.0937, 0.625, 0, 0.9329, -0.3135, -0.1774, --0.105592, 0.186814, -0.107362, 0.625, 0.25, 0.9329, -0.3135, -0.1774, --0.128092, 0.234285, -0.079572, 0.625, 0.25, -1, 0, 0, --0.128092, 0.207583, -0.104626, 0.625, 0.25, -1, 0, 0, --0.128092, 0.192117, -0.077302, 0.625, 0, -1, 0, 0, -0.098092, 0.234285, -0.079572, 0.625, 0.5, -1, 0, 0, -0.098092, 0.207583, -0.104626, 0.625, 0.5, -1, 0, 0, -0.098092, 0.192117, -0.077302, 0.625, 0.75, -1, 0, 0, -0.098092, 0.234285, -0.048174, 0.625, 0.75, 0, -0.5684, 0.8228, -0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, -0.128092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.5684, 0.8228, -0.128092, 0.234285, -0.079572, 0.625, 0.5, 1, 0, 0, -0.128092, 0.234285, -0.048174, 0.625, 0.75, 1, 0, 0, -0.128092, 0.192117, -0.077302, 0.625, 0.75, 1, 0, 0, --0.128092, 0.234285, -0.048174, 0.625, 1, 0, -0.5684, 0.8228, --0.128092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, --0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.5684, 0.8228, --0.098092, 0.234285, -0.079572, 0.625, 0.25, 1, 0, 0, --0.098092, 0.234285, -0.048174, 0.625, 0, 1, 0, 0, --0.098092, 0.192117, -0.077302, 0.625, 0, 1, 0, 0, --0.105592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, --0.120592, 0.179081, -0.0937, 0.625, 0, 0, -0.8703, -0.4926, --0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, -0.8703, -0.4926, -0.105592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, -0.120592, 0.186814, -0.107362, 0.625, 0.5, 0, -0.8703, -0.4926, -0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.8703, -0.4926, --0.098092, 0.207583, -0.104626, 0.625, 0.25, 0, 0.1306, -0.9914, --0.105592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, --0.120592, 0.186814, -0.107362, 0.625, 0.25, 0, 0.1306, -0.9914, --0.128092, 0.192117, -0.077302, 0.625, 0, -0.9329, -0.3135, -0.1774, --0.128092, 0.207583, -0.104626, 0.625, 0.25, -0.9329, -0.3135, -0.1774, --0.120592, 0.186814, -0.107362, 0.625, 0.25, -0.9329, -0.3135, -0.1774, -0.098092, 0.192117, -0.077302, 0.625, 0.75, -0.9329, -0.3135, -0.1774, -0.098092, 0.207583, -0.104626, 0.625, 0.5, -0.9329, -0.3135, -0.1774, -0.105592, 0.186814, -0.107362, 0.625, 0.5, -0.9329, -0.3135, -0.1774, -0.098092, 0.192117, -0.077302, 0.625, 0.75, 0, -0.7828, 0.6223, -0.105592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, -0.120592, 0.179081, -0.0937, 0.625, 0.75, 0, -0.7828, 0.6223, -0.128092, 0.192117, -0.077302, 0.625, 0.75, 0.9329, -0.3135, -0.1774, -0.120592, 0.179081, -0.0937, 0.625, 0.75, 0.9329, -0.3135, -0.1774, -0.120592, 0.186814, -0.107362, 0.625, 0.5, 0.9329, -0.3135, -0.1774, --0.098092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, --0.128092, 0.192117, -0.077302, 0.625, 1, 0, -0.7828, 0.6223, --0.120592, 0.179081, -0.0937, 0.625, 1, 0, -0.7828, 0.6223, --0.052774, 0.643794, 0.052774, 0.625, 0, -0.9976, -0.0692, 0, --0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.9976, -0.0692, 0, --0.052774, 0.643794, -0.052774, 0.625, 0.25, -0.9976, -0.0692, 0, --0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.0692, -0.9976, -0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, -0.0692, -0.9976, -0.052774, 0.643794, -0.052774, 0.625, 0.5, 0, -0.0692, -0.9976, -0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.9976, -0.0692, 0, -0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.9976, -0.0692, 0, -0.052774, 0.643794, 0.052774, 0.625, 0.75, 0.9976, -0.0692, 0, --0.052774, 0.643794, 0.052774, 0.625, 0, -0.9976, -0.0692, 0, --0.058197, 0.722006, 0.058197, 0.625, 0, -0.9976, -0.0692, 0, --0.058197, 0.722006, -0.058197, 0.625, 0.25, -0.9976, -0.0692, 0, --0.052774, 0.643794, -0.052774, 0.625, 0.25, 0, -0.0692, -0.9976, --0.058197, 0.722006, -0.058197, 0.625, 0.25, 0, -0.0692, -0.9976, -0.058197, 0.722006, -0.058197, 0.625, 0.5, 0, -0.0692, -0.9976, -0.052774, 0.643794, -0.052774, 0.625, 0.5, 0.9976, -0.0692, 0, -0.058197, 0.722006, -0.058197, 0.625, 0.5, 0.9976, -0.0692, 0, -0.058197, 0.722006, 0.058197, 0.625, 0.75, 0.9976, -0.0692, 0, --0.03964, 0.319577, 0.03964, 0.625, 0, -0.9781, -0.2081, 0, --0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.9781, -0.2081, 0, --0.03964, 0.319577, -0.03964, 0.625, 0.25, -0.9781, -0.2081, 0, -0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, -0.2081, 0.9781, --0.070778, 0.465943, 0.070778, 0.625, 1, 0, -0.2081, 0.9781, --0.03964, 0.319577, 0.03964, 0.625, 1, 0, -0.2081, 0.9781, --0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, -0.2081, -0.9781, -0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, -0.2081, -0.9781, -0.03964, 0.319577, -0.03964, 0.625, 0.5, 0, -0.2081, -0.9781, -0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9781, -0.2081, 0, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.9781, -0.2081, 0, -0.03964, 0.319577, 0.03964, 0.625, 0.75, 0.9781, -0.2081, 0, --0.03964, 0.319577, 0.03964, 0.625, 0, -0.9781, -0.2081, 0, --0.070778, 0.465943, 0.070778, 0.625, 0, -0.9781, -0.2081, 0, --0.070778, 0.465943, -0.070778, 0.625, 0.25, -0.9781, -0.2081, 0, -0.03964, 0.319577, 0.03964, 0.625, 0.75, 0, -0.2081, 0.9781, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0, -0.2081, 0.9781, --0.070778, 0.465943, 0.070778, 0.625, 1, 0, -0.2081, 0.9781, --0.03964, 0.319577, -0.03964, 0.625, 0.25, 0, -0.2081, -0.9781, --0.070778, 0.465943, -0.070778, 0.625, 0.25, 0, -0.2081, -0.9781, -0.070778, 0.465943, -0.070778, 0.625, 0.5, 0, -0.2081, -0.9781, -0.03964, 0.319577, -0.03964, 0.625, 0.5, 0.9781, -0.2081, 0, -0.070778, 0.465943, -0.070778, 0.625, 0.5, 0.9781, -0.2081, 0, -0.070778, 0.465943, 0.070778, 0.625, 0.75, 0.9781, -0.2081, 0, -]; - -objArray.push(Robot_data); - - -groupArray.push( - new VertGroup( - 0, // material number - 0, // object number - 0, // starting face - 522, // length - ) -); - -groupArray.push( - new VertGroup( - 1, // material number - 0, // object number - 522, // starting face - 18, // length - ) -); - -groupArray.push( - new VertGroup( - 2, // material number - 0, // object number - 540, // starting face - 24, // length - ) -); diff --git a/examples/Material/obj_mat.asc b/examples/Material/obj_mat.asc deleted file mode 100644 index 818f6d9..0000000 --- a/examples/Material/obj_mat.asc +++ /dev/null @@ -1,145 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com/wasm - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER, uniform3f, -} from '../../webgl' - - -import { - objArray, matArray, groupArray, VertGroup, -} from './Robot' - - - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision mediump float; - - in vec3 position; - in vec3 normal; - uniform vec3 diffuse; - out vec4 c; - - void main() { - const vec3 light = vec3(0.25, 2.0, -0.5); - float d = clamp( dot( normal, light ), 0.0, 1.0); - vec4 pos = vec4( position, 1.0 ); - - mat4 mRotateTranslate = mat4( - 1.0, 0.0, 0.0, 0.0, // column 1 - 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 - 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); - - gl_Position = pos * mRotateTranslate; - c = vec4( d + diffuse.r, - d + diffuse.g, - d + diffuse.b, 1.0); - } -`; - -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - in vec4 c; - out vec4 color; - - void main() { - color = c; - } -`; - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); - - let diffuse = getUniformLocation( gl, program, 'diffuse' ); - -//diffuse - enable(gl, DEPTH_TEST); - -function rotate(theta: f32) : void { //u32 { - for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { - for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { - - let x:f32 = objArray[obj_i][coord_i]; - let z:f32 = objArray[obj_i][coord_i+2]; - - let nx:f32 = objArray[obj_i][coord_i+5]; - let nz:f32 = objArray[obj_i][coord_i+7]; - - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); - - let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); - - objArray[obj_i][coord_i] = x1; - objArray[obj_i][coord_i+2] = z1; - - objArray[obj_i][coord_i+5] = nx1; - objArray[obj_i][coord_i+7] = nz1; - } - } - - return; -} - - var vGroup: VertGroup; - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { - vGroup = groupArray[g_i]; - bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); - let diffuse_r: f32 = matArray[vGroup.mat_index][4]; - let diffuse_g: f32 = matArray[vGroup.mat_index][5]; - let diffuse_b: f32 = matArray[vGroup.mat_index][6]; - uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); - - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); - // vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); - drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); - } - } \ No newline at end of file diff --git a/examples/Material/obj_mat.wasm b/examples/Material/obj_mat.wasm deleted file mode 100644 index 764f6ac8c2c7d7b75d6e3f4f875ba85f70ee68c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31911 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 diff --git a/examples/Material/obj_mat_commented.wat b/examples/Material/obj_mat_commented.wat deleted file mode 100644 index 97b3825..0000000 --- a/examples/Material/obj_mat_commented.wat +++ /dev/null @@ -1,4297 +0,0 @@ -(module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $i32_i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32 i32))) - (type $i32_f32_f32_f32_f32_=>_none (func (param i32 f32 f32 f32 f32))) - (type $f32_=>_none (func (param f32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (import "env" "memory" (memory $0 1)) - (data (i32.const 12) " \00\00\00\01\00\00\00\00\00\00\00\01\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00a\00s\00c\00") - (data (i32.const 76) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 124) "\1c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00a\00s\00c\00") - (data (i32.const 172) "@\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00@\00\00\00\00\00\a2C\00\00\80?\00\00\80?\00\00\80?\cd\ccL?\10\07\a1>@\c2\90=\00\00\00?\00\00\00?\00\00\00?\00\00\00\00\00\00\00\00\00\00\00\00\9a\99\b9?\00\00\80?\00\00\00@") - (data (i32.const 268) "@\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00@\00\00\00\00\00aC\00\00\80?\00\00\80?\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\00?\00\00\00?\00\00\00?\00\00\00\00\00\00\00\00\00\00\00\00\9a\99\b9?\00\00\80?\00\00\00@") - (data (i32.const 364) "@\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00@\00\00\00\00\00aC\00\00\80?\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\00?\00\00\00?\00\00\00?\00\00\00\00\00\00\00\00\00\00\00\00\9a\99\b9?\00\00\80?\00\00\00@") - (data (i32.const 460) "\00/\00\00\01\00\00\00\00\00\00\00\03\00\00\00\00/\00\00\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\00\00\00\000\bb\87>\d0\d5v\bf\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\00\00\00\000\bb\87>\d0\d5v\bfk\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\00\00\00\000\bb\87>\d0\d5v\bfk\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\00\00\00\000\bb\87>\d0\d5v\bf\00\00\80?\00\00\80\bf\00\00\80?\00\00\c0>\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\c0>\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\c0>\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\00>\00\00\00?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\00?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80?\00\00\c0>\00\00@?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\00>\00\00@?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\00\00\80\bf\00\00\80?\00\00\c0>\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80\bf\00\00\80\bf\00\00\c0>\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\80?\00\00\00\000\bb\87>\d0\d5v?\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\00\00\00\000\bb\87>\d0\d5v?k\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\00\00\00\000\bb\87>\d0\d5v?k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\80?\00\00\00\000\bb\87>\d0\d5v?\00\00\80\bf\00\00\80?\00\00\80\bf\00\00 ?\00\00\80>\d0\d5v\bf0\bb\87>\00\00\00\00\00\00\80\bf\00\00\80?\00\00\80?\00\00 ?\00\00\00\00\d0\d5v\bf0\bb\87>\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\00\00\d0\d5v\bf0\bb\87>\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\d0\d5v\bf0\bb\87>\00\00\00\00\00\00\80?\00\00\80?\00\00\80?\00\00 ?\00\00@?\d0\d5v?0\bb\87>\00\00\00\00\00\00\80?\00\00\80?\00\00\80\bf\00\00 ?\00\00\00?\d0\d5v?0\bb\87>\00\00\00\00k\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\d0\d5v?0\bb\87>\00\00\00\00k\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\d0\d5v?0\bb\87>\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\cff%\bf\13aC?\00\00\00\00\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\00\00\cff%\bf\13aC?\00\00\00\00\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\00\00\cff%\bf\13aC?\00\00\00\00\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\cff%\bf\13aC?\00\00\00\00\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\12\a5=?\00\00\00\00\88\f4+?\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bf\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bfq\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bfq\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\12\a5=\bf\00\00\00\00\88\f4+\bf\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\80?\00\00\00\00\13aC?\cff%?\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\00\00\00\00\13aC?\cff%?\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\13aC?\cff%?\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\13aC?\cff%?\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\00\00\00\00\13aC?\cff%\bf\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\00\00\00\00\13aC?\cff%\bf\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\13aC?\cff%\bf\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\13aC?\cff%\bf\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\cff%?\13aC?\00\00\00\00\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\cff%?\13aC?\00\00\00\00\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\cff%?\13aC?\00\00\00\00\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\cff%?\13aC?\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\96!\1e\bf\83QI\bf\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\96!\1e\bf\83QI\bfL\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\00\00\00\00\96!\1e\bf\83QI\bfL\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\00\00\00\00\96!\1e\bf\83QI\bf\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\b2*\ba>lA\c1@\b2*\ba>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba>lA\c1@\b2*\ba\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\b2*\ba\belA\c1@\b2*\ba\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba\belA\c1@\b2*\ba>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\83QI?\96!\1e\bf\00\00\00\00\b2*\ba>\aeS\c7@\b2*\ba\be\00\00 ?\00\00\00?\83QI?\96!\1e\bf\00\00\00\00L\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\83QI?\96!\1e\bf\00\00\00\00L\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\83QI?\96!\1e\bf\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba\be\00\00 ?\00\00\80>\83QI\bf\96!\1e\bf\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\00\00\83QI\bf\96!\1e\bf\00\00\00\00L\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\00\00\83QI\bf\96!\1e\bf\00\00\00\00L\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\83QI\bf\96!\1e\bf\00\00\00\00\b2*\ba\be\aeS\c7@\b2*\ba>\00\00 ?\00\00\80?\00\00\00\00\96!\1e\bf\83QI?\b2*\ba>\aeS\c7@\b2*\ba>\00\00 ?\00\00@?\00\00\00\00\96!\1e\bf\83QI?L\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\00\00\00\00\96!\1e\bf\83QI?L\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\80?\00\00\00\00\96!\1e\bf\83QI?\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\00\00\00\00\00o\11?\93\a9R\bf\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\00\00\00\00\00o\11?\93\a9R\bf\d3M\92\be\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\80>\00\00\00\00\00o\11?\93\a9R\bf\d3M\92>\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\00?\00\00\00\00\00o\11?\93\a9R\bfL\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\80?\00\00\00\00\bb\b8\8d\bd\b7b\7f?L\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\00\00\00\00\bb\b8\8d\bd\b7b\7f?\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\00\00\00\00\bb\b8\8d\bd\b7b\7f?\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\80?\00\00\00\00\bb\b8\8d\bd\b7b\7f?\d3M\92>\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92\be\00\00`?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92>\00\00`?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\d3M\92>\d6\c5\f4@\d3M\92>\00\00 ?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\93\a9R?\00o\11?\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\93\a9R?\00o\11?\00\00\00\00\d3M\92>\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\00?\93\a9R?\00o\11?\00\00\00\00\d3M\92>\d6\c5\f4@\d3M\92>\00\00 ?\00\00@?\93\a9R?\00o\11?\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\93\a9R\bf\00o\11?\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\00\00\93\a9R\bf\00o\11?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92>\00\00 ?\00\00\00\00\93\a9R\bf\00o\11?\00\00\00\00\d3M\92\be\d6\c5\f4@\d3M\92\be\00\00 ?\00\00\80>\93\a9R\bf\00o\11?\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\80?\00\00\00\00\00o\11?\93\a9R?\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\00\00\00\00\00o\11?\93\a9R?\d3M\92>\d6\c5\f4@\d3M\92>\00\00 ?\00\00@?\00\00\00\00\00o\11?\93\a9R?\d3M\92\be\d6\c5\f4@\d3M\92>\00\00 ?\00\00\80?\00\00\00\00\00o\11?\93\a9R?q\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bfq\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\00\00\00\00\80\bf\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\af\94%?O@C\bf\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\af\94%?O@C\bf\00\00\00\00q\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\af\94%?O@C\bf\00\00\00\00q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\af\94%?O@C\bf\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bf\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bfq\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bfq\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\12\a5=?\00\00\00\00\88\f4+\bf\1215?i\ee\b7@\1215\bf\00\00 ?\00\00\00?\af\94%?O@C?\00\00\00\00\1215?i\ee\b7@\1215?\00\00 ?\00\00@?\af\94%?O@C?\00\00\00\00q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\af\94%?O@C?\00\00\00\00q\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\af\94%?O@C?\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\00\00\00\00\00\00\80?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\00\00\af\94%\bfO@C?\00\00\00\00\1215\bfi\ee\b7@\1215\bf\00\00 ?\00\00\80>\af\94%\bfO@C?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\af\94%\bfO@C?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\af\94%\bfO@C?\00\00\00\00\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?\1215\bfi\ee\b7@\1215?\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\12\a5=\bf\00\00\00\00\88\f4+?\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\af\94%\bfO@C\bf\00\00\00\00\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\00\00\af\94%\bfO@C\bf\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\00\00\af\94%\bfO@C\bf\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\af\94%\bfO@C\bf\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\00\00\00\00\00\00\80?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3\bf\f1\84\b0@}%\d0>\00\00 ?\00\00\00\00\00\00\00\00\00\00\80?\00\00\00\00q\1d{\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bfq\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bf\1f\f5\a3\bf\f1\84\b0@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\00\00\00\00\00\80\bfq\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\d2o\7f\bf\'1\88\bd\00\00\00\00q\1d{?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\d2o\7f\bf\'1\88\bd\00\00\00\00\04\1b\85?K.\80@b\a3|\be\00\00 ?\00\00\00?\d2o\7f\bf\'1\88\bd\00\00\00\00\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\d2o\7f\bf\'1\88\bd\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0\be\00\00 ?\00\00\00?\d2o\7f?\'1\88\bd\00\00\00\00\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\d2o\7f?\'1\88\bd\00\00\00\00\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\d2o\7f?\'1\88\bd\00\00\00\00\dch\9c?K.\80@b\a3|\be\00\00 ?\00\00\00?\d2o\7f?\'1\88\bd\00\00\00\00q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?\1f\f5\a3?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\00\00\00\00\80?q\1d{?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00q\1d{?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0>\00\00 ?\00\00@?\00\00\00\00\00\00\80?\00\00\00\00\1f\f5\a3?\f1\84\b0@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\00\80?\00\00\00\00\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?q\1d{\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00j\bct>u\93x?\dch\9c?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\91~?=\n\d7=\d74o<\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\00\91~?=\n\d7=\d74o<\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\91~?=\n\d7=\d74o<\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\91~?=\n\d7=\d74o\00\00 ?\00\00\00\00\d2o\7f\bf\'1\88\bd\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\d2o\7f\bf\'1\88\bd\00\00\00\00\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\d2o\7f\bf\'1\88\bd\00\00\00\00\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\d2o\7f\bf\'1\88\bd\00\00\00\00\1f\f5\a3\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bfq\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bf\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bf\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\c6\dc5\be\fa\ed{\bfq\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\1f\f5\a3\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\80?\00\00\00\00\c6\dc5\be\fa\ed{?\1f\f5\a3?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?q\1d{?\8c\83\9c@}%\d0>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00\c6\dc5\be\fa\ed{?q\1d{\bf\8c\83\9c@}%\d0\be\00\00 ?\00\00\80>\d2o\7f?\'1\88\bd\00\00\00\00q\1d{\bf\8c\83\9c@}%\d0>\00\00 ?\00\00\00\00\d2o\7f?\'1\88\bd\00\00\00\00\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\d2o\7f?\'1\88\bd\00\00\00\00\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\d2o\7f?\'1\88\bd\00\00\00\00\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?q\1d{?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00U\c1(\bf\12\83@?q\1d{?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\91~?=\n\d7=\d74o<\04\1b\85\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\00\91~?=\n\d7=\d74o\00\00 ?\00\00\00\00\00\91~?=\n\d7=\d74o\00\91~?=\n\d7=\d74o<\04\1b\85?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bf\dch\9c?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bf\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bfq\1d{?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\94\87\a5>\b8@r\bf\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bf\04\1b\85\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bfq\1d{\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bf\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\94\87\a5>\b8@r\bf\dch\9c\bfK.\80@b\a3|>\00\00 ?\00\00\00\00\00\91~\bf=\n\d7=\d74o<\dch\9c\bfK.\80@b\a3|\be\00\00 ?\00\00\80>\00\91~\bf=\n\d7=\d74o<\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\91~\bf=\n\d7=\d74o<\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\00\00\00\91~\bf=\n\d7=\d74o<\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\00\91~\bf=\n\d7=\d74o<\04\1b\85?K.\80@b\a3|\be\00\00 ?\00\00\00?\00\91~\bf=\n\d7=\d74o\00\00 ?\00\00@?\00\91~\bf=\n\d7=\d74o<\dch\9c?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?\04\1b\85?K.\80@b\a3|>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?q\1d{?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\00\00j\bct>u\93x?\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bfq\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bfq\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bf\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00I./?\da\ac:\bfq\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bf\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bf\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bfq\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00I./?\da\ac:\bf\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\af\ccV@}%\d0>\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00U\c1(\bf\12\83@?q\1d{\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bf\af\ccV@}%\d0>\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00q\1d{?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3?\0dmb@}%\d0\be\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bfq\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bfq\1d{\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bfq\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\00\00\00\91\9e>\a1gs\bf\1f\f5\a3\bf\af\ccV@}%\d0>\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\0dmb@}%\d0\be\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bf\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bf\85[\9a??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bfR(\87??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\02\bc\05>d\cc}\bfq\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\89\d2n?\12\83\a0\beX\a85\beq\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\89\d2n?\12\83\a0\beX\a85\beR(\87\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\89\d2n?\12\83\a0\beX\a85\beR(\87\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\89\d2n?\12\83\a0\beX\a85\be\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\80\bf\00\00\00\00\00\00\00\00q\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\80\bf\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3?J\f1\15@\0b\b4K\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?J\f1\15@\c2\a6\f6\be\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\80?\00\00\00\00\00\00\00\00\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\aa\82\11\bf\05\a3R?q\1d{\bfJ\f1\15@\0b\b4K\bf\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfJ\f1\15@\c2\a6\f6\be\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\00\00\80?\00\00\00\00\00\00\00\00q\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\80?\00\00\00\00\00\00\00\00R(\87\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\fb\cb^\bf\116\fc\beR(\87\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\fb\cb^\bf\116\fc\beR(\87?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\fb\cb^\bf\116\fc\beR(\87??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\00\00\00\00\fb\cb^\bf\116\fc\be\85[\9a?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\fb\cb^\bf\116\fc\be\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bfq\1d{\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bfR(\87\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bf\85[\9a\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\00\00\00\00\02\bc\05>d\cc}\bf\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\00\00\89\d2n\bf\12\83\a0\beX\a85\be\1f\f5\a3\bfj\da\04@\fb\eb\85\bf\00\00 ?\00\00\80>\89\d2n\bf\12\83\a0\beX\a85\be\85[\9a\bf?\1f\ef?zl\89\bf\00\00 ?\00\00\80>\89\d2n\bf\12\83\a0\beX\a85\be\85[\9a\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\00\00\89\d2n\bf\12\83\a0\beX\a85\beq\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\89\d2n\bf\12\83\a0\beX\a85\beq\1d{?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\89\d2n\bf\12\83\a0\beX\a85\beR(\87??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\89\d2n\bf\12\83\a0\beX\a85\beR(\87?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\89\d2n\bf\12\83\a0\beX\a85\be\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?q\1d{?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?R(\87?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?\85[\9a?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\00\00\00\00\95eH\bf\0eO\1f?\1f\f5\a3?j\da\04@\fb\eb\85\bf\00\00 ?\00\00\00?\89\d2n?\12\83\a0\beX\a85\be\1f\f5\a3?\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00@?\89\d2n?\12\83\a0\beX\a85\be\85[\9a?\\9\e5?]\dfo\bf\00\00 ?\00\00@?\89\d2n?\12\83\a0\beX\a85\be\85[\9a??\1f\ef?zl\89\bf\00\00 ?\00\00\00?\89\d2n?\12\83\a0\beX\a85\beq\1d{\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?\1f\f5\a3\bf\08\e9\f5?\b4\e4E\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?\85[\9a\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?R(\87\bf\\9\e5?]\dfo\bf\00\00 ?\00\00\80?\00\00\00\00\95eH\bf\0eO\1f?L\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00L\1a\07\bf\94\03\ce@L\1a\07?\00\00 ?\00\00\00\00\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14?\00\00 ?\00\00\00\00\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\b7b\7f\bf\bb\b8\8d\bd\00\00\00\00L\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\00\00\00\00\bb\b8\8d\bd\b7b\7f\bfL\1a\07\bf\94\03\ce@L\1a\07\bf\00\00 ?\00\00\80>\00\00\00\00\bb\b8\8d\bd\b7b\7f\bf\1e\fc\14\bf\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\80>\00\00\00\00\bb\b8\8d\bd\b7b\7f\bf\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\00\00\00\00\bb\b8\8d\bd\b7b\7f\bfL\1a\07?\94\03\ce@L\1a\07?\00\00 ?\00\00@?\b7b\7f?\bb\b8\8d\bd\00\00\00\00L\1a\07?\94\03\ce@L\1a\07\bf\00\00 ?\00\00\00?\b7b\7f?\bb\b8\8d\bd\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14\bf\00\00 ?\00\00\00?\b7b\7f?\bb\b8\8d\bd\00\00\00\00\1e\fc\14?\b9\n\e7@\1e\fc\14?\00\00 ?\00\00@?\b7b\7f?\bb\b8\8d\bd\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\c3dz\bf+\18U\be\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\00\00\c3dz\bf+\18U\be\00\00\00\00\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\00\00\c3dz\bf+\18U\be\00\00\00\00\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\c3dz\bf+\18U\be\00\00\00\00k\f4\ca\be\94\87L@k\f4\ca>\00\00 ?\00\00\80?\00\00\00\00+\18U\be\c3dz?k\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\00\00\00\00+\18U\be\c3dz?\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\00\00\00\00+\18U\be\c3dz?\1215\bf\13\1a\95@\1215?\00\00 ?\00\00\80?\00\00\00\00+\18U\be\c3dz?k\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\00\00\00\00+\18U\be\c3dz\bfk\f4\ca\be\94\87L@k\f4\ca\be\00\00 ?\00\00\80>\00\00\00\00+\18U\be\c3dz\bf\1215\bf\13\1a\95@\1215\bf\00\00 ?\00\00\80>\00\00\00\00+\18U\be\c3dz\bf\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\00\00\00\00+\18U\be\c3dz\bfk\f4\ca>\94\87L@k\f4\ca>\00\00 ?\00\00@?\c3dz?+\18U\be\00\00\00\00k\f4\ca>\94\87L@k\f4\ca\be\00\00 ?\00\00\00?\c3dz?+\18U\be\00\00\00\00\1215?\13\1a\95@\1215\bf\00\00 ?\00\00\00?\c3dz?+\18U\be\00\00\00\00\1215?\13\1a\95@\1215?\00\00 ?\00\00@?\c3dz?+\18U\be\00\00\00\00") - (data (i32.const 12524) "\10\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\\\01\00\00") - (data (i32.const 12572) "\10\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\01\00\00\00\00\00\00\00\\\01\00\00\0c\00\00\00") - (data (i32.const 12620) "\10\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\02\00\00\00\00\00\00\00h\01\00\00\10\00\00\00") - (data (i32.const 12668) "\ee\04\00\00\01\00\00\00\00\00\00\00\01\00\00\00\ee\04\00\00#\00v\00e\00r\00s\00i\00o\00n\00 \003\000\000\00 \00e\00s\00\0d\00\n\00 \00 \00p\00r\00e\00c\00i\00s\00i\00o\00n\00 \00m\00e\00d\00i\00u\00m\00p\00 \00f\00l\00o\00a\00t\00;\00\0d\00\n\00\0d\00\n\00 \00 \00i\00n\00 \00v\00e\00c\003\00 \00p\00o\00s\00i\00t\00i\00o\00n\00;\00\0d\00\n\00 \00 \00i\00n\00 \00v\00e\00c\003\00 \00n\00o\00r\00m\00a\00l\00;\00\0d\00\n\00 \00 \00o\00u\00t\00 \00v\00e\00c\004\00 \00c\00;\00\0d\00\n\00 \00 \00\0d\00\n\00 \00 \00v\00o\00i\00d\00 \00m\00a\00i\00n\00(\00)\00 \00{\00\0d\00\n\00 \00 \00 \00 \00c\00o\00n\00s\00t\00 \00v\00e\00c\003\00 \00l\00i\00g\00h\00t\00 \00=\00 \00v\00e\00c\003\00(\000\00.\002\005\00,\00 \002\00.\000\00,\00 \00-\000\00.\005\00)\00;\00\0d\00\n\00 \00 \00 \00 \00f\00l\00o\00a\00t\00 \00d\00 \00=\00 \00c\00l\00a\00m\00p\00(\00 \00d\00o\00t\00(\00 \00n\00o\00r\00m\00a\00l\00,\00 \00l\00i\00g\00h\00t\00 \00)\00,\00 \000\00.\000\00,\00 \001\00.\000\00)\00;\00\0d\00\n\00 \00 \00 \00 \00v\00e\00c\004\00 \00p\00o\00s\00 \00=\00 \00v\00e\00c\004\00(\00 \00p\00o\00s\00i\00t\00i\00o\00n\00,\00 \001\00.\000\00 \00)\00;\00\0d\00\n\00\0d\00\n\00 \00 \00 \00 \00m\00a\00t\004\00 \00m\00R\00o\00t\00a\00t\00e\00T\00r\00a\00n\00s\00l\00a\00t\00e\00 \00=\00 \00m\00a\00t\004\00(\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \001\00.\000\00,\00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \001\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00c\00o\00s\00(\00-\000\00.\002\00)\00,\00-\00s\00i\00n\00(\00-\000\00.\002\00)\00,\00 \00-\000\00.\002\00,\00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \002\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00s\00i\00n\00(\00-\000\00.\000\00)\00,\00 \00c\00o\00s\00(\00-\000\00.\002\00)\00,\00 \00 \000\00.\000\00,\00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \003\00\0d\00\n\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \000\00.\000\00,\00 \00 \00 \00 \00 \00 \00 \00 \001\00.\000\00 \00 \00/\00/\00 \00c\00o\00l\00u\00m\00n\00 \004\00\0d\00\n\00 \00 \00 \00 \00)\00;\00\0d\00\n\00\0d\00\n\00 \00 \00 \00 \00g\00l\00_\00P\00o\00s\00i\00t\00i\00o\00n\00 \00=\00 \00p\00o\00s\00 \00*\00 \00m\00R\00o\00t\00a\00t\00e\00T\00r\00a\00n\00s\00l\00a\00t\00e\00;\00\0d\00\n\00 \00 \00 \00 \00c\00 \00=\00 \00v\00e\00c\004\00(\00m\00a\00x\00(\00d\00,\00 \000\00.\002\00)\00,\00 \00m\00a\00x\00(\00d\00,\00 \000\00.\002\00)\00,\00 \00m\00a\00x\00(\00d\00,\00 \000\00.\002\005\00)\00,\00 \001\00.\000\00)\00;\00\0d\00\n\00 \00 \00}\00\0d\00\n\00") - (data (i32.const 13964) "\e8\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\e8\00\00\00#\00v\00e\00r\00s\00i\00o\00n\00 \003\000\000\00 \00e\00s\00\0d\00\n\00 \00 \00p\00r\00e\00c\00i\00s\00i\00o\00n\00 \00h\00i\00g\00h\00p\00 \00f\00l\00o\00a\00t\00;\00\0d\00\n\00 \00 \00i\00n\00 \00v\00e\00c\004\00 \00c\00;\00\0d\00\n\00 \00 \00o\00u\00t\00 \00v\00e\00c\004\00 \00c\00o\00l\00o\00r\00;\00\0d\00\n\00\0d\00\n\00 \00 \00v\00o\00i\00d\00 \00m\00a\00i\00n\00(\00)\00 \00{\00\0d\00\n\00 \00 \00 \00 \00c\00o\00l\00o\00r\00 \00=\00 \00c\00;\00\0d\00\n\00 \00 \00}\00\0d\00\n\00") - (data (i32.const 14220) "\08\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00c\00n\00v\00s\00") - (data (i32.const 14252) "\0c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00w\00e\00b\00g\00l\002\00") - (data (i32.const 14284) "\10\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00p\00o\00s\00i\00t\00i\00o\00n\00") - (data (i32.const 14332) "\0c\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00n\00o\00r\00m\00a\00l\00") - (data (i32.const 14364) "$\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 14428) "^\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00") - (data (i32.const 14556) "(\00\00\00\01\00\00\00\00\00\00\00\01\00\00\00(\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00a\00s\00c\00") - (data (i32.const 14616) ")\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (data (i32.const 14656) "\08\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00$\19\00\00\00\00\00\00\"A\00\00\00\00\00\00$\t\00\00\00\00\00\00\"A\00\00\00\00\00\00\"\t\00\00\00\00\00\00") - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) ;; $import0 - (import "webgl" "createContextFromCanvas" (func $../../webgl/createContextFromCanvas (param i32 i32) (result i32))) ;; $import1 - (import "webgl" "createShader" (func $../../webgl/createShader (param i32 i32) (result i32))) ;; $import2 - (import "webgl" "shaderSource" (func $../../webgl/shaderSource (param i32 i32 i32))) ;; $import3 - (import "webgl" "compileShader" (func $../../webgl/compileShader (param i32 i32))) ;; $import4 - (import "webgl" "createProgram" (func $../../webgl/createProgram (param i32) (result i32))) ;; $import5 - (import "webgl" "attachShader" (func $../../webgl/attachShader (param i32 i32 i32))) ;; $import6 - (import "webgl" "linkProgram" (func $../../webgl/linkProgram (param i32 i32))) ;; $import7 - (import "webgl" "useProgram" (func $../../webgl/useProgram (param i32 i32))) ;; $import8 - (import "webgl" "createBuffer" (func $../../webgl/createBuffer (param i32) (result i32))) ;; $import9 - (import "webgl" "bindBuffer" (func $../../webgl/bindBuffer (param i32 i32 i32))) ;; $import10 - (import "webgl" "getAttribLocation" (func $../../webgl/getAttribLocation (param i32 i32 i32) (result i32))) ;; $import11 - (import "webgl" "enableVertexAttribArray" (func $../../webgl/enableVertexAttribArray (param i32 i32))) ;; $import12 - (import "webgl" "enable" (func $../../webgl/enable (param i32 i32))) ;; $import13 - (import "webgl" "clearColor" (func $../../webgl/clearColor (param i32 f32 f32 f32 f32))) ;; $import14 - (import "webgl" "clear" (func $../../webgl/clear (param i32 i32))) ;; $import15 - (import "webgl" "bufferData" (func $../../webgl/bufferData (param i32 i32 i32 i32))) ;; $import16 - (import "webgl" "vertexAttribPointer" (func $../../webgl/vertexAttribPointer (param i32 i32 i32 i32 i32 i32 i32))) ;; $import17 - (import "webgl" "drawArrays" (func $../../webgl/drawArrays (param i32 i32 i32 i32))) ;; $import18 - (table $0 1 funcref) - (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) - (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) - (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $../../webgl/ALPHA_DEFAULT i32 (i32.const 1)) - (global $../../webgl/FALSE i32 (i32.const 0)) - (global $../../webgl/DEPTH_DEFAULT i32 (i32.const 1)) - (global $../../webgl/STENCIL_DEFAULT i32 (i32.const 0)) - (global $../../webgl/ANTIALIAS_DEFAULT i32 (i32.const 1)) - (global $../../webgl/PREMULTIPLIED_ALPHA_DEFAULT i32 (i32.const 1)) - (global $../../webgl/PRESERVE_DRAWING_BUFFER_DEFAULT i32 (i32.const 0)) - (global $../../webgl/DEPTH_BUFFER_BIT i32 (i32.const 256)) - (global $../../webgl/STENCIL_BUFFER_BIT i32 (i32.const 1024)) - (global $../../webgl/COLOR_BUFFER_BIT i32 (i32.const 16384)) - (global $../../webgl/POINTS i32 (i32.const 0)) - (global $../../webgl/LINES i32 (i32.const 1)) - (global $../../webgl/LINE_LOOP i32 (i32.const 2)) - (global $../../webgl/LINE_STRIP i32 (i32.const 3)) - (global $../../webgl/TRIANGLES i32 (i32.const 4)) - (global $../../webgl/TRIANGLE_STRIP i32 (i32.const 5)) - (global $../../webgl/TRIANGLE_FAN i32 (i32.const 6)) - (global $../../webgl/ZERO i32 (i32.const 0)) - (global $../../webgl/ONE i32 (i32.const 1)) - (global $../../webgl/SRC_COLOR i32 (i32.const 768)) - (global $../../webgl/ONE_MINUS_SRC_COLOR i32 (i32.const 769)) - (global $../../webgl/SRC_ALPHA i32 (i32.const 770)) - (global $../../webgl/ONE_MINUS_SRC_ALPHA i32 (i32.const 771)) - (global $../../webgl/DST_ALPHA i32 (i32.const 772)) - (global $../../webgl/ONE_MINUS_DST_ALPHA i32 (i32.const 773)) - (global $../../webgl/DST_COLOR i32 (i32.const 774)) - (global $../../webgl/ONE_MINUS_DST_COLOR i32 (i32.const 775)) - (global $../../webgl/SRC_ALPHA_SATURATE i32 (i32.const 776)) - (global $../../webgl/FUNC_ADD i32 (i32.const 32774)) - (global $../../webgl/BLEND_EQUATION i32 (i32.const 32777)) - (global $../../webgl/BLEND_EQUATION_RGB i32 (i32.const 32777)) - (global $../../webgl/BLEND_EQUATION_ALPHA i32 (i32.const 34877)) - (global $../../webgl/FUNC_SUBTRACT i32 (i32.const 32778)) - (global $../../webgl/FUNC_REVERSE_SUBTRACT i32 (i32.const 32779)) - (global $../../webgl/BLEND_DST_RGB i32 (i32.const 32968)) - (global $../../webgl/BLEND_SRC_RGB i32 (i32.const 32969)) - (global $../../webgl/BLEND_DST_ALPHA i32 (i32.const 32970)) - (global $../../webgl/BLEND_SRC_ALPHA i32 (i32.const 32971)) - (global $../../webgl/CONSTANT_COLOR i32 (i32.const 32769)) - (global $../../webgl/ONE_MINUS_CONSTANT_COLOR i32 (i32.const 32770)) - (global $../../webgl/CONSTANT_ALPHA i32 (i32.const 32771)) - (global $../../webgl/ONE_MINUS_CONSTANT_ALPHA i32 (i32.const 32772)) - (global $../../webgl/BLEND_COLOR i32 (i32.const 32773)) - (global $../../webgl/ARRAY_BUFFER i32 (i32.const 34962)) - (global $../../webgl/ELEMENT_ARRAY_BUFFER i32 (i32.const 34963)) - (global $../../webgl/ARRAY_BUFFER_BINDING i32 (i32.const 34964)) - (global $../../webgl/ELEMENT_ARRAY_BUFFER_BINDING i32 (i32.const 34965)) - (global $../../webgl/STREAM_DRAW i32 (i32.const 35040)) - (global $../../webgl/STATIC_DRAW i32 (i32.const 35044)) - (global $../../webgl/DYNAMIC_DRAW i32 (i32.const 35048)) - (global $../../webgl/BUFFER_SIZE i32 (i32.const 34660)) - (global $../../webgl/BUFFER_USAGE i32 (i32.const 34661)) - (global $../../webgl/CURRENT_VERTEX_ATTRIB i32 (i32.const 34342)) - (global $../../webgl/FRONT i32 (i32.const 1028)) - (global $../../webgl/BACK i32 (i32.const 1029)) - (global $../../webgl/FRONT_AND_BACK i32 (i32.const 1032)) - (global $../../webgl/CULL_FACE i32 (i32.const 2884)) - (global $../../webgl/BLEND i32 (i32.const 3042)) - (global $../../webgl/DITHER i32 (i32.const 3024)) - (global $../../webgl/STENCIL_TEST i32 (i32.const 2960)) - (global $../../webgl/DEPTH_TEST i32 (i32.const 2929)) - (global $../../webgl/SCISSOR_TEST i32 (i32.const 3089)) - (global $../../webgl/POLYGON_OFFSET_FILL i32 (i32.const 32823)) - (global $../../webgl/SAMPLE_ALPHA_TO_COVERAGE i32 (i32.const 32926)) - (global $../../webgl/SAMPLE_COVERAGE i32 (i32.const 32928)) - (global $../../webgl/NO_ERROR i32 (i32.const 0)) - (global $../../webgl/INVALID_ENUM i32 (i32.const 1280)) - (global $../../webgl/INVALID_VALUE i32 (i32.const 1281)) - (global $../../webgl/INVALID_OPERATION i32 (i32.const 1282)) - (global $../../webgl/OUT_OF_MEMORY i32 (i32.const 1285)) - (global $../../webgl/CW i32 (i32.const 2304)) - (global $../../webgl/CCW i32 (i32.const 2305)) - (global $../../webgl/LINE_WIDTH i32 (i32.const 2849)) - (global $../../webgl/ALIASED_POINT_SIZE_RANGE i32 (i32.const 33901)) - (global $../../webgl/ALIASED_LINE_WIDTH_RANGE i32 (i32.const 33902)) - (global $../../webgl/CULL_FACE_MODE i32 (i32.const 2885)) - (global $../../webgl/FRONT_FACE i32 (i32.const 2886)) - (global $../../webgl/DEPTH_RANGE i32 (i32.const 2928)) - (global $../../webgl/DEPTH_WRITEMASK i32 (i32.const 2930)) - (global $../../webgl/DEPTH_CLEAR_VALUE i32 (i32.const 2931)) - (global $../../webgl/DEPTH_FUNC i32 (i32.const 2932)) - (global $../../webgl/STENCIL_CLEAR_VALUE i32 (i32.const 2961)) - (global $../../webgl/STENCIL_FUNC i32 (i32.const 2962)) - (global $../../webgl/STENCIL_FAIL i32 (i32.const 2964)) - (global $../../webgl/STENCIL_PASS_DEPTH_FAIL i32 (i32.const 2965)) - (global $../../webgl/STENCIL_PASS_DEPTH_PASS i32 (i32.const 2966)) - (global $../../webgl/STENCIL_REF i32 (i32.const 2967)) - (global $../../webgl/STENCIL_VALUE_MASK i32 (i32.const 2963)) - (global $../../webgl/STENCIL_WRITEMASK i32 (i32.const 2968)) - (global $../../webgl/STENCIL_BACK_FUNC i32 (i32.const 34816)) - (global $../../webgl/STENCIL_BACK_FAIL i32 (i32.const 34817)) - (global $../../webgl/STENCIL_BACK_PASS_DEPTH_FAIL i32 (i32.const 34818)) - (global $../../webgl/STENCIL_BACK_PASS_DEPTH_PASS i32 (i32.const 34819)) - (global $../../webgl/STENCIL_BACK_REF i32 (i32.const 36003)) - (global $../../webgl/STENCIL_BACK_VALUE_MASK i32 (i32.const 36004)) - (global $../../webgl/STENCIL_BACK_WRITEMASK i32 (i32.const 36005)) - (global $../../webgl/VIEWPORT i32 (i32.const 2978)) - (global $../../webgl/SCISSOR_BOX i32 (i32.const 3088)) - (global $../../webgl/COLOR_CLEAR_VALUE i32 (i32.const 3106)) - (global $../../webgl/COLOR_WRITEMASK i32 (i32.const 3107)) - (global $../../webgl/UNPACK_ALIGNMENT i32 (i32.const 3317)) - (global $../../webgl/PACK_ALIGNMENT i32 (i32.const 3333)) - (global $../../webgl/MAX_TEXTURE_SIZE i32 (i32.const 3379)) - (global $../../webgl/MAX_VIEWPORT_DIMS i32 (i32.const 3386)) - (global $../../webgl/SUBPIXEL_BITS i32 (i32.const 3408)) - (global $../../webgl/RED_BITS i32 (i32.const 3410)) - (global $../../webgl/GREEN_BITS i32 (i32.const 3411)) - (global $../../webgl/BLUE_BITS i32 (i32.const 3412)) - (global $../../webgl/ALPHA_BITS i32 (i32.const 3413)) - (global $../../webgl/DEPTH_BITS i32 (i32.const 3414)) - (global $../../webgl/STENCIL_BITS i32 (i32.const 3415)) - (global $../../webgl/POLYGON_OFFSET_UNITS i32 (i32.const 10752)) - (global $../../webgl/POLYGON_OFFSET_FACTOR i32 (i32.const 32824)) - (global $../../webgl/TEXTURE_BINDING_2D i32 (i32.const 32873)) - (global $../../webgl/SAMPLE_BUFFERS i32 (i32.const 32936)) - (global $../../webgl/SAMPLES i32 (i32.const 32937)) - (global $../../webgl/SAMPLE_COVERAGE_VALUE i32 (i32.const 32938)) - (global $../../webgl/SAMPLE_COVERAGE_INVERT i32 (i32.const 32939)) - (global $../../webgl/COMPRESSED_TEXTURE_FORMATS i32 (i32.const 34467)) - (global $../../webgl/DONT_CARE i32 (i32.const 4352)) - (global $../../webgl/FASTEST i32 (i32.const 4353)) - (global $../../webgl/NICEST i32 (i32.const 4354)) - (global $../../webgl/GENERATE_MIPMAP_HINT i32 (i32.const 33170)) - (global $../../webgl/BYTE i32 (i32.const 5120)) - (global $../../webgl/UNSIGNED_BYTE i32 (i32.const 5121)) - (global $../../webgl/SHORT i32 (i32.const 5122)) - (global $../../webgl/UNSIGNED_SHORT i32 (i32.const 5123)) - (global $../../webgl/INT i32 (i32.const 5124)) - (global $../../webgl/UNSIGNED_INT i32 (i32.const 5125)) - (global $../../webgl/FLOAT i32 (i32.const 5126)) - (global $../../webgl/DEPTH_COMPONENT i32 (i32.const 6402)) - (global $../../webgl/ALPHA i32 (i32.const 6406)) - (global $../../webgl/RGB i32 (i32.const 6407)) - (global $../../webgl/RGBA i32 (i32.const 6408)) - (global $../../webgl/LUMINANCE i32 (i32.const 6409)) - (global $../../webgl/LUMINANCE_ALPHA i32 (i32.const 6410)) - (global $../../webgl/UNSIGNED_SHORT_4_4_4_4 i32 (i32.const 32819)) - (global $../../webgl/UNSIGNED_SHORT_5_5_5_1 i32 (i32.const 32820)) - (global $../../webgl/UNSIGNED_SHORT_5_6_5 i32 (i32.const 33635)) - (global $../../webgl/FRAGMENT_SHADER i32 (i32.const 35632)) - (global $../../webgl/VERTEX_SHADER i32 (i32.const 35633)) - (global $../../webgl/MAX_VERTEX_ATTRIBS i32 (i32.const 34921)) - (global $../../webgl/MAX_VERTEX_UNIFORM_VECTORS i32 (i32.const 36347)) - (global $../../webgl/MAX_VARYING_VECTORS i32 (i32.const 36348)) - (global $../../webgl/MAX_COMBINED_TEXTURE_IMAGE_UNITS i32 (i32.const 35661)) - (global $../../webgl/MAX_VERTEX_TEXTURE_IMAGE_UNITS i32 (i32.const 35660)) - (global $../../webgl/MAX_TEXTURE_IMAGE_UNITS i32 (i32.const 34930)) - (global $../../webgl/MAX_FRAGMENT_UNIFORM_VECTORS i32 (i32.const 36349)) - (global $../../webgl/SHADER_TYPE i32 (i32.const 35663)) - (global $../../webgl/DELETE_STATUS i32 (i32.const 35712)) - (global $../../webgl/LINK_STATUS i32 (i32.const 35714)) - (global $../../webgl/VALIDATE_STATUS i32 (i32.const 35715)) - (global $../../webgl/ATTACHED_SHADERS i32 (i32.const 35717)) - (global $../../webgl/ACTIVE_UNIFORMS i32 (i32.const 35718)) - (global $../../webgl/ACTIVE_ATTRIBUTES i32 (i32.const 35721)) - (global $../../webgl/SHADING_LANGUAGE_VERSION i32 (i32.const 35724)) - (global $../../webgl/CURRENT_PROGRAM i32 (i32.const 35725)) - (global $../../webgl/NEVER i32 (i32.const 512)) - (global $../../webgl/LESS i32 (i32.const 513)) - (global $../../webgl/EQUAL i32 (i32.const 514)) - (global $../../webgl/LEQUAL i32 (i32.const 515)) - (global $../../webgl/GREATER i32 (i32.const 516)) - (global $../../webgl/NOTEQUAL i32 (i32.const 517)) - (global $../../webgl/GEQUAL i32 (i32.const 518)) - (global $../../webgl/ALWAYS i32 (i32.const 519)) - (global $../../webgl/KEEP i32 (i32.const 7680)) - (global $../../webgl/REPLACE i32 (i32.const 7681)) - (global $../../webgl/INCR i32 (i32.const 7682)) - (global $../../webgl/DECR i32 (i32.const 7683)) - (global $../../webgl/INVERT i32 (i32.const 5386)) - (global $../../webgl/INCR_WRAP i32 (i32.const 34055)) - (global $../../webgl/DECR_WRAP i32 (i32.const 34056)) - (global $../../webgl/VENDOR i32 (i32.const 7936)) - (global $../../webgl/RENDERER i32 (i32.const 7937)) - (global $../../webgl/VERSION i32 (i32.const 7938)) - (global $../../webgl/NEAREST i32 (i32.const 9728)) - (global $../../webgl/LINEAR i32 (i32.const 9729)) - (global $../../webgl/NEAREST_MIPMAP_NEAREST i32 (i32.const 9984)) - (global $../../webgl/LINEAR_MIPMAP_NEAREST i32 (i32.const 9985)) - (global $../../webgl/NEAREST_MIPMAP_LINEAR i32 (i32.const 9986)) - (global $../../webgl/LINEAR_MIPMAP_LINEAR i32 (i32.const 9987)) - (global $../../webgl/TEXTURE_MAG_FILTER i32 (i32.const 10240)) - (global $../../webgl/TEXTURE_MIN_FILTER i32 (i32.const 10241)) - (global $../../webgl/TEXTURE_WRAP_S i32 (i32.const 10242)) - (global $../../webgl/TEXTURE_WRAP_T i32 (i32.const 10243)) - (global $../../webgl/TEXTURE_2D i32 (i32.const 3553)) - (global $../../webgl/TEXTURE i32 (i32.const 5890)) - (global $../../webgl/TEXTURE_CUBE_MAP i32 (i32.const 34067)) - (global $../../webgl/TEXTURE_BINDING_CUBE_MAP i32 (i32.const 34068)) - (global $../../webgl/TEXTURE_CUBE_MAP_POSITIVE_X i32 (i32.const 34069)) - (global $../../webgl/TEXTURE_CUBE_MAP_NEGATIVE_X i32 (i32.const 34070)) - (global $../../webgl/TEXTURE_CUBE_MAP_POSITIVE_Y i32 (i32.const 34071)) - (global $../../webgl/TEXTURE_CUBE_MAP_NEGATIVE_Y i32 (i32.const 34072)) - (global $../../webgl/TEXTURE_CUBE_MAP_POSITIVE_Z i32 (i32.const 34073)) - (global $../../webgl/TEXTURE_CUBE_MAP_NEGATIVE_Z i32 (i32.const 34074)) - (global $../../webgl/MAX_CUBE_MAP_TEXTURE_SIZE i32 (i32.const 34076)) - (global $../../webgl/TEXTURE0 i32 (i32.const 33984)) - (global $../../webgl/TEXTURE1 i32 (i32.const 33985)) - (global $../../webgl/TEXTURE2 i32 (i32.const 33986)) - (global $../../webgl/TEXTURE3 i32 (i32.const 33987)) - (global $../../webgl/TEXTURE4 i32 (i32.const 33988)) - (global $../../webgl/TEXTURE5 i32 (i32.const 33989)) - (global $../../webgl/TEXTURE6 i32 (i32.const 33990)) - (global $../../webgl/TEXTURE7 i32 (i32.const 33991)) - (global $../../webgl/TEXTURE8 i32 (i32.const 33992)) - (global $../../webgl/TEXTURE9 i32 (i32.const 33993)) - (global $../../webgl/TEXTURE10 i32 (i32.const 33994)) - (global $../../webgl/TEXTURE11 i32 (i32.const 33995)) - (global $../../webgl/TEXTURE12 i32 (i32.const 33996)) - (global $../../webgl/TEXTURE13 i32 (i32.const 33997)) - (global $../../webgl/TEXTURE14 i32 (i32.const 33998)) - (global $../../webgl/TEXTURE15 i32 (i32.const 33999)) - (global $../../webgl/TEXTURE16 i32 (i32.const 34000)) - (global $../../webgl/TEXTURE17 i32 (i32.const 34001)) - (global $../../webgl/TEXTURE18 i32 (i32.const 34002)) - (global $../../webgl/TEXTURE19 i32 (i32.const 34003)) - (global $../../webgl/TEXTURE20 i32 (i32.const 34004)) - (global $../../webgl/TEXTURE21 i32 (i32.const 34005)) - (global $../../webgl/TEXTURE22 i32 (i32.const 34006)) - (global $../../webgl/TEXTURE23 i32 (i32.const 34007)) - (global $../../webgl/TEXTURE24 i32 (i32.const 34008)) - (global $../../webgl/TEXTURE25 i32 (i32.const 34009)) - (global $../../webgl/TEXTURE26 i32 (i32.const 34010)) - (global $../../webgl/TEXTURE27 i32 (i32.const 34011)) - (global $../../webgl/TEXTURE28 i32 (i32.const 34012)) - (global $../../webgl/TEXTURE29 i32 (i32.const 34013)) - (global $../../webgl/TEXTURE30 i32 (i32.const 34014)) - (global $../../webgl/TEXTURE31 i32 (i32.const 34015)) - (global $../../webgl/ACTIVE_TEXTURE i32 (i32.const 34016)) - (global $../../webgl/REPEAT i32 (i32.const 10497)) - (global $../../webgl/CLAMP_TO_EDGE i32 (i32.const 33071)) - (global $../../webgl/MIRRORED_REPEAT i32 (i32.const 33648)) - (global $../../webgl/FLOAT_VEC2 i32 (i32.const 35664)) - (global $../../webgl/FLOAT_VEC3 i32 (i32.const 35665)) - (global $../../webgl/FLOAT_VEC4 i32 (i32.const 35666)) - (global $../../webgl/INT_VEC2 i32 (i32.const 35667)) - (global $../../webgl/INT_VEC3 i32 (i32.const 35668)) - (global $../../webgl/INT_VEC4 i32 (i32.const 35669)) - (global $../../webgl/BOOL i32 (i32.const 35670)) - (global $../../webgl/BOOL_VEC2 i32 (i32.const 35671)) - (global $../../webgl/BOOL_VEC3 i32 (i32.const 35672)) - (global $../../webgl/BOOL_VEC4 i32 (i32.const 35673)) - (global $../../webgl/FLOAT_MAT2 i32 (i32.const 35674)) - (global $../../webgl/FLOAT_MAT3 i32 (i32.const 35675)) - (global $../../webgl/FLOAT_MAT4 i32 (i32.const 35676)) - (global $../../webgl/SAMPLER_2D i32 (i32.const 35678)) - (global $../../webgl/SAMPLER_CUBE i32 (i32.const 35680)) - (global $../../webgl/VERTEX_ATTRIB_ARRAY_ENABLED i32 (i32.const 34338)) - (global $../../webgl/VERTEX_ATTRIB_ARRAY_SIZE i32 (i32.const 34339)) - (global $../../webgl/VERTEX_ATTRIB_ARRAY_STRIDE i32 (i32.const 34340)) - (global $../../webgl/VERTEX_ATTRIB_ARRAY_TYPE i32 (i32.const 34341)) - (global $../../webgl/VERTEX_ATTRIB_ARRAY_NORMALIZED i32 (i32.const 34922)) - (global $../../webgl/VERTEX_ATTRIB_ARRAY_POINTER i32 (i32.const 34373)) - (global $../../webgl/VERTEX_ATTRIB_ARRAY_BUFFER_BINDING i32 (i32.const 34975)) - (global $../../webgl/COMPILE_STATUS i32 (i32.const 35713)) - (global $../../webgl/LOW_FLOAT i32 (i32.const 36336)) - (global $../../webgl/MEDIUM_FLOAT i32 (i32.const 36337)) - (global $../../webgl/HIGH_FLOAT i32 (i32.const 36338)) - (global $../../webgl/LOW_INT i32 (i32.const 36339)) - (global $../../webgl/MEDIUM_INT i32 (i32.const 36340)) - (global $../../webgl/HIGH_INT i32 (i32.const 36341)) - (global $../../webgl/FRAMEBUFFER i32 (i32.const 36160)) - (global $../../webgl/RENDERBUFFER i32 (i32.const 36161)) - (global $../../webgl/RGBA4 i32 (i32.const 32854)) - (global $../../webgl/RGB5_A1 i32 (i32.const 32855)) - (global $../../webgl/RGB565 i32 (i32.const 36194)) - (global $../../webgl/DEPTH_COMPONENT16 i32 (i32.const 33189)) - (global $../../webgl/STENCIL_INDEX i32 (i32.const 6401)) - (global $../../webgl/STENCIL_INDEX8 i32 (i32.const 36168)) - (global $../../webgl/DEPTH_STENCIL i32 (i32.const 34041)) - (global $../../webgl/RENDERBUFFER_WIDTH i32 (i32.const 36162)) - (global $../../webgl/RENDERBUFFER_HEIGHT i32 (i32.const 36163)) - (global $../../webgl/RENDERBUFFER_INTERNAL_FORMAT i32 (i32.const 36164)) - (global $../../webgl/RENDERBUFFER_RED_SIZE i32 (i32.const 36176)) - (global $../../webgl/RENDERBUFFER_GREEN_SIZE i32 (i32.const 36177)) - (global $../../webgl/RENDERBUFFER_BLUE_SIZE i32 (i32.const 36178)) - (global $../../webgl/RENDERBUFFER_ALPHA_SIZE i32 (i32.const 36179)) - (global $../../webgl/RENDERBUFFER_DEPTH_SIZE i32 (i32.const 36180)) - (global $../../webgl/RENDERBUFFER_STENCIL_SIZE i32 (i32.const 36181)) - (global $../../webgl/FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE i32 (i32.const 36048)) - (global $../../webgl/FRAMEBUFFER_ATTACHMENT_OBJECT_NAME i32 (i32.const 36049)) - (global $../../webgl/FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL i32 (i32.const 36050)) - (global $../../webgl/FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE i32 (i32.const 36051)) - (global $../../webgl/COLOR_ATTACHMENT0 i32 (i32.const 36064)) - (global $../../webgl/DEPTH_ATTACHMENT i32 (i32.const 36096)) - (global $../../webgl/STENCIL_ATTACHMENT i32 (i32.const 36128)) - (global $../../webgl/DEPTH_STENCIL_ATTACHMENT i32 (i32.const 33306)) - (global $../../webgl/NONE i32 (i32.const 0)) - (global $../../webgl/FRAMEBUFFER_COMPLETE i32 (i32.const 36053)) - (global $../../webgl/FRAMEBUFFER_INCOMPLETE_ATTACHMENT i32 (i32.const 36054)) - (global $../../webgl/FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT i32 (i32.const 36055)) - (global $../../webgl/FRAMEBUFFER_INCOMPLETE_DIMENSIONS i32 (i32.const 36057)) - (global $../../webgl/FRAMEBUFFER_UNSUPPORTED i32 (i32.const 36061)) - (global $../../webgl/FRAMEBUFFER_BINDING i32 (i32.const 36006)) - (global $../../webgl/RENDERBUFFER_BINDING i32 (i32.const 36007)) - (global $../../webgl/MAX_RENDERBUFFER_SIZE i32 (i32.const 34024)) - (global $../../webgl/INVALID_FRAMEBUFFER_OPERATION i32 (i32.const 1286)) - (global $../../webgl/UNPACK_FLIP_Y_WEBGL i32 (i32.const 37440)) - (global $../../webgl/UNPACK_PREMULTIPLY_ALPHA_WEBGL i32 (i32.const 37441)) - (global $../../webgl/CONTEXT_LOST_WEBGL i32 (i32.const 37442)) - (global $../../webgl/UNPACK_COLORSPACE_CONVERSION_WEBGL i32 (i32.const 37443)) - (global $../../webgl/BROWSER_DEFAULT_WEBGL i32 (i32.const 37444)) - (global $Robot/objArray (mut i32) (i32.const 0)) - (global $Robot/matArray (mut i32) (i32.const 0)) - (global $Robot/groupArray (mut i32) (i32.const 0)) - (global $Robot/TanMaterial_mat (mut i32) (i32.const 192)) - (global $Robot/RedMaterial_mat (mut i32) (i32.const 288)) - (global $Robot/BlueMaterial_mat (mut i32) (i32.const 384)) - (global $Robot/Robot_data (mut i32) (i32.const 480)) - (global $obj_mat/VERTEX_SHADER_CODE i32 (i32.const 12688)) - (global $obj_mat/FRAGMENT_SHADER_CODE i32 (i32.const 13984)) - (global $obj_mat/gl (mut i32) (i32.const 0)) - (global $obj_mat/vertex_shader (mut i32) (i32.const 0)) - (global $obj_mat/fragment_shader (mut i32) (i32.const 0)) - (global $obj_mat/program (mut i32) (i32.const 0)) - (global $obj_mat/buffer (mut i32) (i32.const 0)) - (global $obj_mat/position_al (mut i32) (i32.const 0)) - (global $obj_mat/normal_al (mut i32) (i32.const 0)) - (global $~lib/math/rempio2f_y (mut f64) (f64.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 14656)) - (global $~lib/memory/__heap_base i32 (i32.const 14724)) - (export "memory" (memory $0)) - (export "__new" (func $~lib/rt/stub/__new)) - (export "__renew" (func $~lib/rt/stub/__renew)) - (export "__retain" (func $~lib/rt/stub/__retain)) - (export "__release" (func $~lib/rt/stub/__release)) - (export "__collect" (func $~lib/rt/stub/__collect)) - (export "__reset" (func $~lib/rt/stub/__reset)) - (export "__rtti_base" (global $~lib/rt/__rtti_base)) - (export "displayLoop" (func $obj_mat/displayLoop)) - (start $~start) ;; start $func55 - (func $~lib/rt/stub/computeSize (param $0 i32) (result i32) ;; $func19 - local.get $0 - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - ) - (func $~lib/rt/stub/maybeGrowMemory (param $0 i32) ;; $func20 - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - memory.size - local.set $1 - local.get $1 - i32.const 16 - i32.shl - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - local.set $2 - local.get $0 - local.get $2 - i32.gt_u - if - local.get $0 - local.get $2 - i32.sub - i32.const 65535 - i32.add - i32.const 65535 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.shr_u - local.set $3 - local.get $1 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $4 - local.get $4 - memory.grow - i32.const 0 - i32.lt_s - if - local.get $3 - memory.grow - i32.const 0 - i32.lt_s - if - unreachable - end - end - end - local.get $0 - global.set $~lib/rt/stub/offset - ) - (func $~lib/rt/stub/__alloc (param $0 i32) (result i32) ;; $func21 - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741820 - i32.gt_u - if - unreachable - end - global.get $~lib/rt/stub/offset - local.set $1 - global.get $~lib/rt/stub/offset - i32.const 4 - i32.add - local.set $2 - local.get $0 - call $~lib/rt/stub/computeSize - local.set $3 - local.get $2 - local.get $3 - i32.add - call $~lib/rt/stub/maybeGrowMemory - local.get $1 - local.get $3 - i32.store - local.get $2 - ) - (func $~lib/rt/stub/__new (param $0 i32) (param $1 i32) (result i32) ;; $func22 - (local $2 i32) - (local $3 i32) - local.get $0 - i32.const 1073741804 - i32.gt_u - if - unreachable - end - i32.const 16 - local.get $0 - i32.add - call $~lib/rt/stub/__alloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - local.get $3 - local.get $1 - i32.store offset=12 - local.get $3 - local.get $0 - i32.store offset=16 - local.get $2 - i32.const 16 - i32.add - ) - (func $~lib/util/memory/memcpy (param $0 i32) (param $1 i32) (param $2 i32) ;; $func23 - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - loop $while-continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - local.set $5 - local.get $5 - if - local.get $0 - local.tee $6 - i32.const 1 - i32.add - local.set $0 - local.get $6 - local.get $1 - local.tee $6 - i32.const 1 - i32.add - local.set $1 - local.get $6 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.const 3 - i32.and - i32.const 0 - i32.eq - if - loop $while-continue|1 - local.get $2 - i32.const 16 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.get $1 - i32.const 8 - i32.add - i32.load - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|1 - end - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.get $1 - i32.load16_u - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - return - end - local.get $2 - i32.const 32 - i32.ge_u - if - block $break|2 - block $case2|2 - block $case1|2 - block $case0|2 - local.get $0 - i32.const 3 - i32.and - local.set $5 - local.get $5 - i32.const 1 - i32.eq - br_if $case0|2 - local.get $5 - i32.const 2 - i32.eq - br_if $case1|2 - local.get $5 - i32.const 3 - i32.eq - br_if $case2|2 - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 3 - i32.sub - local.set $2 - loop $while-continue|3 - local.get $2 - i32.const 17 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $1 - i32.const 1 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 24 - i32.shr_u - local.get $4 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 5 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 24 - i32.shr_u - local.get $3 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 9 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 24 - i32.shr_u - local.get $4 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 13 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 24 - i32.shr_u - local.get $3 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|3 - end - end - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - loop $while-continue|4 - local.get $2 - i32.const 18 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $1 - i32.const 2 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 16 - i32.shr_u - local.get $4 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 6 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 16 - i32.shr_u - local.get $3 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 10 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 16 - i32.shr_u - local.get $4 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 14 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 16 - i32.shr_u - local.get $3 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|4 - end - end - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|5 - local.get $2 - i32.const 19 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $1 - i32.const 3 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 8 - i32.shr_u - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 7 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 8 - i32.shr_u - local.get $3 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 11 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 8 - i32.shr_u - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 15 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 8 - i32.shr_u - local.get $3 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|5 - end - end - br $break|2 - end - end - local.get $2 - i32.const 16 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end - ) - (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) ;; $func24 - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.get $4 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $4 - local.get $5 - i32.sub - local.get $3 - i32.sub - i32.const 0 - local.get $3 - i32.const 1 - i32.shl - i32.sub - i32.le_u - if - local.get $5 - local.get $4 - local.get $3 - call $~lib/util/memory/memcpy - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $4 - i32.lt_u - if - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|0 - local.get $5 - i32.const 7 - i32.and - local.set $6 - local.get $6 - if - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $5 - local.tee $7 - i32.const 1 - i32.add - local.set $5 - local.get $7 - local.get $4 - local.tee $7 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.load8_u - i32.store8 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $3 - i32.const 8 - i32.ge_u - local.set $6 - local.get $6 - if - local.get $5 - local.get $4 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $while-continue|1 - end - end - end - loop $while-continue|2 - local.get $3 - local.set $6 - local.get $6 - if - local.get $5 - local.tee $7 - i32.const 1 - i32.add - local.set $5 - local.get $7 - local.get $4 - local.tee $7 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.load8_u - i32.store8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - else - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|3 - local.get $5 - local.get $3 - i32.add - i32.const 7 - i32.and - local.set $6 - local.get $6 - if - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $3 - i32.const 8 - i32.ge_u - local.set $6 - local.get $6 - if - local.get $3 - i32.const 8 - i32.sub - local.set $3 - local.get $5 - local.get $3 - i32.add - local.get $4 - local.get $3 - i32.add - i64.load - i64.store - br $while-continue|4 - end - end - end - loop $while-continue|5 - local.get $3 - local.set $6 - local.get $6 - if - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $while-continue|5 - end - end - end - end - ) - (func $~lib/rt/stub/__realloc (param $0 i32) (param $1 i32) (result i32) ;; $func25 - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.const 0 - i32.ne - if (result i32) - local.get $0 - i32.const 15 - i32.and - i32.eqz - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 55 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.sub - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $0 - local.get $3 - i32.add - global.get $~lib/rt/stub/offset - i32.eq - local.set $4 - local.get $1 - call $~lib/rt/stub/computeSize - local.set $5 - local.get $1 - local.get $3 - i32.gt_u - if - local.get $4 - if - local.get $1 - i32.const 1073741820 - i32.gt_u - if - unreachable - end - local.get $0 - local.get $5 - i32.add - call $~lib/rt/stub/maybeGrowMemory - local.get $2 - local.get $5 - i32.store - else - local.get $5 - local.tee $6 - local.get $3 - i32.const 1 - i32.shl - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - call $~lib/rt/stub/__alloc - local.set $6 - local.get $6 - local.get $0 - local.get $3 - call $~lib/memory/memory.copy - local.get $6 - local.tee $0 - i32.const 4 - i32.sub - local.set $2 - end - else - local.get $4 - if - local.get $0 - local.get $5 - i32.add - global.set $~lib/rt/stub/offset - local.get $2 - local.get $5 - i32.store - end - end - local.get $0 - ) - (func $~lib/rt/stub/__renew (param $0 i32) (param $1 i32) (result i32) ;; $func26 - (local $2 i32) - local.get $1 - i32.const 1073741804 - i32.gt_u - if - unreachable - end - local.get $0 - i32.const 16 - i32.sub - i32.const 16 - local.get $1 - i32.add - call $~lib/rt/stub/__realloc - local.set $2 - local.get $2 - i32.const 4 - i32.sub - local.get $1 - i32.store offset=16 - local.get $2 - i32.const 16 - i32.add - ) - (func $~lib/rt/stub/__retain (param $0 i32) (result i32) ;; $func27 - local.get $0 - ) - (func $~lib/rt/stub/__release (param $0 i32) ;; $func28 - nop - ) - (func $~lib/rt/stub/__collect ;; $func29 - nop - ) - (func $~lib/rt/stub/__reset ;; $func30 - global.get $~lib/rt/stub/startOffset - global.set $~lib/rt/stub/offset - ) - (func $~lib/memory/memory.fill (param $0 i32) (param $1 i32) (param $2 i32) ;; $func31 - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - block $~lib/util/memory/memset|inlined.0 - local.get $0 - local.set $5 - local.get $1 - local.set $4 - local.get $2 - local.set $3 - i32.const 0 - i32.const 1 - i32.gt_s - drop - local.get $3 - i32.eqz - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.set $6 - local.get $5 - local.get $4 - i32.store8 - local.get $6 - local.get $4 - i32.store8 offset=3 - local.get $3 - i32.const 2 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $4 - i32.store8 offset=1 - local.get $5 - local.get $4 - i32.store8 offset=2 - local.get $6 - local.get $4 - i32.store8 offset=2 - local.get $6 - local.get $4 - i32.store8 offset=1 - local.get $3 - i32.const 6 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $4 - i32.store8 offset=3 - local.get $6 - local.get $4 - i32.store8 - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - i32.const 0 - local.get $5 - i32.sub - i32.const 3 - i32.and - local.set $7 - local.get $5 - local.get $7 - i32.add - local.set $5 - local.get $3 - local.get $7 - i32.sub - local.set $3 - local.get $3 - i32.const -4 - i32.and - local.set $3 - i32.const -1 - i32.const 255 - i32.div_u - local.get $4 - i32.const 255 - i32.and - i32.mul - local.set $8 - local.get $5 - local.get $3 - i32.add - i32.const 28 - i32.sub - local.set $6 - local.get $5 - local.get $8 - i32.store - local.get $6 - local.get $8 - i32.store offset=24 - local.get $3 - i32.const 8 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $8 - i32.store offset=4 - local.get $5 - local.get $8 - i32.store offset=8 - local.get $6 - local.get $8 - i32.store offset=16 - local.get $6 - local.get $8 - i32.store offset=20 - local.get $3 - i32.const 24 - i32.le_u - if - br $~lib/util/memory/memset|inlined.0 - end - local.get $5 - local.get $8 - i32.store offset=12 - local.get $5 - local.get $8 - i32.store offset=16 - local.get $5 - local.get $8 - i32.store offset=20 - local.get $5 - local.get $8 - i32.store offset=24 - local.get $6 - local.get $8 - i32.store - local.get $6 - local.get $8 - i32.store offset=4 - local.get $6 - local.get $8 - i32.store offset=8 - local.get $6 - local.get $8 - i32.store offset=12 - i32.const 24 - local.get $5 - i32.const 4 - i32.and - i32.add - local.set $7 - local.get $5 - local.get $7 - i32.add - local.set $5 - local.get $3 - local.get $7 - i32.sub - local.set $3 - local.get $8 - i64.extend_i32_u - local.get $8 - i64.extend_i32_u - i64.const 32 - i64.shl - i64.or - local.set $9 - loop $while-continue|0 - local.get $3 - i32.const 32 - i32.ge_u - local.set $10 - local.get $10 - if - local.get $5 - local.get $9 - i64.store - local.get $5 - local.get $9 - i64.store offset=8 - local.get $5 - local.get $9 - i64.store offset=16 - local.get $5 - local.get $9 - i64.store offset=24 - local.get $3 - i32.const 32 - i32.sub - local.set $3 - local.get $5 - i32.const 32 - i32.add - local.set $5 - br $while-continue|0 - end - end - end - ) - (func $~lib/array/Array<~lib/staticarray/StaticArray>#constructor (param $0 i32) (param $1 i32) (result i32) ;; $func32 - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.eqz - if - i32.const 16 - i32.const 4 - call $~lib/rt/stub/__new - call $~lib/rt/stub/__retain - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 96 - i32.const 144 - i32.const 57 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - local.get $2 - i32.const 0 - call $~lib/rt/stub/__new - local.set $3 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - i32.load - local.tee $6 - i32.ne - if - local.get $5 - call $~lib/rt/stub/__retain - local.set $5 - local.get $6 - call $~lib/rt/stub/__release - end - local.get $5 - i32.store - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 - local.get $0 - ) - (func $~lib/array/Array<~lib/staticarray/StaticArray>#constructor (param $0 i32) (param $1 i32) (result i32) ;; $func33 - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.eqz - if - i32.const 16 - i32.const 6 - call $~lib/rt/stub/__new - call $~lib/rt/stub/__retain - local.set $0 - end - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 96 - i32.const 144 - i32.const 57 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - local.get $2 - i32.const 0 - call $~lib/rt/stub/__new - local.set $3 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - i32.load - local.tee $6 - i32.ne - if - local.get $5 - call $~lib/rt/stub/__retain - local.set $5 - local.get $6 - call $~lib/rt/stub/__release - end - local.get $5 - i32.store - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 - local.get $0 - ) - (func $~lib/array/ensureSize (param $0 i32) (param $1 i32) (param $2 i32) ;; $func34 - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $1 - local.get $3 - local.get $2 - i32.shr_u - i32.gt_u - if - local.get $1 - i32.const 1073741820 - local.get $2 - i32.shr_u - i32.gt_u - if - i32.const 96 - i32.const 144 - i32.const 14 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load - local.set $4 - local.get $1 - local.get $2 - i32.shl - local.set $5 - local.get $4 - local.get $5 - call $~lib/rt/stub/__renew - local.set $6 - local.get $6 - local.get $3 - i32.add - i32.const 0 - local.get $5 - local.get $3 - i32.sub - call $~lib/memory/memory.fill - local.get $6 - local.get $4 - i32.ne - if - local.get $0 - local.get $6 - i32.store - local.get $0 - local.get $6 - i32.store offset=4 - end - local.get $0 - local.get $5 - i32.store offset=8 - end - ) - (func $~lib/array/Array<~lib/staticarray/StaticArray>#push (param $0 i32) (param $1 i32) (result i32) ;; $func35 - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - call $~lib/rt/stub/__retain - local.set $1 - local.get $0 - i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.const 2 - call $~lib/array/ensureSize - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - call $~lib/rt/stub/__retain - i32.store - local.get $0 - local.get $3 - i32.store offset=12 - local.get $3 - local.set $4 - local.get $1 - call $~lib/rt/stub/__release - local.get $4 - ) - (func $~lib/rt/__newBuffer (param $0 i32) (param $1 i32) (param $2 i32) (result i32) ;; $func36 - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/stub/__new - local.set $3 - local.get $2 - if - local.get $3 - local.get $2 - local.get $0 - call $~lib/memory/memory.copy - end - local.get $3 - ) - (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) ;; $func37 - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 16 - local.get $2 - call $~lib/rt/stub/__new - local.set $4 - local.get $0 - local.get $1 - i32.shl - local.set $5 - local.get $5 - i32.const 0 - local.get $3 - call $~lib/rt/__newBuffer - local.set $6 - local.get $4 - local.get $6 - call $~lib/rt/stub/__retain - i32.store - local.get $4 - local.get $6 - i32.store offset=4 - local.get $4 - local.get $5 - i32.store offset=8 - local.get $4 - local.get $0 - i32.store offset=12 - local.get $4 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) ;; $func38 - local.get $0 - i32.load offset=12 - ) - (func $~lib/staticarray/StaticArray.fromArray (param $0 i32) (result i32) ;; $func39 - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - call $~lib/rt/stub/__retain - local.set $0 - local.get $0 - call $~lib/array/Array#get:length - local.set $1 - local.get $1 - i32.const 2 - i32.shl - local.set $2 - local.get $2 - i32.const 5 - call $~lib/rt/stub/__new - local.set $3 - i32.const 0 - drop - local.get $3 - local.get $0 - i32.load offset=4 - local.get $2 - call $~lib/memory/memory.copy - local.get $3 - call $~lib/rt/stub/__retain - local.set $4 - local.get $0 - call $~lib/rt/stub/__release - local.get $4 - ) - (func $~lib/array/Array<~lib/staticarray/StaticArray>#push (param $0 i32) (param $1 i32) (result i32) ;; $func40 - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - call $~lib/rt/stub/__retain - local.set $1 - local.get $0 - i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.const 2 - call $~lib/array/ensureSize - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - call $~lib/rt/stub/__retain - i32.store - local.get $0 - local.get $3 - i32.store offset=12 - local.get $3 - local.set $4 - local.get $1 - call $~lib/rt/stub/__release - local.get $4 - ) - (func $start:Robot ;; $func41 - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 0 - i32.const 1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#constructor - global.set $Robot/objArray - i32.const 0 - i32.const 3 - call $~lib/array/Array<~lib/staticarray/StaticArray>#constructor - global.set $Robot/matArray - i32.const 0 - i32.const 0 - call $~lib/array/Array<~lib/staticarray/StaticArray>#constructor - global.set $Robot/groupArray - global.get $Robot/matArray - global.get $Robot/TanMaterial_mat - call $~lib/array/Array<~lib/staticarray/StaticArray>#push - drop - global.get $Robot/matArray - global.get $Robot/RedMaterial_mat - call $~lib/array/Array<~lib/staticarray/StaticArray>#push - drop - global.get $Robot/matArray - global.get $Robot/BlueMaterial_mat - call $~lib/array/Array<~lib/staticarray/StaticArray>#push - drop - global.get $Robot/objArray - global.get $Robot/Robot_data - call $~lib/array/Array<~lib/staticarray/StaticArray>#push - drop - global.get $Robot/groupArray - i32.const 4 - i32.const 2 - i32.const 7 - i32.const 12544 - call $~lib/rt/__newArray - call $~lib/rt/stub/__retain - local.tee $1 - call $~lib/staticarray/StaticArray.fromArray - local.tee $0 - call $~lib/array/Array<~lib/staticarray/StaticArray>#push - drop - global.get $Robot/groupArray - i32.const 4 - i32.const 2 - i32.const 7 - i32.const 12592 - call $~lib/rt/__newArray - call $~lib/rt/stub/__retain - local.tee $3 - call $~lib/staticarray/StaticArray.fromArray - local.tee $2 - call $~lib/array/Array<~lib/staticarray/StaticArray>#push - drop - global.get $Robot/groupArray - i32.const 4 - i32.const 2 - i32.const 7 - i32.const 12640 - call $~lib/rt/__newArray - call $~lib/rt/stub/__retain - local.tee $5 - call $~lib/staticarray/StaticArray.fromArray - local.tee $4 - call $~lib/array/Array<~lib/staticarray/StaticArray>#push - drop - local.get $0 - call $~lib/rt/stub/__release - local.get $1 - call $~lib/rt/stub/__release - local.get $2 - call $~lib/rt/stub/__release - local.get $3 - call $~lib/rt/stub/__release - local.get $4 - call $~lib/rt/stub/__release - local.get $5 - call $~lib/rt/stub/__release - ) - (func $start:obj_mat ;; $func42 - call $start:Robot - i32.const 14240 - i32.const 14272 - call $../../webgl/createContextFromCanvas - global.set $obj_mat/gl - global.get $obj_mat/gl - global.get $../../webgl/VERTEX_SHADER - call $../../webgl/createShader - global.set $obj_mat/vertex_shader - global.get $obj_mat/gl - global.get $obj_mat/vertex_shader - global.get $obj_mat/VERTEX_SHADER_CODE - call $../../webgl/shaderSource - global.get $obj_mat/gl - global.get $obj_mat/vertex_shader - call $../../webgl/compileShader - global.get $obj_mat/gl - global.get $../../webgl/FRAGMENT_SHADER - call $../../webgl/createShader - global.set $obj_mat/fragment_shader - global.get $obj_mat/gl - global.get $obj_mat/fragment_shader - global.get $obj_mat/FRAGMENT_SHADER_CODE - call $../../webgl/shaderSource - global.get $obj_mat/gl - global.get $obj_mat/fragment_shader - call $../../webgl/compileShader - global.get $obj_mat/gl - call $../../webgl/createProgram - global.set $obj_mat/program - global.get $obj_mat/gl - global.get $obj_mat/program - global.get $obj_mat/vertex_shader - call $../../webgl/attachShader - global.get $obj_mat/gl - global.get $obj_mat/program - global.get $obj_mat/fragment_shader - call $../../webgl/attachShader - global.get $obj_mat/gl - global.get $obj_mat/program - call $../../webgl/linkProgram - global.get $obj_mat/gl - global.get $obj_mat/program - call $../../webgl/useProgram - global.get $obj_mat/gl - call $../../webgl/createBuffer - global.set $obj_mat/buffer - global.get $obj_mat/gl - global.get $../../webgl/ARRAY_BUFFER - global.get $obj_mat/buffer - call $../../webgl/bindBuffer - global.get $obj_mat/gl - global.get $obj_mat/program - i32.const 14304 - call $../../webgl/getAttribLocation - global.set $obj_mat/position_al - global.get $obj_mat/gl - global.get $obj_mat/position_al - call $../../webgl/enableVertexAttribArray - global.get $obj_mat/gl - global.get $obj_mat/program - i32.const 14352 - call $../../webgl/getAttribLocation - global.set $obj_mat/normal_al - global.get $obj_mat/gl - global.get $obj_mat/normal_al - call $../../webgl/enableVertexAttribArray - global.get $obj_mat/gl - global.get $../../webgl/DEPTH_TEST - call $../../webgl/enable - ) - (func $~lib/array/Array<~lib/staticarray/StaticArray>#get:length (param $0 i32) (result i32) ;; $func43 - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array<~lib/staticarray/StaticArray>#__uget (param $0 i32) (param $1 i32) (result i32) ;; $func44 - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/rt/stub/__retain - ) - (func $~lib/array/Array<~lib/staticarray/StaticArray>#__get (param $0 i32) (param $1 i32) (result i32) ;; $func45 - (local $2 i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 14384 - i32.const 144 - i32.const 104 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__uget - local.set $2 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $2 - i32.eqz - if - i32.const 14448 - i32.const 144 - i32.const 108 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $2 - ) - (func $~lib/staticarray/StaticArray#get:length (param $0 i32) (result i32) ;; $func46 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 2 - i32.shr_u - ) - (func $~lib/staticarray/StaticArray#__uget (param $0 i32) (param $1 i32) (result f32) ;; $func47 - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - ) - (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result f32) ;; $func48 - (local $2 f32) - local.get $1 - local.get $0 - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 14384 - i32.const 14576 - i32.const 95 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/staticarray/StaticArray#__uget - local.set $2 - i32.const 0 - drop - local.get $2 - ) - (func $~lib/math/NativeMathf.cos (param $0 f32) (result f32) ;; $func49 - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 i32) - (local $10 f32) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 i64) - (local $15 i32) - (local $16 i64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 f64) - (local $26 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 31 - i32.shr_u - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1061752794 - i32.le_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - f32.const 1 - return - end - local.get $0 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $1 - i32.const 1081824209 - i32.le_u - if - local.get $1 - i32.const 1075235811 - i32.gt_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $6 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $4 - f32.const 1 - f64.promote_f32 - local.get $6 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $6 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - f32.neg - return - else - local.get $2 - if (result f32) - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - else - f64.const 1.5707963267948966 - local.get $0 - f64.promote_f32 - f64.sub - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $7 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $7 - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $4 - f64.const -0.16666666641626524 - local.get $7 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $6 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - return - end - unreachable - end - local.get $1 - i32.const 1088565717 - i32.le_u - if - local.get $1 - i32.const 1085271519 - i32.gt_u - if - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - else - local.get $2 - if (result f32) - local.get $0 - f32.neg - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $6 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $4 - local.get $6 - local.get $7 - f64.mul - local.set $3 - local.get $7 - local.get $3 - f64.const -0.16666666641626524 - local.get $6 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $5 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - else - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - f64.const -1.9839334836096632e-04 - local.get $3 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $3 - local.get $7 - f64.mul - local.set $6 - local.get $7 - local.get $6 - f64.const -0.16666666641626524 - local.get $3 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $6 - local.get $4 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - return - end - unreachable - end - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.0 (result i32) - local.get $0 - local.set $10 - local.get $1 - local.set $9 - local.get $2 - local.set $8 - local.get $9 - i32.const 1305022427 - i32.lt_u - if - local.get $10 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $6 - local.get $10 - f64.promote_f32 - local.get $6 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $6 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $6 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.0 - end - local.get $10 - local.set $12 - local.get $9 - local.set $11 - local.get $11 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $13 - local.get $13 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $14 - i32.const 14616 - local.get $13 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $15 - local.get $15 - i64.load - local.set $16 - local.get $15 - i64.load offset=8 - local.set $17 - local.get $14 - i64.const 32 - i64.gt_u - if - local.get $15 - i64.load offset=16 - local.set $19 - local.get $19 - i64.const 96 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - local.get $18 - local.get $17 - local.get $14 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $18 - else - local.get $17 - i64.const 32 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - end - local.get $17 - i64.const 64 - local.get $14 - i64.sub - i64.shr_u - local.get $16 - local.get $14 - i64.shl - i64.or - local.set $19 - local.get $11 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $20 - local.get $20 - local.get $19 - i64.mul - local.get $20 - local.get $18 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $21 - local.get $21 - i64.const 2 - i64.shl - local.set $22 - local.get $21 - i64.const 62 - i64.shr_u - local.get $22 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $23 - f64.const 8.515303950216386e-20 - local.get $12 - f64.promote_f32 - f64.copysign - local.get $22 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $23 - local.set $23 - i32.const 0 - local.get $23 - i32.sub - local.get $23 - local.get $8 - select - end - local.set $24 - global.get $~lib/math/rempio2f_y - local.set $25 - local.get $24 - i32.const 1 - i32.and - if (result f32) - local.get $25 - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $6 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $4 - local.get $6 - local.get $7 - f64.mul - local.set $3 - local.get $7 - local.get $3 - f64.const -0.16666666641626524 - local.get $6 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $5 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - else - local.get $25 - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - f64.const -0.001388676377460993 - local.get $3 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $3 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $4 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $4 - local.get $3 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - end - local.set $26 - local.get $24 - i32.const 1 - i32.add - i32.const 2 - i32.and - if (result f32) - local.get $26 - f32.neg - else - local.get $26 - end - ) - (func $~lib/math/NativeMathf.sin (param $0 f32) (result f32) ;; $func50 - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 f64) - (local $5 f64) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 i32) - (local $10 f32) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 i64) - (local $15 i32) - (local $16 i64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 f64) - (local $26 f32) - local.get $0 - i32.reinterpret_f32 - local.set $1 - local.get $1 - i32.const 31 - i32.shr_u - local.set $2 - local.get $1 - i32.const 2147483647 - i32.and - local.set $1 - local.get $1 - i32.const 1061752794 - i32.le_u - if - local.get $1 - i32.const 964689920 - i32.lt_u - if - local.get $0 - return - end - local.get $0 - f64.promote_f32 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $1 - i32.const 1081824209 - i32.le_u - if - local.get $1 - i32.const 1075235811 - i32.le_u - if - local.get $2 - if (result f32) - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.add - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -0.001388676377460993 - local.get $7 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $7 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $6 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - f32.neg - else - local.get $0 - f64.promote_f32 - f64.const 1.5707963267948966 - f64.sub - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - f64.const -0.001388676377460993 - local.get $5 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $7 - f32.const 1 - f64.promote_f32 - local.get $5 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $6 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $6 - local.get $5 - f64.mul - local.get $7 - f64.mul - f64.add - f32.demote_f64 - end - return - end - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 3.141592653589793 - f64.sub - end - f64.neg - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $7 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $5 - local.get $7 - local.get $3 - f64.mul - local.set $4 - local.get $3 - local.get $4 - f64.const -0.16666666641626524 - local.get $7 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $4 - local.get $6 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $1 - i32.const 1088565717 - i32.le_u - if - local.get $1 - i32.const 1085271519 - i32.le_u - if - local.get $2 - if (result f32) - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.add - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $4 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $6 - f32.const 1 - f64.promote_f32 - local.get $4 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $4 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - else - local.get $0 - f64.promote_f32 - f64.const 4.71238898038469 - f64.sub - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - local.get $6 - local.get $6 - f64.mul - local.set $5 - f64.const -0.001388676377460993 - local.get $6 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $4 - f32.const 1 - f64.promote_f32 - local.get $6 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $5 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $5 - local.get $6 - f64.mul - local.get $4 - f64.mul - f64.add - f32.demote_f64 - f32.neg - end - return - end - local.get $2 - if (result f64) - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.add - else - local.get $0 - f64.promote_f32 - f64.const 6.283185307179586 - f64.sub - end - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - f64.const -1.9839334836096632e-04 - local.get $4 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $6 - local.get $4 - local.get $3 - f64.mul - local.set $7 - local.get $3 - local.get $7 - f64.const -0.16666666641626524 - local.get $4 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $7 - local.get $5 - f64.mul - local.get $6 - f64.mul - f64.add - f32.demote_f64 - return - end - local.get $1 - i32.const 2139095040 - i32.ge_u - if - local.get $0 - local.get $0 - f32.sub - return - end - block $~lib/math/rempio2f|inlined.1 (result i32) - local.get $0 - local.set $10 - local.get $1 - local.set $9 - local.get $2 - local.set $8 - local.get $9 - i32.const 1305022427 - i32.lt_u - if - local.get $10 - f64.promote_f32 - f64.const 0.6366197723675814 - f64.mul - f64.nearest - local.set $7 - local.get $10 - f64.promote_f32 - local.get $7 - f64.const 1.5707963109016418 - f64.mul - f64.sub - local.get $7 - f64.const 1.5893254773528196e-08 - f64.mul - f64.sub - global.set $~lib/math/rempio2f_y - local.get $7 - i32.trunc_f64_s - br $~lib/math/rempio2f|inlined.1 - end - local.get $10 - local.set $12 - local.get $9 - local.set $11 - local.get $11 - i32.const 23 - i32.shr_s - i32.const 152 - i32.sub - local.set $13 - local.get $13 - i32.const 63 - i32.and - i64.extend_i32_s - local.set $14 - i32.const 14616 - local.get $13 - i32.const 6 - i32.shr_s - i32.const 3 - i32.shl - i32.add - local.set $15 - local.get $15 - i64.load - local.set $16 - local.get $15 - i64.load offset=8 - local.set $17 - local.get $14 - i64.const 32 - i64.gt_u - if - local.get $15 - i64.load offset=16 - local.set $19 - local.get $19 - i64.const 96 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - local.get $18 - local.get $17 - local.get $14 - i64.const 32 - i64.sub - i64.shl - i64.or - local.set $18 - else - local.get $17 - i64.const 32 - local.get $14 - i64.sub - i64.shr_u - local.set $18 - end - local.get $17 - i64.const 64 - local.get $14 - i64.sub - i64.shr_u - local.get $16 - local.get $14 - i64.shl - i64.or - local.set $19 - local.get $11 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - i64.extend_i32_s - local.set $20 - local.get $20 - local.get $19 - i64.mul - local.get $20 - local.get $18 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $21 - local.get $21 - i64.const 2 - i64.shl - local.set $22 - local.get $21 - i64.const 62 - i64.shr_u - local.get $22 - i64.const 63 - i64.shr_u - i64.add - i32.wrap_i64 - local.set $23 - f64.const 8.515303950216386e-20 - local.get $12 - f64.promote_f32 - f64.copysign - local.get $22 - f64.convert_i64_s - f64.mul - global.set $~lib/math/rempio2f_y - local.get $23 - local.set $23 - i32.const 0 - local.get $23 - i32.sub - local.get $23 - local.get $8 - select - end - local.set $24 - global.get $~lib/math/rempio2f_y - local.set $25 - local.get $24 - i32.const 1 - i32.and - if (result f32) - local.get $25 - local.set $3 - local.get $3 - local.get $3 - f64.mul - local.set $7 - local.get $7 - local.get $7 - f64.mul - local.set $6 - f64.const -0.001388676377460993 - local.get $7 - f64.const 2.439044879627741e-05 - f64.mul - f64.add - local.set $5 - f32.const 1 - f64.promote_f32 - local.get $7 - f64.const -0.499999997251031 - f64.mul - f64.add - local.get $6 - f64.const 0.04166662332373906 - f64.mul - f64.add - local.get $6 - local.get $7 - f64.mul - local.get $5 - f64.mul - f64.add - f32.demote_f64 - else - local.get $25 - local.set $4 - local.get $4 - local.get $4 - f64.mul - local.set $5 - local.get $5 - local.get $5 - f64.mul - local.set $6 - f64.const -1.9839334836096632e-04 - local.get $5 - f64.const 2.718311493989822e-06 - f64.mul - f64.add - local.set $7 - local.get $5 - local.get $4 - f64.mul - local.set $3 - local.get $4 - local.get $3 - f64.const -0.16666666641626524 - local.get $5 - f64.const 0.008333329385889463 - f64.mul - f64.add - f64.mul - f64.add - local.get $3 - local.get $6 - f64.mul - local.get $7 - f64.mul - f64.add - f32.demote_f64 - end - local.set $26 - local.get $24 - i32.const 2 - i32.and - if (result f32) - local.get $26 - f32.neg - else - local.get $26 - end - ) - (func $~lib/staticarray/StaticArray#__uset (param $0 i32) (param $1 i32) (param $2 f32) ;; $func51 - i32.const 0 - drop - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - f32.store - ) - (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 f32) ;; $func52 - local.get $1 - local.get $0 - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 14384 - i32.const 14576 - i32.const 110 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/staticarray/StaticArray#__uset - ) - (func $obj_mat/rotate (param $0 f32) ;; $func53 - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f32) - (local $7 i32) - (local $8 f32) - (local $9 i32) - (local $10 f32) - (local $11 i32) - (local $12 f32) - (local $13 f32) - (local $14 f32) - (local $15 f32) - (local $16 f32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - i32.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - global.get $Robot/objArray - call $~lib/array/Array<~lib/staticarray/StaticArray>#get:length - i32.lt_s - local.set $2 - local.get $2 - if - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $4 - call $~lib/staticarray/StaticArray#get:length - i32.lt_s - local.set $5 - local.get $4 - call $~lib/rt/stub/__release - local.get $5 - if - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $4 - local.get $3 - call $~lib/staticarray/StaticArray#__get - local.set $6 - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $7 - local.get $3 - i32.const 2 - i32.add - call $~lib/staticarray/StaticArray#__get - local.set $8 - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $9 - local.get $3 - i32.const 3 - i32.add - call $~lib/staticarray/StaticArray#__get - local.set $10 - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $11 - local.get $3 - i32.const 5 - i32.add - call $~lib/staticarray/StaticArray#__get - local.set $12 - local.get $6 - local.get $0 - call $~lib/math/NativeMathf.cos - f32.mul - local.get $8 - local.get $0 - call $~lib/math/NativeMathf.sin - f32.mul - f32.sub - local.set $13 - local.get $8 - local.get $0 - call $~lib/math/NativeMathf.cos - f32.mul - local.get $6 - local.get $0 - call $~lib/math/NativeMathf.sin - f32.mul - f32.add - local.set $14 - local.get $10 - local.get $0 - call $~lib/math/NativeMathf.cos - f32.mul - local.get $12 - local.get $0 - call $~lib/math/NativeMathf.sin - f32.mul - f32.sub - local.set $15 - local.get $12 - local.get $0 - call $~lib/math/NativeMathf.cos - f32.mul - local.get $10 - local.get $0 - call $~lib/math/NativeMathf.sin - f32.mul - f32.add - local.set $16 - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $17 - local.get $3 - local.get $13 - call $~lib/staticarray/StaticArray#__set - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $18 - local.get $3 - i32.const 2 - i32.add - local.get $14 - call $~lib/staticarray/StaticArray#__set - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $19 - local.get $3 - i32.const 3 - i32.add - local.get $15 - call $~lib/staticarray/StaticArray#__set - global.get $Robot/objArray - local.get $1 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $20 - local.get $3 - i32.const 5 - i32.add - local.get $16 - call $~lib/staticarray/StaticArray#__set - local.get $4 - call $~lib/rt/stub/__release - local.get $7 - call $~lib/rt/stub/__release - local.get $9 - call $~lib/rt/stub/__release - local.get $11 - call $~lib/rt/stub/__release - local.get $17 - call $~lib/rt/stub/__release - local.get $18 - call $~lib/rt/stub/__release - local.get $19 - call $~lib/rt/stub/__release - local.get $20 - call $~lib/rt/stub/__release - local.get $3 - i32.const 6 - i32.add - local.set $3 - br $for-loop|1 - end - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - return - ) - (func $obj_mat/displayLoop (param $0 i32) ;; $func54 - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - f32.convert_i32_s - f32.const 1e4 - f32.div - local.set $1 - local.get $1 - call $obj_mat/rotate - global.get $obj_mat/gl - f32.const 0 - f32.const 0 - f32.const 0 - f32.const 1 - call $../../webgl/clearColor - global.get $obj_mat/gl - global.get $../../webgl/COLOR_BUFFER_BIT - global.get $../../webgl/DEPTH_BUFFER_BIT - i32.or - call $../../webgl/clear - i32.const 0 - local.set $2 - loop $for-loop|0 - local.get $2 - global.get $Robot/objArray - call $~lib/array/Array<~lib/staticarray/StaticArray>#get:length - i32.lt_s - local.set $3 - local.get $3 - if - global.get $obj_mat/gl - global.get $../../webgl/ARRAY_BUFFER - global.get $Robot/objArray - local.get $2 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $4 - global.get $../../webgl/DYNAMIC_DRAW - call $../../webgl/bufferData - global.get $obj_mat/gl - global.get $obj_mat/position_al - i32.const 3 - global.get $../../webgl/FLOAT - i32.const 0 - i32.const 24 - i32.const 0 - call $../../webgl/vertexAttribPointer - global.get $obj_mat/gl - global.get $obj_mat/normal_al - i32.const 3 - global.get $../../webgl/FLOAT - i32.const 0 - i32.const 24 - i32.const 12 - call $../../webgl/vertexAttribPointer - global.get $obj_mat/gl - global.get $../../webgl/TRIANGLES - i32.const 0 - global.get $Robot/objArray - local.get $2 - call $~lib/array/Array<~lib/staticarray/StaticArray>#__get - local.tee $5 - call $~lib/staticarray/StaticArray#get:length - i32.const 6 - i32.div_s - call $../../webgl/drawArrays - local.get $4 - call $~lib/rt/stub/__release - local.get $5 - call $~lib/rt/stub/__release - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - ) - (func $~start ;; $func55 - global.get $~lib/memory/__heap_base - i32.const 4 - i32.add - i32.const 15 - i32.add - i32.const 15 - i32.const -1 - i32.xor - i32.and - i32.const 4 - i32.sub - global.set $~lib/rt/stub/startOffset - global.get $~lib/rt/stub/startOffset - global.set $~lib/rt/stub/offset - call $start:obj_mat - ) -) diff --git a/examples/MousePoint/mouse_point.ts b/examples/MousePoint/mouse_point.ts deleted file mode 100644 index 9da0179..0000000 --- a/examples/MousePoint/mouse_point.ts +++ /dev/null @@ -1,173 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - STATIC_DRAW, DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, POINTS, enable, blendFunc, - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, -} from '../../webgl' - -// SRC_ALPHA -// ONE_MINUS_SRC_ALPHA -let point_data: StaticArray = [0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, - 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0,]; - -class Point { - public x: f32 = 0.0; - public y: f32 = 0.0; - public alpha: f32 = 1.0; - public visible:bool = false; - public index: i32 = 0; - - constructor( index: i32 ) { - this.index = index; - } - - public activate(x: f32, y: f32 ) :void { - this.x = x; - this.y = y; - this.visible = true; - this.alpha = 1.0; - } - - public move(): void { - this.alpha -= second_delta * 2; - - if( this.alpha < 0.0 ) { - this.visible = false; - this.alpha = 0.0; - } - - point_data[this.index * 3] = this.x; - point_data[this.index * 3 + 1] = this.y; - point_data[this.index * 3 + 2] = this.alpha; - } -} - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision highp float; - - layout(location = 0) in vec2 position; - layout(location = 1) in float alpha; - out vec4 c; - - void main() { - gl_Position = vec4( position.x, position.y, 0.0, 1.0 ); - gl_PointSize = 8.0; - float a = clamp(alpha, 0.0, 1.0); - c = vec4(1.0,1.0,0.0,a); - - } -`; -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - in vec4 c; - out vec4 color; - - void main() { - color = c; - } -`; - - // initialize webgl - var second_delta: f32 = 0.0; - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - let alpha_al = getAttribLocation(gl, program, 'alpha'); - enableVertexAttribArray(gl, alpha_al); - - enable(gl, BLEND); - blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); - - let point_index: i32 = 0; - - let point_list: StaticArray = [new Point(0), new Point(1), new Point(2), new Point(3), new Point(4), - new Point(5), new Point(6), new Point(7), new Point(8), new Point(9), - new Point(10), new Point(11), new Point(12), new Point(13), new Point(14), - new Point(15), new Point(16), new Point(17), new Point(18), new Point(19), - new Point(20), new Point(21), new Point(22), new Point(23), new Point(24), - new Point(25), new Point(26), new Point(27), new Point(28), new Point(29), - new Point(30), new Point(31), new Point(32), new Point(33), new Point(34), - new Point(35), new Point(36), new Point(37), new Point(38), new Point(39), - new Point(40), new Point(41), new Point(42), new Point(43), new Point(44), - new Point(45), new Point(46), new Point(47), new Point(48), new Point(49), - new Point(50), new Point(51), new Point(52), new Point(53), new Point(54), - new Point(55), new Point(56), new Point(57), new Point(58), new Point(59), - new Point(60), new Point(61), new Point(62), new Point(63), new Point(64), - new Point(65), new Point(66), new Point(67), new Point(68), new Point(69),]; - - var prev_x: f32 = 0.0; - var prev_y: f32 = 0.0; - - export function displayLoop(delta:i32, mouse_x: f32, mouse_y: f32 ):void { - - second_delta = delta / 1000.0; - for( let i: i32 = 0; i < point_list.length; i++ ) { - point_list[i].move(); - } - - if( prev_x != mouse_x || prev_y != mouse_y ) { - point_index++; - if(point_index >= point_list.length) { - point_index = 0; - } - point_list[point_index].activate(mouse_x, mouse_y); - prev_x = mouse_x; - prev_y = mouse_y; - } - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - bufferData(gl, ARRAY_BUFFER, point_data, DYNAMIC_DRAW); - - //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 12, 0 ); - vertexAttribPointer(gl, alpha_al, 1, FLOAT, false, 12, 8 ); - - drawArrays(gl, POINTS, 0, point_list.length); - - } \ No newline at end of file diff --git a/examples/MousePoint/mouse_point.wasm b/examples/MousePoint/mouse_point.wasm deleted file mode 100644 index 89260874048184efdae95b171a0cf6641e63ec3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9903 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 SfAr(9%wV`k44ysgivC{@9ctkK diff --git a/examples/NormalModel/obj_norm-hacky.asc b/examples/NormalModel/obj_norm-hacky.asc deleted file mode 100644 index 5c435e9..0000000 --- a/examples/NormalModel/obj_norm-hacky.asc +++ /dev/null @@ -1,233 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com/wasm - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, imageReady, - createBuffer, ARRAY_BUFFER, - createTexture, createImage, ImageData, pixelStorei, activeTexture, - bindTexture, texParameteri, texImage2D, uniform1i, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, - TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER, uniform3f, -} from '../../webgl' - - -import { - objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap -} from './Moon_Sphere' - -// OG CODE -const VERTEX_SHADER_CODE:string = `#version 300 es -precision highp float; - -in vec3 position; -in vec3 normal; -in vec2 tex_uv; - -out vec3 cam_dir; -out vec3 light_dir; -out vec2 tc; -out vec3 norm; - -void main() { - // rotate z axis - /* - mat4 modelMatrix = mat4( - cos(3.1),-sin(3.1), 0.0, 0.0, // column 1 - sin(3.1), cos(3.1), 0.0, 0.0, // column 2 - 0.0, 0.0, 1.0, 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); - */ - - mat4 modelMatrix = mat4( - 1.0, 0.0, 0.0, 0.0, // column 1 - 0.0, 1.0, 0.0, 0.0, // column 2 - 0.0, 0.0, 1.0, 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); - - vec3 p = (modelMatrix * vec4(position,1.0)).xyz; - - vec3 v = vec3(0.0, 1.0, 0.0); - vec3 light_pos = vec3( 0.0, 0.7, 0.5 ); - float d = dot( normalize(v), normal); - - vec3 tan = normalize( v - d * normal ); - vec3 bitan = cross( normal, tan ); - - vec3 l; - l.x = dot( tan, light_pos ); - l.y = dot( bitan, light_pos ); - l.z = dot( normal, light_pos ); - - light_dir = l; //normalize(l); - - vec3 camera; - camera.x = dot( tan, p ); - camera.y = dot( bitan, p ); - camera.z = dot( normal, p ); - - cam_dir = normalize(camera); - tc = tex_uv; - norm = normal; - - gl_Position = vec4(p, 1.0); -}`; - -// this shader is super kludgy -const FRAGMENT_SHADER_CODE:string = `#version 300 es -precision highp float; -uniform sampler2D normalMap; -uniform sampler2D sampler; - -in vec3 cam_dir; -in vec3 light_dir; -in vec2 tc; -in vec3 norm; - -out vec4 color; -void main (void) -{ - vec3 l = normalize(light_dir); - vec3 e = normalize(-cam_dir); - vec3 n = 2.0 * texture(normalMap, tc).rgb - 1.0; - - float kd = clamp(dot(l, n + norm - vec3(0.0, 0.0, 1.0)), 0.1, 1.0); - - vec3 tex_color = texture(sampler, tc).rgb; - vec3 c = kd * tex_color; - - color = vec4( c, 1.0 ); -}`; - - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); - enableVertexAttribArray(gl, tex_uv_al); - - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); - -// let diffuse = getUniformLocation( gl, program, 'diffuse' ); - - let texture = createTexture(gl); - let sampler = getUniformLocation( gl, program, 'sampler' ); - - let texture_n = createTexture(gl); - let tex_norm = getUniformLocation( gl, program, 'normalMap' ); - - var image_id: ImageData = createImage(matMapArray[0].diffuse); - var norm_image_id: ImageData = createImage(matMapArray[0].bump); - - var image_ready: bool = false; - -//diffuse - enable(gl, DEPTH_TEST); - -function rotate(theta: f32) : void { //u32 { - for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { - for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { - - let x:f32 = objArray[obj_i][coord_i]; - let z:f32 = objArray[obj_i][coord_i+2]; - - let nx:f32 = objArray[obj_i][coord_i+5]; - let nz:f32 = objArray[obj_i][coord_i+7]; - - let x1:f32 = x * Mathf.cos(theta) + z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) - x * Mathf.sin(theta); - - let nx1:f32 = nx * Mathf.cos(theta) + nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) - nx * Mathf.sin(theta); - - objArray[obj_i][coord_i] = x1; - objArray[obj_i][coord_i+2] = z1; - - objArray[obj_i][coord_i+5] = nx1; - objArray[obj_i][coord_i+7] = nz1; - } - } - - return; -} - - var vGroup: VertGroup; - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - if( image_ready == false ) { - if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) { - return; - } - - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); - - activeTexture(gl, TEXTURE1); - bindTexture(gl, TEXTURE_2D, texture_n); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id); - - uniform1i(gl, sampler, 0); - image_ready = true; - } - - for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { - vGroup = groupArray[g_i]; - bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); -/* - let diffuse_r: f32 = matArray[vGroup.mat_index][4]; - let diffuse_g: f32 = matArray[vGroup.mat_index][5]; - let diffuse_b: f32 = matArray[vGroup.mat_index][6]; - uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); -*/ - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); - vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); - drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); - } - } \ No newline at end of file diff --git a/examples/NormalModel/obj_norm.wasm b/examples/NormalModel/obj_norm.wasm deleted file mode 100644 index 8e9f4f7ffcac70a58cec9335fc6640a49875e74c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108727 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
        WUm8h(YwOPP=NQe*ub@wa{d zp}g-uk3Z!5@sse2eGE$9`L_o>{+9D!8-G^b`GFe|RwBzgzi- zCST_t4p1JFg`Kqe5&xgp5dYuXKeXT5KX1R0U&z18KZxjK?k6%vIr&3*Z~wggM!vV- zHTy5`2Y`H>f0*PWZAmNqnJ-?w?)mbdwmxq8?)h?}kM%dB@9`D2ueSbe^xgC2aC}7k)t@F|1+}B zk$sQoNA^2CKdjpCo-ZFX`QiDRwa@K;p?}w8zfC@aNg;{-Ny4j;04AJ?#C9LlL+(JyX)F80L{pNe1PyYnMMqo3`+ z2!BT3%7eb!zsvgZd^p#C1_wK+{4dSnz3SNifAMK& z$$O=B|9#FrNA?|l5!w$suJqmclFb^GsA|7PuX#Gmyq=P_EpJAa3Lv9#}%{`3BY^>3Cx!*8#` zuRDJi>YvDdNBl!C;Q3^wAH07N@fYcz2p{mBfEAr*Y{mGjpHIfQaNv`EK74PiU*o;W zIKL_HN#eW;>uAUmC^lMRnH9kCkBmOWyKpWx5D}8sq82h3r|6Kn^ z_(|tKb^QnOap$82o6Ytq!bik^)c@nO5BLKgDj#<~ntHv-zM|ieul57&cjt>aK4HHw zPL#fje~{>B?Nih~jDMkT{t4=L@fm2pn(U{Q&+>=?`5sC~A1?k?$iL|a z^N%237r%u5eUpBQ>{Dc4BmSfQi|~oD0etH?nJ0d6&Egk|?r0t#xEEz%L*N_0f5kQU zuh@r(@9+=R|3&^G=3{@9#3xMpJBzQVeV`Bj7(G$z0m|3nyAF{LeCqre`Af`){gn8u ziGJ4pMeQ^CCF)TAQHOX^8vivMA67ogAM#;8EBVZme>}f~e60Vn_Bpcepf9vb)S>)u zA^#SiHsLetUqt*NANH}rXF>iE|4QP2rty`ve^L8DUuetvDfXa2_FeLi^Q{nXuWy*D33qg=SA$X zyk6CPUXA*x|J$FLni+H+KV1|pEyNVRHx<_x3&pvD6^B4KzWDI>&kt5SbEWF(L0a4 zYq#9Buee%h?J`>RJI)n4i$d|G#S4n-gzKudJ@R`|a;y4w2#u@dzAL1@eRk*ayLMSC z78~!>dUs^0B(5udu9tS~l)AfY3)*mI@i_VQE0j-HzCB6)>k4Okgl|Z0L4N&P`L|tK z2RTEAxG$yn4!JBA=kwby)=FL`bhb+!*NW5ql!V4v$vTd5twyWyg`8N*#9|t)}x`O^-9Y;qHWj3g6dp&j`q+`k5Kbda%Y`xr3bpiJ}6y5oSrG)z%hC= zjTVe?EwAlc-bRcJ=p)eC!Lf2J@zX?WIhD($jd@CSZopl-Gqr0uy`-7YFS}&yywo_X zTBR}X(~0Ex&!H8|Gfyo^!CN4e*U`!+oqjGok8bgJp`{pK6e|H=^Gruudlrbqn0TC& z+9#;KTz)@M{wYc;xvi@Cqut`FktNz8Tq=Uj99gAZW|6wZSwbnbN9iUlR=2B_wNGOM zK8)JPbNDS?uk({ArB=S6)|2%SUbWt1b9u{^dc9AQuF&>Y60O%&@dUk4p-FjAE};vM zhdQ+_mCmIG_}i(O(`43Av})4`{N5qryIuxq(f^U$(p_`JE%^Ns>DkMvkIt3be*0Tf zGn+d{+=kyrs-mKQpWJ#>ignFc^uLw6Ep;q_TJ-Py_SDSAC(?@NZruc}4$S-;T?F~%EYqd>#FSzmtAc^V)S@fXHaP7I zLP;wAZ&NepKKh7?@f$i6T%)obQq2NKQmRB6ECrvi{)mG3y+=CvN-;S}N@oiP*9r;g z@`t8oELKJJuDet!4OKe+qQpP&Ez2maL= zKkC2s;tSvW#>>C5{iFAM?LY4Lg?}pgOW&QEdDbeS+?9X$>+-WoH*e4j8~d83{M_&V E7p*)1^#A|> diff --git a/examples/NormalModel/obj_norm.wasm.map b/examples/NormalModel/obj_norm.wasm.map deleted file mode 100644 index dcd3daa..0000000 --- a/examples/NormalModel/obj_norm.wasm.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["~lib/rt/common.asc","~lib/shared/typeinfo.asc","~lib/rt/stub.asc","~lib/memory.asc","~lib/util/memory.asc","../../webgl.asc","~lib/util/number.asc","~lib/util/math.asc","~lib/util/string.asc","~lib/array.asc","~lib/util/error.asc","Moon_Sphere.asc","obj_norm.asc","~lib/staticarray.asc","~lib/math.asc"],"names":[],"mappings":"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","sourceRoot":"./obj_norm.wasm","sourcesContent":["// Alignment guarantees\n\n// @ts-ignore: decorator\n@inline export const AL_BITS: u32 = 4; // 16 bytes to fit up to v128\n// @ts-ignore: decorator\n@inline export const AL_SIZE: usize = 1 << AL_BITS;\n// @ts-ignore: decorator\n@inline export const AL_MASK: usize = AL_SIZE - 1;\n\n// Extra debugging\n\n// @ts-ignore: decorator\n@inline export const DEBUG = true;\n// @ts-ignore: decorator\n@inline export const TRACE = false;\n\n// Memory manager\n\n// ╒════════════ Memory manager block layout (32-bit) ═════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ MM info │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class BLOCK {\n /** Memory manager info. */\n mmInfo: usize;\n}\n\n/** Overhead of a memory manager block. */\n// @ts-ignore: decorator\n@inline export const BLOCK_OVERHEAD: usize = offsetof();\n\n/** Maximum size of a memory manager block's payload. */\n// @ts-ignore: decorator\n@inline export const BLOCK_MAXSIZE: usize = (1 << 30) - BLOCK_OVERHEAD;\n\n// Garbage collector\n\n// ╒══════════ Garbage collector object layout (32-bit) ═══════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤\n// │ Memory manager block │ -20\n// ╞═══════════════════════════════════════════════════════════════╡\n// │ GC info │ -16\n// ├───────────────────────────────────────────────────────────────┤\n// │ GC info │ -12\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT id │ -8\n// ├───────────────────────────────────────────────────────────────┤\n// │ RT size │ -4\n// ╞>ptr═══════════════════════════════════════════════════════════╡\n// │ ... │\n@unmanaged export class OBJECT extends BLOCK {\n /** Garbage collector info. */\n gcInfo: u32;\n /** Garbage collector info. */\n gcInfo2: u32;\n /** Runtime class id. */\n rtId: u32;\n /** Runtime object size. */\n rtSize: u32;\n}\n\n/** Overhead of a garbage collector object. Excludes memory manager block overhead. */\n// @ts-ignore: decorator\n@inline export const OBJECT_OVERHEAD: usize = (offsetof() - BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK;\n\n/** Maximum size of a garbage collector object's payload. */\n// @ts-ignore: decorator\n@inline export const OBJECT_MAXSIZE: usize = BLOCK_MAXSIZE - OBJECT_OVERHEAD;\n\n/** Total of memory manager and garbage collector overhead. */\n// @ts-ignore: decorator\n@inline export const TOTAL_OVERHEAD: usize = BLOCK_OVERHEAD + OBJECT_OVERHEAD;\n","// This file is shared with the compiler and must remain portable\n\n// ╒═══════════════════ Typeinfo interpretation ═══════════════════╕\n// 3 2 1\n// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 bits\n// ├─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┤ ◄─ __rtti_base\n// │ count │\n// ╞═══════════════════════════════════════════════════════════════╡ ┐\n// │ Typeinfo#flags [id=0] │ id < count\n// ├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤\n// │ Typeinfo#base [id=0] │\n// ├───────────────────────────────────────────────────────────────┤\n// │ ... │\n\n/** Runtime type information data structure. */\n@unmanaged\nexport class Typeinfo {\n /** Flags describing the shape of this class type. */\n flags: TypeinfoFlags = TypeinfoFlags.NONE;\n /** Base class id or `0` if none. */\n base: u32 = 0;\n}\n\n/** Runtime type information flags. */\nexport const enum TypeinfoFlags {\n /** No specific flags. */\n NONE = 0,\n /** Type is an `ArrayBufferView`. */\n ARRAYBUFFERVIEW = 1 << 0,\n /** Type is an `Array`. */\n ARRAY = 1 << 1,\n /** Type is a `StaticArray`. */\n STATICARRAY = 1 << 2,\n /** Type is a `Set`. */\n SET = 1 << 3,\n /** Type is a `Map`. */\n MAP = 1 << 4,\n /** Type is inherently acyclic. */\n ACYCLIC = 1 << 5,\n /** Value alignment of 1 byte. */\n VALUE_ALIGN_0 = 1 << 6,\n /** Value alignment of 2 bytes. */\n VALUE_ALIGN_1 = 1 << 7,\n /** Value alignment of 4 bytes. */\n VALUE_ALIGN_2 = 1 << 8,\n /** Value alignment of 8 bytes. */\n VALUE_ALIGN_3 = 1 << 9,\n /** Value alignment of 16 bytes. */\n VALUE_ALIGN_4 = 1 << 10,\n /** Value is a signed type. */\n VALUE_SIGNED = 1 << 11,\n /** Value is a float type. */\n VALUE_FLOAT = 1 << 12,\n /** Value type is nullable. */\n VALUE_NULLABLE = 1 << 13,\n /** Value type is managed. */\n VALUE_MANAGED = 1 << 14,\n /** Key alignment of 1 byte. */\n KEY_ALIGN_0 = 1 << 15,\n /** Key alignment of 2 bytes. */\n KEY_ALIGN_1 = 1 << 16,\n /** Key alignment of 4 bytes. */\n KEY_ALIGN_2 = 1 << 17,\n /** Key alignment of 8 bytes. */\n KEY_ALIGN_3 = 1 << 18,\n /** Key alignment of 16 bytes. */\n KEY_ALIGN_4 = 1 << 19,\n /** Key is a signed type. */\n KEY_SIGNED = 1 << 20,\n /** Key is a float type. */\n KEY_FLOAT = 1 << 21,\n /** Key type is nullable. */\n KEY_NULLABLE = 1 << 22,\n /** Key type is managed. */\n KEY_MANAGED = 1 << 23\n}\n","import { AL_MASK, OBJECT, OBJECT_OVERHEAD, BLOCK_MAXSIZE, BLOCK_OVERHEAD, BLOCK, OBJECT_MAXSIZE } from \"rt/common\";\n\n// @ts-ignore: decorator\n@lazy var startOffset: usize = ((__heap_base + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n\n// @ts-ignore: decorator\n@lazy var offset: usize = startOffset;\n\nfunction maybeGrowMemory(newOffset: usize): void {\n // assumes newOffset is aligned\n var pagesBefore = memory.size();\n var maxOffset = ((pagesBefore << 16) + AL_MASK) & ~AL_MASK;\n if (newOffset > maxOffset) {\n let pagesNeeded = (((newOffset - maxOffset + 0xffff) & ~0xffff) >>> 16);\n let pagesWanted = max(pagesBefore, pagesNeeded); // double memory\n if (memory.grow(pagesWanted) < 0) {\n if (memory.grow(pagesNeeded) < 0) unreachable(); // out of memory\n }\n }\n offset = newOffset;\n}\n\nfunction computeSize(size: usize): usize {\n return ((size + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __alloc(size: usize): usize {\n if (size > BLOCK_MAXSIZE) unreachable();\n var block = changetype(offset);\n var ptr = offset + BLOCK_OVERHEAD;\n var payloadSize = computeSize(size);\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __new(size: usize, id: u32): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var ptr = __alloc(OBJECT_OVERHEAD + size);\n var object = changetype(ptr - BLOCK_OVERHEAD);\n object.gcInfo = 0;\n object.gcInfo2 = 0;\n object.rtId = id;\n object.rtSize = size;\n return ptr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __realloc(ptr: usize, size: usize): usize {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n var actualSize = block.mmInfo;\n var isLast = ptr + actualSize == offset;\n var payloadSize = computeSize(size);\n if (size > actualSize) {\n if (isLast) { // last block: grow\n if (size > BLOCK_MAXSIZE) unreachable();\n maybeGrowMemory(ptr + payloadSize);\n block.mmInfo = payloadSize;\n } else { // copy to new block at least double the size\n let newPtr = __alloc(max(payloadSize, actualSize << 1));\n memory.copy(newPtr, ptr, actualSize);\n block = changetype((ptr = newPtr) - BLOCK_OVERHEAD);\n }\n } else if (isLast) { // last block: shrink\n offset = ptr + payloadSize;\n block.mmInfo = payloadSize;\n }\n return ptr;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __renew(oldPtr: usize, size: usize): usize {\n if (size > OBJECT_MAXSIZE) unreachable();\n var newPtr = __realloc(oldPtr - OBJECT_OVERHEAD, OBJECT_OVERHEAD + size);\n changetype(newPtr - BLOCK_OVERHEAD).rtSize = size;\n return newPtr + OBJECT_OVERHEAD;\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __free(ptr: usize): void {\n assert(ptr != 0 && !(ptr & AL_MASK)); // must exist and be aligned\n var block = changetype(ptr - BLOCK_OVERHEAD);\n if (ptr + block.mmInfo == offset) { // last block: discard\n offset = changetype(block);\n }\n}\n\n// @ts-ignore: decorator\n@unsafe @global\nexport function __reset(): void { // special\n offset = startOffset;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __retain(ref: usize): usize {\n return ref;\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __release(ref: usize): void {\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nfunction __visit(ref: usize, cookie: u32): void { // eslint-disable-line @typescript-eslint/no-unused-vars\n /* nop */\n}\n\n// @ts-ignore: decorator\n@global @unsafe\nexport function __collect(): void {\n /* nop */\n}\n","import { memcmp, memmove, memset } from \"./util/memory\";\nimport { E_NOTIMPLEMENTED } from \"./util/error\";\n\n/** Memory manager interface. */\nexport namespace memory {\n\n /** Gets the size of the memory in pages. */\n // @ts-ignore: decorator\n @builtin\n export declare function size(): i32;\n\n /** Grows the memory by the given size in pages and returns the previous size in pages. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export declare function grow(pages: i32): i32;\n\n /** Fills a section in memory with the specified byte value. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function fill(dst: usize, c: u8, n: usize): void {\n memset(dst, c, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Copies a section of memory to another. Has move semantics. */\n // @ts-ignore: decorator\n @unsafe @builtin\n export function copy(dst: usize, src: usize, n: usize): void {\n memmove(dst, src, n); // fallback if \"bulk-memory\" isn't enabled\n }\n\n /** Initializes a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function init(segmentIndex: u32, srcOffset: usize, dstOffset: usize, n: usize): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Drops a memory segment. */\n // @ts-ignore: decorator\n @unsafe\n export function drop(segmentIndex: u32): void {\n throw new Error(E_NOTIMPLEMENTED);\n }\n\n /** Repeats a section of memory at a specific address. */\n // @ts-ignore: decorator\n @unsafe\n export function repeat(dst: usize, src: usize, srcLength: usize, count: usize): void {\n var index: usize = 0;\n var total = srcLength * count;\n while (index < total) {\n memory.copy(dst + index, src, srcLength);\n index += srcLength;\n }\n }\n\n /** Compares a section of memory to another. */\n // @ts-ignore: decorator\n @inline\n export function compare(vl: usize, vr: usize, n: usize): i32 {\n return memcmp(vl, vr, n);\n }\n\n /** Gets a pointer to a static chunk of memory of the given size. */\n // @ts-ignore: decorator\n @builtin\n export declare function data(size: T, align?: i32): usize;\n}\n\n// @ts-ignore: decorator\n@builtin\nexport declare const __heap_base: usize;\n\n/** Heap memory interface. */\nexport namespace heap {\n\n /** Allocates a chunk of memory of at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function alloc(size: usize): usize {\n return __alloc(size);\n }\n\n /** Reallocates a chunk of memory to have at least the specified size. */\n // @ts-ignore: decorator\n @unsafe export function realloc(ptr: usize, size: usize): usize {\n return __realloc(ptr, size);\n }\n\n /** Frees a chunk of memory. Does hardly anything (most recent block only) with the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function free(ptr: usize): void {\n __free(ptr);\n }\n\n /** Dangerously resets the entire heap. Specific to the stub/none runtime. */\n // @ts-ignore: decorator\n @unsafe export function reset(): void {\n __reset();\n }\n}\n","export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memcpy.c\n var w: u32, x: u32;\n\n // copy 1 byte each until src is aligned to 4 bytes\n while (n && (src & 3)) {\n store(dest++, load(src++));\n n--;\n }\n\n // if dst is aligned to 4 bytes as well, copy 4 bytes each\n if ((dest & 3) == 0) {\n while (n >= 16) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n store(dest + 8, load(src + 8));\n store(dest + 12, load(src + 12));\n src += 16; dest += 16; n -= 16;\n }\n if (n & 8) {\n store(dest , load(src ));\n store(dest + 4, load(src + 4));\n dest += 8; src += 8;\n }\n if (n & 4) {\n store(dest, load(src));\n dest += 4; src += 4;\n }\n if (n & 2) { // drop to 2 bytes each\n store(dest, load(src));\n dest += 2; src += 2;\n }\n if (n & 1) { // drop to 1 byte\n store(dest++, load(src++));\n }\n return;\n }\n\n // if dst is not aligned to 4 bytes, use alternating shifts to copy 4 bytes each\n // doing shifts if faster when copying enough bytes (here: 32 or more)\n if (n >= 32) {\n switch (dest & 3) {\n // known to be != 0\n case 1: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 3;\n while (n >= 17) {\n x = load(src + 1);\n store(dest, w >> 24 | x << 8);\n w = load(src + 5);\n store(dest + 4, x >> 24 | w << 8);\n x = load(src + 9);\n store(dest + 8, w >> 24 | x << 8);\n w = load(src + 13);\n store(dest + 12, x >> 24 | w << 8);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 2: {\n w = load(src);\n store(dest++, load(src++));\n store(dest++, load(src++));\n n -= 2;\n while (n >= 18) {\n x = load(src + 2);\n store(dest, w >> 16 | x << 16);\n w = load(src + 6);\n store(dest + 4, x >> 16 | w << 16);\n x = load(src + 10);\n store(dest + 8, w >> 16 | x << 16);\n w = load(src + 14);\n store(dest + 12, x >> 16 | w << 16);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n case 3: {\n w = load(src);\n store(dest++, load(src++));\n n -= 1;\n while (n >= 19) {\n x = load(src + 3);\n store(dest, w >> 8 | x << 24);\n w = load(src + 7);\n store(dest + 4, x >> 8 | w << 24);\n x = load(src + 11);\n store(dest + 8, w >> 8 | x << 24);\n w = load(src + 15);\n store(dest + 12, x >> 8 | w << 24);\n src += 16; dest += 16; n -= 16;\n }\n break;\n }\n }\n }\n\n // copy remaining bytes one by one\n if (n & 16) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 8) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 4) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 2) {\n store(dest++, load(src++));\n store(dest++, load(src++));\n }\n if (n & 1) {\n store(dest++, load(src++));\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c\n if (dest === src) return;\n if (ASC_SHRINK_LEVEL < 1) {\n if (src - dest - n <= -(n << 1)) {\n memcpy(dest, src, n);\n return;\n }\n }\n if (dest < src) {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while (dest & 7) {\n if (!n) return;\n --n;\n store(dest++, load(src++));\n }\n while (n >= 8) {\n store(dest, load(src));\n n -= 8;\n dest += 8;\n src += 8;\n }\n }\n }\n while (n) {\n store(dest++, load(src++));\n --n;\n }\n } else {\n if (ASC_SHRINK_LEVEL < 2) {\n if ((src & 7) == (dest & 7)) {\n while ((dest + n) & 7) {\n if (!n) return;\n store(dest + --n, load(src + n));\n }\n while (n >= 8) {\n n -= 8;\n store(dest + n, load(src + n));\n }\n }\n }\n while (n) {\n store(dest + --n, load(src + n));\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memset(dest: usize, c: u8, n: usize): void { // see: musl/src/string/memset\n if (ASC_SHRINK_LEVEL > 1) {\n while (n) {\n store(dest++, c);\n --n;\n }\n } else {\n // fill head and tail with minimal branching\n if (!n) return;\n let dend = dest + n - 4;\n store(dest, c);\n store(dend, c, 3);\n if (n <= 2) return;\n store(dest, c, 1);\n store(dest, c, 2);\n store(dend, c, 2);\n store(dend, c, 1);\n if (n <= 6) return;\n store(dest, c, 3);\n store(dend, c);\n if (n <= 8) return;\n\n // advance pointer to align it at 4-byte boundary\n let k: usize = -dest & 3;\n dest += k;\n n -= k;\n n &= -4;\n\n let c32: u32 = -1 / 255 * c;\n\n // fill head/tail up to 28 bytes each in preparation\n dend = dest + n - 28;\n store(dest, c32);\n store(dend, c32, 24);\n if (n <= 8) return;\n store(dest, c32, 4);\n store(dest, c32, 8);\n store(dend, c32, 16);\n store(dend, c32, 20);\n if (n <= 24) return;\n store(dest, c32, 12);\n store(dest, c32, 16);\n store(dest, c32, 20);\n store(dest, c32, 24);\n store(dend, c32);\n store(dend, c32, 4);\n store(dend, c32, 8);\n store(dend, c32, 12);\n\n // align to a multiple of 8\n k = 24 + (dest & 4);\n dest += k;\n n -= k;\n\n // copy 32 bytes each\n let c64: u64 = c32 | (c32 << 32);\n while (n >= 32) {\n store(dest, c64);\n store(dest, c64, 8);\n store(dest, c64, 16);\n store(dest, c64, 24);\n n -= 32;\n dest += 32;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function memcmp(vl: usize, vr: usize, n: usize): i32 {\n if (vl == vr) return 0;\n if (ASC_SHRINK_LEVEL < 2) {\n if ((vl & 7) == (vr & 7)) {\n while (vl & 7) {\n if (!n) return 0;\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n n--; vl++; vr++;\n }\n while (n >= 8) {\n if (load(vl) != load(vr)) break;\n vl += 8;\n vr += 8;\n n -= 8;\n }\n }\n }\n while (n--) {\n let a = load(vl);\n let b = load(vr);\n if (a != b) return a - b;\n vl++; vr++;\n }\n return 0;\n}\n","type WebGLContextAttributes = i32;\r\n\r\nexport type GLenum = u32;\r\nexport type GLboolean = bool;\r\nexport type GLbitfield = u32;\r\nexport type GLbyte = i8;\r\nexport type GLshort = i16;\r\nexport type GLint = i32;\r\nexport type GLsizei = i32;\r\nexport type GLintptr = i32; //i64;\r\nexport type GLsizeiptr = i32; //i64;\r\nexport type GLubyte = u8;\r\nexport type GLushort = u16;\r\nexport type GLuint = u32;\r\nexport type GLfloat = f32;\r\nexport type GLclampf = f32;\r\nexport type GLuint64 = u32; //u64;\r\nexport type GLint64 = i32; //i64;\r\n\r\nexport type WebGLUniformLocation = i32; \r\nexport type TexImageSource = i32;\r\nexport type Int32List = i32;\r\nexport type Uint32List = i32;\r\nexport type Float32List = i32;\r\nexport type WebGLQuery = i32;\r\nexport type WebGLSampler = i32;\r\nexport type WebGLSync = i32;\r\nexport type WebGLTransformFeedback = i32;\r\nexport type ImageData = i32;\r\nexport type DOMString = string;\r\nexport type HTMLImageElement = externref;\r\nexport type HTMLVideoElement = externref;\r\nexport type WebGLVertexArrayObject = i32;\r\n\r\n// == debug function not part of WebGL\r\nexport declare function logi32(arg:i32):void;\r\n// == Not a part of WebGL, but there must be a way to create and load images\r\n// export type ImageData = i32;\r\nexport declare function createImage(image_location:string):ImageData;\r\nexport declare function imageReady(image_id:ImageData):bool;\r\n\r\n// === WebGLContextAttributes ===\r\nexport const ALPHA_DEFAULT = true;\r\nexport const FALSE:i32 = false;\r\n\r\n//export declare function activateTexture(gl: WebGLContextAttributes, texture: WebGLTexture): void;\r\n\r\nexport declare function getAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const DEPTH_DEFAULT = true;\r\nexport declare function getDepth(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setDepth(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const STENCIL_DEFAULT = false;\r\nexport declare function getStencil(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setStencil(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const ANTIALIAS_DEFAULT = true;\r\nexport declare function getAntialias(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setAntialias(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PREMULTIPLIED_ALPHA_DEFAULT = true;\r\nexport declare function getPremultipliedAlpha(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPremultipliedAlpha(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\nexport const PRESERVE_DRAWING_BUFFER_DEFAULT = false;\r\nexport declare function getPreserveDrawingBuffer(gl: WebGLContextAttributes): GLboolean;\r\nexport declare function setPreserveDrawingBuffer(gl: WebGLContextAttributes, value: GLboolean): void;\r\n\r\n// === WebGLActiveInfo ===\r\n\r\ntype WebGLActiveInfo = externref;\r\n\r\nexport declare function getSize(gl: WebGLActiveInfo): GLint;\r\nexport declare function getType(gl: WebGLActiveInfo): GLenum;\r\nexport declare function getName(gl: WebGLActiveInfo): string;\r\n\r\n// === WebGLShaderPrecisionFormat ===\r\n\r\ntype WebGLShaderPrecisionFormat = externref;\r\n\r\nexport declare function getRangeMin(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getRangeMax(gl: WebGLShaderPrecisionFormat): GLint;\r\nexport declare function getPrecision(gl: WebGLShaderPrecisionFormat): GLint;\r\n\r\n// === WebGLRenderingContext ===\r\n\r\nexport type WebGLRenderingContext = i32;\r\n\r\n/* ClearBufferMask */\r\nexport const DEPTH_BUFFER_BIT: GLenum = 0x00000100;\r\nexport const STENCIL_BUFFER_BIT: GLenum = 0x00000400;\r\nexport const COLOR_BUFFER_BIT: GLenum = 0x00004000;\r\n\r\n/* BeginMode */\r\nexport const POINTS: GLenum = 0x0000;\r\nexport const LINES: GLenum = 0x0001;\r\nexport const LINE_LOOP: GLenum = 0x0002;\r\nexport const LINE_STRIP: GLenum = 0x0003;\r\nexport const TRIANGLES: GLenum = 0x0004;\r\nexport const TRIANGLE_STRIP: GLenum = 0x0005;\r\nexport const TRIANGLE_FAN: GLenum = 0x0006;\r\n\r\n/* AlphaFunction (not supported in ES20) */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* BlendingFactorDest */\r\nexport const ZERO: GLenum = 0;\r\nexport const ONE: GLenum = 1;\r\nexport const SRC_COLOR: GLenum = 0x0300;\r\nexport const ONE_MINUS_SRC_COLOR: GLenum = 0x0301;\r\nexport const SRC_ALPHA: GLenum = 0x0302;\r\nexport const ONE_MINUS_SRC_ALPHA: GLenum = 0x0303;\r\nexport const DST_ALPHA: GLenum = 0x0304;\r\nexport const ONE_MINUS_DST_ALPHA: GLenum = 0x0305;\r\n\r\n/* BlendingFactorSrc */\r\n/* ZERO */\r\n/* ONE */\r\nexport const DST_COLOR: GLenum = 0x0306;\r\nexport const ONE_MINUS_DST_COLOR: GLenum = 0x0307;\r\nexport const SRC_ALPHA_SATURATE: GLenum = 0x0308;\r\n/* SRC_ALPHA */\r\n/* ONE_MINUS_SRC_ALPHA */\r\n/* DST_ALPHA */\r\n/* ONE_MINUS_DST_ALPHA */\r\n\r\n/* BlendEquationSeparate */\r\nexport const FUNC_ADD: GLenum = 0x8006;\r\nexport const BLEND_EQUATION: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_RGB: GLenum = 0x8009;\r\nexport const BLEND_EQUATION_ALPHA: GLenum = 0x883D;\r\n\r\n/* BlendSubtract */\r\nexport const FUNC_SUBTRACT: GLenum = 0x800A;\r\nexport const FUNC_REVERSE_SUBTRACT: GLenum = 0x800B;\r\n\r\n/* Separate Blend Functions */\r\nexport const BLEND_DST_RGB: GLenum = 0x80C8;\r\nexport const BLEND_SRC_RGB: GLenum = 0x80C9;\r\nexport const BLEND_DST_ALPHA: GLenum = 0x80CA;\r\nexport const BLEND_SRC_ALPHA: GLenum = 0x80CB;\r\nexport const CONSTANT_COLOR: GLenum = 0x8001;\r\nexport const ONE_MINUS_CONSTANT_COLOR: GLenum = 0x8002;\r\nexport const CONSTANT_ALPHA: GLenum = 0x8003;\r\nexport const ONE_MINUS_CONSTANT_ALPHA: GLenum = 0x8004;\r\nexport const BLEND_COLOR: GLenum = 0x8005;\r\n\r\n/* Buffer Objects */\r\nexport const ARRAY_BUFFER: GLenum = 0x8892;\r\nexport const ELEMENT_ARRAY_BUFFER: GLenum = 0x8893;\r\nexport const ARRAY_BUFFER_BINDING: GLenum = 0x8894;\r\nexport const ELEMENT_ARRAY_BUFFER_BINDING: GLenum = 0x8895;\r\n\r\nexport const STREAM_DRAW: GLenum = 0x88E0;\r\nexport const STATIC_DRAW: GLenum = 0x88E4;\r\nexport const DYNAMIC_DRAW: GLenum = 0x88E8;\r\n\r\nexport const BUFFER_SIZE: GLenum = 0x8764;\r\nexport const BUFFER_USAGE: GLenum = 0x8765;\r\n\r\nexport const CURRENT_VERTEX_ATTRIB: GLenum = 0x8626;\r\n\r\n/* CullFaceMode */\r\nexport const FRONT: GLenum = 0x0404;\r\nexport const BACK: GLenum = 0x0405;\r\nexport const FRONT_AND_BACK: GLenum = 0x0408;\r\n\r\n/* DepthFunction */\r\n/* NEVER */\r\n/* LESS */\r\n/* EQUAL */\r\n/* LEQUAL */\r\n/* GREATER */\r\n/* NOTEQUAL */\r\n/* GEQUAL */\r\n/* ALWAYS */\r\n\r\n/* EnableCap */\r\n/* TEXTURE_2D */\r\nexport const CULL_FACE: GLenum = 0x0B44;\r\nexport const BLEND: GLenum = 0x0BE2;\r\nexport const DITHER: GLenum = 0x0BD0;\r\nexport const STENCIL_TEST: GLenum = 0x0B90;\r\nexport const DEPTH_TEST: GLenum = 0x0B71;\r\nexport const SCISSOR_TEST: GLenum = 0x0C11;\r\nexport const POLYGON_OFFSET_FILL: GLenum = 0x8037;\r\nexport const SAMPLE_ALPHA_TO_COVERAGE: GLenum = 0x809E;\r\nexport const SAMPLE_COVERAGE: GLenum = 0x80A0;\r\n\r\n/* ErrorCode */\r\nexport const NO_ERROR: GLenum = 0;\r\nexport const INVALID_ENUM: GLenum = 0x0500;\r\nexport const INVALID_VALUE: GLenum = 0x0501;\r\nexport const INVALID_OPERATION: GLenum = 0x0502;\r\nexport const OUT_OF_MEMORY: GLenum = 0x0505;\r\n\r\n/* FrontFaceDirection */\r\nexport const CW: GLenum = 0x0900;\r\nexport const CCW: GLenum = 0x0901;\r\n\r\n/* GetPName */\r\nexport const LINE_WIDTH: GLenum = 0x0B21;\r\nexport const ALIASED_POINT_SIZE_RANGE: GLenum = 0x846D;\r\nexport const ALIASED_LINE_WIDTH_RANGE: GLenum = 0x846E;\r\nexport const CULL_FACE_MODE: GLenum = 0x0B45;\r\nexport const FRONT_FACE: GLenum = 0x0B46;\r\nexport const DEPTH_RANGE: GLenum = 0x0B70;\r\nexport const DEPTH_WRITEMASK: GLenum = 0x0B72;\r\nexport const DEPTH_CLEAR_VALUE: GLenum = 0x0B73;\r\nexport const DEPTH_FUNC: GLenum = 0x0B74;\r\nexport const STENCIL_CLEAR_VALUE: GLenum = 0x0B91;\r\nexport const STENCIL_FUNC: GLenum = 0x0B92;\r\nexport const STENCIL_FAIL: GLenum = 0x0B94;\r\nexport const STENCIL_PASS_DEPTH_FAIL: GLenum = 0x0B95;\r\nexport const STENCIL_PASS_DEPTH_PASS: GLenum = 0x0B96;\r\nexport const STENCIL_REF: GLenum = 0x0B97;\r\nexport const STENCIL_VALUE_MASK: GLenum = 0x0B93;\r\nexport const STENCIL_WRITEMASK: GLenum = 0x0B98;\r\nexport const STENCIL_BACK_FUNC: GLenum = 0x8800;\r\nexport const STENCIL_BACK_FAIL: GLenum = 0x8801;\r\nexport const STENCIL_BACK_PASS_DEPTH_FAIL: GLenum = 0x8802;\r\nexport const STENCIL_BACK_PASS_DEPTH_PASS: GLenum = 0x8803;\r\nexport const STENCIL_BACK_REF: GLenum = 0x8CA3;\r\nexport const STENCIL_BACK_VALUE_MASK: GLenum = 0x8CA4;\r\nexport const STENCIL_BACK_WRITEMASK: GLenum = 0x8CA5;\r\nexport const VIEWPORT: GLenum = 0x0BA2;\r\nexport const SCISSOR_BOX: GLenum = 0x0C10;\r\n/* SCISSOR_TEST */\r\nexport const COLOR_CLEAR_VALUE: GLenum = 0x0C22;\r\nexport const COLOR_WRITEMASK: GLenum = 0x0C23;\r\nexport const UNPACK_ALIGNMENT: GLenum = 0x0CF5;\r\nexport const PACK_ALIGNMENT: GLenum = 0x0D05;\r\nexport const MAX_TEXTURE_SIZE: GLenum = 0x0D33;\r\nexport const MAX_VIEWPORT_DIMS: GLenum = 0x0D3A;\r\nexport const SUBPIXEL_BITS: GLenum = 0x0D50;\r\nexport const RED_BITS: GLenum = 0x0D52;\r\nexport const GREEN_BITS: GLenum = 0x0D53;\r\nexport const BLUE_BITS: GLenum = 0x0D54;\r\nexport const ALPHA_BITS: GLenum = 0x0D55;\r\nexport const DEPTH_BITS: GLenum = 0x0D56;\r\nexport const STENCIL_BITS: GLenum = 0x0D57;\r\nexport const POLYGON_OFFSET_UNITS: GLenum = 0x2A00;\r\n/* POLYGON_OFFSET_FILL */\r\nexport const POLYGON_OFFSET_FACTOR: GLenum = 0x8038;\r\nexport const TEXTURE_BINDING_2D: GLenum = 0x8069;\r\nexport const SAMPLE_BUFFERS: GLenum = 0x80A8;\r\nexport const SAMPLES: GLenum = 0x80A9;\r\nexport const SAMPLE_COVERAGE_VALUE: GLenum = 0x80AA;\r\nexport const SAMPLE_COVERAGE_INVERT: GLenum = 0x80AB;\r\n\r\n/* GetTextureParameter */\r\n/* TEXTURE_MAG_FILTER */\r\n/* TEXTURE_MIN_FILTER */\r\n/* TEXTURE_WRAP_S */\r\n/* TEXTURE_WRAP_T */\r\n\r\nexport const COMPRESSED_TEXTURE_FORMATS: GLenum = 0x86A3;\r\n\r\n/* HintMode */\r\nexport const DONT_CARE: GLenum = 0x1100;\r\nexport const FASTEST: GLenum = 0x1101;\r\nexport const NICEST: GLenum = 0x1102;\r\n\r\n/* HintTarget */\r\nexport const GENERATE_MIPMAP_HINT: GLenum = 0x8192;\r\n\r\n/* DataType */\r\nexport const BYTE: GLenum = 0x1400;\r\nexport const UNSIGNED_BYTE: GLenum = 0x1401;\r\nexport const SHORT: GLenum = 0x1402;\r\nexport const UNSIGNED_SHORT: GLenum = 0x1403;\r\nexport const INT: GLenum = 0x1404;\r\nexport const UNSIGNED_INT: GLenum = 0x1405;\r\nexport const FLOAT: GLenum = 0x1406;\r\n\r\n/* PixelFormat */\r\nexport const DEPTH_COMPONENT: GLenum = 0x1902;\r\nexport const ALPHA: GLenum = 0x1906;\r\nexport const RGB: GLenum = 0x1907;\r\nexport const RGBA: GLenum = 0x1908;\r\nexport const LUMINANCE: GLenum = 0x1909;\r\nexport const LUMINANCE_ALPHA: GLenum = 0x190A;\r\n\r\n/* PixelType */\r\n/* UNSIGNED_BYTE */\r\nexport const UNSIGNED_SHORT_4_4_4_4: GLenum = 0x8033;\r\nexport const UNSIGNED_SHORT_5_5_5_1: GLenum = 0x8034;\r\nexport const UNSIGNED_SHORT_5_6_5: GLenum = 0x8363;\r\n\r\n/* Shaders */\r\nexport const FRAGMENT_SHADER: GLenum = 0x8B30;\r\nexport const VERTEX_SHADER: GLenum = 0x8B31;\r\nexport const MAX_VERTEX_ATTRIBS: GLenum = 0x8869;\r\nexport const MAX_VERTEX_UNIFORM_VECTORS: GLenum = 0x8DFB;\r\nexport const MAX_VARYING_VECTORS: GLenum = 0x8DFC;\r\nexport const MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4D;\r\nexport const MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4C;\r\nexport const MAX_TEXTURE_IMAGE_UNITS: GLenum = 0x8872;\r\nexport const MAX_FRAGMENT_UNIFORM_VECTORS: GLenum = 0x8DFD;\r\nexport const SHADER_TYPE: GLenum = 0x8B4F;\r\nexport const DELETE_STATUS: GLenum = 0x8B80;\r\nexport const LINK_STATUS: GLenum = 0x8B82;\r\nexport const VALIDATE_STATUS: GLenum = 0x8B83;\r\nexport const ATTACHED_SHADERS: GLenum = 0x8B85;\r\nexport const ACTIVE_UNIFORMS: GLenum = 0x8B86;\r\nexport const ACTIVE_ATTRIBUTES: GLenum = 0x8B89;\r\nexport const SHADING_LANGUAGE_VERSION: GLenum = 0x8B8C;\r\nexport const CURRENT_PROGRAM: GLenum = 0x8B8D;\r\n\r\n/* StencilFunction */\r\nexport const NEVER: GLenum = 0x0200;\r\nexport const LESS: GLenum = 0x0201;\r\nexport const EQUAL: GLenum = 0x0202;\r\nexport const LEQUAL: GLenum = 0x0203;\r\nexport const GREATER: GLenum = 0x0204;\r\nexport const NOTEQUAL: GLenum = 0x0205;\r\nexport const GEQUAL: GLenum = 0x0206;\r\nexport const ALWAYS: GLenum = 0x0207;\r\n\r\n/* StencilOp */\r\n/* ZERO */\r\nexport const KEEP: GLenum = 0x1E00;\r\nexport const REPLACE: GLenum = 0x1E01;\r\nexport const INCR: GLenum = 0x1E02;\r\nexport const DECR: GLenum = 0x1E03;\r\nexport const INVERT: GLenum = 0x150A;\r\nexport const INCR_WRAP: GLenum = 0x8507;\r\nexport const DECR_WRAP: GLenum = 0x8508;\r\n\r\n/* StringName */\r\nexport const VENDOR: GLenum = 0x1F00;\r\nexport const RENDERER: GLenum = 0x1F01;\r\nexport const VERSION: GLenum = 0x1F02;\r\n\r\n/* TextureMagFilter */\r\nexport const NEAREST: GLenum = 0x2600;\r\nexport const LINEAR: GLenum = 0x2601;\r\n\r\n/* TextureMinFilter */\r\n/* NEAREST */\r\n/* LINEAR */\r\nexport const NEAREST_MIPMAP_NEAREST: GLenum = 0x2700;\r\nexport const LINEAR_MIPMAP_NEAREST: GLenum = 0x2701;\r\nexport const NEAREST_MIPMAP_LINEAR: GLenum = 0x2702;\r\nexport const LINEAR_MIPMAP_LINEAR: GLenum = 0x2703;\r\n\r\n/* TextureParameterName */\r\nexport const TEXTURE_MAG_FILTER: GLenum = 0x2800;\r\nexport const TEXTURE_MIN_FILTER: GLenum = 0x2801;\r\nexport const TEXTURE_WRAP_S: GLenum = 0x2802;\r\nexport const TEXTURE_WRAP_T: GLenum = 0x2803;\r\n\r\n/* TextureTarget */\r\nexport const TEXTURE_2D: GLenum = 0x0DE1;\r\nexport const TEXTURE: GLenum = 0x1702;\r\n\r\nexport const TEXTURE_CUBE_MAP: GLenum = 0x8513;\r\nexport const TEXTURE_BINDING_CUBE_MAP: GLenum = 0x8514;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_X: GLenum = 0x8515;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum = 0x8516;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum = 0x8517;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum = 0x8518;\r\nexport const TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum = 0x8519;\r\nexport const TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum = 0x851A;\r\nexport const MAX_CUBE_MAP_TEXTURE_SIZE: GLenum = 0x851C;\r\n\r\n/* TextureUnit */\r\nexport const TEXTURE0: GLenum = 0x84C0;\r\nexport const TEXTURE1: GLenum = 0x84C1;\r\nexport const TEXTURE2: GLenum = 0x84C2;\r\nexport const TEXTURE3: GLenum = 0x84C3;\r\nexport const TEXTURE4: GLenum = 0x84C4;\r\nexport const TEXTURE5: GLenum = 0x84C5;\r\nexport const TEXTURE6: GLenum = 0x84C6;\r\nexport const TEXTURE7: GLenum = 0x84C7;\r\nexport const TEXTURE8: GLenum = 0x84C8;\r\nexport const TEXTURE9: GLenum = 0x84C9;\r\nexport const TEXTURE10: GLenum = 0x84CA;\r\nexport const TEXTURE11: GLenum = 0x84CB;\r\nexport const TEXTURE12: GLenum = 0x84CC;\r\nexport const TEXTURE13: GLenum = 0x84CD;\r\nexport const TEXTURE14: GLenum = 0x84CE;\r\nexport const TEXTURE15: GLenum = 0x84CF;\r\nexport const TEXTURE16: GLenum = 0x84D0;\r\nexport const TEXTURE17: GLenum = 0x84D1;\r\nexport const TEXTURE18: GLenum = 0x84D2;\r\nexport const TEXTURE19: GLenum = 0x84D3;\r\nexport const TEXTURE20: GLenum = 0x84D4;\r\nexport const TEXTURE21: GLenum = 0x84D5;\r\nexport const TEXTURE22: GLenum = 0x84D6;\r\nexport const TEXTURE23: GLenum = 0x84D7;\r\nexport const TEXTURE24: GLenum = 0x84D8;\r\nexport const TEXTURE25: GLenum = 0x84D9;\r\nexport const TEXTURE26: GLenum = 0x84DA;\r\nexport const TEXTURE27: GLenum = 0x84DB;\r\nexport const TEXTURE28: GLenum = 0x84DC;\r\nexport const TEXTURE29: GLenum = 0x84DD;\r\nexport const TEXTURE30: GLenum = 0x84DE;\r\nexport const TEXTURE31: GLenum = 0x84DF;\r\nexport const ACTIVE_TEXTURE: GLenum = 0x84E0;\r\n\r\n/* TextureWrapMode */\r\nexport const REPEAT: GLenum = 0x2901;\r\nexport const CLAMP_TO_EDGE: GLenum = 0x812F;\r\nexport const MIRRORED_REPEAT: GLenum = 0x8370;\r\n\r\n/* Uniform Types */\r\nexport const FLOAT_VEC2: GLenum = 0x8B50;\r\nexport const FLOAT_VEC3: GLenum = 0x8B51;\r\nexport const FLOAT_VEC4: GLenum = 0x8B52;\r\nexport const INT_VEC2: GLenum = 0x8B53;\r\nexport const INT_VEC3: GLenum = 0x8B54;\r\nexport const INT_VEC4: GLenum = 0x8B55;\r\nexport const BOOL: GLenum = 0x8B56;\r\nexport const BOOL_VEC2: GLenum = 0x8B57;\r\nexport const BOOL_VEC3: GLenum = 0x8B58;\r\nexport const BOOL_VEC4: GLenum = 0x8B59;\r\nexport const FLOAT_MAT2: GLenum = 0x8B5A;\r\nexport const FLOAT_MAT3: GLenum = 0x8B5B;\r\nexport const FLOAT_MAT4: GLenum = 0x8B5C;\r\nexport const SAMPLER_2D: GLenum = 0x8B5E;\r\nexport const SAMPLER_CUBE: GLenum = 0x8B60;\r\n\r\n/* Vertex Arrays */\r\nexport const VERTEX_ATTRIB_ARRAY_ENABLED: GLenum = 0x8622;\r\nexport const VERTEX_ATTRIB_ARRAY_SIZE: GLenum = 0x8623;\r\nexport const VERTEX_ATTRIB_ARRAY_STRIDE: GLenum = 0x8624;\r\nexport const VERTEX_ATTRIB_ARRAY_TYPE: GLenum = 0x8625;\r\nexport const VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum = 0x886A;\r\nexport const VERTEX_ATTRIB_ARRAY_POINTER: GLenum = 0x8645;\r\nexport const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum = 0x889F;\r\n\r\n/* Shader Source */\r\nexport const COMPILE_STATUS: GLenum = 0x8B81;\r\n\r\n/* Shader Precision-Specified Types */\r\nexport const LOW_FLOAT: GLenum = 0x8DF0;\r\nexport const MEDIUM_FLOAT: GLenum = 0x8DF1;\r\nexport const HIGH_FLOAT: GLenum = 0x8DF2;\r\nexport const LOW_INT: GLenum = 0x8DF3;\r\nexport const MEDIUM_INT: GLenum = 0x8DF4;\r\nexport const HIGH_INT: GLenum = 0x8DF5;\r\n\r\n/* Framebuffer Object. */\r\nexport const FRAMEBUFFER: GLenum = 0x8D40;\r\nexport const RENDERBUFFER: GLenum = 0x8D41;\r\n\r\nexport const RGBA4: GLenum = 0x8056;\r\nexport const RGB5_A1: GLenum = 0x8057;\r\nexport const RGB565: GLenum = 0x8D62;\r\nexport const DEPTH_COMPONENT16: GLenum = 0x81A5;\r\nexport const STENCIL_INDEX: GLenum = 0x1901;\r\nexport const STENCIL_INDEX8: GLenum = 0x8D48;\r\nexport const DEPTH_STENCIL: GLenum = 0x84F9;\r\n\r\nexport const RENDERBUFFER_WIDTH: GLenum = 0x8D42;\r\nexport const RENDERBUFFER_HEIGHT: GLenum = 0x8D43;\r\nexport const RENDERBUFFER_INTERNAL_FORMAT: GLenum = 0x8D44;\r\nexport const RENDERBUFFER_RED_SIZE: GLenum = 0x8D50;\r\nexport const RENDERBUFFER_GREEN_SIZE: GLenum = 0x8D51;\r\nexport const RENDERBUFFER_BLUE_SIZE: GLenum = 0x8D52;\r\nexport const RENDERBUFFER_ALPHA_SIZE: GLenum = 0x8D53;\r\nexport const RENDERBUFFER_DEPTH_SIZE: GLenum = 0x8D54;\r\nexport const RENDERBUFFER_STENCIL_SIZE: GLenum = 0x8D55;\r\n\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum = 0x8CD0;\r\nexport const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum = 0x8CD1;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum = 0x8CD2;\r\nexport const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum = 0x8CD3;\r\n\r\nexport const COLOR_ATTACHMENT0: GLenum = 0x8CE0;\r\nexport const DEPTH_ATTACHMENT: GLenum = 0x8D00;\r\nexport const STENCIL_ATTACHMENT: GLenum = 0x8D20;\r\nexport const DEPTH_STENCIL_ATTACHMENT: GLenum = 0x821A;\r\n\r\nexport const NONE: GLenum = 0;\r\n\r\nexport const FRAMEBUFFER_COMPLETE: GLenum = 0x8CD5;\r\nexport const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum = 0x8CD6;\r\nexport const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum = 0x8CD7;\r\nexport const FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum = 0x8CD9;\r\nexport const FRAMEBUFFER_UNSUPPORTED: GLenum = 0x8CDD;\r\n\r\nexport const FRAMEBUFFER_BINDING: GLenum = 0x8CA6;\r\nexport const RENDERBUFFER_BINDING: GLenum = 0x8CA7;\r\nexport const MAX_RENDERBUFFER_SIZE: GLenum = 0x84E8;\r\n\r\nexport const INVALID_FRAMEBUFFER_OPERATION: GLenum = 0x0506;\r\n\r\n/* WebGL-specific enums */\r\nexport const UNPACK_FLIP_Y_WEBGL: GLenum = 0x9240;\r\nexport const UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum = 0x9241;\r\nexport const CONTEXT_LOST_WEBGL: GLenum = 0x9242;\r\nexport const UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243;\r\nexport const BROWSER_DEFAULT_WEBGL: GLenum = 0x9244;\r\n\r\n//type HTMLCanvasElement = externref;\r\n\r\n//export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement;\r\nexport declare function getDrawingBufferWidth(gl: WebGLRenderingContext): GLsizei;\r\nexport declare function getDrawingBufferHeight(gl: WebGLRenderingContext): GLsizei;\r\n\r\nexport declare function getContextAttributes(gl: WebGLRenderingContext): WebGLContextAttributes;\r\nexport declare function isContextLost(gl: WebGLRenderingContext): bool;\r\n\r\ntype sequence = externref;\r\n\r\nexport declare function getSupportedExtensions(gl: WebGLRenderingContext): sequence;\r\n\r\ntype object_ = externref;\r\n\r\nexport declare function getExtension(gl: WebGLRenderingContext, name: string): object_;\r\n\r\n// THIS WILL BE IN INDEX INTO A PROGRAM LIST KEPT IN THE JS\r\nexport type WebGLProgram = i32; //externref;\r\nexport type WebGLShader = i32;\r\nexport type WebGLBuffer = i32;\r\nexport type WebGLFramebuffer = i32;\r\nexport type WebGLRenderbuffer = i32;\r\nexport type WebGLTexture = i32;\r\n\r\nexport declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void;\r\nexport declare function createContextFromCanvas(canvas_id: string, context_type: string):WebGLRenderingContext;\r\nexport declare function attachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\n// export declare function bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void;\r\nexport declare function bindBuffer(gl: WebGLRenderingContext, target: GLenum, buffer: WebGLBuffer): void;\r\nexport declare function bindFramebuffer(gl: WebGLRenderingContext, target: GLenum, framebuffer: WebGLFramebuffer): void;\r\nexport declare function bindRenderbuffer(gl: WebGLRenderingContext, target: GLenum, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function bindTexture(gl: WebGLRenderingContext, target: GLenum, texture: WebGLTexture): void;\r\nexport declare function blendColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function blendEquation(gl: WebGLRenderingContext, mode: GLenum): void;\r\nexport declare function blendEquationSeparate(gl: WebGLRenderingContext, modeRGB: GLenum, modeAlpha: GLenum): void;\r\nexport declare function blendFunc(gl: WebGLRenderingContext, sfactor: GLenum, dfactor: GLenum): void;\r\nexport declare function blendFuncSeparate(gl: WebGLRenderingContext, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void;\r\nexport declare function bufferData(gl: WebGLRenderingContext, target: GLenum, data: StaticArray, usage: GLenum): void;\r\nexport declare function bufferSubData(gl: WebGLRenderingContext, target: GLenum, offset: GLintptr, data: Array): void;\r\n\r\nexport declare function checkFramebufferStatus(gl: WebGLRenderingContext, target: GLenum): GLenum;\r\nexport declare function clear(gl: WebGLRenderingContext, mask: GLbitfield): void;\r\nexport declare function clearColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;\r\nexport declare function clearDepth(gl: WebGLRenderingContext, depth: GLclampf): void;\r\nexport declare function clearStencil(gl: WebGLRenderingContext, s: GLint): void;\r\nexport declare function colorMask(gl: WebGLRenderingContext, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void;\r\nexport declare function compileShader(gl: WebGLRenderingContext, shader: WebGLShader): void;\r\n\r\nexport declare function compressedTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void;\r\nexport declare function compressedTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void;\r\n\r\nexport declare function copyTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void;\r\nexport declare function copyTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function createBuffer(gl: WebGLRenderingContext): WebGLBuffer;\r\nexport declare function createFramebuffer(gl: WebGLRenderingContext): WebGLFramebuffer;\r\nexport declare function createProgram(gl: WebGLRenderingContext): WebGLProgram;\r\nexport declare function createRenderbuffer(gl: WebGLRenderingContext): WebGLRenderbuffer;\r\nexport declare function createShader(gl: WebGLRenderingContext, typ: GLenum): WebGLShader;\r\nexport declare function createTexture(gl: WebGLRenderingContext): WebGLTexture;\r\n\r\nexport declare function cullFace(gl: WebGLRenderingContext, mode: GLenum): void;\r\n//...\r\n\r\nexport declare function deleteBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): void;\r\nexport declare function deleteFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): void;\r\nexport declare function deleteProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function deleteRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function deleteShader( gl: WebGLRenderingContext, shader: WebGLShader): void;\r\nexport declare function deleteTexture( gl: WebGLRenderingContext, texture: WebGLTexture): void;\r\n\r\nexport declare function depthFunc( gl: WebGLRenderingContext, func: GLenum): void;\r\nexport declare function depthMask( gl: WebGLRenderingContext, flag: GLboolean): void;\r\nexport declare function depthRange( gl: WebGLRenderingContext, zNear: GLclampf, zFar: GLclampf): void;\r\nexport declare function detachShader( gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void;\r\nexport declare function disable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function disableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function drawArrays( gl: WebGLRenderingContext, mode: GLenum, first: GLint, count: GLsizei): void;\r\nexport declare function drawElements( gl: WebGLRenderingContext, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void;\r\n\r\nexport declare function enable( gl: WebGLRenderingContext, cap: GLenum): void;\r\nexport declare function enableVertexAttribArray( gl: WebGLRenderingContext, index: GLuint): void;\r\nexport declare function finish( gl: WebGLRenderingContext ): void;\r\nexport declare function flush( gl: WebGLRenderingContext ): void;\r\nexport declare function framebufferRenderbuffer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n renderbuffertarget: GLenum,\r\n renderbuffer: WebGLRenderbuffer): void;\r\nexport declare function framebufferTexture2D( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, textarget: GLenum,\r\n texture: WebGLTexture, level: GLint): void;\r\nexport declare function frontFace( gl: WebGLRenderingContext, mode: GLenum): void;\r\n\r\nexport declare function generateMipmap( gl: WebGLRenderingContext, target: GLenum): void;\r\n\r\nexport declare function getActiveAttrib( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getActiveUniform( gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint):WebGLActiveInfo;\r\nexport declare function getAttachedShaders( gl: WebGLRenderingContext, program: WebGLProgram):sequence;\r\n\r\nexport declare function getAttribLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): GLint;\r\n\r\nexport declare function getBufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getParameter( gl: WebGLRenderingContext, pname: GLenum): externref; // any\r\n\r\nexport declare function getError( gl: WebGLRenderingContext ): GLenum;\r\n\r\nexport declare function getFramebufferAttachmentParameter( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum,\r\n pname: GLenum): externref; // any\r\nexport declare function getProgramParameter( gl: WebGLRenderingContext, program: WebGLProgram, pname: GLenum): bool; // any\r\nexport declare function getProgramInfoLog( gl: WebGLRenderingContext, program: WebGLProgram): DOMString;\r\nexport declare function getRenderbufferParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\nexport declare function getShaderParameter( gl: WebGLRenderingContext, shader: WebGLShader, pname: GLenum): bool; // any\r\nexport declare function getShaderPrecisionFormat( gl: WebGLRenderingContext, shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat;\r\nexport declare function getShaderInfoLog( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getShaderSource( gl: WebGLRenderingContext, shader: WebGLShader): DOMString;\r\n\r\nexport declare function getTexParameter( gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any\r\n\r\nexport declare function getUniform( gl: WebGLRenderingContext, program: WebGLProgram, location: WebGLUniformLocation): externref; // any\r\n\r\nexport declare function getUniformLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: string): WebGLUniformLocation;\r\n\r\nexport declare function getVertexAttrib( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): externref; // any\r\n\r\nexport declare function getVertexAttribOffset( gl: WebGLRenderingContext, index: GLuint, pname: GLenum): GLsizeiptr;\r\n\r\nexport declare function hint( gl: WebGLRenderingContext, target: GLenum, mode: GLenum): void;\r\nexport declare function isBuffer( gl: WebGLRenderingContext, buffer: WebGLBuffer): GLboolean;\r\nexport declare function isEnabled( gl: WebGLRenderingContext, cap: GLenum): GLboolean;\r\nexport declare function isFramebuffer( gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): GLboolean;\r\nexport declare function isProgram( gl: WebGLRenderingContext, program: WebGLProgram): GLboolean;\r\nexport declare function isRenderbuffer( gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): GLboolean;\r\nexport declare function isShader( gl: WebGLRenderingContext, shader: WebGLShader): GLboolean;\r\nexport declare function isTexture( gl: WebGLRenderingContext, texture: WebGLTexture): GLboolean;\r\nexport declare function lineWidth( gl: WebGLRenderingContext, width: GLfloat): void;\r\nexport declare function linkProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function pixelStorei( gl: WebGLRenderingContext, pname: GLenum, param: GLint): void;\r\nexport declare function polygonOffset( gl: WebGLRenderingContext, factor: GLfloat, units: GLfloat): void;\r\n\r\nexport declare function readPixels( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei,\r\n format: GLenum, typ: GLenum, pixels: ArrayBufferView): void;\r\n\r\nexport declare function renderbufferStorage( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\nexport declare function sampleCoverage( gl: WebGLRenderingContext, value: GLclampf, invert: GLboolean): void;\r\nexport declare function scissor( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function shaderSource( gl: WebGLRenderingContext, shader: WebGLShader, source: string): void;\r\n\r\nexport declare function stencilFunc( gl: WebGLRenderingContext, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilFuncSeparate( gl: WebGLRenderingContext, face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void;\r\nexport declare function stencilMask( gl: WebGLRenderingContext, mask: GLuint): void;\r\nexport declare function stencilMaskSeparate( gl: WebGLRenderingContext, face: GLenum, mask: GLuint): void;\r\nexport declare function stencilOp( gl: WebGLRenderingContext, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\nexport declare function stencilOpSeparate( gl: WebGLRenderingContext, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void;\r\n\r\nexport declare function texImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum,\r\n format: GLenum, typ: GLenum, image: ImageData): void;\r\n\r\nexport declare function texParameterf( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLfloat): void;\r\nexport declare function texParameteri( gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLint): void;\r\n\r\nexport declare function texSubImage2D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n format: GLenum, typ: GLenum, pixels: ImageData): void;\r\n\r\nexport declare function uniform1f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat): void;\r\nexport declare function uniform1fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform1i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint): void;\r\nexport declare function uniform1iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform2f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void;\r\nexport declare function uniform2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform2i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint): void;\r\nexport declare function uniform2iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void;\r\n\r\nexport declare function uniform3f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function uniform3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void;\r\n\r\nexport declare function uniform3i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void;\r\nexport declare function uniform3iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void;\r\n\r\nexport declare function uniform4f( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function uniform4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void;\r\n\r\nexport declare function uniform4i( gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void;\r\nexport declare function uniform4iv( gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void;\r\n\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: Float32Array): void;\r\n/*\r\nexport declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean,\r\n value: sequence): void;\r\n*/\r\nexport declare function useProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\nexport declare function validateProgram( gl: WebGLRenderingContext, program: WebGLProgram): void;\r\n\r\nexport declare function vertexAttrib1f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat): void;\r\nexport declare function vertexAttrib1fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib2f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat): void;\r\nexport declare function vertexAttrib2fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib3f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void;\r\nexport declare function vertexAttrib3fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttrib4f( gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void;\r\nexport declare function vertexAttrib4fv( gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void;\r\n\r\nexport declare function vertexAttribPointer( gl: WebGLRenderingContext, indx: GLint, size: GLint, typ: GLenum,\r\n normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function viewport( gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\n// ... WEBGL 2 ...\r\n/* Buffer objects */\r\nexport declare function copyBufferSubData( gl: WebGLRenderingContext, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr,\r\n writeOffset: GLintptr, size: GLsizeiptr): void;\r\n\r\nexport declare function getBufferSubData( gl: WebGLRenderingContext, target: GLenum, srcByteOffset: GLintptr, /*[AllowShared]*/ dstBuffer: ArrayBufferView,\r\n dstOffset: GLuint = 0, length: GLuint = 0): void;\r\n\r\n/* Framebuffer objects */\r\nexport declare function blitFramebuffer( gl: WebGLRenderingContext, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint,\r\n dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void;\r\nexport declare function framebufferTextureLayer( gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint,\r\n layer: GLint): void;\r\nexport declare function invalidateFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence): void;\r\nexport declare function invalidateSubFramebuffer( gl: WebGLRenderingContext, target: GLenum, attachments: sequence,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\nexport declare function readBuffer( gl: WebGLRenderingContext, src: GLenum): void;\r\n\r\n/* Renderbuffer objects */\r\nexport declare function getInternalformatParameter( gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, pname: GLenum): externref; // any\r\nexport declare function renderbufferStorageMultisample( gl: WebGLRenderingContext, target: GLenum, samples: GLsizei, internalformat: GLenum,\r\n width: GLsizei, height: GLsizei): void;\r\n\r\n/* Texture objects */\r\nexport declare function texStorage2D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei): void;\r\nexport declare function texStorage3D( gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei): void;\r\n\r\nexport declare function texImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei,\r\n depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void;\r\n\r\nexport declare function texSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum,\r\n pboOffset: GLintptr):void;\r\n\r\nexport declare function copyTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint,\r\n x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;\r\n\r\nexport declare function compressedTexImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei,\r\n height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\nexport declare function compressedTexSubImage3D( gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint,\r\n zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei,\r\n format: GLenum, imageSize: GLsizei, offset: GLintptr): void;\r\n\r\n/* Programs and shaders */\r\nexport declare function getFragDataLocation( gl: WebGLRenderingContext, program: WebGLProgram, name: DOMString): GLint;\r\n\r\n/* Uniforms */\r\nexport declare function uniform1ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint): void;\r\nexport declare function uniform2ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void;\r\nexport declare function uniform3ui( gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void;\r\nexport declare function uniform4ui( gl: WebGLRenderingContext, location:WebGLUniformLocation, v0:GLuint, v1:GLuint, v2:GLuint, v3:GLuint): void;\r\n\r\nexport declare function uniform1uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform2uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform3uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniform4uiv( gl: WebGLRenderingContext, location:WebGLUniformLocation, data:Uint32List, srcOffset:GLuint = 0,\r\n srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x2fv( gl: WebGLRenderingContext, location:WebGLUniformLocation, transpose:GLboolean, data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix4x3fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\nexport declare function uniformMatrix2x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\nexport declare function uniformMatrix3x4fv( gl: WebGLRenderingContext, location:WebGLUniformLocation,transpose:GLboolean,data:Float32List,\r\n srcOffset:GLuint = 0, srcLength:GLuint = 0):void;\r\n\r\n/* Vertex attribs */\r\nexport declare function vertexAttribI4i( gl: WebGLRenderingContext, index:GLuint, x:GLint, y:GLint, z:GLint, w:GLint): void;\r\nexport declare function vertexAttribI4iv( gl: WebGLRenderingContext, index:GLuint, values:Int32List): void;\r\nexport declare function vertexAttribI4ui( gl: WebGLRenderingContext, index:GLuint, x:GLuint, y:GLuint, z:GLuint, w:GLuint): void;\r\nexport declare function vertexAttribI4uiv( gl: WebGLRenderingContext, index:GLuint, values:Uint32List): void;\r\nexport declare function vertexAttribIPointer( gl: WebGLRenderingContext, index:GLuint, size:GLint, typ:GLenum, stride:GLsizei, offset:GLintptr): void;\r\n\r\n/* Writing to the drawing buffer */\r\nexport declare function vertexAttribDivisor( gl: WebGLRenderingContext, index:GLuint, divisor:GLuint): void;\r\nexport declare function drawArraysInstanced( gl: WebGLRenderingContext, mode:GLenum, first:GLint, count:GLsizei, instanceCount:GLsizei): void;\r\nexport declare function drawElementsInstanced( gl: WebGLRenderingContext, mode:GLenum, count:GLsizei, typ:GLenum, offset:GLintptr, instanceCount:GLsizei): void;\r\nexport declare function drawRangeElements( gl: WebGLRenderingContext, mode:GLenum,start:GLuint,end:GLuint,count:GLsizei,typ:GLenum,offset:GLintptr):void;\r\n\r\n/* Multiple Render Targets */\r\nexport declare function drawBuffers( gl: WebGLRenderingContext, buffers: sequence):void;\r\n\r\nexport declare function clearBufferfv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Float32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Int32List,\r\n srcOffset:GLuint = 0):void;\r\nexport declare function clearBufferuiv( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, values:Uint32List,\r\n srcOffset:GLuint = 0):void;\r\n\r\nexport declare function clearBufferfi( gl: WebGLRenderingContext, buffer:GLenum, drawbuffer:GLint, depth:GLfloat, stencil:GLint): void;\r\n\r\n/* Query Objects */\r\nexport declare function createQuery( gl: WebGLRenderingContext ):WebGLQuery;\r\nexport declare function deleteQuery( gl: WebGLRenderingContext, query: WebGLQuery): void;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isQuery( gl: WebGLRenderingContext, query:WebGLQuery):GLboolean ;\r\nexport declare function beginQuery( gl: WebGLRenderingContext, target:GLenum, query:WebGLQuery): void;\r\nexport declare function endQuery( gl: WebGLRenderingContext, target: GLenum): void;\r\nexport declare function getQuery( gl: WebGLRenderingContext, target:GLenum, pname:GLenum):WebGLQuery;\r\nexport declare function getQueryParameter( gl: WebGLRenderingContext, query:WebGLQuery, pname:GLenum):externref; // any\r\n\r\n/* Sampler Objects */\r\nexport declare function createSampler( gl: WebGLRenderingContext ):WebGLSampler;\r\nexport declare function deleteSampler( gl: WebGLRenderingContext, sampler: WebGLSampler): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isSampler( gl: WebGLRenderingContext, sampler:WebGLSampler):GLboolean;\r\nexport declare function bindSampler( gl: WebGLRenderingContext, unit:GLuint, sampler:WebGLSampler): void;\r\nexport declare function samplerParameteri( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLint): void;\r\nexport declare function samplerParameterf( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum, param:GLfloat): void;\r\nexport declare function getSamplerParameter( gl: WebGLRenderingContext, sampler:WebGLSampler, pname:GLenum):externref; // any\r\n\r\n/* Sync objects */\r\nexport declare function fenceSync( gl: WebGLRenderingContext, condition:GLenum, flags:GLbitfield):WebGLSync;\r\n/*[WebGLHandlesContextLoss]*/ \r\nexport declare function isSync( gl: WebGLRenderingContext, sync:WebGLSync):GLboolean;\r\nexport declare function deleteSync( gl: WebGLRenderingContext, sync: WebGLSync): void;\r\nexport declare function clientWaitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLuint64):GLenum;\r\nexport declare function waitSync( gl: WebGLRenderingContext, sync:WebGLSync, flags:GLbitfield, timeout:GLint64): void;\r\nexport declare function getSyncParameter( gl: WebGLRenderingContext, sync:WebGLSync, pname:GLenum):externref; // any\r\n\r\n/* Transform Feedback */\r\nexport declare function createTransformFeedback( gl: WebGLRenderingContext ):WebGLTransformFeedback;\r\nexport declare function deleteTransformFeedback( gl: WebGLRenderingContext, tf: WebGLTransformFeedback): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isTransformFeedback( gl: WebGLRenderingContext, tf:WebGLTransformFeedback):GLboolean;\r\nexport declare function bindTransformFeedback( gl: WebGLRenderingContext, target:GLenum, tf:WebGLTransformFeedback): void;\r\nexport declare function beginTransformFeedback( gl: WebGLRenderingContext, primitiveMode: GLenum): void;\r\nexport declare function endTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function transformFeedbackVaryings( gl: WebGLRenderingContext, program:WebGLProgram, varyings:sequence, bufferMode:GLenum):void;\r\nexport declare function getTransformFeedbackVarying( gl: WebGLRenderingContext, program:WebGLProgram, index:GLuint):WebGLActiveInfo;\r\nexport declare function pauseTransformFeedback( gl: WebGLRenderingContext ):void;\r\nexport declare function resumeTransformFeedback( gl: WebGLRenderingContext ):void;\r\n\r\n/* Uniform Buffer Objects and Transform Feedback Buffers */\r\nexport declare function bindBufferBase( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer): void;\r\nexport declare function bindBufferRange( gl: WebGLRenderingContext, target:GLenum, index:GLuint, buffer:WebGLBuffer, offset:GLintptr, size:GLsizeiptr): void;\r\nexport declare function getIndexedParameter( gl: WebGLRenderingContext, target:GLenum, index:GLuint):externref; // any\r\nexport declare function getUniformIndices( gl: WebGLRenderingContext, program:WebGLProgram, uniformNames:sequence):sequence;\r\nexport declare function getActiveUniforms( gl: WebGLRenderingContext, program:WebGLProgram, uniformIndices:sequence, pname:GLenum):externref; // any\r\nexport declare function getUniformBlockIndex( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockName:DOMString):GLuint;\r\nexport declare function getActiveUniformBlockParameter( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, pname:GLenum):externref; // any\r\nexport declare function getActiveUniformBlockName( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint):DOMString;\r\nexport declare function uniformBlockBinding( gl: WebGLRenderingContext, program:WebGLProgram, uniformBlockIndex:GLuint, uniformBlockBinding:GLuint): void;\r\n\r\n/* Vertex Array Objects */\r\nexport declare function createVertexArray( gl: WebGLRenderingContext ):WebGLVertexArrayObject;\r\nexport declare function deleteVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): void;\r\n/*[WebGLHandlesContextLoss]*/\r\nexport declare function isVertexArray( gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): GLboolean;\r\nexport declare function bindVertexArray( gl: WebGLRenderingContext, array: WebGLVertexArrayObject): void;\r\n","/// \n\nimport { idof } from \"../builtins\";\nimport { CharCode } from \"./string\";\n\n// @ts-ignore: decorator\n@inline\nexport const MAX_DOUBLE_LENGTH = 28;\n\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1,\n 10,\n 100,\n 1000,\n 10000,\n 100000,\n 1000000,\n 10000000,\n 100000000,\n 1000000000\n]);\n\n/*\n Lookup table for pairwise char codes in range [0-99]\n\n \"00\", \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\",\n \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\",\n \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\",\n \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\",\n \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\",\n \"50\", \"51\", \"52\", \"53\", \"54\", \"55\", \"56\", \"57\", \"58\", \"59\",\n \"60\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\",\n \"70\", \"71\", \"72\", \"73\", \"74\", \"75\", \"76\", \"77\", \"78\", \"79\",\n \"80\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\",\n \"90\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"\n*/\n// @ts-ignore: decorator\n@lazy @inline const DIGITS = memory.data([\n 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030,\n 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030,\n 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031,\n 0x00350031, 0x00360031, 0x00370031, 0x00380031, 0x00390031,\n 0x00300032, 0x00310032, 0x00320032, 0x00330032, 0x00340032,\n 0x00350032, 0x00360032, 0x00370032, 0x00380032, 0x00390032,\n 0x00300033, 0x00310033, 0x00320033, 0x00330033, 0x00340033,\n 0x00350033, 0x00360033, 0x00370033, 0x00380033, 0x00390033,\n 0x00300034, 0x00310034, 0x00320034, 0x00330034, 0x00340034,\n 0x00350034, 0x00360034, 0x00370034, 0x00380034, 0x00390034,\n 0x00300035, 0x00310035, 0x00320035, 0x00330035, 0x00340035,\n 0x00350035, 0x00360035, 0x00370035, 0x00380035, 0x00390035,\n 0x00300036, 0x00310036, 0x00320036, 0x00330036, 0x00340036,\n 0x00350036, 0x00360036, 0x00370036, 0x00380036, 0x00390036,\n 0x00300037, 0x00310037, 0x00320037, 0x00330037, 0x00340037,\n 0x00350037, 0x00360037, 0x00370037, 0x00380037, 0x00390037,\n 0x00300038, 0x00310038, 0x00320038, 0x00330038, 0x00340038,\n 0x00350038, 0x00360038, 0x00370038, 0x00380038, 0x00390038,\n 0x00300039, 0x00310039, 0x00320039, 0x00330039, 0x00340039,\n 0x00350039, 0x00360039, 0x00370039, 0x00380039, 0x00390039\n]);\n\n// Lookup table for pairwise char codes in range [0x00-0xFF]\n// @ts-ignore: decorator\n@lazy @inline const HEX_DIGITS =\n\"000102030405060708090a0b0c0d0e0f\\\n101112131415161718191a1b1c1d1e1f\\\n202122232425262728292a2b2c2d2e2f\\\n303132333435363738393a3b3c3d3e3f\\\n404142434445464748494a4b4c4d4e4f\\\n505152535455565758595a5b5c5d5e5f\\\n606162636465666768696a6b6c6d6e6f\\\n707172737475767778797a7b7c7d7e7f\\\n808182838485868788898a8b8c8d8e8f\\\n909192939495969798999a9b9c9d9e9f\\\na0a1a2a3a4a5a6a7a8a9aaabacadaeaf\\\nb0b1b2b3b4b5b6b7b8b9babbbcbdbebf\\\nc0c1c2c3c4c5c6c7c8c9cacbcccdcecf\\\nd0d1d2d3d4d5d6d7d8d9dadbdcdddedf\\\ne0e1e2e3e4e5e6e7e8e9eaebecedeeef\\\nf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff\";\n\n// @ts-ignore: decorator\n@lazy @inline const ANY_DIGITS = \"0123456789abcdefghijklmnopqrstuvwxyz\";\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_POWERS = memory.data([/* eslint-disable indent */\n -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980,\n -954, -927, -901, -874, -847, -821, -794, -768, -741, -715,\n -688, -661, -635, -608, -582, -555, -529, -502, -475, -449,\n -422, -396, -369, -343, -316, -289, -263, -236, -210, -183,\n -157, -130, -103, -77, -50, -24, 3, 30, 56, 83,\n 109, 136, 162, 189, 216, 242, 269, 295, 322, 348,\n 375, 402, 428, 455, 481, 508, 534, 561, 588, 614,\n 641, 667, 694, 720, 747, 774, 800, 827, 853, 880,\n 907, 933, 960, 986, 1013, 1039, 1066\n/* eslint-enable indent */]);\n\n// 1e-348, 1e-340, ..., 1e340\n// @ts-ignore: decorator\n@lazy @inline const FRC_POWERS = memory.data([\n 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA,\n 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F,\n 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5,\n 0xEA9C227723EE8BCB, 0xAECC49914078536D, 0x823C12795DB6CE57, 0xC21094364DFB5637,\n 0x9096EA6F3848984F, 0xD77485CB25823AC7, 0xA086CFCD97BF97F4, 0xEF340A98172AACE5,\n 0xB23867FB2A35B28E, 0x84C8D4DFD2C63F3B, 0xC5DD44271AD3CDBA, 0x936B9FCEBB25C996,\n 0xDBAC6C247D62A584, 0xA3AB66580D5FDAF6, 0xF3E2F893DEC3F126, 0xB5B5ADA8AAFF80B8,\n 0x87625F056C7C4A8B, 0xC9BCFF6034C13053, 0x964E858C91BA2655, 0xDFF9772470297EBD,\n 0xA6DFBD9FB8E5B88F, 0xF8A95FCF88747D94, 0xB94470938FA89BCF, 0x8A08F0F8BF0F156B,\n 0xCDB02555653131B6, 0x993FE2C6D07B7FAC, 0xE45C10C42A2B3B06, 0xAA242499697392D3,\n 0xFD87B5F28300CA0E, 0xBCE5086492111AEB, 0x8CBCCC096F5088CC, 0xD1B71758E219652C,\n 0x9C40000000000000, 0xE8D4A51000000000, 0xAD78EBC5AC620000, 0x813F3978F8940984,\n 0xC097CE7BC90715B3, 0x8F7E32CE7BEA5C70, 0xD5D238A4ABE98068, 0x9F4F2726179A2245,\n 0xED63A231D4C4FB27, 0xB0DE65388CC8ADA8, 0x83C7088E1AAB65DB, 0xC45D1DF942711D9A,\n 0x924D692CA61BE758, 0xDA01EE641A708DEA, 0xA26DA3999AEF774A, 0xF209787BB47D6B85,\n 0xB454E4A179DD1877, 0x865B86925B9BC5C2, 0xC83553C5C8965D3D, 0x952AB45CFA97A0B3,\n 0xDE469FBD99A05FE3, 0xA59BC234DB398C25, 0xF6C69A72A3989F5C, 0xB7DCBF5354E9BECE,\n 0x88FCF317F22241E2, 0xCC20CE9BD35C78A5, 0x98165AF37B2153DF, 0xE2A0B5DC971F303A,\n 0xA8D9D1535CE3B396, 0xFB9B7CD9A4A7443C, 0xBB764C4CA7A44410, 0x8BAB8EEFB6409C1A,\n 0xD01FEF10A657842C, 0x9B10A4E5E9913129, 0xE7109BFBA19C0C9D, 0xAC2820D9623BF429,\n 0x80444B5E7AA7CF85, 0xBF21E44003ACDD2D, 0x8E679C2F5E44FF8F, 0xD433179D9C8CB841,\n 0x9E19DB92B4E31BA9, 0xEB96BF6EBADF77D9, 0xAF87023B9BF0EE6B\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function isPowerOf2(value: T): bool {\n return popcnt(value) == 1;\n}\n\n// Count number of decimals for u32 values\n// In our case input value always non-zero so we can simplify some parts\nexport function decimalCount32(value: u32): u32 {\n if (value < 100000) {\n if (value < 100) {\n return 1 + u32(value >= 10);\n } else {\n return 3 + u32(value >= 10000) + u32(value >= 1000);\n }\n } else {\n if (value < 10000000) {\n return 6 + u32(value >= 1000000);\n } else {\n return 8 + u32(value >= 1000000000) + u32(value >= 100000000);\n }\n }\n}\n\n// Count number of decimals for u64 values\n// In our case input value always greater than 2^32-1 so we can skip some parts\nexport function decimalCount64High(value: u64): u32 {\n if (value < 1000000000000000) {\n if (value < 1000000000000) {\n return 10 + u32(value >= 100000000000) + u32(value >= 10000000000);\n } else {\n return 13 + u32(value >= 100000000000000) + u32(value >= 10000000000000);\n }\n } else {\n if (value < 100000000000000000) {\n return 16 + u32(value >= 10000000000000000);\n } else {\n return 18 + u32(value >= 10000000000000000000) + u32(value >= 1000000000000000000);\n }\n }\n}\n\nfunction ulog_base(num: u64, base: i32): u32 {\n if (isPowerOf2(base)) {\n return (63 - clz(num)) / (31 - clz(base)) + 1;\n }\n var b64 = u64(base), b = b64, e: u32 = 1;\n while (num >= b) {\n num /= b;\n b *= b;\n e <<= 1;\n }\n while (num >= 1) {\n num /= b64;\n e++;\n }\n return e - 1;\n}\n\nfunction utoa32_dec_lut(buffer: usize, num: u32, offset: usize): void {\n while (num >= 10000) {\n // in most VMs i32/u32 div and modulo by constant can be shared and simplificate\n let t = num / 10000;\n let r = num % 10000;\n num = t;\n\n let d1 = r / 100;\n let d2 = r % 100;\n\n let digits1 = load(DIGITS + (d1 << alignof()));\n let digits2 = load(DIGITS + (d2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n if (num >= 100) {\n let t = num / 100;\n let d1 = num % 100;\n num = t;\n offset -= 2;\n let digits = load(DIGITS + (d1 << alignof()));\n store(buffer + (offset << 1), digits);\n }\n\n if (num >= 10) {\n offset -= 2;\n let digits = load(DIGITS + (num << alignof()));\n store(buffer + (offset << 1), digits);\n } else {\n offset -= 1;\n let digit = CharCode._0 + num;\n store(buffer + (offset << 1), digit);\n }\n}\n\nfunction utoa64_dec_lut(buffer: usize, num: u64, offset: usize): void {\n while (num >= 100000000) {\n let t = num / 100000000;\n let r = (num - t * 100000000);\n num = t;\n\n let b = r / 10000;\n let c = r % 10000;\n\n let b1 = b / 100;\n let b2 = b % 100;\n let c1 = c / 100;\n let c2 = c % 100;\n\n let digits1 = load(DIGITS + (c1 << alignof()));\n let digits2 = load(DIGITS + (c2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n\n digits1 = load(DIGITS + (b1 << alignof()));\n digits2 = load(DIGITS + (b2 << alignof()));\n\n offset -= 4;\n store(buffer + (offset << 1), digits1 | (digits2 << 32));\n }\n\n utoa32_dec_lut(buffer, num, offset);\n}\n\nfunction utoa_hex_lut(buffer: usize, num: u64, offset: usize): void {\n const lut = changetype(HEX_DIGITS);\n while (offset >= 2) {\n offset -= 2;\n store(\n buffer + (offset << 1),\n load(lut + ((num & 0xFF) << alignof()))\n );\n num >>= 8;\n }\n if (offset & 1) {\n store(buffer, load(lut + (num << 6)));\n }\n}\n\nfunction utoa_dec_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let t = num / 10;\n let r = (num % 10);\n num = changetype(t);\n offset--;\n store(buffer + (offset << 1), CharCode._0 + r);\n } while (num);\n}\n\nfunction utoa_hex_simple(buffer: usize, num: T, offset: usize): void {\n do {\n let d = num & 0x0F | CharCode._0;\n d += select(0x27, 0, d > CharCode._9);\n offset--;\n store(buffer + (offset << 1), d);\n // @ts-ignore: type\n num >>= 4;\n } while (num);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function utoa32_dec_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa32_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa32_hex_core(buffer: usize, num: u32, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_dec_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_dec_simple(buffer, num, offset);\n } else {\n utoa64_dec_lut(buffer, num, offset);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction utoa64_hex_core(buffer: usize, num: u64, offset: usize): void {\n if (ASC_SHRINK_LEVEL >= 1) {\n utoa_hex_simple(buffer, num, offset);\n } else {\n utoa_hex_lut(buffer, num, offset);\n }\n}\n\nfunction utoa64_any_core(buffer: usize, num: u64, offset: usize, radix: i32): void {\n const lut = changetype(ANY_DIGITS);\n var base = u64(radix);\n if ((radix & (radix - 1)) == 0) { // for radix which pow of two\n let shift = u64(ctz(radix) & 7);\n let mask = base - 1;\n do {\n offset--;\n store(buffer + (offset << 1), load(lut + (usize(num & mask) << 1)));\n num >>= shift;\n } while (num);\n } else {\n do {\n offset--;\n let q = num / base;\n store(buffer + (offset << 1), load(lut + (usize(num - q * base) << 1)));\n num = q;\n } while (num);\n }\n}\n\nexport function utoa32(value: u32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa32(value: i32, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = value >>> 31;\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n let decimals = decimalCount32(value) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, value, decimals);\n } else if (radix == 16) {\n let decimals = (31 - clz(value) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa32_hex_core(out, value, decimals);\n } else {\n let val32 = u32(value);\n let decimals = ulog_base(val32, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, val32, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\nexport function utoa64(value: u64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32);\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value);\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix);\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n return changetype(out); // retains\n}\n\nexport function itoa64(value: i64, radix: i32): String {\n if (radix < 2 || radix > 36) {\n throw new RangeError(\"toString() radix argument must be between 2 and 36\");\n }\n if (!value) return \"0\";\n\n var sign = u32(value >>> 63);\n if (sign) value = -value;\n var out: usize = 0;\n\n if (radix == 10) {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n let decimals = decimalCount32(val32) + sign;\n out = __new(decimals << 1, idof());\n utoa32_dec_core(out, val32, decimals);\n } else {\n let decimals = decimalCount64High(value) + sign;\n out = __new(decimals << 1, idof());\n utoa64_dec_core(out, value, decimals);\n }\n } else if (radix == 16) {\n let decimals = (63 - u32(clz(value)) >> 2) + 1 + sign;\n out = __new(decimals << 1, idof());\n utoa64_hex_core(out, value, decimals);\n } else {\n let decimals = ulog_base(value, radix) + sign;\n out = __new(decimals << 1, idof());\n utoa64_any_core(out, value, decimals, radix);\n }\n if (sign) store(out, CharCode.MINUS);\n return changetype(out); // retains\n}\n\n// @ts-ignore: decorator\n@lazy var _K: i32 = 0;\n\n// // @ts-ignore: decorator\n// @lazy\n// var _frc: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp: i32 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_minus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_plus: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _frc_pow: u64 = 0;\n\n// @ts-ignore: decorator\n@lazy var _exp_pow: i32 = 0;\n\n// @ts-ignore: decorator\n@inline\nfunction umul64f(u: u64, v: u64): u64 {\n var u0 = u & 0xFFFFFFFF;\n var v0 = v & 0xFFFFFFFF;\n\n var u1 = u >> 32;\n var v1 = v >> 32;\n\n var l = u0 * v0;\n var t = u1 * v0 + (l >> 32);\n var w = u0 * v1 + (t & 0xFFFFFFFF);\n\n w += 0x7FFFFFFF; // rounding\n\n t >>= 32;\n w >>= 32;\n\n return u1 * v1 + t + w;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction umul64e(e1: i32, e2: i32): i32 {\n return e1 + e2 + 64; // where 64 is significand size\n}\n\n// @ts-ignore: decorator\n@inline\nfunction normalizedBoundaries(f: u64, e: i32): void {\n var frc = (f << 1) + 1;\n var exp = e - 1;\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var m = 1 + i32(f == 0x0010000000000000);\n\n _frc_plus = frc;\n _frc_minus = ((f << m) - 1) << e - m - exp;\n _exp = exp;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisuRound(buffer: usize, len: i32, delta: u64, rest: u64, ten_kappa: u64, wp_w: u64): void {\n var lastp = buffer + ((len - 1) << 1);\n var digit = load(lastp);\n while (\n rest < wp_w &&\n delta - rest >= ten_kappa && (\n rest + ten_kappa < wp_w ||\n wp_w - rest > rest + ten_kappa - wp_w\n )\n ) {\n --digit;\n rest += ten_kappa;\n }\n store(lastp, digit);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction getCachedPower(minExp: i32): void {\n const c = reinterpret(0x3FD34413509F79FE); // 1 / lg(10) = 0.30102999566398114\n var dk = (-61 - minExp) * c + 347;\t // dk must be positive, so can do ceiling in positive\n var k = dk;\n k += i32(k != dk); // conversion with ceil\n\n var index = (k >> 3) + 1;\n _K = 348 - (index << 3);\t// decimal exponent no need lookup table\n _frc_pow = load(FRC_POWERS + (index << alignof()));\n _exp_pow = load(EXP_POWERS + (index << alignof()));\n}\n\n// @ts-ignore: decorator\n@inline\nfunction grisu2(value: f64, buffer: usize, sign: i32): i32 {\n\n // frexp routine\n var uv = reinterpret(value);\n var exp = i32((uv & 0x7FF0000000000000) >>> 52);\n var sid = uv & 0x000FFFFFFFFFFFFF;\n var frc = (u64(exp != 0) << 52) + sid;\n exp = select(exp, 1, exp) - (0x3FF + 52);\n\n normalizedBoundaries(frc, exp);\n getCachedPower(_exp);\n\n // normalize\n var off = clz(frc);\n frc <<= off;\n exp -= off;\n\n var frc_pow = _frc_pow;\n var exp_pow = _exp_pow;\n\n var w_frc = umul64f(frc, frc_pow);\n var w_exp = umul64e(exp, exp_pow);\n\n var wp_frc = umul64f(_frc_plus, frc_pow) - 1;\n var wp_exp = umul64e(_exp, exp_pow);\n\n var wm_frc = umul64f(_frc_minus, frc_pow) + 1;\n var delta = wp_frc - wm_frc;\n\n return genDigits(buffer, w_frc, w_exp, wp_frc, wp_exp, delta, sign);\n}\n\nfunction genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i32, delta: u64, sign: i32): i32 {\n var one_exp = -mp_exp;\n var one_frc = (1) << one_exp;\n var mask = one_frc - 1;\n\n var wp_w_frc = mp_frc - w_frc;\n\n var p1 = u32(mp_frc >> one_exp);\n var p2 = mp_frc & mask;\n\n var kappa = decimalCount32(p1);\n var len = sign;\n\n while (kappa > 0) {\n let d: u32;\n switch (kappa) {\n case 10: { d = p1 / 1000000000; p1 %= 1000000000; break; }\n case 9: { d = p1 / 100000000; p1 %= 100000000; break; }\n case 8: { d = p1 / 10000000; p1 %= 10000000; break; }\n case 7: { d = p1 / 1000000; p1 %= 1000000; break; }\n case 6: { d = p1 / 100000; p1 %= 100000; break; }\n case 5: { d = p1 / 10000; p1 %= 10000; break; }\n case 4: { d = p1 / 1000; p1 %= 1000; break; }\n case 3: { d = p1 / 100; p1 %= 100; break; }\n case 2: { d = p1 / 10; p1 %= 10; break; }\n case 1: { d = p1; p1 = 0; break; }\n default: { d = 0; break; }\n }\n\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n --kappa;\n let tmp = ((p1) << one_exp) + p2;\n if (tmp <= delta) {\n _K += kappa;\n grisuRound(buffer, len, delta, tmp, load(POWERS10 + (kappa << alignof())) << one_exp, wp_w_frc);\n return len;\n }\n }\n\n while (true) {\n p2 *= 10;\n delta *= 10;\n\n let d = p2 >> one_exp;\n if (d | len) store(buffer + (len++ << 1), CharCode._0 + d);\n\n p2 &= mask;\n --kappa;\n if (p2 < delta) {\n _K += kappa;\n wp_w_frc *= load(POWERS10 + (-kappa << alignof()));\n grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc);\n return len;\n }\n }\n}\n\n// @ts-ignore: decorator\n@inline\nfunction genExponent(buffer: usize, k: i32): i32 {\n var sign = k < 0;\n if (sign) k = -k;\n var decimals = decimalCount32(k) + 1;\n utoa32_dec_core(buffer, k, decimals);\n store(buffer, select(CharCode.MINUS, CharCode.PLUS, sign));\n return decimals;\n}\n\nfunction prettify(buffer: usize, length: i32, k: i32): i32 {\n if (!k) {\n store(buffer + (length << 1), CharCode.DOT | (CharCode._0 << 16));\n return length + 2;\n }\n\n var kk = length + k;\n if (length <= kk && kk <= 21) {\n // 1234e7 -> 12340000000\n for (let i = length; i < kk; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n store(buffer + (kk << 1), CharCode.DOT | (CharCode._0 << 16));\n return kk + 2;\n } else if (kk > 0 && kk <= 21) {\n // 1234e-2 -> 12.34\n let ptr = buffer + (kk << 1);\n memory.copy(\n ptr + 2,\n ptr,\n -k << 1\n );\n store(buffer + (kk << 1), CharCode.DOT);\n return length + 1;\n } else if (-6 < kk && kk <= 0) {\n // 1234e-6 -> 0.001234\n let offset = 2 - kk;\n memory.copy(\n buffer + (offset << 1),\n buffer,\n length << 1\n );\n store(buffer, CharCode._0 | (CharCode.DOT << 16));\n for (let i = 2; i < offset; ++i) {\n store(buffer + (i << 1), CharCode._0);\n }\n return length + offset;\n } else if (length == 1) {\n // 1e30\n store(buffer, CharCode.e, 2);\n length = genExponent(buffer + 4, kk - 1);\n return length + 2;\n } else {\n let len = length << 1;\n memory.copy(\n buffer + 4,\n buffer + 2,\n len - 2\n );\n store(buffer, CharCode.DOT, 2);\n store(buffer + len, CharCode.e, 2);\n length += genExponent(buffer + len + 4, kk - 1);\n return length + 2;\n }\n}\n\nfunction dtoa_core(buffer: usize, value: f64): i32 {\n var sign = i32(value < 0);\n if (sign) {\n value = -value;\n store(buffer, CharCode.MINUS);\n }\n // assert(value > 0 && value <= 1.7976931348623157e308);\n var len = grisu2(value, buffer, sign);\n len = prettify(buffer + (sign << 1), len - sign, _K);\n return len + sign;\n}\n\n// @ts-ignore: decorator\n@lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1);\n\nexport function dtoa(value: f64): String {\n if (value == 0) return \"0.0\";\n if (!isFinite(value)) {\n if (isNaN(value)) return \"NaN\";\n return select(\"-Infinity\", \"Infinity\", value < 0);\n }\n var size = dtoa_core(dtoa_buf, value) << 1;\n var result = __new(size, idof());\n memory.copy(result, dtoa_buf, size);\n return changetype(result);\n}\n\nexport function itoa_buffered(buffer: usize, value: T): u32 {\n var sign: u32 = 0;\n if (isSigned()) {\n sign = u32(value < 0);\n if (sign) {\n value = changetype(-value);\n store(buffer, CharCode.MINUS);\n }\n }\n if (ASC_SHRINK_LEVEL <= 1) {\n if (isSigned()) {\n if (sizeof() <= 4) {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n } else {\n if (value < 10) {\n store(buffer + (sign << 1), value | CharCode._0);\n return 1 + sign;\n }\n }\n } else {\n if (value < 10) {\n store(buffer, value | CharCode._0);\n return 1;\n }\n }\n }\n var decimals = sign;\n if (sizeof() <= 4) {\n decimals += decimalCount32(value);\n utoa32_dec_core(buffer, value, decimals);\n } else {\n if (value <= u32.MAX_VALUE) {\n let val32 = value;\n decimals += decimalCount32(val32);\n utoa32_dec_core(buffer, val32, decimals);\n } else {\n decimals += decimalCount64High(value);\n utoa64_dec_core(buffer, value, decimals);\n }\n }\n return decimals;\n}\n\nexport function dtoa_buffered(buffer: usize, value: f64): u32 {\n if (value == 0) {\n store(buffer, CharCode._0);\n store(buffer, CharCode.DOT, 2);\n store(buffer, CharCode._0, 4);\n return 3;\n }\n if (!isFinite(value)) {\n if (isNaN(value)) {\n store(buffer, CharCode.N);\n store(buffer, CharCode.a, 2);\n store(buffer, CharCode.N, 4);\n return 3;\n } else {\n let sign = value < 0;\n if (sign) {\n store(buffer, CharCode.MINUS); // -\n buffer += 2;\n }\n store(buffer, 0x690066006E0049, 0); // ifnI\n store(buffer, 0x7900740069006E, 8); // ytin\n return 8 + u32(sign);\n }\n }\n return dtoa_core(buffer, value);\n}\n","//\n// Lookup data for exp2f\n//\n\n// @ts-ignore: decorator\n@inline const EXP2F_TABLE_BITS = 5;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP2F_DATA_TAB = memory.data([\n // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS)\n // used for computing 2^(k/N) for an int |k| < 150 N as\n // double(tab[k%N] + (k << 52-BITS))\n 0x3FF0000000000000, 0x3FEFD9B0D3158574, 0x3FEFB5586CF9890F, 0x3FEF9301D0125B51,\n 0x3FEF72B83C7D517B, 0x3FEF54873168B9AA, 0x3FEF387A6E756238, 0x3FEF1E9DF51FDEE1,\n 0x3FEF06FE0A31B715, 0x3FEEF1A7373AA9CB, 0x3FEEDEA64C123422, 0x3FEECE086061892D,\n 0x3FEEBFDAD5362A27, 0x3FEEB42B569D4F82, 0x3FEEAB07DD485429, 0x3FEEA47EB03A5585,\n 0x3FEEA09E667F3BCD, 0x3FEE9F75E8EC5F74, 0x3FEEA11473EB0187, 0x3FEEA589994CCE13,\n 0x3FEEACE5422AA0DB, 0x3FEEB737B0CDC5E5, 0x3FEEC49182A3F090, 0x3FEED503B23E255D,\n 0x3FEEE89F995AD3AD, 0x3FEEFF76F2FB5E47, 0x3FEF199BDD85529C, 0x3FEF3720DCEF9069,\n 0x3FEF5818DCFBA487, 0x3FEF7C97337B9B5F, 0x3FEFA4AFA2A490DA, 0x3FEFD0765B6E4540\n]);\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.)\n// Wrong count: 168353 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function exp2f_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N, // 0x1.8p+52\n Ox127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x430) {\n // |x| >= 128 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > 0) return x * Ox127f; // x > 0 -> HugeVal (Owerflow)\n if (x <= -150) return 0; // x <= -150 -> 0 (Underflow)\n }\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)] and int k.\n var kd = xd + shift;\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n y = C2 * r + 1;\n y += (C0 * r + C1) * (r * r);\n y *= s;\n\n return y;\n}\n\n// ULP error: 0.502 (nearest rounding.)\n// Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.)\n// Wrong count: 170635 (all nearest rounding wrong results with fma.)\n// @ts-ignore: decorator\n@inline\nexport function expf_lut(x: f32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000), // 0x1.8p+52\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep+0\n Ox1p127f = reinterpret(0x7F000000);\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394) / N / N / N, // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3) / N / N, // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6) / N; // 0x1.62e42ff0c52d6p-1\n\n var xd = x;\n var ix = reinterpret(x);\n var ux = ix >> 20 & 0x7FF;\n if (ux >= 0x42B) {\n // |x| >= 88 or x is nan.\n if (ix == 0xFF800000) return 0; // x == -Inf -> 0\n if (ux >= 0x7F8) return x + x; // x == Inf/NaN -> Inf/NaN\n if (x > reinterpret(0x42B17217)) return x * Ox1p127f; // x > log(0x1p128) ~= 88.72 -> HugeVal (Owerflow)\n if (x < reinterpret(0xC2CFF1B4)) return 0; // x < log(0x1p-150) ~= -103.97 -> 0 (Underflow)\n }\n\n // x*N/Ln2 = k + r with r in [-1/2, 1/2] and int k.\n var z = InvLn2N * xd;\n\n // Round and convert z to int, the result is in [-150*N, 128*N] and\n // ideally ties-to-even rule is used, otherwise the magnitude of r\n // can be bigger which gives larger approximation error.\n var kd = (z + shift);\n var ki = reinterpret(kd);\n var r = z - (kd - shift);\n var s: f64, y: f64, t: u64;\n\n // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += ki << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n\n return y;\n}\n\n//\n// Lookup data for log2f\n//\n\n// @ts-ignore: decorator\n@inline const LOG2F_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2F_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFDEFEC65B963019), // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFDB0B6832D4FCA4), // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD7418B0A1FB77B), // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFD39DE91A6DCF7B), // 0x1.3c995b0b80385p+0, -0x1.39de91a6dcf7bp-2,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFD01D9BF3F2B631), // 0x1.30d190c8864a5p+0, -0x1.01d9bf3f2b631p-2,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC97C1D1B3B7AF0), // 0x1.25e227b0b8eap+0 , -0x1.97c1d1b3b7afp-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFC2F9E393AF3C9F), // 0x1.1bb4a4a1a343fp+0, -0x1.2f9e393af3c9fp-3,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB960CBBF788D5C), // 0x1.12358f08ae5bap+0, -0x1.960cbbf788d5cp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFAA6F9DB6475FCE), // 0x1.0953f419900a7p+0, -0x1.a6f9db6475fcep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0x0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FB338CA9F24F53D), // 0x1.e608cfd9a47acp-1, 0x1.338ca9f24f53dp-4,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FC476A9543891BA), // 0x1.ca4b31f026aap-1 , 0x1.476a9543891bap-3,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FCE840B4AC4E4D2), // 0x1.b2036576afce6p-1, 0x1.e840b4ac4e4d2p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FD40645F0C6651C), // 0x1.9c2d163a1aa2dp-1, 0x1.40645f0c6651cp-2,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD88E9C2C1B9FF8), // 0x1.886e6037841edp-1, 0x1.88e9c2c1b9ff8p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FDCE0A44EB17BCC) // 0x1.767dcf5534862p-1, 0x1.ce0a44eb17bccp-2\n]);\n\n// ULP error: 0.752 (nearest rounding.)\n// Relative error: 1.9 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function log2f_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOG2F_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n A0 = reinterpret(0xBFD712B6F70A7E4D), // -0x1.712b6f70a7e4dp-2\n A1 = reinterpret(0x3FDECABF496832E0), // 0x1.ecabf496832ep-2\n A2 = reinterpret(0xBFE715479FFAE3DE), // -0x1.715479ffae3dep-1\n A3 = reinterpret(0x3FF715475F35C8B8); // 0x1.715475f35c8b8p0\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && predict_false(ix == 0x3f800000)) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if (ux * 2 == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log2(inf) == inf.\n if ((ux >> 31) || ux * 2 >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK;\n var top = tmp & 0xFF800000;\n var iz = ux - top;\n var k = tmp >> 23;\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(iz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A1 * r + A2;\n var p = A3 * r + y0;\n var r2 = r * r;\n y += A0 * r2;\n y = y * r2 + p;\n\n return y;\n}\n\n//\n// Lookup data for logf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/logf.c\n//\n\n// @ts-ignore: decorator\n@inline const LOGF_TABLE_BITS = 4;\n\n// @ts-ignore: decorator\n@lazy @inline const LOGF_DATA_TAB = memory.data([\n reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFD57BF7808CAADE), // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2,\n reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFD2BEF0A7C06DDB), // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2,\n reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD01EAE7F513A67), // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2,\n reinterpret(0x3FF3C995B0B80385), reinterpret(0xBFCB31D8A68224E9), // 0x1.3c995b0b80385p+0, -0x1.b31d8a68224e9p-3,\n reinterpret(0x3FF30D190C8864A5), reinterpret(0xBFC6574F0AC07758), // 0x1.30d190c8864a5p+0, -0x1.6574f0ac07758p-3,\n reinterpret(0x3FF25E227B0B8EA0), reinterpret(0xBFC1AA2BC79C8100), // 0x1.25e227b0b8eap+0 , -0x1.1aa2bc79c81p-3 ,\n reinterpret(0x3FF1BB4A4A1A343F), reinterpret(0xBFBA4E76CE8C0E5E), // 0x1.1bb4a4a1a343fp+0, -0x1.a4e76ce8c0e5ep-4,\n reinterpret(0x3FF12358F08AE5BA), reinterpret(0xBFB1973C5A611CCC), // 0x1.12358f08ae5bap+0, -0x1.1973c5a611cccp-4,\n reinterpret(0x3FF0953F419900A7), reinterpret(0xBFA252F438E10C1E), // 0x1.0953f419900a7p+0, -0x1.252f438e10c1ep-5,\n reinterpret(0x3FF0000000000000), 0, // 0x1p+0, 0,\n reinterpret(0x3FEE608CFD9A47AC), reinterpret(0x3FAAA5AA5DF25984), // 0x1.e608cfd9a47acp-1, 0x1.aa5aa5df25984p-5,\n reinterpret(0x3FECA4B31F026AA0), reinterpret(0x3FBC5E53AA362EB4), // 0x1.ca4b31f026aap-1 , 0x1.c5e53aa362eb4p-4,\n reinterpret(0x3FEB2036576AFCE6), reinterpret(0x3FC526E57720DB08), // 0x1.b2036576afce6p-1, 0x1.526e57720db08p-3,\n reinterpret(0x3FE9C2D163A1AA2D), reinterpret(0x3FCBC2860D224770), // 0x1.9c2d163a1aa2dp-1, 0x1.bc2860d22477p-3 ,\n reinterpret(0x3FE886E6037841ED), reinterpret(0x3FD1058BC8A07EE1), // 0x1.886e6037841edp-1, 0x1.1058bc8a07ee1p-2,\n reinterpret(0x3FE767DCF5534862), reinterpret(0x3FD4043057B6EE09) // 0x1.767dcf5534862p-1, 0x1.4043057b6ee09p-2\n]);\n\n// ULP error: 0.818 (nearest rounding.)\n// Relative error: 1.957 * 2^-26 (before rounding.)\n// @ts-ignore: decorator\n@inline\nexport function logf_lut(x: f32): f32 {\n const\n N_MASK = (1 << LOGF_TABLE_BITS) - 1,\n Ox1p23f = reinterpret(0x4B000000); // 0x1p23f\n\n const\n Ln2 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1;\n A0 = reinterpret(0xBFD00EA348B88334), // -0x1.00ea348b88334p-2\n A1 = reinterpret(0x3FD5575B0BE00B6A), // 0x1.5575b0be00b6ap-2\n A2 = reinterpret(0xBFDFFFFEF20A4123); // -0x1.ffffef20a4123p-2\n\n var ux = reinterpret(x);\n // Fix sign of zero with downward rounding when x==1.\n // if (WANT_ROUNDING && ux == 0x3f800000) return 0;\n if (ux - 0x00800000 >= 0x7F800000 - 0x00800000) {\n // x < 0x1p-126 or inf or nan.\n if ((ux << 1) == 0) return -Infinity;\n if (ux == 0x7F800000) return x; // log(inf) == inf.\n if ((ux >> 31) || (ux << 1) >= 0xFF000000) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ux = reinterpret(x * Ox1p23f);\n ux -= 23 << 23;\n }\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK;\n var k = tmp >> 23;\n var iz = ux - (tmp & 0x1FF << 23);\n\n var invc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOGF_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2\n var r = z * invc - 1;\n var y0 = logc + k * Ln2;\n\n // Pipelined polynomial evaluation to approximate log1p(r).\n var r2 = r * r;\n var y = A1 * r + A2;\n y += A0 * r2;\n y = y * r2 + (y0 + r);\n\n return y;\n}\n\n//\n// Lookup data for powf. See: https://git.musl-libc.org/cgit/musl/tree/src/math/powf.c\n//\n\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnanf(ux: u32): bool {\n return (ux << 1) - 1 >= (0x7f800000 << 1) - 1;\n}\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkintf(iy: u32): i32 {\n var e = iy >> 23 & 0xFF;\n if (e < 0x7F ) return 0;\n if (e > 0x7F + 23) return 2;\n e = 1 << (0x7F + 23 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// Subnormal input is normalized so ix has negative biased exponent.\n// Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set.\n// @ts-ignore: decorator\n@inline\nfunction log2f_inline(ux: u32): f64 {\n const N_MASK = (1 << LOG2F_TABLE_BITS) - 1;\n\n const\n A0 = reinterpret(0x3FD27616C9496E0B), // 0x1.27616c9496e0bp-2\n A1 = reinterpret(0xBFD71969A075C67A), // -0x1.71969a075c67ap-2\n A2 = reinterpret(0x3FDEC70A6CA7BADD), // 0x1.ec70a6ca7baddp-2\n A3 = reinterpret(0xBFE7154748BEF6C8), // -0x1.7154748bef6c8p-1\n A4 = reinterpret(0x3FF71547652AB82B); // 0x1.71547652ab82bp+0\n\n // x = 2^k z; where z is in range [OFF,2*OFF] and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ux - 0x3F330000;\n var i = ((tmp >> (23 - LOG2F_TABLE_BITS)) & N_MASK);\n var top = tmp & 0xFF800000;\n var uz = ux - top;\n var k = (top >> 23);\n\n var invc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 0 << alignof());\n var logc = load(LOG2F_DATA_TAB + (i << (1 + alignof())), 1 << alignof());\n var z = reinterpret(uz);\n\n // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k\n var r = z * invc - 1;\n var y0 = logc + k;\n\n // Pipelined polynomial evaluation to approximate log1p(r)/ln2.\n var y = A0 * r + A1;\n var p = A2 * r + A3;\n var q = A4 * r + y0;\n\n r *= r;\n q += p * r;\n y = y * (r * r) + q;\n\n return y;\n}\n\n// The output of log2 and thus the input of exp2 is either scaled by N\n// (in case of fast toint intrinsics) or not. The unscaled xd must be\n// in [-1021,1023], sign_bias sets the sign of the result.\n// @ts-ignore: decorator\n@inline\nfunction exp2f_inline(xd: f64, signBias: u32): f32 {\n const\n N = 1 << EXP2F_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p+52\n\n const\n C0 = reinterpret(0x3FAC6AF84B912394), // 0x1.c6af84b912394p-5\n C1 = reinterpret(0x3FCEBFCE50FAC4F3), // 0x1.ebfce50fac4f3p-3\n C2 = reinterpret(0x3FE62E42FF0C52D6); // 0x1.62e42ff0c52d6p-1\n\n // x = k/N + r with r in [-1/(2N), 1/(2N)]\n var kd = (xd + shift);\n var ki = reinterpret(kd);\n var r = xd - (kd - shift);\n var t: u64, z: f64, y: f64, s: f64;\n\n // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1)\n t = load(EXP2F_DATA_TAB + ((ki & N_MASK) << alignof()));\n t += (ki + signBias) << (52 - EXP2F_TABLE_BITS);\n s = reinterpret(t);\n z = C0 * r + C1;\n y = C2 * r + 1;\n y += z * (r * r);\n y *= s;\n return y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflowf(sign: u32, y: f32): f32 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflowf(sign: u32): f32 {\n return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f\n}\n\n// @ts-ignore: decorator\n@inline\nexport function powf_lut(x: f32, y: f32): f32 {\n const\n Ox1p23f = reinterpret(0x4B000000), // 0x1p23f\n UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6\n LOWER_LIMIT = -150.0,\n SIGN_BIAS = 1 << (EXP2F_TABLE_BITS + 11);\n\n var signBias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var ny = 0;\n\n if (i32(ix - 0x00800000 >= 0x7f800000 - 0x00800000) | (ny = i32(zeroinfnanf(iy)))) {\n // Either (x < 0x1p-126 or inf or nan) or (y is 0 or inf or nan).\n if (ny) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3F800000) return NaN; // original: 1.0\n if ((ix << 1) > (0x7F800000 << 1) || (iy << 1) > (0x7F800000 << 1)) return x + y;\n if ((ix << 1) == (0x3F800000 << 1)) return NaN; // original: 1.0\n if (((ix << 1) < (0x3F800000 << 1)) == !(iy >> 31)) return 0; // |x| < 1 && y==inf or |x| > 1 && y==-inf.\n return y * y;\n }\n if (zeroinfnanf(ix)) {\n let x2 = x * x;\n if ((ix >> 31) && checkintf(iy) == 1) x2 = -x2;\n return iy >> 31 ? 1 / x2 : x2;\n }\n // x and y are non-zero finite.\n if (ix >> 31) {\n // Finite x < 0.\n let yint = checkintf(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) signBias = SIGN_BIAS;\n ix &= 0x7FFFFFFF;\n }\n if (ix < 0x00800000) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p23f);\n ix &= 0x7FFFFFFF;\n ix -= 23 << 23;\n }\n }\n var logx = log2f_inline(ix);\n var ylogx = y * logx; // cannot overflow, y is single prec.\n if ((reinterpret(ylogx) >> 47 & 0xFFFF) >= 0x80BF) { // reinterpret(126.0) >> 47\n // |y * log(x)| >= 126\n if (ylogx > UPPER_LIMIT) return oflowf(signBias); // overflow\n if (ylogx <= LOWER_LIMIT) return uflowf(signBias); // underflow\n }\n return exp2f_inline(ylogx, signBias);\n}\n\n//\n// Lookup data for exp. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp.c\n//\n\n// @ts-ignore: decorator\n@inline const EXP_TABLE_BITS = 7;\n\n// @ts-ignore: decorator\n@lazy @inline const EXP_DATA_TAB = memory.data([\n 0x0000000000000000, 0x3FF0000000000000,\n 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335,\n 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061,\n 0xBC905E7A108766D1, 0x3FEFE315E86E7F85,\n 0x3C8CD2523567F613, 0x3FEFD9B0D3158574,\n 0xBC8BCE8023F98EFA, 0x3FEFD06B29DDF6DE,\n 0x3C60F74E61E6C861, 0x3FEFC74518759BC8,\n 0x3C90A3E45B33D399, 0x3FEFBE3ECAC6F383,\n 0x3C979AA65D837B6D, 0x3FEFB5586CF9890F,\n 0x3C8EB51A92FDEFFC, 0x3FEFAC922B7247F7,\n 0x3C3EBE3D702F9CD1, 0x3FEFA3EC32D3D1A2,\n 0xBC6A033489906E0B, 0x3FEF9B66AFFED31B,\n 0xBC9556522A2FBD0E, 0x3FEF9301D0125B51,\n 0xBC5080EF8C4EEA55, 0x3FEF8ABDC06C31CC,\n 0xBC91C923B9D5F416, 0x3FEF829AAEA92DE0,\n 0x3C80D3E3E95C55AF, 0x3FEF7A98C8A58E51,\n 0xBC801B15EAA59348, 0x3FEF72B83C7D517B,\n 0xBC8F1FF055DE323D, 0x3FEF6AF9388C8DEA,\n 0x3C8B898C3F1353BF, 0x3FEF635BEB6FCB75,\n 0xBC96D99C7611EB26, 0x3FEF5BE084045CD4,\n 0x3C9AECF73E3A2F60, 0x3FEF54873168B9AA,\n 0xBC8FE782CB86389D, 0x3FEF4D5022FCD91D,\n 0x3C8A6F4144A6C38D, 0x3FEF463B88628CD6,\n 0x3C807A05B0E4047D, 0x3FEF3F49917DDC96,\n 0x3C968EFDE3A8A894, 0x3FEF387A6E756238,\n 0x3C875E18F274487D, 0x3FEF31CE4FB2A63F,\n 0x3C80472B981FE7F2, 0x3FEF2B4565E27CDD,\n 0xBC96B87B3F71085E, 0x3FEF24DFE1F56381,\n 0x3C82F7E16D09AB31, 0x3FEF1E9DF51FDEE1,\n 0xBC3D219B1A6FBFFA, 0x3FEF187FD0DAD990,\n 0x3C8B3782720C0AB4, 0x3FEF1285A6E4030B,\n 0x3C6E149289CECB8F, 0x3FEF0CAFA93E2F56,\n 0x3C834D754DB0ABB6, 0x3FEF06FE0A31B715,\n 0x3C864201E2AC744C, 0x3FEF0170FC4CD831,\n 0x3C8FDD395DD3F84A, 0x3FEEFC08B26416FF,\n 0xBC86A3803B8E5B04, 0x3FEEF6C55F929FF1,\n 0xBC924AEDCC4B5068, 0x3FEEF1A7373AA9CB,\n 0xBC9907F81B512D8E, 0x3FEEECAE6D05D866,\n 0xBC71D1E83E9436D2, 0x3FEEE7DB34E59FF7,\n 0xBC991919B3CE1B15, 0x3FEEE32DC313A8E5,\n 0x3C859F48A72A4C6D, 0x3FEEDEA64C123422,\n 0xBC9312607A28698A, 0x3FEEDA4504AC801C,\n 0xBC58A78F4817895B, 0x3FEED60A21F72E2A,\n 0xBC7C2C9B67499A1B, 0x3FEED1F5D950A897,\n 0x3C4363ED60C2AC11, 0x3FEECE086061892D,\n 0x3C9666093B0664EF, 0x3FEECA41ED1D0057,\n 0x3C6ECCE1DAA10379, 0x3FEEC6A2B5C13CD0,\n 0x3C93FF8E3F0F1230, 0x3FEEC32AF0D7D3DE,\n 0x3C7690CEBB7AAFB0, 0x3FEEBFDAD5362A27,\n 0x3C931DBDEB54E077, 0x3FEEBCB299FDDD0D,\n 0xBC8F94340071A38E, 0x3FEEB9B2769D2CA7,\n 0xBC87DECCDC93A349, 0x3FEEB6DAA2CF6642,\n 0xBC78DEC6BD0F385F, 0x3FEEB42B569D4F82,\n 0xBC861246EC7B5CF6, 0x3FEEB1A4CA5D920F,\n 0x3C93350518FDD78E, 0x3FEEAF4736B527DA,\n 0x3C7B98B72F8A9B05, 0x3FEEAD12D497C7FD,\n 0x3C9063E1E21C5409, 0x3FEEAB07DD485429,\n 0x3C34C7855019C6EA, 0x3FEEA9268A5946B7,\n 0x3C9432E62B64C035, 0x3FEEA76F15AD2148,\n 0xBC8CE44A6199769F, 0x3FEEA5E1B976DC09,\n 0xBC8C33C53BEF4DA8, 0x3FEEA47EB03A5585,\n 0xBC845378892BE9AE, 0x3FEEA34634CCC320,\n 0xBC93CEDD78565858, 0x3FEEA23882552225,\n 0x3C5710AA807E1964, 0x3FEEA155D44CA973,\n 0xBC93B3EFBF5E2228, 0x3FEEA09E667F3BCD,\n 0xBC6A12AD8734B982, 0x3FEEA012750BDABF,\n 0xBC6367EFB86DA9EE, 0x3FEE9FB23C651A2F,\n 0xBC80DC3D54E08851, 0x3FEE9F7DF9519484,\n 0xBC781F647E5A3ECF, 0x3FEE9F75E8EC5F74,\n 0xBC86EE4AC08B7DB0, 0x3FEE9F9A48A58174,\n 0xBC8619321E55E68A, 0x3FEE9FEB564267C9,\n 0x3C909CCB5E09D4D3, 0x3FEEA0694FDE5D3F,\n 0xBC7B32DCB94DA51D, 0x3FEEA11473EB0187,\n 0x3C94ECFD5467C06B, 0x3FEEA1ED0130C132,\n 0x3C65EBE1ABD66C55, 0x3FEEA2F336CF4E62,\n 0xBC88A1C52FB3CF42, 0x3FEEA427543E1A12,\n 0xBC9369B6F13B3734, 0x3FEEA589994CCE13,\n 0xBC805E843A19FF1E, 0x3FEEA71A4623C7AD,\n 0xBC94D450D872576E, 0x3FEEA8D99B4492ED,\n 0x3C90AD675B0E8A00, 0x3FEEAAC7D98A6699,\n 0x3C8DB72FC1F0EAB4, 0x3FEEACE5422AA0DB,\n 0xBC65B6609CC5E7FF, 0x3FEEAF3216B5448C,\n 0x3C7BF68359F35F44, 0x3FEEB1AE99157736,\n 0xBC93091FA71E3D83, 0x3FEEB45B0B91FFC6,\n 0xBC5DA9B88B6C1E29, 0x3FEEB737B0CDC5E5,\n 0xBC6C23F97C90B959, 0x3FEEBA44CBC8520F,\n 0xBC92434322F4F9AA, 0x3FEEBD829FDE4E50,\n 0xBC85CA6CD7668E4B, 0x3FEEC0F170CA07BA,\n 0x3C71AFFC2B91CE27, 0x3FEEC49182A3F090,\n 0x3C6DD235E10A73BB, 0x3FEEC86319E32323,\n 0xBC87C50422622263, 0x3FEECC667B5DE565,\n 0x3C8B1C86E3E231D5, 0x3FEED09BEC4A2D33,\n 0xBC91BBD1D3BCBB15, 0x3FEED503B23E255D,\n 0x3C90CC319CEE31D2, 0x3FEED99E1330B358,\n 0x3C8469846E735AB3, 0x3FEEDE6B5579FDBF,\n 0xBC82DFCD978E9DB4, 0x3FEEE36BBFD3F37A,\n 0x3C8C1A7792CB3387, 0x3FEEE89F995AD3AD,\n 0xBC907B8F4AD1D9FA, 0x3FEEEE07298DB666,\n 0xBC55C3D956DCAEBA, 0x3FEEF3A2B84F15FB,\n 0xBC90A40E3DA6F640, 0x3FEEF9728DE5593A,\n 0xBC68D6F438AD9334, 0x3FEEFF76F2FB5E47,\n 0xBC91EEE26B588A35, 0x3FEF05B030A1064A,\n 0x3C74FFD70A5FDDCD, 0x3FEF0C1E904BC1D2,\n 0xBC91BDFBFA9298AC, 0x3FEF12C25BD71E09,\n 0x3C736EAE30AF0CB3, 0x3FEF199BDD85529C,\n 0x3C8EE3325C9FFD94, 0x3FEF20AB5FFFD07A,\n 0x3C84E08FD10959AC, 0x3FEF27F12E57D14B,\n 0x3C63CDAF384E1A67, 0x3FEF2F6D9406E7B5,\n 0x3C676B2C6C921968, 0x3FEF3720DCEF9069,\n 0xBC808A1883CCB5D2, 0x3FEF3F0B555DC3FA,\n 0xBC8FAD5D3FFFFA6F, 0x3FEF472D4A07897C,\n 0xBC900DAE3875A949, 0x3FEF4F87080D89F2,\n 0x3C74A385A63D07A7, 0x3FEF5818DCFBA487,\n 0xBC82919E2040220F, 0x3FEF60E316C98398,\n 0x3C8E5A50D5C192AC, 0x3FEF69E603DB3285,\n 0x3C843A59AC016B4B, 0x3FEF7321F301B460,\n 0xBC82D52107B43E1F, 0x3FEF7C97337B9B5F,\n 0xBC892AB93B470DC9, 0x3FEF864614F5A129,\n 0x3C74B604603A88D3, 0x3FEF902EE78B3FF6,\n 0x3C83C5EC519D7271, 0x3FEF9A51FBC74C83,\n 0xBC8FF7128FD391F0, 0x3FEFA4AFA2A490DA,\n 0xBC8DAE98E223747D, 0x3FEFAF482D8E67F1,\n 0x3C8EC3BC41AA2008, 0x3FEFBA1BEE615A27,\n 0x3C842B94C3A9EB32, 0x3FEFC52B376BBA97,\n 0x3C8A64A931D185EE, 0x3FEFD0765B6E4540,\n 0xBC8E37BAE43BE3ED, 0x3FEFDBFDAD9CBE14,\n 0x3C77893B4D91CD9D, 0x3FEFE7C1819E90D8,\n 0x3C5305C14160CC89, 0x3FEFF3C22B8F71F1\n]);\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase(tmp: f64, sbits: u64, ki: u64): f64 {\n const\n Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022\n Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009\n\n var scale: f64;\n if (!(ki & 0x80000000)) {\n // k > 0, the exponent of scale might have overflowed by <= 460.\n sbits -= u64(1009) << 52;\n scale = reinterpret(sbits);\n return Ox1p1009 * (scale + scale * tmp); // 0x1p1009\n }\n // k < 0, need special care in the subnormal range.\n sbits += u64(1022) << 52;\n // Note: sbits is signed scale.\n scale = reinterpret(sbits);\n var y = scale + scale * tmp;\n if (abs(y) < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let one = copysign(1.0, y);\n let lo = scale - y + scale * tmp;\n let hi = one + y;\n lo = one - hi + y + lo;\n y = (hi + lo) - one;\n // Fix the sign of 0.\n if (y == 0.0) y = reinterpret(sbits & 0x8000000000000000);\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52;\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7FF);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n return select(0, Infinity, ux >> 63);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)]\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N]\n var z = InvLn2N * x;\n // #if TOINT_INTRINSICS\n // \tkd = roundtoint(z);\n // \tki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // \t// z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // var kd = z + shift;\n // var ki = reinterpret(kd) >> 16;\n // var kd = ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes.\n var kd = z + shift;\n var ki = reinterpret(kd);\n kd -= shift;\n // #endif\n var r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // 2^(k/N) ~= scale * (1 + tail).\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()))); // T[idx]\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n var r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n//\n// Lookup data for exp2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/exp2.c\n//\n\n// Handle cases that may overflow or underflow when computing the result that\n// is scale*(1+TMP) without intermediate rounding. The bit representation of\n// scale is in SBITS, however it has a computed exponent that may have\n// overflown into the sign bit so that needs to be adjusted before using it as\n// a double. (int32_t)KI is the k used in the argument reduction and exponent\n// adjustment of scale, positive k here means the result may overflow and\n// negative k means the result may underflow.\n// @ts-ignore: decorator\n@inline\nfunction specialcase2(tmp: f64, sbits: u64, ki: u64): f64 {\n const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022\n var scale: f64;\n if ((ki & 0x80000000) == 0) {\n // k > 0, the exponent of scale might have overflowed by 1\n sbits -= u64(1) << 52;\n scale = reinterpret(sbits);\n return 2 * (scale * tmp + scale);\n }\n // k < 0, need special care in the subnormal range\n sbits += u64(1022) << 52;\n scale = reinterpret(sbits);\n var y = scale * tmp + scale;\n if (y < 1.0) {\n // Round y to the right precision before scaling it into the subnormal\n // range to avoid double rounding that can cause 0.5+E/2 ulp error where\n // E is the worst-case ulp error outside the subnormal range. So this\n // is only useful if the goal is better than 1 ulp worst-case error.\n let hi: f64, lo: f64;\n lo = scale - y + scale * tmp;\n hi = 1.0 + y;\n lo = 1.0 - hi + y + lo;\n y = (hi + lo) - 1.0;\n }\n return y * Ox1p_1022;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function exp2_lut(x: f64): f64 {\n const\n N = 1 << EXP_TABLE_BITS,\n N_MASK = N - 1,\n shift = reinterpret(0x4338000000000000) / N; // 0x1.8p52\n\n const\n C1 = reinterpret(0x3FE62E42FEFA39EF), // 0x1.62e42fefa39efp-1\n C2 = reinterpret(0x3FCEBFBDFF82C424), // 0x1.ebfbdff82c424p-3\n C3 = reinterpret(0x3FAC6B08D70CF4B5), // 0x1.c6b08d70cf4b5p-5\n C4 = reinterpret(0x3F83B2ABD24650CC), // 0x1.3b2abd24650ccp-7\n C5 = reinterpret(0x3F55D7E09B4E3A84); // 0x1.5d7e09b4e3a84p-10\n\n var ux = reinterpret(x);\n var abstop = (ux >> 52 & 0x7ff);\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) return 1.0;\n if (abstop >= 0x409) {\n if (ux == 0xFFF0000000000000) return 0;\n if (abstop >= 0x7FF) return 1.0 + x;\n if (!(ux >> 63)) return Infinity;\n else if (ux >= 0xC090CC0000000000) return 0;\n }\n if ((ux << 1) > 0x811A000000000000) abstop = 0; // Large x is special cased below.\n }\n\n // exp2(x) = 2^(k/N) * 2^r, with 2^r in [2^(-1/2N),2^(1/2N)].\n // x = k/N + r, with int k and r in [-1/2N, 1/2N]\n var kd = x + shift;\n var ki = reinterpret(kd);\n kd -= shift; // k/N for int k\n var r = x - kd;\n // 2^(k/N) ~= scale * (1 + tail)\n var idx = ((ki & N_MASK) << 1);\n var top = ki << (52 - EXP_TABLE_BITS);\n\n var tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof()), 0 << alignof())); // T[idx])\n // This is only a valid scale when -1023*N < k < 1024*N\n var sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1]\n // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1).\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r;\n // Without fma the worst case error is 0.5/N ulp larger.\n // Worst case error is less than 0.5+0.86/N+(abs poly error * 2^53) ulp.\n var tmp = tail + r * C1 + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase2(tmp, sbits, ki);\n var scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-65 and scale > 2^-928, so there\n // is no spurious underflow here even without fma.\n return scale * tmp + scale;\n}\n\n//\n// Lookup data for log2. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log2.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG2_TABLE_BITS = 6;\n\n/* Algorithm:\n\n x = 2^k z\n log2(x) = k + log2(c) + log2(z/c)\n log2(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log2(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p10 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-64 and\n 3) the rounding error in (double)log2(c) is minimized (< 0x1p-68).\n\nNote: 1) ensures that k + logc can be computed without rounding error, 2)\nensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to a\nsingle rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log2(x)| < 0x1p-4, this is not enough so that is special cased. */\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF724286BB1ACF8), reinterpret(0xBFE1095FEECDB000),\n reinterpret(0x3FF6E1F766D2CCA1), reinterpret(0xBFE08494BD76D000),\n reinterpret(0x3FF6A13D0E30D48A), reinterpret(0xBFE00143AEE8F800),\n reinterpret(0x3FF661EC32D06C85), reinterpret(0xBFDEFEC5360B4000),\n reinterpret(0x3FF623FA951198F8), reinterpret(0xBFDDFDD91AB7E000),\n reinterpret(0x3FF5E75BA4CF026C), reinterpret(0xBFDCFFAE0CC79000),\n reinterpret(0x3FF5AC055A214FB8), reinterpret(0xBFDC043811FDA000),\n reinterpret(0x3FF571ED0F166E1E), reinterpret(0xBFDB0B67323AE000),\n reinterpret(0x3FF53909590BF835), reinterpret(0xBFDA152F5A2DB000),\n reinterpret(0x3FF5014FED61ADDD), reinterpret(0xBFD9217F5AF86000),\n reinterpret(0x3FF4CAB88E487BD0), reinterpret(0xBFD8304DB0719000),\n reinterpret(0x3FF49539B4334FEE), reinterpret(0xBFD74189F9A9E000),\n reinterpret(0x3FF460CBDFAFD569), reinterpret(0xBFD6552BB5199000),\n reinterpret(0x3FF42D664EE4B953), reinterpret(0xBFD56B23A29B1000),\n reinterpret(0x3FF3FB01111DD8A6), reinterpret(0xBFD483650F5FA000),\n reinterpret(0x3FF3C995B70C5836), reinterpret(0xBFD39DE937F6A000),\n reinterpret(0x3FF3991C4AB6FD4A), reinterpret(0xBFD2BAA1538D6000),\n reinterpret(0x3FF3698E0CE099B5), reinterpret(0xBFD1D98340CA4000),\n reinterpret(0x3FF33AE48213E7B2), reinterpret(0xBFD0FA853A40E000),\n reinterpret(0x3FF30D191985BDB1), reinterpret(0xBFD01D9C32E73000),\n reinterpret(0x3FF2E025CAB271D7), reinterpret(0xBFCE857DA2FA6000),\n reinterpret(0x3FF2B404CF13CD82), reinterpret(0xBFCCD3C8633D8000),\n reinterpret(0x3FF288B02C7CCB50), reinterpret(0xBFCB26034C14A000),\n reinterpret(0x3FF25E2263944DE5), reinterpret(0xBFC97C1C2F4FE000),\n reinterpret(0x3FF234563D8615B1), reinterpret(0xBFC7D6023F800000),\n reinterpret(0x3FF20B46E33EAF38), reinterpret(0xBFC633A71A05E000),\n reinterpret(0x3FF1E2EEFDCDA3DD), reinterpret(0xBFC494F5E9570000),\n reinterpret(0x3FF1BB4A580B3930), reinterpret(0xBFC2F9E424E0A000),\n reinterpret(0x3FF19453847F2200), reinterpret(0xBFC162595AFDC000),\n reinterpret(0x3FF16E06C0D5D73C), reinterpret(0xBFBF9C9A75BD8000),\n reinterpret(0x3FF1485F47B7E4C2), reinterpret(0xBFBC7B575BF9C000),\n reinterpret(0x3FF12358AD0085D1), reinterpret(0xBFB960C60FF48000),\n reinterpret(0x3FF0FEF00F532227), reinterpret(0xBFB64CE247B60000),\n reinterpret(0x3FF0DB2077D03A8F), reinterpret(0xBFB33F78B2014000),\n reinterpret(0x3FF0B7E6D65980D9), reinterpret(0xBFB0387D1A42C000),\n reinterpret(0x3FF0953EFE7B408D), reinterpret(0xBFAA6F9208B50000),\n reinterpret(0x3FF07325CAC53B83), reinterpret(0xBFA47A954F770000),\n reinterpret(0x3FF05197E40D1B5C), reinterpret(0xBF9D23A8C50C0000),\n reinterpret(0x3FF03091C1208EA2), reinterpret(0xBF916A2629780000),\n reinterpret(0x3FF0101025B37E21), reinterpret(0xBF7720F8D8E80000),\n reinterpret(0x3FEFC07EF9CAA76B), reinterpret(0x3F86FE53B1500000),\n reinterpret(0x3FEF4465D3F6F184), reinterpret(0x3FA11CCCE10F8000),\n reinterpret(0x3FEECC079F84107F), reinterpret(0x3FAC4DFC8C8B8000),\n reinterpret(0x3FEE573A99975AE8), reinterpret(0x3FB3AA321E574000),\n reinterpret(0x3FEDE5D6F0BD3DE6), reinterpret(0x3FB918A0D08B8000),\n reinterpret(0x3FED77B681FF38B3), reinterpret(0x3FBE72E9DA044000),\n reinterpret(0x3FED0CB5724DE943), reinterpret(0x3FC1DCD2507F6000),\n reinterpret(0x3FECA4B2DC0E7563), reinterpret(0x3FC476AB03DEA000),\n reinterpret(0x3FEC3F8EE8D6CB51), reinterpret(0x3FC7074377E22000),\n reinterpret(0x3FEBDD2B4F020C4C), reinterpret(0x3FC98EDE8BA94000),\n reinterpret(0x3FEB7D6C006015CA), reinterpret(0x3FCC0DB86AD2E000),\n reinterpret(0x3FEB20366E2E338F), reinterpret(0x3FCE840AAFCEE000),\n reinterpret(0x3FEAC57026295039), reinterpret(0x3FD0790AB4678000),\n reinterpret(0x3FEA6D01BC2731DD), reinterpret(0x3FD1AC056801C000),\n reinterpret(0x3FEA16D3BC3FF18B), reinterpret(0x3FD2DB11D4FEE000),\n reinterpret(0x3FE9C2D14967FEAD), reinterpret(0x3FD406464EC58000),\n reinterpret(0x3FE970E4F47C9902), reinterpret(0x3FD52DBE093AF000),\n reinterpret(0x3FE920FB3982BCF2), reinterpret(0x3FD651902050D000),\n reinterpret(0x3FE8D30187F759F1), reinterpret(0x3FD771D2CDEAF000),\n reinterpret(0x3FE886E5EBB9F66D), reinterpret(0x3FD88E9C857D9000),\n reinterpret(0x3FE83C97B658B994), reinterpret(0x3FD9A80155E16000),\n reinterpret(0x3FE7F405FFC61022), reinterpret(0x3FDABE186ED3D000),\n reinterpret(0x3FE7AD22181415CA), reinterpret(0x3FDBD0F2AEA0E000),\n reinterpret(0x3FE767DCF99EFF8C), reinterpret(0x3FDCE0A43DBF4000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG2_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE6200012B90A8E), reinterpret(0x3C8904AB0644B605),\n reinterpret(0x3FE66000045734A6), reinterpret(0x3C61FF9BEA62F7A9),\n reinterpret(0x3FE69FFFC325F2C5), reinterpret(0x3C827ECFCB3C90BA),\n reinterpret(0x3FE6E00038B95A04), reinterpret(0x3C88FF8856739326),\n reinterpret(0x3FE71FFFE09994E3), reinterpret(0x3C8AFD40275F82B1),\n reinterpret(0x3FE7600015590E10), reinterpret(0xBC72FD75B4238341),\n reinterpret(0x3FE7A00012655BD5), reinterpret(0x3C7808E67C242B76),\n reinterpret(0x3FE7E0003259E9A6), reinterpret(0xBC6208E426F622B7),\n reinterpret(0x3FE81FFFEDB4B2D2), reinterpret(0xBC8402461EA5C92F),\n reinterpret(0x3FE860002DFAFCC3), reinterpret(0x3C6DF7F4A2F29A1F),\n reinterpret(0x3FE89FFFF78C6B50), reinterpret(0xBC8E0453094995FD),\n reinterpret(0x3FE8E00039671566), reinterpret(0xBC8A04F3BEC77B45),\n reinterpret(0x3FE91FFFE2BF1745), reinterpret(0xBC77FA34400E203C),\n reinterpret(0x3FE95FFFCC5C9FD1), reinterpret(0xBC76FF8005A0695D),\n reinterpret(0x3FE9A0003BBA4767), reinterpret(0x3C70F8C4C4EC7E03),\n reinterpret(0x3FE9DFFFE7B92DA5), reinterpret(0x3C8E7FD9478C4602),\n reinterpret(0x3FEA1FFFD72EFDAF), reinterpret(0xBC6A0C554DCDAE7E),\n reinterpret(0x3FEA5FFFDE04FF95), reinterpret(0x3C867DA98CE9B26B),\n reinterpret(0x3FEA9FFFCA5E8D2B), reinterpret(0xBC8284C9B54C13DE),\n reinterpret(0x3FEADFFFDDAD03EA), reinterpret(0x3C5812C8EA602E3C),\n reinterpret(0x3FEB1FFFF10D3D4D), reinterpret(0xBC8EFADDAD27789C),\n reinterpret(0x3FEB5FFFCE21165A), reinterpret(0x3C53CB1719C61237),\n reinterpret(0x3FEB9FFFD950E674), reinterpret(0x3C73F7D94194CE00),\n reinterpret(0x3FEBE000139CA8AF), reinterpret(0x3C750AC4215D9BC0),\n reinterpret(0x3FEC20005B46DF99), reinterpret(0x3C6BEEA653E9C1C9),\n reinterpret(0x3FEC600040B9F7AE), reinterpret(0xBC7C079F274A70D6),\n reinterpret(0x3FECA0006255FD8A), reinterpret(0xBC7A0B4076E84C1F),\n reinterpret(0x3FECDFFFD94C095D), reinterpret(0x3C88F933F99AB5D7),\n reinterpret(0x3FED1FFFF975D6CF), reinterpret(0xBC582C08665FE1BE),\n reinterpret(0x3FED5FFFA2561C93), reinterpret(0xBC7B04289BD295F3),\n reinterpret(0x3FED9FFF9D228B0C), reinterpret(0x3C870251340FA236),\n reinterpret(0x3FEDE00065BC7E16), reinterpret(0xBC75011E16A4D80C),\n reinterpret(0x3FEE200002F64791), reinterpret(0x3C89802F09EF62E0),\n reinterpret(0x3FEE600057D7A6D8), reinterpret(0xBC7E0B75580CF7FA),\n reinterpret(0x3FEEA00027EDC00C), reinterpret(0xBC8C848309459811),\n reinterpret(0x3FEEE0006CF5CB7C), reinterpret(0xBC8F8027951576F4),\n reinterpret(0x3FEF2000782B7DCC), reinterpret(0xBC8F81D97274538F),\n reinterpret(0x3FEF6000260C450A), reinterpret(0xBC4071002727FFDC),\n reinterpret(0x3FEF9FFFE88CD533), reinterpret(0xBC581BDCE1FDA8B0),\n reinterpret(0x3FEFDFFFD50F8689), reinterpret(0x3C87F91ACB918E6E),\n reinterpret(0x3FF0200004292367), reinterpret(0x3C9B7FF365324681),\n reinterpret(0x3FF05FFFE3E3D668), reinterpret(0x3C86FA08DDAE957B),\n reinterpret(0x3FF0A0000A85A757), reinterpret(0xBC57E2DE80D3FB91),\n reinterpret(0x3FF0E0001A5F3FCC), reinterpret(0xBC91823305C5F014),\n reinterpret(0x3FF11FFFF8AFBAF5), reinterpret(0xBC8BFABB6680BAC2),\n reinterpret(0x3FF15FFFE54D91AD), reinterpret(0xBC9D7F121737E7EF),\n reinterpret(0x3FF1A00011AC36E1), reinterpret(0x3C9C000A0516F5FF),\n reinterpret(0x3FF1E00019C84248), reinterpret(0xBC9082FBE4DA5DA0),\n reinterpret(0x3FF220000FFE5E6E), reinterpret(0xBC88FDD04C9CFB43),\n reinterpret(0x3FF26000269FD891), reinterpret(0x3C8CFE2A7994D182),\n reinterpret(0x3FF2A00029A6E6DA), reinterpret(0xBC700273715E8BC5),\n reinterpret(0x3FF2DFFFE0293E39), reinterpret(0x3C9B7C39DAB2A6F9),\n reinterpret(0x3FF31FFFF7DCF082), reinterpret(0x3C7DF1336EDC5254),\n reinterpret(0x3FF35FFFF05A8B60), reinterpret(0xBC9E03564CCD31EB),\n reinterpret(0x3FF3A0002E0EAECC), reinterpret(0x3C75F0E74BD3A477),\n reinterpret(0x3FF3E000043BB236), reinterpret(0x3C9C7DCB149D8833),\n reinterpret(0x3FF4200002D187FF), reinterpret(0x3C7E08AFCF2D3D28),\n reinterpret(0x3FF460000D387CB1), reinterpret(0x3C820837856599A6),\n reinterpret(0x3FF4A00004569F89), reinterpret(0xBC89FA5C904FBCD2),\n reinterpret(0x3FF4E000043543F3), reinterpret(0xBC781125ED175329),\n reinterpret(0x3FF51FFFCC027F0F), reinterpret(0x3C9883D8847754DC),\n reinterpret(0x3FF55FFFFD87B36F), reinterpret(0xBC8709E731D02807),\n reinterpret(0x3FF59FFFF21DF7BA), reinterpret(0x3C87F79F68727B02),\n reinterpret(0x3FF5DFFFEBFC3481), reinterpret(0xBC9180902E30E93E)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log2_lut(x: f64): f64 {\n const N_MASK = (1 << LOG2_TABLE_BITS) - 1;\n\n const\n LO: u64 = 0x3FEEA4AF00000000, // reinterpret(1.0 - 0x1.5b51p-5)\n HI: u64 = 0x3FF0B55900000000; // reinterpret(1.0 + 0x1.6ab2p-5)\n\n const\n InvLn2hi = reinterpret(0x3FF7154765200000), // 0x1.7154765200000p+0\n InvLn2lo = reinterpret(0x3DE705FC2EEFA200), // 0x1.705fc2eefa200p-33\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n const\n B0 = reinterpret(0xBFE71547652B82FE), // -0x1.71547652b82fep-1\n B1 = reinterpret(0x3FDEC709DC3A03F7), // 0x1.ec709dc3a03f7p-2\n B2 = reinterpret(0xBFD71547652B7C3F), // -0x1.71547652b7c3fp-2\n B3 = reinterpret(0x3FD2776C50F05BE4), // 0x1.2776c50f05be4p-2\n B4 = reinterpret(0xBFCEC709DD768FE5), // -0x1.ec709dd768fe5p-3\n B5 = reinterpret(0x3FCA61761EC4E736), // 0x1.a61761ec4e736p-3\n B6 = reinterpret(0xBFC7153FBC64A79B), // -0x1.7153fbc64a79bp-3\n B7 = reinterpret(0x3FC484D154F01B4A), // 0x1.484d154f01b4ap-3\n B8 = reinterpret(0xBFC289E4A72C383C), // -0x1.289e4a72c383cp-3\n B9 = reinterpret(0x3FC0B32F285AEE66); // 0x1.0b32f285aee66p-3\n\n const\n A0 = reinterpret(0xBFE71547652B8339), // -0x1.71547652b8339p-1\n A1 = reinterpret(0x3FDEC709DC3A04BE), // 0x1.ec709dc3a04bep-2\n A2 = reinterpret(0xBFD7154764702FFB), // -0x1.7154764702ffbp-2\n A3 = reinterpret(0x3FD2776C50034C48), // 0x1.2776c50034c48p-2\n A4 = reinterpret(0xBFCEC7B328EA92BC), // -0x1.ec7b328ea92bcp-3\n A5 = reinterpret(0x3FCA6225E117F92E); // 0x1.a6225e117f92ep-3\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n // #if __FP_FAST_FMA\n // hi = r * InvLn2hi;\n // lo = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -hi);\n // #else\n let rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n let rlo = r - rhi;\n let hi = rhi * InvLn2hi;\n let lo = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n let r2 = r * r; // rounding error: 0x1p-62\n let r4 = r2 * r2;\n // Worst-case error is less than 0.54 ULP (0.55 ULP without fma)\n let p = r2 * (B0 + r * B1);\n let y = hi + p;\n lo += hi - y + p;\n lo += r4 * (B2 + r * B3 + r2 * (B4 + r * B5) +\n r4 * (B6 + r * B7 + r2 * (B8 + r * B9)));\n return y + lo;\n }\n var top = (ix >> 48);\n if (top - 0x0010 >= 0x7ff0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan.\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == 0x7FF0000000000000) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it.\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG2_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & 0xFFF0000000000000);\n\n var invc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG2_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n var kd = k;\n\n // log2(x) = log2(z/c) + log2(c) + k.\n // r ~= z/c - 1, |r| < 1/(2*N).\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N.\n // \tr = __builtin_fma(z, invc, -1.0);\n // \tt1 = r * InvLn2hi;\n // \tt2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-65.\n var chi = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi;\n var clo = load(LOG2_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo;\n\n var r = (z - chi - clo) * invc;\n var rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000);\n var rlo = r - rhi;\n var t1 = rhi * InvLn2hi;\n var t2 = rlo * InvLn2hi + r * InvLn2lo;\n // #endif\n\n // hi + lo = r/ln2 + log2(c) + k\n var t3 = kd + logc;\n var hi = t3 + t1;\n var lo = t3 - hi + t1 + t2;\n\n // log2(r+1) = r/ln2 + r^2*poly(r)\n // Evaluation is optimized assuming superscalar pipelined execution\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst-case error if |y| > 0x1p-4: 0.547 ULP (0.550 ULP without fma).\n // ~ 0.5 + 2/N/ln2 + abs-poly-error*0x1p56 ULP (+ 0.003 ULP without fma).\n var p = A0 + r * A1 + r2 * (A2 + r * A3) + (r2 * r2) * (A4 + r * A5);\n return lo + r2 * p + hi;\n}\n\n//\n// Lookup data for log. See: https://git.musl-libc.org/cgit/musl/tree/src/math/log.c\n//\n\n// @ts-ignore: decorator\n@inline const LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [1.6p-1; 1.6p0] which is split into N subintervals and z falls\ninto the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = (double)log(c)\n tab2[i].chi = (double)c\n tab2[i].clo = (double)(c - (double)c)\n\nwhere c is near the center of the subinterval and is chosen by trying +-2^29\nfloating point invc candidates around 1/center and selecting one for which\n\n 1) the rounding error in 0x1.8p9 + logc is 0,\n 2) the rounding error in z - chi - clo is < 0x1p-66 and\n 3) the rounding error in (double)log(c) is minimized (< 0x1p-66).\n\nNote: 1) ensures that k*ln2hi + logc can be computed without rounding error,\n2) ensures that z/c - 1 can be computed as (z - chi - clo)*invc with close to\na single rounding error when there is no fast fma for z*invc - 1, 3) ensures\nthat logc + poly(z/c - 1) has small error, however near x == 1 when\n|log(x)| < 0x1p-4, this is not enough so that is special cased.*/\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB1 = memory.data([\n // invc , logc\n reinterpret(0x3FF734F0C3E0DE9F), reinterpret(0xBFD7CC7F79E69000),\n reinterpret(0x3FF713786A2CE91F), reinterpret(0xBFD76FEEC20D0000),\n reinterpret(0x3FF6F26008FAB5A0), reinterpret(0xBFD713E31351E000),\n reinterpret(0x3FF6D1A61F138C7D), reinterpret(0xBFD6B85B38287800),\n reinterpret(0x3FF6B1490BC5B4D1), reinterpret(0xBFD65D5590807800),\n reinterpret(0x3FF69147332F0CBA), reinterpret(0xBFD602D076180000),\n reinterpret(0x3FF6719F18224223), reinterpret(0xBFD5A8CA86909000),\n reinterpret(0x3FF6524F99A51ED9), reinterpret(0xBFD54F4356035000),\n reinterpret(0x3FF63356AA8F24C4), reinterpret(0xBFD4F637C36B4000),\n reinterpret(0x3FF614B36B9DDC14), reinterpret(0xBFD49DA7FDA85000),\n reinterpret(0x3FF5F66452C65C4C), reinterpret(0xBFD445923989A800),\n reinterpret(0x3FF5D867B5912C4F), reinterpret(0xBFD3EDF439B0B800),\n reinterpret(0x3FF5BABCCB5B90DE), reinterpret(0xBFD396CE448F7000),\n reinterpret(0x3FF59D61F2D91A78), reinterpret(0xBFD3401E17BDA000),\n reinterpret(0x3FF5805612465687), reinterpret(0xBFD2E9E2EF468000),\n reinterpret(0x3FF56397CEE76BD3), reinterpret(0xBFD2941B3830E000),\n reinterpret(0x3FF54725E2A77F93), reinterpret(0xBFD23EC58CDA8800),\n reinterpret(0x3FF52AFF42064583), reinterpret(0xBFD1E9E129279000),\n reinterpret(0x3FF50F22DBB2BDDF), reinterpret(0xBFD1956D2B48F800),\n reinterpret(0x3FF4F38F4734DED7), reinterpret(0xBFD141679AB9F800),\n reinterpret(0x3FF4D843CFDE2840), reinterpret(0xBFD0EDD094EF9800),\n reinterpret(0x3FF4BD3EC078A3C8), reinterpret(0xBFD09AA518DB1000),\n reinterpret(0x3FF4A27FC3E0258A), reinterpret(0xBFD047E65263B800),\n reinterpret(0x3FF4880524D48434), reinterpret(0xBFCFEB224586F000),\n reinterpret(0x3FF46DCE1B192D0B), reinterpret(0xBFCF474A7517B000),\n reinterpret(0x3FF453D9D3391854), reinterpret(0xBFCEA4443D103000),\n reinterpret(0x3FF43A2744B4845A), reinterpret(0xBFCE020D44E9B000),\n reinterpret(0x3FF420B54115F8FB), reinterpret(0xBFCD60A22977F000),\n reinterpret(0x3FF40782DA3EF4B1), reinterpret(0xBFCCC00104959000),\n reinterpret(0x3FF3EE8F5D57FE8F), reinterpret(0xBFCC202956891000),\n reinterpret(0x3FF3D5D9A00B4CE9), reinterpret(0xBFCB81178D811000),\n reinterpret(0x3FF3BD60C010C12B), reinterpret(0xBFCAE2C9CCD3D000),\n reinterpret(0x3FF3A5242B75DAB8), reinterpret(0xBFCA45402E129000),\n reinterpret(0x3FF38D22CD9FD002), reinterpret(0xBFC9A877681DF000),\n reinterpret(0x3FF3755BC5847A1C), reinterpret(0xBFC90C6D69483000),\n reinterpret(0x3FF35DCE49AD36E2), reinterpret(0xBFC87120A645C000),\n reinterpret(0x3FF34679984DD440), reinterpret(0xBFC7D68FB4143000),\n reinterpret(0x3FF32F5CCEFFCB24), reinterpret(0xBFC73CB83C627000),\n reinterpret(0x3FF3187775A10D49), reinterpret(0xBFC6A39A9B376000),\n reinterpret(0x3FF301C8373E3990), reinterpret(0xBFC60B3154B7A000),\n reinterpret(0x3FF2EB4EBB95F841), reinterpret(0xBFC5737D76243000),\n reinterpret(0x3FF2D50A0219A9D1), reinterpret(0xBFC4DC7B8FC23000),\n reinterpret(0x3FF2BEF9A8B7FD2A), reinterpret(0xBFC4462C51D20000),\n reinterpret(0x3FF2A91C7A0C1BAB), reinterpret(0xBFC3B08ABC830000),\n reinterpret(0x3FF293726014B530), reinterpret(0xBFC31B996B490000),\n reinterpret(0x3FF27DFA5757A1F5), reinterpret(0xBFC2875490A44000),\n reinterpret(0x3FF268B39B1D3BBF), reinterpret(0xBFC1F3B9F879A000),\n reinterpret(0x3FF2539D838FF5BD), reinterpret(0xBFC160C8252CA000),\n reinterpret(0x3FF23EB7AAC9083B), reinterpret(0xBFC0CE7F57F72000),\n reinterpret(0x3FF22A012BA940B6), reinterpret(0xBFC03CDC49FEA000),\n reinterpret(0x3FF2157996CC4132), reinterpret(0xBFBF57BDBC4B8000),\n reinterpret(0x3FF201201DD2FC9B), reinterpret(0xBFBE370896404000),\n reinterpret(0x3FF1ECF4494D480B), reinterpret(0xBFBD17983EF94000),\n reinterpret(0x3FF1D8F5528F6569), reinterpret(0xBFBBF9674ED8A000),\n reinterpret(0x3FF1C52311577E7C), reinterpret(0xBFBADC79202F6000),\n reinterpret(0x3FF1B17C74CB26E9), reinterpret(0xBFB9C0C3E7288000),\n reinterpret(0x3FF19E010C2C1AB6), reinterpret(0xBFB8A646B372C000),\n reinterpret(0x3FF18AB07BB670BD), reinterpret(0xBFB78D01B3AC0000),\n reinterpret(0x3FF1778A25EFBCB6), reinterpret(0xBFB674F145380000),\n reinterpret(0x3FF1648D354C31DA), reinterpret(0xBFB55E0E6D878000),\n reinterpret(0x3FF151B990275FDD), reinterpret(0xBFB4485CDEA1E000),\n reinterpret(0x3FF13F0EA432D24C), reinterpret(0xBFB333D94D6AA000),\n reinterpret(0x3FF12C8B7210F9DA), reinterpret(0xBFB22079F8C56000),\n reinterpret(0x3FF11A3028ECB531), reinterpret(0xBFB10E4698622000),\n reinterpret(0x3FF107FBDA8434AF), reinterpret(0xBFAFFA6C6AD20000),\n reinterpret(0x3FF0F5EE0F4E6BB3), reinterpret(0xBFADDA8D4A774000),\n reinterpret(0x3FF0E4065D2A9FCE), reinterpret(0xBFABBCECE4850000),\n reinterpret(0x3FF0D244632CA521), reinterpret(0xBFA9A1894012C000),\n reinterpret(0x3FF0C0A77CE2981A), reinterpret(0xBFA788583302C000),\n reinterpret(0x3FF0AF2F83C636D1), reinterpret(0xBFA5715E67D68000),\n reinterpret(0x3FF09DDB98A01339), reinterpret(0xBFA35C8A49658000),\n reinterpret(0x3FF08CABAF52E7DF), reinterpret(0xBFA149E364154000),\n reinterpret(0x3FF07B9F2F4E28FB), reinterpret(0xBF9E72C082EB8000),\n reinterpret(0x3FF06AB58C358F19), reinterpret(0xBF9A55F152528000),\n reinterpret(0x3FF059EEA5ECF92C), reinterpret(0xBF963D62CF818000),\n reinterpret(0x3FF04949CDD12C90), reinterpret(0xBF9228FB8CAA0000),\n reinterpret(0x3FF038C6C6F0ADA9), reinterpret(0xBF8C317B20F90000),\n reinterpret(0x3FF02865137932A9), reinterpret(0xBF8419355DAA0000),\n reinterpret(0x3FF0182427EA7348), reinterpret(0xBF781203C2EC0000),\n reinterpret(0x3FF008040614B195), reinterpret(0xBF60040979240000),\n reinterpret(0x3FEFE01FF726FA1A), reinterpret(0x3F6FEFF384900000),\n reinterpret(0x3FEFA11CC261EA74), reinterpret(0x3F87DC41353D0000),\n reinterpret(0x3FEF6310B081992E), reinterpret(0x3F93CEA3C4C28000),\n reinterpret(0x3FEF25F63CEEADCD), reinterpret(0x3F9B9FC114890000),\n reinterpret(0x3FEEE9C8039113E7), reinterpret(0x3FA1B0D8CE110000),\n reinterpret(0x3FEEAE8078CBB1AB), reinterpret(0x3FA58A5BD001C000),\n reinterpret(0x3FEE741AA29D0C9B), reinterpret(0x3FA95C8340D88000),\n reinterpret(0x3FEE3A91830A99B5), reinterpret(0x3FAD276AEF578000),\n reinterpret(0x3FEE01E009609A56), reinterpret(0x3FB07598E598C000),\n reinterpret(0x3FEDCA01E577BB98), reinterpret(0x3FB253F5E30D2000),\n reinterpret(0x3FED92F20B7C9103), reinterpret(0x3FB42EDD8B380000),\n reinterpret(0x3FED5CAC66FB5CCE), reinterpret(0x3FB606598757C000),\n reinterpret(0x3FED272CAA5EDE9D), reinterpret(0x3FB7DA76356A0000),\n reinterpret(0x3FECF26E3E6B2CCD), reinterpret(0x3FB9AB434E1C6000),\n reinterpret(0x3FECBE6DA2A77902), reinterpret(0x3FBB78C7BB0D6000),\n reinterpret(0x3FEC8B266D37086D), reinterpret(0x3FBD431332E72000),\n reinterpret(0x3FEC5894BD5D5804), reinterpret(0x3FBF0A3171DE6000),\n reinterpret(0x3FEC26B533BB9F8C), reinterpret(0x3FC067152B914000),\n reinterpret(0x3FEBF583EEECE73F), reinterpret(0x3FC147858292B000),\n reinterpret(0x3FEBC4FD75DB96C1), reinterpret(0x3FC2266ECDCA3000),\n reinterpret(0x3FEB951E0C864A28), reinterpret(0x3FC303D7A6C55000),\n reinterpret(0x3FEB65E2C5EF3E2C), reinterpret(0x3FC3DFC33C331000),\n reinterpret(0x3FEB374867C9888B), reinterpret(0x3FC4BA366B7A8000),\n reinterpret(0x3FEB094B211D304A), reinterpret(0x3FC5933928D1F000),\n reinterpret(0x3FEADBE885F2EF7E), reinterpret(0x3FC66ACD2418F000),\n reinterpret(0x3FEAAF1D31603DA2), reinterpret(0x3FC740F8EC669000),\n reinterpret(0x3FEA82E63FD358A7), reinterpret(0x3FC815C0F51AF000),\n reinterpret(0x3FEA5740EF09738B), reinterpret(0x3FC8E92954F68000),\n reinterpret(0x3FEA2C2A90AB4B27), reinterpret(0x3FC9BB3602F84000),\n reinterpret(0x3FEA01A01393F2D1), reinterpret(0x3FCA8BED1C2C0000),\n reinterpret(0x3FE9D79F24DB3C1B), reinterpret(0x3FCB5B515C01D000),\n reinterpret(0x3FE9AE2505C7B190), reinterpret(0x3FCC2967CCBCC000),\n reinterpret(0x3FE9852EF297CE2F), reinterpret(0x3FCCF635D5486000),\n reinterpret(0x3FE95CBAEEA44B75), reinterpret(0x3FCDC1BD3446C000),\n reinterpret(0x3FE934C69DE74838), reinterpret(0x3FCE8C01B8CFE000),\n reinterpret(0x3FE90D4F2F6752E6), reinterpret(0x3FCF5509C0179000),\n reinterpret(0x3FE8E6528EFFD79D), reinterpret(0x3FD00E6C121FB800),\n reinterpret(0x3FE8BFCE9FCC007C), reinterpret(0x3FD071B80E93D000),\n reinterpret(0x3FE899C0DABEC30E), reinterpret(0x3FD0D46B9E867000),\n reinterpret(0x3FE87427AA2317FB), reinterpret(0x3FD13687334BD000),\n reinterpret(0x3FE84F00ACB39A08), reinterpret(0x3FD1980D67234800),\n reinterpret(0x3FE82A49E8653E55), reinterpret(0x3FD1F8FFE0CC8000),\n reinterpret(0x3FE8060195F40260), reinterpret(0x3FD2595FD7636800),\n reinterpret(0x3FE7E22563E0A329), reinterpret(0x3FD2B9300914A800),\n reinterpret(0x3FE7BEB377DCB5AD), reinterpret(0x3FD3187210436000),\n reinterpret(0x3FE79BAA679725C2), reinterpret(0x3FD377266DEC1800),\n reinterpret(0x3FE77907F2170657), reinterpret(0x3FD3D54FFBAF3000),\n reinterpret(0x3FE756CADBD6130C), reinterpret(0x3FD432EEE32FE000)\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOG_DATA_TAB2 = memory.data([\n // chi , clo\n reinterpret(0x3FE61000014FB66B), reinterpret(0x3C7E026C91425B3C),\n reinterpret(0x3FE63000034DB495), reinterpret(0x3C8DBFEA48005D41),\n reinterpret(0x3FE650000D94D478), reinterpret(0x3C8E7FA786D6A5B7),\n reinterpret(0x3FE67000074E6FAD), reinterpret(0x3C61FCEA6B54254C),\n reinterpret(0x3FE68FFFFEDF0FAE), reinterpret(0xBC7C7E274C590EFD),\n reinterpret(0x3FE6B0000763C5BC), reinterpret(0xBC8AC16848DCDA01),\n reinterpret(0x3FE6D0001E5CC1F6), reinterpret(0x3C833F1C9D499311),\n reinterpret(0x3FE6EFFFEB05F63E), reinterpret(0xBC7E80041AE22D53),\n reinterpret(0x3FE710000E869780), reinterpret(0x3C7BFF6671097952),\n reinterpret(0x3FE72FFFFC67E912), reinterpret(0x3C8C00E226BD8724),\n reinterpret(0x3FE74FFFDF81116A), reinterpret(0xBC6E02916EF101D2),\n reinterpret(0x3FE770000F679C90), reinterpret(0xBC67FC71CD549C74),\n reinterpret(0x3FE78FFFFA7EC835), reinterpret(0x3C81BEC19EF50483),\n reinterpret(0x3FE7AFFFFE20C2E6), reinterpret(0xBC707E1729CC6465),\n reinterpret(0x3FE7CFFFED3FC900), reinterpret(0xBC808072087B8B1C),\n reinterpret(0x3FE7EFFFE9261A76), reinterpret(0x3C8DC0286D9DF9AE),\n reinterpret(0x3FE81000049CA3E8), reinterpret(0x3C897FD251E54C33),\n reinterpret(0x3FE8300017932C8F), reinterpret(0xBC8AFEE9B630F381),\n reinterpret(0x3FE850000633739C), reinterpret(0x3C89BFBF6B6535BC),\n reinterpret(0x3FE87000204289C6), reinterpret(0xBC8BBF65F3117B75),\n reinterpret(0x3FE88FFFEBF57904), reinterpret(0xBC89006EA23DCB57),\n reinterpret(0x3FE8B00022BC04DF), reinterpret(0xBC7D00DF38E04B0A),\n reinterpret(0x3FE8CFFFE50C1B8A), reinterpret(0xBC88007146FF9F05),\n reinterpret(0x3FE8EFFFFC918E43), reinterpret(0x3C83817BD07A7038),\n reinterpret(0x3FE910001EFA5FC7), reinterpret(0x3C893E9176DFB403),\n reinterpret(0x3FE9300013467BB9), reinterpret(0x3C7F804E4B980276),\n reinterpret(0x3FE94FFFE6EE076F), reinterpret(0xBC8F7EF0D9FF622E),\n reinterpret(0x3FE96FFFDE3C12D1), reinterpret(0xBC7082AA962638BA),\n reinterpret(0x3FE98FFFF4458A0D), reinterpret(0xBC87801B9164A8EF),\n reinterpret(0x3FE9AFFFDD982E3E), reinterpret(0xBC8740E08A5A9337),\n reinterpret(0x3FE9CFFFED49FB66), reinterpret(0x3C3FCE08C19BE000),\n reinterpret(0x3FE9F00020F19C51), reinterpret(0xBC8A3FAA27885B0A),\n reinterpret(0x3FEA10001145B006), reinterpret(0x3C74FF489958DA56),\n reinterpret(0x3FEA300007BBF6FA), reinterpret(0x3C8CBEAB8A2B6D18),\n reinterpret(0x3FEA500010971D79), reinterpret(0x3C88FECADD787930),\n reinterpret(0x3FEA70001DF52E48), reinterpret(0xBC8F41763DD8ABDB),\n reinterpret(0x3FEA90001C593352), reinterpret(0xBC8EBF0284C27612),\n reinterpret(0x3FEAB0002A4F3E4B), reinterpret(0xBC69FD043CFF3F5F),\n reinterpret(0x3FEACFFFD7AE1ED1), reinterpret(0xBC823EE7129070B4),\n reinterpret(0x3FEAEFFFEE510478), reinterpret(0x3C6A063EE00EDEA3),\n reinterpret(0x3FEB0FFFDB650D5B), reinterpret(0x3C5A06C8381F0AB9),\n reinterpret(0x3FEB2FFFFEAACA57), reinterpret(0xBC79011E74233C1D),\n reinterpret(0x3FEB4FFFD995BADC), reinterpret(0xBC79FF1068862A9F),\n reinterpret(0x3FEB7000249E659C), reinterpret(0x3C8AFF45D0864F3E),\n reinterpret(0x3FEB8FFFF9871640), reinterpret(0x3C7CFE7796C2C3F9),\n reinterpret(0x3FEBAFFFD204CB4F), reinterpret(0xBC63FF27EEF22BC4),\n reinterpret(0x3FEBCFFFD2415C45), reinterpret(0xBC6CFFB7EE3BEA21),\n reinterpret(0x3FEBEFFFF86309DF), reinterpret(0xBC814103972E0B5C),\n reinterpret(0x3FEC0FFFE1B57653), reinterpret(0x3C8BC16494B76A19),\n reinterpret(0x3FEC2FFFF1FA57E3), reinterpret(0xBC64FEEF8D30C6ED),\n reinterpret(0x3FEC4FFFDCBFE424), reinterpret(0xBC843F68BCEC4775),\n reinterpret(0x3FEC6FFFED54B9F7), reinterpret(0x3C847EA3F053E0EC),\n reinterpret(0x3FEC8FFFEB998FD5), reinterpret(0x3C7383068DF992F1),\n reinterpret(0x3FECB0002125219A), reinterpret(0xBC68FD8E64180E04),\n reinterpret(0x3FECCFFFDD94469C), reinterpret(0x3C8E7EBE1CC7EA72),\n reinterpret(0x3FECEFFFEAFDC476), reinterpret(0x3C8EBE39AD9F88FE),\n reinterpret(0x3FED1000169AF82B), reinterpret(0x3C757D91A8B95A71),\n reinterpret(0x3FED30000D0FF71D), reinterpret(0x3C89C1906970C7DA),\n reinterpret(0x3FED4FFFEA790FC4), reinterpret(0xBC580E37C558FE0C),\n reinterpret(0x3FED70002EDC87E5), reinterpret(0xBC7F80D64DC10F44),\n reinterpret(0x3FED900021DC82AA), reinterpret(0xBC747C8F94FD5C5C),\n reinterpret(0x3FEDAFFFD86B0283), reinterpret(0x3C8C7F1DC521617E),\n reinterpret(0x3FEDD000296C4739), reinterpret(0x3C88019EB2FFB153),\n reinterpret(0x3FEDEFFFE54490F5), reinterpret(0x3C6E00D2C652CC89),\n reinterpret(0x3FEE0FFFCDABF694), reinterpret(0xBC7F8340202D69D2),\n reinterpret(0x3FEE2FFFDB52C8DD), reinterpret(0x3C7B00C1CA1B0864),\n reinterpret(0x3FEE4FFFF24216EF), reinterpret(0x3C72FFA8B094AB51),\n reinterpret(0x3FEE6FFFE88A5E11), reinterpret(0xBC57F673B1EFBE59),\n reinterpret(0x3FEE9000119EFF0D), reinterpret(0xBC84808D5E0BC801),\n reinterpret(0x3FEEAFFFDFA51744), reinterpret(0x3C780006D54320B5),\n reinterpret(0x3FEED0001A127FA1), reinterpret(0xBC5002F860565C92),\n reinterpret(0x3FEEF00007BABCC4), reinterpret(0xBC8540445D35E611),\n reinterpret(0x3FEF0FFFF57A8D02), reinterpret(0xBC4FFB3139EF9105),\n reinterpret(0x3FEF30001EE58AC7), reinterpret(0x3C8A81ACF2731155),\n reinterpret(0x3FEF4FFFF5823494), reinterpret(0x3C8A3F41D4D7C743),\n reinterpret(0x3FEF6FFFFCA94C6B), reinterpret(0xBC6202F41C987875),\n reinterpret(0x3FEF8FFFE1F9C441), reinterpret(0x3C777DD1F477E74B),\n reinterpret(0x3FEFAFFFD2E0E37E), reinterpret(0xBC6F01199A7CA331),\n reinterpret(0x3FEFD0001C77E49E), reinterpret(0x3C7181EE4BCEACB1),\n reinterpret(0x3FEFEFFFF7E0C331), reinterpret(0xBC6E05370170875A),\n reinterpret(0x3FF00FFFF465606E), reinterpret(0xBC8A7EAD491C0ADA),\n reinterpret(0x3FF02FFFF3867A58), reinterpret(0xBC977F69C3FCB2E0),\n reinterpret(0x3FF04FFFFDFC0D17), reinterpret(0x3C97BFFE34CB945B),\n reinterpret(0x3FF0700003CD4D82), reinterpret(0x3C820083C0E456CB),\n reinterpret(0x3FF08FFFF9F2CBE8), reinterpret(0xBC6DFFDFBE37751A),\n reinterpret(0x3FF0B000010CDA65), reinterpret(0xBC913F7FAEE626EB),\n reinterpret(0x3FF0D00001A4D338), reinterpret(0x3C807DFA79489FF7),\n reinterpret(0x3FF0EFFFFADAFDFD), reinterpret(0xBC77040570D66BC0),\n reinterpret(0x3FF110000BBAFD96), reinterpret(0x3C8E80D4846D0B62),\n reinterpret(0x3FF12FFFFAE5F45D), reinterpret(0x3C9DBFFA64FD36EF),\n reinterpret(0x3FF150000DD59AD9), reinterpret(0x3C9A0077701250AE),\n reinterpret(0x3FF170000F21559A), reinterpret(0x3C8DFDF9E2E3DEEE),\n reinterpret(0x3FF18FFFFC275426), reinterpret(0x3C910030DC3B7273),\n reinterpret(0x3FF1B000123D3C59), reinterpret(0x3C997F7980030188),\n reinterpret(0x3FF1CFFFF8299EB7), reinterpret(0xBC65F932AB9F8C67),\n reinterpret(0x3FF1EFFFF48AD400), reinterpret(0x3C937FBF9DA75BEB),\n reinterpret(0x3FF210000C8B86A4), reinterpret(0x3C9F806B91FD5B22),\n reinterpret(0x3FF2300003854303), reinterpret(0x3C93FFC2EB9FBF33),\n reinterpret(0x3FF24FFFFFBCF684), reinterpret(0x3C7601E77E2E2E72),\n reinterpret(0x3FF26FFFF52921D9), reinterpret(0x3C7FFCBB767F0C61),\n reinterpret(0x3FF2900014933A3C), reinterpret(0xBC7202CA3C02412B),\n reinterpret(0x3FF2B00014556313), reinterpret(0xBC92808233F21F02),\n reinterpret(0x3FF2CFFFEBFE523B), reinterpret(0xBC88FF7E384FDCF2),\n reinterpret(0x3FF2F0000BB8AD96), reinterpret(0xBC85FF51503041C5),\n reinterpret(0x3FF30FFFFB7AE2AF), reinterpret(0xBC810071885E289D),\n reinterpret(0x3FF32FFFFEAC5F7F), reinterpret(0xBC91FF5D3FB7B715),\n reinterpret(0x3FF350000CA66756), reinterpret(0x3C957F82228B82BD),\n reinterpret(0x3FF3700011FBF721), reinterpret(0x3C8000BAC40DD5CC),\n reinterpret(0x3FF38FFFF9592FB9), reinterpret(0xBC943F9D2DB2A751),\n reinterpret(0x3FF3B00004DDD242), reinterpret(0x3C857F6B707638E1),\n reinterpret(0x3FF3CFFFF5B2C957), reinterpret(0x3C7A023A10BF1231),\n reinterpret(0x3FF3EFFFEAB0B418), reinterpret(0x3C987F6D66B152B0),\n reinterpret(0x3FF410001532AFF4), reinterpret(0x3C67F8375F198524),\n reinterpret(0x3FF4300017478B29), reinterpret(0x3C8301E672DC5143),\n reinterpret(0x3FF44FFFE795B463), reinterpret(0x3C89FF69B8B2895A),\n reinterpret(0x3FF46FFFE80475E0), reinterpret(0xBC95C0B19BC2F254),\n reinterpret(0x3FF48FFFEF6FC1E7), reinterpret(0x3C9B4009F23A2A72),\n reinterpret(0x3FF4AFFFE5BEA704), reinterpret(0xBC94FFB7BF0D7D45),\n reinterpret(0x3FF4D000171027DE), reinterpret(0xBC99C06471DC6A3D),\n reinterpret(0x3FF4F0000FF03EE2), reinterpret(0x3C977F890B85531C),\n reinterpret(0x3FF5100012DC4BD1), reinterpret(0x3C6004657166A436),\n reinterpret(0x3FF530001605277A), reinterpret(0xBC96BFCECE233209),\n reinterpret(0x3FF54FFFECDB704C), reinterpret(0xBC8902720505A1D7),\n reinterpret(0x3FF56FFFEF5F54A9), reinterpret(0x3C9BBFE60EC96412),\n reinterpret(0x3FF5900017E61012), reinterpret(0x3C887EC581AFEF90),\n reinterpret(0x3FF5B00003C93E92), reinterpret(0xBC9F41080ABF0CC0),\n reinterpret(0x3FF5D0001D4919BC), reinterpret(0xBC98812AFB254729),\n reinterpret(0x3FF5EFFFE7B87A89), reinterpret(0xBC947EB780ED6904)\n]);\n\n// @ts-ignore: decorator\n@inline\nexport function log_lut(x: f64): f64 {\n const N_MASK = (1 << LOG_TABLE_BITS) - 1;\n\n const\n B0 = reinterpret(0xBFE0000000000000), // -0x1p-1\n B1 = reinterpret(0x3FD5555555555577), // 0x1.5555555555577p-2\n B2 = reinterpret(0xBFCFFFFFFFFFFDCB), // -0x1.ffffffffffdcbp-3\n B3 = reinterpret(0x3FC999999995DD0C), // 0x1.999999995dd0cp-3\n B4 = reinterpret(0xBFC55555556745A7), // -0x1.55555556745a7p-3\n B5 = reinterpret(0x3FC24924A344DE30), // 0x1.24924a344de3p-3\n B6 = reinterpret(0xBFBFFFFFA4423D65), // -0x1.fffffa4423d65p-4\n B7 = reinterpret(0x3FBC7184282AD6CA), // 0x1.c7184282ad6cap-4\n B8 = reinterpret(0xBFB999EB43B068FF), // -0x1.999eb43b068ffp-4\n B9 = reinterpret(0x3FB78182F7AFD085), // 0x1.78182f7afd085p-4\n B10 = reinterpret(0xBFB5521375D145CD); // -0x1.5521375d145cdp-4\n\n const\n A0 = reinterpret(0xBFE0000000000001), // -0x1.0000000000001p-1\n A1 = reinterpret(0x3FD555555551305B), // 0x1.555555551305bp-2\n A2 = reinterpret(0xBFCFFFFFFFEB4590), // -0x1.fffffffeb459p-3\n A3 = reinterpret(0x3FC999B324F10111), // 0x1.999b324f10111p-3\n A4 = reinterpret(0xBFC55575E506C89F); // -0x1.55575e506c89fp-3\n\n const\n LO: u64 = 0x3FEE000000000000,\n HI: u64 = 0x3FF1090000000000;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800), // 0x1.62e42fefa3800p-1\n Ln2lo = reinterpret(0x3D2EF35793C76730), // 0x1.ef35793c76730p-45\n Ox1p27 = reinterpret(0x41A0000000000000), // 0x1p27\n Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var ix = reinterpret(x);\n if (ix - LO < HI - LO) {\n let r = x - 1.0;\n let r2 = r * r;\n let r3 = r2 * r;\n let y =\n r3 * (B1 + r * B2 + r2 * B3 +\n r3 * (B4 + r * B5 + r2 * B6 +\n r3 * (B7 + r * B8 + r2 * B9 + r3 * B10)));\n // Worst-case error is around 0.507 ULP\n let w = r * Ox1p27;\n let rhi = r + w - w;\n let rlo = r - rhi;\n w = rhi * rhi * B0; // B[0] == -0.5\n let hi = r + w;\n let lo = r - hi + w;\n lo += B0 * rlo * (rhi + r);\n return y + lo + hi;\n }\n var top = u32(ix >> 48);\n if (top - 0x0010 >= 0x7FF0 - 0x0010) {\n // x < 0x1p-1022 or inf or nan\n if ((ix << 1) == 0) return -1.0 / (x * x);\n if (ix == reinterpret(Infinity)) return x; // log(inf) == inf\n if ((top & 0x8000) || (top & 0x7FF0) == 0x7FF0) return (x - x) / (x - x);\n // x is subnormal, normalize it\n ix = reinterpret(x * Ox1p52);\n ix -= u64(52) << 52;\n }\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3FE6000000000000;\n var i = ((tmp >> (52 - LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & (u64(0xFFF) << 52));\n\n var invc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc;\n var logc = load(LOG_DATA_TAB1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc;\n var z = reinterpret(iz);\n\n // log(x) = log1p(z/c-1) + log(c) + k*Ln2.\n // r ~= z/c - 1, |r| < 1/(2*N)\n // #if __FP_FAST_FMA\n // \t// rounding error: 0x1p-55/N\n // \tr = __builtin_fma(z, invc, -1.0);\n // #else\n // rounding error: 0x1p-55/N + 0x1p-66\n const chi = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi\n const clo = load(LOG_DATA_TAB2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo\n var r = (z - chi - clo) * invc;\n // #endif\n var kd = k;\n\n // hi + lo = r + log(c) + k*Ln2\n var w = kd * Ln2hi + logc;\n var hi = w + r;\n var lo = w - hi + r + kd * Ln2lo;\n\n // log(x) = lo + (log1p(r) - r) + hi\n var r2 = r * r; // rounding error: 0x1p-54/N^2\n // Worst case error if |y| > 0x1p-5:\n // 0.5 + 4.13/N + abs-poly-error*2^57 ULP (+ 0.002 ULP without fma)\n // Worst case error if |y| > 0x1p-4:\n // 0.5 + 2.06/N + abs-poly-error*2^56 ULP (+ 0.001 ULP without fma).\n return lo + r2 * A0 + r * r2 * (A1 + r * A2 + r2 * (A3 + r * A4)) + hi;\n}\n\n//\n// Lookup data for pow. See: https://git.musl-libc.org/cgit/musl/tree/src/math/pow.c\n//\n\n// @ts-ignore: decorator\n@inline const POW_LOG_TABLE_BITS = 7;\n\n/* Algorithm:\n\n x = 2^k z\n log(x) = k ln2 + log(c) + log(z/c)\n log(z/c) = poly(z/c - 1)\n\nwhere z is in [0x1.69555p-1; 0x1.69555p0] which is split into N subintervals\nand z falls into the ith one, then table entries are computed as\n\n tab[i].invc = 1/c\n tab[i].logc = round(0x1p43*log(c))/0x1p43\n tab[i].logctail = (double)(log(c) - logc)\n\nwhere c is chosen near the center of the subinterval such that 1/c has only a\nfew precision bits so z/c - 1 is exactly representible as double:\n\n 1/c = center < 1 ? round(N/center)/N : round(2*N/center)/N/2\n\nNote: |z/c - 1| < 1/N for the chosen c, |log(c) - logc - logctail| < 0x1p-97,\nthe last few bits of logc are rounded away so k*ln2hi + logc has no rounding\nerror and the interval for z is selected such that near x == 1, where log(x)\nis tiny, large cancellation error is avoided in logc + poly(z/c - 1). */\n\n// @ts-ignore: decorator\n@lazy @inline const POW_LOG_DATA_TAB = memory.data([\n // invc ,pad, logc , logctail\n reinterpret(0x3FF6A00000000000), 0, reinterpret(0xBFD62C82F2B9C800), reinterpret(0x3CFAB42428375680),\n reinterpret(0x3FF6800000000000), 0, reinterpret(0xBFD5D1BDBF580800), reinterpret(0xBD1CA508D8E0F720),\n reinterpret(0x3FF6600000000000), 0, reinterpret(0xBFD5767717455800), reinterpret(0xBD2362A4D5B6506D),\n reinterpret(0x3FF6400000000000), 0, reinterpret(0xBFD51AAD872DF800), reinterpret(0xBCE684E49EB067D5),\n reinterpret(0x3FF6200000000000), 0, reinterpret(0xBFD4BE5F95777800), reinterpret(0xBD041B6993293EE0),\n reinterpret(0x3FF6000000000000), 0, reinterpret(0xBFD4618BC21C6000), reinterpret(0x3D13D82F484C84CC),\n reinterpret(0x3FF5E00000000000), 0, reinterpret(0xBFD404308686A800), reinterpret(0x3CDC42F3ED820B3A),\n reinterpret(0x3FF5C00000000000), 0, reinterpret(0xBFD3A64C55694800), reinterpret(0x3D20B1C686519460),\n reinterpret(0x3FF5A00000000000), 0, reinterpret(0xBFD347DD9A988000), reinterpret(0x3D25594DD4C58092),\n reinterpret(0x3FF5800000000000), 0, reinterpret(0xBFD2E8E2BAE12000), reinterpret(0x3D267B1E99B72BD8),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5600000000000), 0, reinterpret(0xBFD2895A13DE8800), reinterpret(0x3D15CA14B6CFB03F),\n reinterpret(0x3FF5400000000000), 0, reinterpret(0xBFD22941FBCF7800), reinterpret(0xBD165A242853DA76),\n reinterpret(0x3FF5200000000000), 0, reinterpret(0xBFD1C898C1699800), reinterpret(0xBD1FAFBC68E75404),\n reinterpret(0x3FF5000000000000), 0, reinterpret(0xBFD1675CABABA800), reinterpret(0x3D1F1FC63382A8F0),\n reinterpret(0x3FF4E00000000000), 0, reinterpret(0xBFD1058BF9AE4800), reinterpret(0xBD26A8C4FD055A66),\n reinterpret(0x3FF4C00000000000), 0, reinterpret(0xBFD0A324E2739000), reinterpret(0xBD0C6BEE7EF4030E),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4A00000000000), 0, reinterpret(0xBFD0402594B4D000), reinterpret(0xBCF036B89EF42D7F),\n reinterpret(0x3FF4800000000000), 0, reinterpret(0xBFCFB9186D5E4000), reinterpret(0x3D0D572AAB993C87),\n reinterpret(0x3FF4600000000000), 0, reinterpret(0xBFCEF0ADCBDC6000), reinterpret(0x3D2B26B79C86AF24),\n reinterpret(0x3FF4400000000000), 0, reinterpret(0xBFCE27076E2AF000), reinterpret(0xBD172F4F543FFF10),\n reinterpret(0x3FF4200000000000), 0, reinterpret(0xBFCD5C216B4FC000), reinterpret(0x3D21BA91BBCA681B),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF4000000000000), 0, reinterpret(0xBFCC8FF7C79AA000), reinterpret(0x3D27794F689F8434),\n reinterpret(0x3FF3E00000000000), 0, reinterpret(0xBFCBC286742D9000), reinterpret(0x3D194EB0318BB78F),\n reinterpret(0x3FF3C00000000000), 0, reinterpret(0xBFCAF3C94E80C000), reinterpret(0x3CBA4E633FCD9066),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3A00000000000), 0, reinterpret(0xBFCA23BC1FE2B000), reinterpret(0xBD258C64DC46C1EA),\n reinterpret(0x3FF3800000000000), 0, reinterpret(0xBFC9525A9CF45000), reinterpret(0xBD2AD1D904C1D4E3),\n reinterpret(0x3FF3600000000000), 0, reinterpret(0xBFC87FA06520D000), reinterpret(0x3D2BBDBF7FDBFA09),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3400000000000), 0, reinterpret(0xBFC7AB890210E000), reinterpret(0x3D2BDB9072534A58),\n reinterpret(0x3FF3200000000000), 0, reinterpret(0xBFC6D60FE719D000), reinterpret(0xBD10E46AA3B2E266),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF3000000000000), 0, reinterpret(0xBFC5FF3070A79000), reinterpret(0xBD1E9E439F105039),\n reinterpret(0x3FF2E00000000000), 0, reinterpret(0xBFC526E5E3A1B000), reinterpret(0xBD20DE8B90075B8F),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2C00000000000), 0, reinterpret(0xBFC44D2B6CCB8000), reinterpret(0x3D170CC16135783C),\n reinterpret(0x3FF2A00000000000), 0, reinterpret(0xBFC371FC201E9000), reinterpret(0x3CF178864D27543A),\n reinterpret(0x3FF2800000000000), 0, reinterpret(0xBFC29552F81FF000), reinterpret(0xBD248D301771C408),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2600000000000), 0, reinterpret(0xBFC1B72AD52F6000), reinterpret(0xBD2E80A41811A396),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2400000000000), 0, reinterpret(0xBFC0D77E7CD09000), reinterpret(0x3D0A699688E85BF4),\n reinterpret(0x3FF2200000000000), 0, reinterpret(0xBFBFEC9131DBE000), reinterpret(0xBD2575545CA333F2),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF2000000000000), 0, reinterpret(0xBFBE27076E2B0000), reinterpret(0x3D2A342C2AF0003C),\n reinterpret(0x3FF1E00000000000), 0, reinterpret(0xBFBC5E548F5BC000), reinterpret(0xBD1D0C57585FBE06),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1C00000000000), 0, reinterpret(0xBFBA926D3A4AE000), reinterpret(0x3D253935E85BAAC8),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1A00000000000), 0, reinterpret(0xBFB8C345D631A000), reinterpret(0x3D137C294D2F5668),\n reinterpret(0x3FF1800000000000), 0, reinterpret(0xBFB6F0D28AE56000), reinterpret(0xBD269737C93373DA),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1600000000000), 0, reinterpret(0xBFB51B073F062000), reinterpret(0x3D1F025B61C65E57),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1400000000000), 0, reinterpret(0xBFB341D7961BE000), reinterpret(0x3D2C5EDACCF913DF),\n reinterpret(0x3FF1200000000000), 0, reinterpret(0xBFB16536EEA38000), reinterpret(0x3D147C5E768FA309),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF1000000000000), 0, reinterpret(0xBFAF0A30C0118000), reinterpret(0x3D2D599E83368E91),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0E00000000000), 0, reinterpret(0xBFAB42DD71198000), reinterpret(0x3D1C827AE5D6704C),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0C00000000000), 0, reinterpret(0xBFA77458F632C000), reinterpret(0xBD2CFC4634F2A1EE),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0A00000000000), 0, reinterpret(0xBFA39E87B9FEC000), reinterpret(0x3CF502B7F526FEAA),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0800000000000), 0, reinterpret(0xBF9F829B0E780000), reinterpret(0xBD2980267C7E09E4),\n reinterpret(0x3FF0600000000000), 0, reinterpret(0xBF97B91B07D58000), reinterpret(0xBD288D5493FAA639),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0400000000000), 0, reinterpret(0xBF8FC0A8B0FC0000), reinterpret(0xBCDF1E7CF6D3A69C),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0200000000000), 0, reinterpret(0xBF7FE02A6B100000), reinterpret(0xBD19E23F0DDA40E4),\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FF0000000000000), 0, 0, 0,\n reinterpret(0x3FEFC00000000000), 0, reinterpret(0x3F80101575890000), reinterpret(0xBD10C76B999D2BE8),\n reinterpret(0x3FEF800000000000), 0, reinterpret(0x3F90205658938000), reinterpret(0xBD23DC5B06E2F7D2),\n reinterpret(0x3FEF400000000000), 0, reinterpret(0x3F98492528C90000), reinterpret(0xBD2AA0BA325A0C34),\n reinterpret(0x3FEF000000000000), 0, reinterpret(0x3FA0415D89E74000), reinterpret(0x3D0111C05CF1D753),\n reinterpret(0x3FEEC00000000000), 0, reinterpret(0x3FA466AED42E0000), reinterpret(0xBD2C167375BDFD28),\n reinterpret(0x3FEE800000000000), 0, reinterpret(0x3FA894AA149FC000), reinterpret(0xBD197995D05A267D),\n reinterpret(0x3FEE400000000000), 0, reinterpret(0x3FACCB73CDDDC000), reinterpret(0xBD1A68F247D82807),\n reinterpret(0x3FEE200000000000), 0, reinterpret(0x3FAEEA31C006C000), reinterpret(0xBD0E113E4FC93B7B),\n reinterpret(0x3FEDE00000000000), 0, reinterpret(0x3FB1973BD1466000), reinterpret(0xBD25325D560D9E9B),\n reinterpret(0x3FEDA00000000000), 0, reinterpret(0x3FB3BDF5A7D1E000), reinterpret(0x3D2CC85EA5DB4ED7),\n reinterpret(0x3FED600000000000), 0, reinterpret(0x3FB5E95A4D97A000), reinterpret(0xBD2C69063C5D1D1E),\n reinterpret(0x3FED400000000000), 0, reinterpret(0x3FB700D30AEAC000), reinterpret(0x3CEC1E8DA99DED32),\n reinterpret(0x3FED000000000000), 0, reinterpret(0x3FB9335E5D594000), reinterpret(0x3D23115C3ABD47DA),\n reinterpret(0x3FECC00000000000), 0, reinterpret(0x3FBB6AC88DAD6000), reinterpret(0xBD1390802BF768E5),\n reinterpret(0x3FECA00000000000), 0, reinterpret(0x3FBC885801BC4000), reinterpret(0x3D2646D1C65AACD3),\n reinterpret(0x3FEC600000000000), 0, reinterpret(0x3FBEC739830A2000), reinterpret(0xBD2DC068AFE645E0),\n reinterpret(0x3FEC400000000000), 0, reinterpret(0x3FBFE89139DBE000), reinterpret(0xBD2534D64FA10AFD),\n reinterpret(0x3FEC000000000000), 0, reinterpret(0x3FC1178E8227E000), reinterpret(0x3D21EF78CE2D07F2),\n reinterpret(0x3FEBE00000000000), 0, reinterpret(0x3FC1AA2B7E23F000), reinterpret(0x3D2CA78E44389934),\n reinterpret(0x3FEBA00000000000), 0, reinterpret(0x3FC2D1610C868000), reinterpret(0x3D039D6CCB81B4A1),\n reinterpret(0x3FEB800000000000), 0, reinterpret(0x3FC365FCB0159000), reinterpret(0x3CC62FA8234B7289),\n reinterpret(0x3FEB400000000000), 0, reinterpret(0x3FC4913D8333B000), reinterpret(0x3D25837954FDB678),\n reinterpret(0x3FEB200000000000), 0, reinterpret(0x3FC527E5E4A1B000), reinterpret(0x3D2633E8E5697DC7),\n reinterpret(0x3FEAE00000000000), 0, reinterpret(0x3FC6574EBE8C1000), reinterpret(0x3D19CF8B2C3C2E78),\n reinterpret(0x3FEAC00000000000), 0, reinterpret(0x3FC6F0128B757000), reinterpret(0xBD25118DE59C21E1),\n reinterpret(0x3FEAA00000000000), 0, reinterpret(0x3FC7898D85445000), reinterpret(0xBD1C661070914305),\n reinterpret(0x3FEA600000000000), 0, reinterpret(0x3FC8BEAFEB390000), reinterpret(0xBD073D54AAE92CD1),\n reinterpret(0x3FEA400000000000), 0, reinterpret(0x3FC95A5ADCF70000), reinterpret(0x3D07F22858A0FF6F),\n reinterpret(0x3FEA000000000000), 0, reinterpret(0x3FCA93ED3C8AE000), reinterpret(0xBD28724350562169),\n reinterpret(0x3FE9E00000000000), 0, reinterpret(0x3FCB31D8575BD000), reinterpret(0xBD0C358D4EACE1AA),\n reinterpret(0x3FE9C00000000000), 0, reinterpret(0x3FCBD087383BE000), reinterpret(0xBD2D4BC4595412B6),\n reinterpret(0x3FE9A00000000000), 0, reinterpret(0x3FCC6FFBC6F01000), reinterpret(0xBCF1EC72C5962BD2),\n reinterpret(0x3FE9600000000000), 0, reinterpret(0x3FCDB13DB0D49000), reinterpret(0xBD2AFF2AF715B035),\n reinterpret(0x3FE9400000000000), 0, reinterpret(0x3FCE530EFFE71000), reinterpret(0x3CC212276041F430),\n reinterpret(0x3FE9200000000000), 0, reinterpret(0x3FCEF5ADE4DD0000), reinterpret(0xBCCA211565BB8E11),\n reinterpret(0x3FE9000000000000), 0, reinterpret(0x3FCF991C6CB3B000), reinterpret(0x3D1BCBECCA0CDF30),\n reinterpret(0x3FE8C00000000000), 0, reinterpret(0x3FD07138604D5800), reinterpret(0x3CF89CDB16ED4E91),\n reinterpret(0x3FE8A00000000000), 0, reinterpret(0x3FD0C42D67616000), reinterpret(0x3D27188B163CEAE9),\n reinterpret(0x3FE8800000000000), 0, reinterpret(0x3FD1178E8227E800), reinterpret(0xBD2C210E63A5F01C),\n reinterpret(0x3FE8600000000000), 0, reinterpret(0x3FD16B5CCBACF800), reinterpret(0x3D2B9ACDF7A51681),\n reinterpret(0x3FE8400000000000), 0, reinterpret(0x3FD1BF99635A6800), reinterpret(0x3D2CA6ED5147BDB7),\n reinterpret(0x3FE8200000000000), 0, reinterpret(0x3FD214456D0EB800), reinterpret(0x3D0A87DEBA46BAEA),\n reinterpret(0x3FE7E00000000000), 0, reinterpret(0x3FD2BEF07CDC9000), reinterpret(0x3D2A9CFA4A5004F4),\n reinterpret(0x3FE7C00000000000), 0, reinterpret(0x3FD314F1E1D36000), reinterpret(0xBD28E27AD3213CB8),\n reinterpret(0x3FE7A00000000000), 0, reinterpret(0x3FD36B6776BE1000), reinterpret(0x3D116ECDB0F177C8),\n reinterpret(0x3FE7800000000000), 0, reinterpret(0x3FD3C25277333000), reinterpret(0x3D183B54B606BD5C),\n reinterpret(0x3FE7600000000000), 0, reinterpret(0x3FD419B423D5E800), reinterpret(0x3D08E436EC90E09D),\n reinterpret(0x3FE7400000000000), 0, reinterpret(0x3FD4718DC271C800), reinterpret(0xBD2F27CE0967D675),\n reinterpret(0x3FE7200000000000), 0, reinterpret(0x3FD4C9E09E173000), reinterpret(0xBD2E20891B0AD8A4),\n reinterpret(0x3FE7000000000000), 0, reinterpret(0x3FD522AE0738A000), reinterpret(0x3D2EBE708164C759),\n reinterpret(0x3FE6E00000000000), 0, reinterpret(0x3FD57BF753C8D000), reinterpret(0x3D1FADEDEE5D40EF),\n reinterpret(0x3FE6C00000000000), 0, reinterpret(0x3FD5D5BDDF596000), reinterpret(0xBD0A0B2A08A465DC)\n]);\n\n// Returns 0 if not int, 1 if odd int, 2 if even int. The argument is\n// the bit representation of a non-zero finite floating-point value.\n// @ts-ignore: decorator\n@inline\nfunction checkint(iy: u64): i32 {\n var e = iy >> 52 & 0x7FF;\n if (e < 0x3FF ) return 0;\n if (e > 0x3FF + 52) return 2;\n e = u64(1) << (0x3FF + 52 - e);\n if (iy & (e - 1)) return 0;\n if (iy & e ) return 1;\n return 2;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction xflow(sign: u32, y: f64): f64 {\n return select(-y, y, sign) * y;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction uflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767\n}\n\n// @ts-ignore: decorator\n@inline\nfunction oflow(sign: u32): f64 {\n return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769\n}\n\n// Returns 1 if input is the bit representation of 0, infinity or nan.\n// @ts-ignore: decorator\n@inline\nfunction zeroinfnan(u: u64): bool {\n return (u << 1) - 1 >= 0xFFE0000000000000 - 1;\n}\n\n// @ts-ignore: decorator\n@lazy var log_tail: f64 = 0;\n\n// Compute y+TAIL = log(x) where the rounded result is y and TAIL has about\n// additional 15 bits precision. IX is the bit representation of x, but\n// normalized in the subnormal range using the sign bit for the exponent.\n// @ts-ignore: decorator\n@inline\nfunction log_inline(ix: u64): f64 {\n const N = 1 << POW_LOG_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n Ln2hi = reinterpret(0x3FE62E42FEFA3800),\n Ln2lo = reinterpret(0x3D2EF35793C76730);\n\n const\n A0 = reinterpret(0xBFE0000000000000),\n A1 = reinterpret(0xBFE5555555555560),\n A2 = reinterpret(0x3FE0000000000006),\n A3 = reinterpret(0x3FE999999959554E),\n A4 = reinterpret(0xBFE555555529A47A),\n A5 = reinterpret(0xBFF2495B9B4845E9),\n A6 = reinterpret(0x3FF0002B8B263FC3);\n\n // x = 2^k z; where z is in range [OFF,2*OFF) and exact.\n // The range is split into N subintervals.\n // The ith subinterval contains z and c is near its center.\n var tmp = ix - 0x3fE6955500000000;\n var i = ((tmp >> (52 - POW_LOG_TABLE_BITS)) & N_MASK);\n var k = tmp >> 52;\n var iz = ix - (tmp & u64(0xFFF) << 52);\n var z = reinterpret(iz);\n var kd = k;\n\n // log(x) = k*Ln2 + log(c) + log1p(z/c-1).\n var invc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc\n var logc = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc\n var logctail = load(POW_LOG_DATA_TAB + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail\n\n // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and\n // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible.\n // Split z such that rhi, rlo and rhi*rhi are exact and |rlo| <= |r|.\n var zhi = reinterpret((iz + u64(0x80000000)) & 0xFFFFFFFF00000000);\n var zlo = z - zhi;\n var rhi = zhi * invc - 1.0;\n var rlo = zlo * invc;\n var r = rhi + rlo;\n\n // k * Ln2 + log(c) + r.\n var t1 = kd * Ln2hi + logc;\n var t2 = t1 + r;\n var lo1 = kd * Ln2lo + logctail;\n var lo2 = t1 - t2 + r;\n\n // Evaluation is optimized assuming superscalar pipelined execution.\n var ar = A0 * r; // A[0] = -0.5\n var ar2 = r * ar;\n var ar3 = r * ar2;\n // k * Ln2 + log(c) + r + A[0] * r * r.\n var arhi = A0 * rhi;\n var arhi2 = rhi * arhi;\n var hi = t2 + arhi2;\n var lo3 = rlo * (ar + arhi);\n var lo4 = t2 - hi + arhi2;\n\n // p = log1p(r) - r - A[0] * r * r.\n var p = ar3 * (A1 + r * A2 + ar2 * (A3 + r * A4 + ar2 * (A5 + r * A6)));\n var lo = lo1 + lo2 + lo3 + lo4 + p;\n var y = hi + lo;\n log_tail = hi - y + lo;\n\n return y;\n}\n\n// @ts-ignore: decorator\n@inline const SIGN_BIAS = 0x800 << EXP_TABLE_BITS;\n\n// Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|.\n// The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1.\n// @ts-ignore: decorator\n@inline\nfunction exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 {\n const N = 1 << EXP_TABLE_BITS;\n const N_MASK = N - 1;\n\n const\n InvLn2N = reinterpret(0x3FF71547652B82FE) * N, // 0x1.71547652b82fep0\n NegLn2hiN = reinterpret(0xBF762E42FEFA0000), // -0x1.62e42fefa0000p-8\n NegLn2loN = reinterpret(0xBD0CF79ABC9E3B3A), // -0x1.cf79abc9e3b3ap-47\n shift = reinterpret(0x4338000000000000); // 0x1.8p52\n\n const\n C2 = reinterpret(0x3FDFFFFFFFFFFDBD), // __exp_data.poly[0] (0x1.ffffffffffdbdp-2)\n C3 = reinterpret(0x3FC555555555543C), // __exp_data.poly[1] (0x1.555555555543cp-3)\n C4 = reinterpret(0x3FA55555CF172B91), // __exp_data.poly[2] (0x1.55555cf172b91p-5)\n C5 = reinterpret(0x3F81111167A4D017); // __exp_data.poly[3] (0x1.1111167a4d017p-7)\n\n var abstop: u32;\n var ki: u64, top: u64, sbits: u64;\n var idx: usize;\n // double_t for better performance on targets with FLT_EVAL_METHOD==2.\n var kd: f64, z: f64, r: f64, r2: f64, scale: f64, tail: f64, tmp: f64;\n\n var ux = reinterpret(x);\n abstop = (ux >> 52) & 0x7FF;\n if (abstop - 0x3C9 >= 0x03F) {\n if (abstop - 0x3C9 >= 0x80000000) {\n // Avoid spurious underflow for tiny x.\n // Note: 0 is common input.\n return select(-1.0, 1.0, sign_bias);\n }\n if (abstop >= 0x409) { // top12(1024.0)\n // Note: inf and nan are already handled.\n return ux >> 63 ? uflow(sign_bias) : oflow(sign_bias);\n }\n // Large x is special cased below.\n abstop = 0;\n }\n\n // exp(x) = 2^(k/N) * exp(r), with exp(r) in [2^(-1/2N),2^(1/2N)].\n // x = ln2/N*k + r, with int k and r in [-ln2/2N, ln2/2N].\n z = InvLn2N * x;\n\n // #if TOINT_INTRINSICS\n // kd = roundtoint(z);\n // ki = converttoint(z);\n // #elif EXP_USE_TOINT_NARROW\n // // z - kd is in [-0.5-2^-16, 0.5] in all rounding modes.\n // kd = eval_as_double(z + shift);\n // ki = asuint64(kd) >> 16;\n // kd = (double_t)(int32_t)ki;\n // #else\n // z - kd is in [-1, 1] in non-nearest rounding modes\n kd = z + shift;\n ki = reinterpret(kd);\n kd -= shift;\n // #endif\n r = x + kd * NegLn2hiN + kd * NegLn2loN;\n // The code assumes 2^-200 < |xtail| < 2^-8/N\n r += xtail;\n // 2^(k/N) ~= scale * (1 + tail)\n idx = ((ki & N_MASK) << 1);\n top = (ki + sign_bias) << (52 - EXP_TABLE_BITS);\n\n tail = reinterpret(load(EXP_DATA_TAB + (idx << alignof())));\n // This is only a valid scale when -1023*N < k < 1024*N\n sbits = load(EXP_DATA_TAB + (idx << alignof()), 1 << alignof()) + top;\n // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1).\n // Evaluation is optimized assuming superscalar pipelined execution.\n r2 = r * r;\n // Without fma the worst case error is 0.25/N ulp larger.\n // Worst case error is less than 0.5+1.11/N+(abs poly error * 2^53) ulp\n tmp = tail + r + r2 * (C2 + r * C3) + r2 * r2 * (C4 + r * C5);\n if (abstop == 0) return specialcase(tmp, sbits, ki);\n scale = reinterpret(sbits);\n // Note: tmp == 0 or |tmp| > 2^-200 and scale > 2^-739, so there\n // is no spurious underflow here even without fma.\n return scale + scale * tmp;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function pow_lut(x: f64, y: f64): f64 {\n const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52\n\n var sign_bias: u32 = 0;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n var topx = ix >> 52;\n var topy = iy >> 52;\n\n if (topx - 0x001 >= 0x7FF - 0x001 || (topy & 0x7FF) - 0x3BE >= 0x43e - 0x3BE) {\n // Note: if |y| > 1075 * ln2 * 2^53 ~= 0x1.749p62 then pow(x,y) = inf/0\n // and if |y| < 2^-54 / 1075 ~= 0x1.e7b6p-65 then pow(x,y) = +-1.\n // Special cases: (x < 0x1p-126 or inf or nan) or\n // (|y| < 0x1p-65 or |y| >= 0x1p63 or nan).\n if (zeroinfnan(iy)) {\n if ((iy << 1) == 0) return 1.0;\n if (ix == 0x3FF0000000000000) return NaN; // original: 1.0\n if ((ix << 1) > 0xFFE0000000000000 || (iy << 1) > 0xFFE0000000000000) return x + y;\n if ((ix << 1) == 0x7FE0000000000000) return NaN; // original: 1.0\n if (((ix << 1) < 0x7FE0000000000000) == !(iy >> 63)) return 0; // |x|<1 && y==inf or |x|>1 && y==-inf.\n return y * y;\n }\n if (zeroinfnan(ix)) {\n let x2 = x * x;\n if (i32(ix >> 63) && checkint(iy) == 1) x2 = -x2;\n return iy >> 63 ? 1 / x2 : x2;\n }\n // Here x and y are non-zero finite\n if (ix >> 63) {\n // Finite x < 0\n let yint = checkint(iy);\n if (yint == 0) return (x - x) / (x - x);\n if (yint == 1) sign_bias = SIGN_BIAS;\n ix &= 0x7FFFFFFFFFFFFFFF;\n topx &= 0x7FF;\n }\n if ((topy & 0x7FF) - 0x3BE >= 0x43E - 0x3BE) {\n // Note: sign_bias == 0 here because y is not odd.\n if (ix == 0x3FF0000000000000) return 1;\n if ((topy & 0x7FF) < 0x3BE) return 1; // |y| < 2^-65, x^y ~= 1 + y*log(x).\n return (ix > 0x3FF0000000000000) == (topy < 0x800) ? Infinity : 0;\n }\n if (topx == 0) {\n // Normalize subnormal x so exponent becomes negative.\n ix = reinterpret(x * Ox1p52);\n ix &= 0x7FFFFFFFFFFFFFFF;\n ix -= u64(52) << 52;\n }\n }\n\n var hi = log_inline(ix);\n var lo = log_tail;\n var ehi: f64, elo: f64;\n // #if __FP_FAST_FMA\n // ehi = y * hi;\n // elo = y * lo + __builtin_fma(y, hi, -ehi);\n // #else\n var yhi = reinterpret(iy & 0xFFFFFFFFF8000000);\n var ylo = y - yhi;\n var lhi = reinterpret(reinterpret(hi) & 0xFFFFFFFFF8000000);\n var llo = hi - lhi + lo;\n ehi = yhi * lhi;\n elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25.\n // #endif\n return exp_inline(ehi, elo, sign_bias);\n}\n","import { itoa32, utoa32, itoa64, utoa64, dtoa, itoa_buffered, dtoa_buffered, MAX_DOUBLE_LENGTH } from \"./number\";\nimport { ipow32 } from \"../math\";\n\n// All tables are stored as two staged lookup tables (static tries)\n// because the full range of Unicode symbols can't be efficiently\n// represented as-is in memory (see Unicode spec ch 5, p.196):\n// https://www.unicode.org/versions/Unicode12.0.0/ch05.pdf\n// Tables have been generated using these forked musl tools:\n// https://github.com/MaxGraey/musl-chartable-tools/tree/case-ignorable\n\n// Lookup table to check if a character is alphanumeric or not\n// See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/alpha.h\n// size: 3904 bytes\n// @ts-ignore\n@inline @lazy const ALPHA_TABLE = memory.data([\n 18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,\n 41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,\n 68,69,70,71,72,73,74,17,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,\n 93,94,16,95,96,97,98,17,17,17,99,100,101,16,16,16,16,16,16,16,16,16,16,17,17,\n 17,17,102,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,103,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,17,17,104,105,16,16,106,107,17,17,17,17,17,17,17,17,17,17,17,17,17,\n 17,17,17,17,17,17,17,17,17,17,108,17,17,17,17,109,110,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 17,111,112,16,16,16,16,16,16,16,16,16,113,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,114,115,116,117,16,16,16,16,16,16,16,16,118,\n 119,120,16,16,16,16,16,121,122,16,16,16,16,123,16,16,124,16,16,16,16,16,16,16,\n 16,16,125,16,16,16,\n 16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,\n 255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,188,64,215,255,255,\n 251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,127,2,255,255,255,\n 255,255,1,0,0,0,0,255,191,182,0,255,255,255,135,7,0,0,0,255,7,255,255,255,255,\n 255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,\n 31,254,225,255,\n 159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,\n 255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,\n 1,255,7,0,0,0,0,0,0,255,255,223,255,255,0,240,255,248,3,255,255,255,255,255,\n 255,255,255,255,239,255,223,225,255,207,255,254,255,239,159,249,255,255,253,\n 197,227,159,89,128,176,207,255,3,16,238,135,249,255,255,253,109,195,135,25,2,\n 94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,30,238,\n 159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,\n 255,195,199,29,129,0,192,255,0,0,239,223,253,255,255,253,255,227,223,29,96,7,\n 207,255,0,0,239,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,255,223,\n 253,255,255,255,255,231,223,93,240,128,207,255,0,252,238,255,127,252,255,255,\n 251,47,127,128,95,255,192,255,12,0,254,255,255,255,255,127,255,7,63,32,255,3,\n 0,0,0,0,214,247,255,255,175,255,255,59,95,32,255,243,0,0,0,\n 0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,\n 31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,255,255,255,\n 255,255,255,255,63,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,\n 255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,\n 127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,\n 7,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,63,63,254,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,\n 255,199,255,1,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,\n 255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,\n 255,255,255,255,255,1,255,255,255,255,255,7,255,255,255,255,255,255,255,255,\n 63,\n 0,255,255,255,127,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,\n 255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,\n 127,254,255,31,0,255,3,255,3,128,0,0,128,1,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,\n 255,191,255,3,0,255,255,255,255,255,255,127,0,255,227,255,255,255,255,255,63,\n 255,1,255,255,255,255,255,231,0,0,0,0,0,222,111,4,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,\n 128,255,31,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,\n 255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,\n 224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,\n 0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,\n 255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,\n 255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,\n 255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,255,254,255,\n 255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,255,0,0,0,0,0,0,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,\n 31,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,\n 255,127,240,143,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,\n 0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,249,255,255,255,\n 255,255,255,252,7,0,0,0,0,224,255,191,255,255,255,255,0,0,0,255,255,255,255,\n 255,255,15,0,255,255,255,255,255,255,255,255,47,0,255,3,0,0,252,232,255,255,\n 255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,\n 255,0,128,255,3,255,255,255,127,255,255,255,255,255,255,127,0,255,63,255,3,\n 255,255,127,252,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,\n 126,0,127,127,255,255,255,255,255,247,255,3,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,\n 255,\n 15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,\n 252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,\n 254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,\n 252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,\n 0,255,255,255,255,0,224,255,255,255,7,255,255,255,255,255,7,255,255,255,63,\n 255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,63,255,3,255,255,255,255,15,255,255,255,\n 255,15,255,255,255,255,255,0,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,255,255,63,0,255,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,255,255,\n 127,0,255,255,255,127,0,0,0,0,0,0,0,0,255,255,55,0,255,255,63,0,255,255,255,3,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,\n 254,255,255,63,0,0,0,0,0,255,255,255,31,255,255,255,31,0,0,0,0,255,254,255,\n 255,31,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,255,255,3,\n 0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,255,255,255,255,255,255,7,\n 0,255,255,255,255,255,255,7,0,255,255,255,255,255,0,255,3,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 255,27,3,0,0,0,0,0,0,0,0,0,255,255,255,31,128,0,255,255,63,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,31,0,0,0,255,255,127,0,255,255,255,255,255,255,255,255,63,0,0,\n 0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,\n 255,255,255,255,199,255,240,0,255,255,255,255,71,0,255,255,255,255,255,255,\n 255,255,30,192,255,23,0,0,0,0,255,255,251,255,255,255,159,64,0,0,0,0,0,0,0,0,\n 127,189,255,191,255,1,255,255,255,255,255,255,255,1,255,3,239,159,249,255,255,\n 253,237,227,159,25,129,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,187,7,255,131,3,0,0,0,255,255,255,255,255,\n 255,255,255,179,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 255,255,255,63,127,0,0,0,63,0,0,0,0,255,255,255,255,255,255,255,127,17,0,255,\n 3,0,0,0,0,255,255,255,255,255,255,63,1,255,3,0,0,0,0,0,0,255,255,255,231,255,\n 7,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,\n 255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,3,0,128,\n 127,242,111,255,255,255,191,153,7,0,255,3,0,0,0,0,0,0,0,0,255,252,255,255,255,\n 255,255,252,26,0,0,0,255,255,255,255,255,255,231,127,0,0,255,255,255,255,255,\n 255,255,255,255,32,0,0,0,0,255,255,255,255,255,255,255,1,255,253,255,255,255,\n 255,127,127,1,0,255,3,0,0,252,255,255,255,252,255,255,254,127,0,0,0,0,0,0,0,0,\n 0,127,251,255,255,255,255,127,180,203,0,255,3,191,253,255,255,255,127,123,1,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,127,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,\n 0,255,255,255,255,255,255,255,1,255,255,255,127,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,63,0,0,255,255,255,255,255,255,0,0,15,0,255,3,248,255,255,224,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,\n 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,135,\n 255,255,255,255,255,255,255,128,255,255,0,0,0,0,0,0,0,0,11,0,3,0,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,\n 255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,\n 127,0,0,0,0,0,0,7,0,240,0,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,7,255,31,255,1,255,67,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,\n 223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,\n 255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,\n 247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,\n 255,255,255,253,255,255,247,207,255,255,255,255,255,255,127,255,255,249,219,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,31,\n 128,63,255,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,15,255,\n 3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,31,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,143,8,\n 255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,255,255,255,150,254,247,10,\n 132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3\n]);\n\n// size: 1568 bytes (compressed to ~1380 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASED = memory.data([\n 18,19,20,21,22,23,16,16,16,16,16,16,16,16,16,16,\n 24,16,16,25,16,16,16,16,16,16,16,16,26,27,17,28,\n 29,30,16,16,31,16,16,16,16,16,16,16,32,33,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,34,35,16,16,16,36,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,37,16,16,16,38,\n 16,16,16,16,39,16,16,16,16,16,16,16,40,16,16,16,\n 16,16,16,16,16,16,16,16,41,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,42,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,43,44,45,46,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,47,16,16,16,16,16,16,\n 16,48,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,\n 255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,247,240,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,239,255,255,255,255,1,3,0,0,0,31,0,0,0,\n 0,0,0,0,0,0,0,0,32,0,0,0,0,0,207,188,64,215,255,255,251,255,255,255,\n 255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,\n 255,255,127,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,\n 191,32,255,255,255,255,255,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,255,255,255,255,255,255,63,63,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,1,255,255,255,255,255,231,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,\n 255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,\n 132,252,47,62,80,189,31,242,224,67,0,0,255,255,255,255,24,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,\n 255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,\n 255,255,255,255,191,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,63,0,0,\n 255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,\n 255,255,255,255,255,255,255,255,255,120,255,255,255,255,255,255,252,7,0,0,0,0,96,7,\n 0,0,0,0,0,0,255,255,255,255,255,247,255,1,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,0,0,0,0,127,0,248,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,7,\n 254,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,\n 255,255,15,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,7,0,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,\n 255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,\n 95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,\n 253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,\n 255,253,255,255,255,253,255,255,247,15,0,0,0,0,0,0,255,255,255,255,255,255,255,255,\n 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,3,255,255,255,3,255,255,255,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0\n]);\n\n// size: 2976 bytes (compressed to ~2050 bytes after binaryen)\n// @ts-ignore: decorator\n@lazy @inline const CASE_IGNORABLES = memory.data([\n 18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,\n 33,16,16,34,16,16,16,35,36,37,38,39,40,41,16,42,\n 43,16,16,16,16,16,16,16,16,16,16,16,44,45,46,16,\n 47,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 48,16,16,16,49,16,50,51,52,53,54,55,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,56,16,16,57,58,\n 16,59,60,61,16,16,16,16,16,16,62,16,16,63,64,65,\n 66,67,68,69,70,71,72,73,74,75,76,16,77,78,79,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,80,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,81,82,16,16,16,83,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,84,16,16,16,\n 16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,\n 16,85,86,16,16,16,16,16,16,16,87,16,16,16,16,16,\n 88,89,90,16,16,16,16,16,91,92,16,16,16,16,16,16,\n 16,16,16,93,16,16,16,16,16,16,16,16,16,16,16,16,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 0,0,0,0,128,64,0,4,0,0,0,64,1,0,0,0,0,0,0,0,0,161,144,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,\n 255,255,255,255,255,255,48,4,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0,0,0,\n 0,0,254,255,255,255,255,191,182,0,0,0,0,0,16,0,63,0,255,23,0,0,0,0,\n 1,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,191,255,61,0,0,\n 0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,1,0,\n 0,0,0,0,0,248,63,36,0,0,192,255,255,63,0,0,0,0,0,14,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,7,0,0,0,0,0,0,20,\n 254,33,254,0,12,0,2,0,2,0,0,0,0,0,0,16,30,32,0,0,12,0,0,64,\n 6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,\n 190,33,0,0,12,0,0,252,2,0,0,0,0,0,0,144,30,32,96,0,12,0,0,0,\n 4,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,17,0,0,0,0,0,0,192,\n 193,61,96,0,12,0,0,0,2,0,0,0,0,0,0,144,64,48,0,0,12,0,0,0,\n 3,0,0,0,0,0,0,24,30,32,0,0,12,0,0,0,2,0,0,0,0,0,0,0,\n 0,4,92,0,0,0,0,0,0,0,0,0,0,0,242,7,192,127,0,0,0,0,0,0,\n 0,0,0,0,0,0,242,31,64,63,0,0,0,0,0,0,0,0,0,3,0,0,160,2,\n 0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,0,0,0,0,\n 0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,\n 0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28,0,\n 0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,143,32,0,0,0,0,\n 0,120,0,0,0,0,0,0,8,0,0,0,0,0,0,0,96,0,0,0,0,2,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,9,0,0,0,0,\n 0,0,64,127,229,31,248,159,0,0,0,0,128,0,255,255,1,0,0,0,0,0,0,0,\n 15,0,0,0,0,0,208,23,4,0,0,0,0,248,15,0,3,0,0,0,60,59,0,0,\n 0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,0,0,0,63,\n 0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,3,0,0,0,0,0,240,255,255,\n 255,255,255,255,255,7,0,1,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,251,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,\n 3,224,0,224,0,224,0,96,0,248,0,3,144,124,0,0,0,0,0,0,223,255,2,128,\n 0,0,255,31,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,0,0,0,0,0,0,0,\n 0,0,0,0,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,60,62,8,\n 0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,112,\n 0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,16,0,0,0,0,0,0,\n 0,0,0,0,0,128,247,191,0,0,0,240,0,0,0,0,0,0,0,0,0,0,3,0,\n 255,255,255,255,3,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,3,68,8,0,0,96,16,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,48,0,0,0,255,255,3,128,0,0,0,0,192,63,0,0,\n 128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,51,0,128,0,0,96,0,0,0,\n 0,0,0,0,0,126,102,0,8,16,0,0,0,0,1,16,0,0,0,0,0,0,157,193,\n 2,0,0,32,0,48,88,0,0,0,0,0,0,0,0,0,0,0,0,248,0,14,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,\n 255,255,8,0,255,255,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,128,128,64,0,4,0,0,0,64,1,0,0,0,0,0,1,0,\n 0,0,0,192,0,0,0,0,0,0,0,0,8,0,0,14,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,7,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,240,0,0,0,0,0,135,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,\n 0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 192,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,128,3,0,0,0,0,0,120,38,\n 0,32,0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,8,0,\n 3,0,0,0,0,0,192,127,0,158,0,0,0,0,0,0,0,0,0,0,0,128,211,64,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,248,7,0,0,\n 3,0,0,0,0,0,0,24,1,0,0,0,192,31,31,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,92,0,0,64,0,0,0,0,\n 0,0,0,0,0,0,248,133,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,176,1,0,0,48,0,0,0,0,\n 0,0,0,0,0,0,248,167,1,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,\n 0,0,0,0,0,0,0,0,0,0,0,224,188,15,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,6,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,88,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,240,12,1,0,0,0,254,7,0,0,0,0,248,121,128,0,126,14,0,0,0,0,\n 0,252,127,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,191,\n 0,0,0,0,0,0,0,0,0,0,252,255,255,252,109,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,126,180,191,0,0,0,0,0,0,0,0,0,163,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,255,1,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,31,0,0,0,0,0,0,0,127,0,15,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,128,0,0,0,0,0,0,0,128,255,255,0,0,0,0,0,0,0,0,27,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,15,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,248,255,\n 231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 255,255,255,255,255,255,127,248,255,255,255,255,255,31,32,0,16,0,0,248,254,255,0,0,\n 0,0,0,0,0,0,0,0,127,255,255,249,219,7,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,63,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n 0,0,0,0,0,0,0,248\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const LOWER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 91,92,93,94,95,96,\n 97,98,99,100,101,102,103,104,105,106,107,108,109,\n 110,111,112,113,114,115,116,117,118,119,120,121,122,\n 123,124,125,126,127\n]);\n\n// @ts-ignore: decorator\n@lazy @inline const UPPER127 = memory.data([\n 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,\n 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,\n 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,\n 48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,\n 64,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 91,92,93,94,95,96,\n 65,66,67,68,69,70,71,72,73,74,75,76,77,\n 78,79,80,81,82,83,84,85,86,87,88,89,90,\n 123,124,125,126,127\n]);\n\n// 23 * 8 = 184 bytes\n// @ts-ignore: decorator\n@lazy @inline const POWERS10 = memory.data([\n 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09,\n 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,\n 1e20, 1e21, 1e22\n]);\n\n// @ts-ignore: decorator\n@inline\nexport const enum CharCode {\n PLUS = 0x2B,\n MINUS = 0x2D,\n DOT = 0x2E,\n _0 = 0x30,\n _1 = 0x31,\n _2 = 0x32,\n _3 = 0x33,\n _4 = 0x34,\n _5 = 0x35,\n _6 = 0x36,\n _7 = 0x37,\n _8 = 0x38,\n _9 = 0x39,\n A = 0x41,\n B = 0x42,\n E = 0x45,\n I = 0x49,\n N = 0x4E,\n O = 0x4F,\n X = 0x58,\n Z = 0x5A,\n a = 0x61,\n b = 0x62,\n e = 0x65,\n n = 0x6E,\n o = 0x6F,\n x = 0x78,\n z = 0x7A\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isAscii(c: u32): bool {\n return !(c >> 7);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isLower8(c: u32): bool {\n return c - CharCode.a < 26;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isUpper8(c: u32): bool {\n return c - CharCode.A < 26;\n}\n\nexport function isSpace(c: u32): bool {\n if (c < 0x1680) { // < (1)\n // , , , , , and \n // (c == 0x20 || c == 0xA0) was optimized to (c | 0x80) == 0xA0\n // @ts-ignore: cast\n return ((c | 0x80) == 0xA0) | (c - 0x09 <= 0x0D - 0x09);\n }\n if (c - 0x2000 <= 0x200A - 0x2000) return true;\n switch (c) {\n case 0x1680: // (1)\n case 0x2028: // (2)\n case 0x2029: // \n case 0x202F: // \n case 0x205F: // \n case 0x3000: // \n case 0xFEFF: return true; // \n }\n return false;\n}\n\nexport function isAlpha(c: u32): bool {\n if (isAscii(c)) return (c | 32) - CharCode.a < 26;\n if (c < 0x20000) {\n // @ts-ignore: cast\n return stagedBinaryLookup(ALPHA_TABLE, c);\n }\n return c < 0x2FFFE;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCased(c: u32): bool {\n // @ts-ignore: cast\n return c < 0x1F18A && stagedBinaryLookup(CASED, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isCaseIgnorable(c: u32): bool {\n // @ts-ignore: cast\n return c < 0xE01F0 && stagedBinaryLookup(CASE_IGNORABLES, c);\n}\n\n// @ts-ignore: decorator\n@inline\nexport function isFinalSigma(buffer: usize, index: isize, len: isize): bool {\n const lookaheadLimit = 30; // max lookahead limit\n var found = false;\n var pos = index;\n var minPos = max(0, pos - lookaheadLimit);\n while (pos > minPos) {\n let c = codePointBefore(buffer, pos);\n if (!isCaseIgnorable(c)) {\n if (isCased(c)) {\n found = true;\n } else {\n return false;\n }\n }\n pos -= isize(c >= 0x10000) + 1;\n }\n if (!found) return false;\n pos = index + 1;\n var maxPos = min(pos + lookaheadLimit, len);\n while (pos < maxPos) {\n let c = load(buffer + (pos << 1));\n if (u32((c & 0xFC00) == 0xD800) & u32(pos + 1 != len)) {\n let c1 = load(buffer + (pos << 1), 2);\n if ((c1 & 0xFC00) == 0xDC00) {\n c = (c - 0xD800 << 10) + (c1 - 0xDC00) + 0x10000;\n }\n }\n if (!isCaseIgnorable(c)) {\n return !isCased(c);\n }\n pos += isize(c >= 0x10000) + 1;\n }\n return true;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction codePointBefore(buffer: usize, index: isize): i32 {\n if (index <= 0) return -1;\n var c = load(buffer + (index - 1 << 1));\n if (u32((c & 0xFC00) == 0xDC00) & u32(index - 2 >= 0)) {\n let c1 = load(buffer + (index - 2 << 1));\n if ((c1 & 0xFC00) == 0xD800) {\n return ((c1 & 0x3FF) << 10) + (c & 0x3FF) + 0x10000;\n }\n }\n return (c & 0xF800) == 0xD800 ? 0xFFFD : c;\n}\n\n// Search routine for two-staged lookup tables\nfunction stagedBinaryLookup(table: usize, c: u32): bool {\n return ((load(table + (load(table + (c >>> 8)) << 5) + ((c & 255) >> 3)) >>> (c & 7)) & 1);\n}\n\nexport function compareImpl(str1: string, index1: usize, str2: string, index2: usize, len: usize): i32 {\n var ptr1 = changetype(str1) + (index1 << 1);\n var ptr2 = changetype(str2) + (index2 << 1);\n if (ASC_SHRINK_LEVEL < 2) {\n if (len >= 4 && !((ptr1 & 7) | (ptr2 & 7))) {\n do {\n if (load(ptr1) != load(ptr2)) break;\n ptr1 += 8;\n ptr2 += 8;\n len -= 4;\n } while (len >= 4);\n }\n }\n while (len--) {\n let a = load(ptr1);\n let b = load(ptr2);\n if (a != b) return a - b;\n ptr1 += 2;\n ptr2 += 2;\n }\n return 0;\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toLower8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c | u32(isUpper8(c)) << 5;\n } else {\n return load(LOWER127 + c);\n }\n}\n\n// @ts-ignore: decorator\n@inline\nexport function toUpper8(c: u32): u32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return c & ~(u32(isLower8(c)) << 5);\n } else {\n return load(UPPER127 + c);\n }\n}\n\n/** Parses a string to an integer (usually), using the specified radix. */\nexport function strtol(str: string, radix: i32 = 0): T {\n var len = str.length;\n if (!len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n\n var ptr = changetype(str) /* + HEAD -> offset */;\n var code = load(ptr);\n\n // trim white spaces\n while (isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n // determine sign\n // @ts-ignore\n var sign: T = 1;\n if (code == CharCode.MINUS || code == CharCode.PLUS) {\n if (!--len) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n if (code == CharCode.MINUS) {\n // @ts-ignore: type\n sign = -1;\n }\n code = load(ptr += 2);\n }\n\n // See https://tc39.es/ecma262/#sec-parseint-string-radix\n if (radix) {\n if (radix < 2 || radix > 36) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n // handle case as parseInt(\"0xFF\", 16) by spec\n if (radix == 16) {\n if (\n len > 2 &&\n code == CharCode._0 &&\n (load(ptr, 2) | 32) == CharCode.x\n ) {\n ptr += 4; len -= 2;\n }\n }\n } else {\n // determine radix by literal prefix\n if (code == CharCode._0 && len > 2) {\n switch (load(ptr, 2) | 32) {\n case CharCode.b: {\n ptr += 4; len -= 2;\n radix = 2;\n break;\n }\n case CharCode.o: {\n ptr += 4; len -= 2;\n radix = 8;\n break;\n }\n case CharCode.x: {\n ptr += 4; len -= 2;\n radix = 16;\n break;\n }\n }\n }\n if (!radix) radix = 10;\n }\n\n // calculate value\n // @ts-ignore: type\n var num: T = 0;\n while (len--) {\n code = load(ptr);\n if (code - CharCode._0 < 10) {\n code -= CharCode._0;\n } else if (code - CharCode.A <= (CharCode.Z - CharCode.A)) {\n code -= CharCode.A - 10;\n } else if (code - CharCode.a <= (CharCode.z - CharCode.a)) {\n code -= CharCode.a - 10;\n }\n if (code >= radix) {\n if (!num) {\n if (isFloat()) {\n // @ts-ignore: cast\n return NaN;\n } else {\n // @ts-ignore: cast\n return 0;\n }\n }\n break;\n }\n // @ts-ignore: type\n num = num * radix + code;\n ptr += 2;\n }\n // @ts-ignore: type\n return sign * num;\n}\n\nexport function strtod(str: string): f64 {\n var len = str.length;\n if (!len) return NaN;\n\n var ptr = changetype(str);\n var code = load(ptr);\n\n var sign = 1.0;\n // skip white spaces\n while (len && isSpace(code)) {\n code = load(ptr += 2);\n --len;\n }\n if (!len) return NaN;\n\n // try parse '-' or '+'\n if (code == CharCode.MINUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return NaN;\n code = load(ptr += 2);\n }\n\n // try parse Infinity\n if (len >= 8 && code == CharCode.I) {\n if (\n load(ptr, 0) == 0x690066006E0049 && // ifnI\n load(ptr, 8) == 0x7900740069006E // ytin\n ) {\n return Infinity * sign;\n }\n return NaN;\n }\n // validate next symbol\n if (code != CharCode.DOT && (code - CharCode._0) >= 10) {\n return NaN;\n }\n var savedPtr = ptr;\n // skip zeros\n while (code == CharCode._0) {\n code = load(ptr += 2);\n --len;\n }\n if (len <= 0) return 0;\n const capacity = 19; // int(64 * 0.3010)\n var pointed = false;\n var consumed = 0;\n var position = 0;\n var x: u64 = 0;\n if (code == CharCode.DOT) {\n let noDigits = !(savedPtr - ptr);\n ptr += 2; --len;\n if (!len && noDigits) return NaN;\n for (pointed = true; (code = load(ptr)) == CharCode._0; --position, ptr += 2) --len;\n if (len <= 0) return 0;\n if (!position && noDigits && code - CharCode._0 >= 10) return NaN;\n }\n for (let digit = code - CharCode._0; digit < 10 || (code == CharCode.DOT && !pointed); digit = code - CharCode._0) {\n if (digit < 10) {\n x = consumed < capacity ? 10 * x + digit : x | u64(!!digit);\n ++consumed;\n } else {\n position = consumed;\n pointed = true;\n }\n if (!--len) break;\n code = load(ptr += 2);\n }\n\n if (!pointed) position = consumed;\n return copysign(scientific(x, position - min(capacity, consumed) + parseExp(ptr, len)), sign);\n}\n\nexport function joinBooleanArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) return select(\"true\", \"false\", load(dataStart));\n\n var sepLen = separator.length;\n var valueLen = 5; // max possible length of element len(\"false\")\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: bool;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + i);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + lastIndex);\n valueLen = 4 + i32(!value);\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(select(\"true\", \"false\", value)),\n valueLen << 1\n );\n offset += valueLen;\n\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinIntegerArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n let value = load(dataStart);\n if (isSigned()) {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(itoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(itoa64(value, 10)); // retains\n }\n } else {\n if (sizeof() <= 4) {\n // @ts-ignore: type\n return changetype(utoa32(value, 10)); // retains\n } else {\n // @ts-ignore: type\n return changetype(utoa64(value, 10)); // retains\n }\n }\n }\n\n var sepLen = separator.length;\n const valueLen = (sizeof() <= 4 ? 10 : 20) + i32(isSigned());\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += itoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinFloatArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n return changetype(dtoa(\n // @ts-ignore: type\n load(dataStart))\n ); // retains\n }\n\n const valueLen = MAX_DOUBLE_LENGTH;\n var sepLen = separator.length;\n var estLen = (valueLen + sepLen) * lastIndex + valueLen;\n var result = changetype(__new(estLen << 1, idof())); // retains\n var offset = 0;\n var value: T;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (sepLen) {\n memory.copy(\n changetype(result) + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n offset += dtoa_buffered(changetype(result) + (offset << 1), value);\n if (estLen > offset) return result.substring(0, offset);\n return result;\n}\n\nexport function joinStringArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n if (!lastIndex) {\n // @ts-ignore: type\n return load(dataStart) || \"\";\n }\n var estLen = 0;\n var value: string;\n for (let i = 0; i < length; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) estLen += value.length;\n }\n var offset = 0;\n var sepLen = separator.length;\n var result = __new((estLen + sepLen * lastIndex) << 1, idof());\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n if (value !== null) {\n let valueLen = value.length;\n memory.copy(\n result + (offset << 1),\n changetype(value),\n valueLen << 1\n );\n offset += valueLen;\n }\n if (sepLen) {\n memory.copy(\n result + (offset << 1),\n changetype(separator),\n sepLen << 1\n );\n offset += sepLen;\n }\n }\n value = load(dataStart + (lastIndex << alignof()));\n if (value !== null) {\n memory.copy(\n result + (offset << 1),\n changetype(value),\n value.length << 1\n );\n }\n return changetype(result); // retains\n}\n\nexport function joinReferenceArray(dataStart: usize, length: i32, separator: string): string {\n var lastIndex = length - 1;\n if (lastIndex < 0) return \"\";\n var value: T;\n if (!lastIndex) {\n value = load(dataStart);\n // @ts-ignore: type\n return value !== null ? value.toString() : \"\";\n }\n var result = \"\";\n var sepLen = separator.length;\n for (let i = 0; i < lastIndex; ++i) {\n value = load(dataStart + (i << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n if (sepLen) result += separator;\n }\n value = load(dataStart + (lastIndex << alignof()));\n // @ts-ignore: type\n if (value !== null) result += value.toString();\n return result;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction scientific(significand: u64, exp: i32): f64 {\n if (!significand || exp < -342) return 0;\n if (exp > 308) return Infinity;\n // Try use fast path\n // Use fast path for string-to-double conversion if possible\n // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion\n // Simple integer\n var significandf = significand;\n if (!exp) return significandf;\n if (exp > 22 && exp <= 22 + 15) {\n significandf *= pow10(exp - 22);\n exp = 22;\n }\n if (significand <= 9007199254740991 && abs(exp) <= 22) {\n if (exp > 0) return significandf * pow10(exp);\n return significandf / pow10(-exp);\n } else if (exp < 0) {\n return scaledown(significand, exp);\n } else {\n return scaleup(significand, exp);\n }\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaledown(significand: u64, exp: i32): f64 {\n const denom: u64 = 6103515625; // 1e14 * 0x1p-14\n const scale = reinterpret(0x3F06849B86A12B9B); // 1e-14 * 0x1p32\n\n var shift = clz(significand);\n significand <<= shift;\n shift = exp - shift;\n\n for (; exp <= -14; exp += 14) {\n let q = significand / denom;\n let r = significand % denom;\n let s = clz(q);\n significand = (q << s) + nearest(scale * (r << (s - 18)));\n shift -= s;\n }\n var b = ipow32(5, -exp);\n var q = significand / b;\n var r = significand % b;\n var s = clz(q);\n significand = (q << s) + (reinterpret(reinterpret(r) + (s << 52)) / b);\n shift -= s;\n\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction scaleup(significand: u64, exp: i32): f64 {\n const coeff: u32 = 1220703125; // 1e13 * 0x1p-13;\n var shift = ctz(significand);\n significand >>= shift;\n shift += exp;\n\n __fixmulShift = shift;\n for (; exp >= 13; exp -= 13) {\n significand = fixmul(significand, coeff);\n }\n significand = fixmul(significand, ipow32(5, exp));\n shift = __fixmulShift;\n return NativeMath.scalbn(significand, shift);\n}\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction parseExp(ptr: usize, len: i32): i32 {\n var sign = 1, magnitude = 0;\n var code = load(ptr);\n // check code is 'e' or 'E'\n if ((code | 32) != CharCode.e) return 0;\n\n if (!--len) return 0;\n code = load(ptr += 2);\n if (code == CharCode.MINUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n sign = -1;\n } else if (code == CharCode.PLUS) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n // skip zeros\n while (code == CharCode._0) {\n if (!--len) return 0;\n code = load(ptr += 2);\n }\n for (let digit: u32 = code - CharCode._0; len && digit < 10; digit = code - CharCode._0) {\n if (magnitude >= 3200) return sign * 3200;\n magnitude = 10 * magnitude + digit;\n code = load(ptr += 2);\n --len;\n }\n return sign * magnitude;\n}\n\n// @ts-ignore: decorator\n@lazy var __fixmulShift: u64 = 0;\n\n// Adopted from metallic lib:\n// https://github.com/jdh8/metallic/blob/master/src/stdlib/parse/scientific.h\n// @ts-ignore: decorator\n@inline\nfunction fixmul(a: u64, b: u32): u64 {\n var low = (a & 0xFFFFFFFF) * b;\n var high = (a >> 32) * b + (low >> 32);\n var overflow = (high >> 32);\n var space = clz(overflow);\n var revspace: u64 = 32 - space;\n __fixmulShift += revspace;\n return (high << space | (low & 0xFFFFFFFF) >> revspace) + (low << space >> 31 & 1);\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pow10(n: i32): f64 {\n // argument `n` should bounds in [0, 22] range\n return load(POWERS10 + (n << alignof()));\n}\n","/// \n\nimport { BLOCK_MAXSIZE } from \"./rt/common\";\nimport { COMPARATOR, SORT } from \"./util/sort\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\nimport { idof, isArray as builtin_isArray } from \"./builtins\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_ILLEGALGENTYPE, E_EMPTYARRAY, E_HOLEYARRAY } from \"./util/error\";\n\n/** Ensures that the given array has _at least_ the specified backing size. */\nfunction ensureSize(array: usize, minSize: usize, alignLog2: u32): void {\n // depends on the fact that Arrays mimic ArrayBufferView\n var oldCapacity = changetype(array).byteLength;\n if (minSize > oldCapacity >>> alignLog2) {\n if (minSize > BLOCK_MAXSIZE >>> alignLog2) throw new RangeError(E_INVALIDLENGTH);\n let oldData = changetype(changetype(array).buffer);\n let newCapacity = minSize << alignLog2;\n let newData = __renew(oldData, newCapacity); // keeps RC\n memory.fill(newData + oldCapacity, 0, newCapacity - oldCapacity);\n if (newData !== oldData) { // oldData has been free'd\n store(array, newData, offsetof(\"buffer\"));\n store(array, newData, offsetof(\"dataStart\"));\n }\n store(array, newCapacity, offsetof(\"byteLength\"));\n }\n}\n\nexport class Array {\n [key: number]: T;\n\n // Mimicking ArrayBufferView isn't strictly necessary here but is done to allow glue code\n // to work with typed and normal arrays interchangeably. Technically, normal arrays do not need\n // `dataStart` (equals `buffer`) and `byteLength` (equals computed `buffer.byteLength`), but the\n // block is 16 bytes anyway so it's fine to have a couple extra fields in there.\n\n private buffer: ArrayBuffer;\n private dataStart: usize;\n private byteLength: i32;\n\n // Also note that Array with non-nullable T must guard against uninitialized null values\n // whenever an element is accessed. Otherwise, the compiler wouldn't be able to guarantee\n // type-safety anymore. For lack of a better word, such an array is \"holey\".\n\n private length_: i32;\n\n static isArray(value: U): bool {\n return isReference() ? builtin_isArray(value) && value !== null : false;\n }\n\n static create(capacity: i32 = 0): Array {\n WARNING(\"'Array.create' is deprecated. Use 'new Array' instead, making sure initial elements are initialized.\");\n var array = new Array(capacity);\n array.length = 0;\n return array;\n }\n\n constructor(length: i32 = 0) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var bufferSize = length << alignof();\n var buffer = __new(bufferSize, idof());\n memory.fill(buffer, 0, bufferSize);\n this.buffer = changetype(buffer); // retains\n this.dataStart = buffer;\n this.byteLength = bufferSize;\n this.length_ = length;\n }\n\n get length(): i32 {\n return this.length_;\n }\n\n set length(newLength: i32) {\n var oldLength = this.length_;\n if (isManaged()) {\n if (oldLength > newLength) { // release no longer used refs\n let dataStart = this.dataStart;\n let cur = dataStart + (newLength << alignof());\n let end = dataStart + (oldLength << alignof());\n do __release(load(cur));\n while ((cur += sizeof()) < end);\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n } else {\n ensureSize(changetype(this), newLength, alignof());\n }\n this.length_ = newLength;\n }\n\n every(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (!fn(load(this.dataStart + (index << alignof())), index, this)) return false;\n }\n return true;\n }\n\n findIndex(predicate: (value: T, index: i32, array: Array) => bool): i32 {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (predicate(load(this.dataStart + (index << alignof())), index, this)) return index;\n }\n return -1;\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length_) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(this.dataStart + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length_) {\n if (index < 0) throw new RangeError(E_INDEXOUTOFRANGE);\n ensureSize(changetype(this), index + 1, alignof());\n this.length_ = index + 1;\n }\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = this.dataStart + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(oldRef);\n }\n } else {\n store(this.dataStart + (index << alignof()), value);\n }\n }\n\n fill(value: T, start: i32 = 0, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n end = end < 0 ? max(length + end, 0) : min(end, length);\n if (isManaged()) {\n for (; start < end; ++start) {\n let oldRef: usize = load(dataStart + (start << alignof()));\n if (changetype(value) != oldRef) {\n store(dataStart + (start << alignof()), __retain(changetype(value)));\n __release(oldRef);\n }\n }\n } else if (sizeof() == 1) {\n if (start < end) {\n memory.fill(\n dataStart + start,\n u8(value),\n (end - start)\n );\n }\n } else {\n for (; start < end; ++start) {\n store(dataStart + (start << alignof()), value);\n }\n }\n return this;\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length_;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n let dataStart = this.dataStart;\n while (fromIndex < length) {\n let elem = load(dataStart + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length_;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n var dataStart = this.dataStart;\n while (fromIndex < length) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length_): i32 {\n var length = this.length_;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n var dataStart = this.dataStart;\n while (fromIndex >= 0) {\n if (load(dataStart + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n push(value: T): i32 {\n var length = this.length_;\n var newLength = length + 1;\n ensureSize(changetype(this), newLength, alignof());\n if (isManaged()) {\n store(this.dataStart + (length << alignof()), __retain(changetype(value)));\n } else {\n store(this.dataStart + (length << alignof()), value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length_;\n var otherLen = select(0, other.length_, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = this.dataStart;\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, this.dataStart, thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n copyWithin(target: i32, start: i32, end: i32 = i32.MAX_VALUE): this {\n var dataStart = this.dataStart;\n var len = this.length_;\n\n end = min(end, len);\n\n var to = target < 0 ? max(len + target, 0) : min(target, len);\n var from = start < 0 ? max(len + start, 0) : min(start, len);\n var last = end < 0 ? max(len + end, 0) : min(end, len);\n var count = min(last - from, len - to);\n\n if (isManaged()) {\n if (from < to && to < (from + count)) { // right to left\n from += count - 1;\n to += count - 1;\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n --from, --to, --count;\n }\n } else { // left to right\n while (count) {\n let oldRef: usize = load(dataStart + (to << alignof()));\n let newRef: usize = load(dataStart + (from << alignof()));\n if (newRef != oldRef) {\n store(dataStart + (to << alignof()), __retain(newRef));\n __release(oldRef);\n }\n ++from, ++to, --count;\n }\n }\n } else {\n memory.copy( // is memmove\n dataStart + (to << alignof()),\n dataStart + (from << alignof()),\n count << alignof()\n );\n }\n return this;\n }\n\n pop(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var element = load(this.dataStart + ((--length) << alignof()));\n this.length_ = length;\n return element; // no need to retain -> is moved\n }\n\n forEach(fn: (value: T, index: i32, array: Array) => void): void {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n fn(load(this.dataStart + (index << alignof())), index, this);\n }\n }\n\n map(fn: (value: T, index: i32, array: Array) => U): Array {\n var length = this.length_;\n var out = changetype>(__newArray(length, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n for (let index = 0; index < min(length, this.length_); ++index) {\n let result = fn(load(this.dataStart + (index << alignof())), index, this); // retains\n if (isManaged()) {\n store(outStart + (index << alignof()), __retain(changetype(result)));\n } else {\n store(outStart + (index << alignof()), result);\n }\n // releases result\n }\n return out;\n }\n\n filter(fn: (value: T, index: i32, array: Array) => bool): Array {\n var result = changetype>(__newArray(0, alignof(), idof>())); // retains\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n let value = load(this.dataStart + (index << alignof()));\n if (fn(value, index, this)) result.push(value);\n }\n return result;\n }\n\n reduce(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n reduceRight(\n fn: (previousValue: U, currentValue: T, currentIndex: i32, array: Array) => U,\n initialValue: U\n ): U {\n var accum = initialValue;\n for (let index = this.length_ - 1; index >= 0; --index) {\n accum = fn(accum, load(this.dataStart + (index << alignof())), index, this);\n }\n return accum;\n }\n\n shift(): T {\n var length = this.length_;\n if (length < 1) throw new RangeError(E_EMPTYARRAY);\n var base = this.dataStart;\n var element = load(base);\n var lastIndex = length - 1;\n memory.copy(\n base,\n base + sizeof(),\n lastIndex << alignof()\n );\n if (isReference()) {\n store(base + (lastIndex << alignof()), 0);\n } else {\n // @ts-ignore\n store(base + (lastIndex << alignof()), 0);\n }\n this.length_ = lastIndex;\n return element; // no need to retain -> is moved\n }\n\n some(fn: (value: T, index: i32, array: Array) => bool): bool {\n for (let index = 0, length = this.length_; index < min(length, this.length_); ++index) {\n if (fn(load(this.dataStart + (index << alignof())), index, this)) return true;\n }\n return false;\n }\n\n unshift(value: T): i32 {\n var newLength = this.length_ + 1;\n ensureSize(changetype(this), newLength, alignof());\n var dataStart = this.dataStart;\n memory.copy(\n dataStart + sizeof(),\n dataStart,\n (newLength - 1) << alignof()\n );\n if (isManaged()) {\n store(dataStart, __retain(changetype(value)));\n } else {\n store(dataStart, value);\n }\n this.length_ = newLength;\n return newLength;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = this.dataStart + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array {\n var length = this.length_;\n start = start < 0 ? max(length + start, 0) : min(start, length);\n deleteCount = max(min(deleteCount, length - start), 0);\n var result = changetype>(__newArray(deleteCount, alignof(), idof>())); // retains\n var resultStart = result.dataStart;\n var thisStart = this.dataStart;\n var thisBase = thisStart + (start << alignof());\n // no need to retain -> is moved\n memory.copy(\n resultStart,\n thisBase,\n deleteCount << alignof()\n );\n var offset = start + deleteCount;\n if (length != offset) {\n memory.copy(\n thisBase,\n thisStart + (offset << alignof()),\n (length - offset) << alignof()\n );\n }\n this.length_ = length - deleteCount;\n return result;\n }\n\n reverse(): Array {\n var length = this.length_;\n if (length) {\n let front = this.dataStart;\n let back = this.dataStart + ((length - 1) << alignof());\n while (front < back) {\n let temp = load(front);\n store(front, load(back));\n store(back, temp);\n front += sizeof();\n back -= sizeof();\n }\n }\n return this;\n }\n\n sort(comparator: (a: T, b: T) => i32 = COMPARATOR()): this {\n var length = this.length_;\n if (length <= 1) return this;\n var base = this.dataStart;\n if (length == 2) {\n let a: T = load(base, sizeof()); // a = arr[1]\n let b: T = load(base); // b = arr[0]\n if (comparator(a, b) < 0) {\n store(base, b, sizeof()); // arr[1] = b;\n store(base, a); // arr[0] = a;\n }\n return this;\n }\n SORT(base, length, comparator);\n return this;\n }\n\n join(separator: string = \",\"): string {\n var dataStart = this.dataStart;\n var length = this.length_;\n if (isBoolean()) return joinBooleanArray(dataStart, length, separator);\n if (isInteger()) return joinIntegerArray(dataStart, length, separator);\n if (isFloat()) return joinFloatArray(dataStart, length, separator);\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(dataStart, length, separator);\n }\n // For rest objects and arrays use general join routine\n if (isReference()) return joinReferenceArray(dataStart, length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n flat(): T {\n if (!isArray()) {\n throw new TypeError(E_ILLEGALGENTYPE);\n }\n // Get the length and data start values\n var length = this.length_;\n var selfDataStart = this.dataStart;\n\n // calculate the end size with an initial pass\n var size = 0;\n for (let i = 0; i < length; i++) {\n let child = load(selfDataStart + (i << alignof()));\n size += child == 0 ? 0 : load(child, offsetof(\"length_\"));\n }\n\n // calculate the byteLength of the resulting backing ArrayBuffer\n var byteLength = size << usize(alignof>());\n var dataStart = __new(byteLength, idof());\n\n // create the return value and initialize it\n var result = __new(offsetof(), idof());\n store(result, size, offsetof(\"length_\"));\n\n // byteLength, dataStart, and buffer are all readonly\n store(result, byteLength, offsetof(\"byteLength\"));\n store(result, dataStart, offsetof(\"dataStart\"));\n store(result, __retain(dataStart), offsetof(\"buffer\"));\n\n // set the elements\n var resultOffset: usize = 0;\n for (let i = 0; i < length; i++) { // for each child\n let child = load(selfDataStart + (i << alignof()));\n\n // ignore null arrays\n if (child == 0) continue;\n\n // copy the underlying buffer data to the result buffer\n let childDataLength = load(child, offsetof(\"byteLength\"));\n memory.copy(\n dataStart + resultOffset,\n load(child, offsetof(\"dataStart\")),\n childDataLength\n );\n\n // advance the result length\n resultOffset += childDataLength;\n }\n\n // if the `valueof` type is managed, we must call __retain() on each reference\n if (isManaged>()) {\n for (let i = 0; i < size; i++) {\n __retain(load(dataStart + (i << usize(alignof>()))));\n }\n }\n\n return changetype(result);\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = this.dataStart;\n let end = cur + (this.length_ << alignof());\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n __visit(changetype(this.buffer), cookie);\n }\n}\n","// Common error messages for use accross the standard library. Keeping error messages compact\n// and reusing them where possible ensures minimal static data in binaries.\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INDEXOUTOFRANGE: string = \"Index out of range\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_INVALIDLENGTH: string = \"Invalid length\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_ILLEGALGENTYPE: string = \"Illegal generic type\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_EMPTYARRAY: string = \"Array is empty\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_HOLEYARRAY: string = \"Element type must be nullable if array is holey\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_NOTIMPLEMENTED: string = \"Not implemented\";\n\n// @ts-ignore: decorator\n@lazy @inline\nexport const E_KEYNOTFOUND: string = \"Key does not exist\";\n","\nexport class VertGroup {\n mat_index: i32;\n obj_index: i32;\n start_face: i32;\n length: i32;\n\n constructor(material_index: i32, object_index: i32, starting_face: i32, len: i32 ) {\n this.mat_index = material_index;\n this.obj_index = object_index;\n this.start_face = starting_face;\n this.length = len;\n }\n}\n\nexport class MaterialMap {\n ambient: string | null;\n diffuse: string | null;\n specular: string | null;\n emission: string | null;\n bump: string | null;\n\n constructor( Ka: string | null, Kd: string | null, \n Ks: string | null, Ke: string | null,\n Bump: string | null ) {\n this.ambient = Ka;\n this.diffuse = Kd;\n this.specular = Ks;\n this.emission = Ke;\n this.bump = Bump;\n }\n}\n\nexport var objArray = new Array>(); //1\nexport var matArray = new Array>(); //1\nexport var groupArray = new Array(); //0\nexport var matMapArray = new Array(); //BBB\n\nexport var Material_001_mat:StaticArray = [\n 225.000000, // specularExponent\n 1.000000, 1.000000, 1.000000, // ambientReflectivity\n 0.800000, 0.800000, 0.800000, // diffuseReflectivity\n 0.500000, 0.500000, 0.500000, // specularReflectivity\n 0.000000, 0.000000, 0.000000, // emission\n 1.450000, // opticalDensity\n 1.000000, // dissolveFactor\n 2, // illuminationModel\n ];\n\nmatMapArray.push(new MaterialMap(null, 'LunarMap.png', null, null, 'LunarNormalMap.png'));\n\nmatArray.push(Material_001_mat); \n\n\nexport var Moon_Sphere_data: StaticArray =[\n//X, Y, Z, U, V, NX, NY, NZ\n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n 0, 0.7, 0, 0.734375, 1, 0, 1, 0, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n 0, -0.7, 0, 0.734375, 0, 0, -1, 0, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n 0, 0.7, 0, 0.703125, 1, 0, 1, 0, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n 0, -0.7, 0, 0.703125, 0, 0, -1, 0, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n 0, 0.7, 0, 0.671875, 1, 0, 1, 0, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n 0, -0.7, 0, 0.671875, 0, 0, -1, 0, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n 0, 0.7, 0, 0.640625, 1, 0, 1, 0, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n 0, -0.7, 0, 0.640625, 0, 0, -1, 0, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n 0, 0.7, 0, 0.609375, 1, 0, 1, 0, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n 0, -0.7, 0, 0.609375, 0, 0, -1, 0, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n 0, 0.7, 0, 0.578125, 1, 0, 1, 0, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n 0, -0.7, 0, 0.578125, 0, 0, -1, 0, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n 0, 0.7, 0, 0.546875, 1, 0, 1, 0, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n 0, -0.7, 0, 0.546875, 0, 0, -1, 0, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n 0, 0.7, 0, 0.515625, 1, 0, 1, 0, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n 0, -0.7, 0, 0.515625, 0, 0, -1, 0, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n 0, 0.7, 0, 0.484374, 1, 0, 1, 0, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n 0, -0.7, 0, 0.484375, 0, 0, -1, 0, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n 0, 0.7, 0, 0.453124, 1, 0, 1, 0, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n 0, -0.7, 0, 0.453125, 0, 0, -1, 0, \n0.133939, -0.68655, 0.026642, 0.46875, 0.0625, 0.1971, -0.9796, 0.0392, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n 0, 0.7, 0, 0.421874, 1, 0, 1, 0, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n 0, -0.7, 0, 0.421875, 0, 0, -1, 0, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n 0, 0.7, 0, 0.390625, 1, 0, 1, 0, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n 0, -0.7, 0, 0.390625, 0, 0, -1, 0, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n 0, 0.7, 0, 0.359375, 1, 0, 1, 0, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n 0, -0.7, 0, 0.359375, 0, 0, -1, 0, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n 0, 0.7, 0, 0.328125, 1, 0, 1, 0, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n 0, -0.7, 0, 0.328125, 0, 0, -1, 0, \n0.07587, -0.68655, 0.113548, 0.34375, 0.0625, 0.1116, -0.9796, 0.1671, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n 0, 0.7, 0, 0.296875, 1, 0, 1, 0, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, -0.7, 0, 0.296875, 0, 0, -1, 0, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, 0.7, 0, 0.265625, 1, 0, 1, 0, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n 0, -0.7, 0, 0.265625, 0, 0, -1, 0, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n 0, 0.7, 0, 0.234375, 1, 0, 1, 0, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n 0, -0.7, 0, 0.234375, 0, 0, -1, 0, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n 0, -0.68655, 0.136563, 0.25, 0.0625, 0, -0.9796, 0.201, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n 0, 0.7, 0, 0.203125, 1, 0, 1, 0, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n 0, -0.7, 0, 0.203125, 0, 0, -1, 0, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n 0, 0.7, 0, 0.171875, 1, 0, 1, 0, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n 0, -0.7, 0, 0.171875, 0, 0, -1, 0, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n 0, 0.7, 0, 0.140625, 1, 0, 1, 0, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n 0, -0.7, 0, 0.140625, 0, 0, -1, 0, \n-0.07587, -0.68655, 0.113548, 0.15625, 0.0625, -0.1116, -0.9796, 0.1671, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n 0, 0.7, 0, 0.109375, 1, 0, 1, 0, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n 0, -0.7, 0, 0.109375, 0, 0, -1, 0, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n 0, 0.7, 0, 0.078125, 1, 0, 1, 0, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n 0, -0.7, 0, 0.078125, 0, 0, -1, 0, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n 0, 0.7, 0, 0.046875, 1, 0, 1, 0, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n 0, -0.7, 0, 0.046875, 0, 0, -1, 0, \n-0.126168, -0.68655, 0.052261, 0.0625, 0.0625, -0.1856, -0.9796, 0.0769, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.686549, 0.136563, 0, 0, 0.5625, -0.981, 0.1939, 0, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n 0, 0.7, 0, 0.015625, 1, 0, 1, 0, \n-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, \n 0, -0.7, 0, 0.015625, 0, 0, -1, 0, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.686549, -0.136563, 0, 0, 0.4375, -0.981, -0.1939, 0, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, \n-0.267878, 0.646716, 0, 0, 0.875, -0.3879, 0.9217, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.582028, -0.388899, 0, 0, 0.3125, -0.8333, -0.5528, 0, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.494975, 0.494975, 0, 0, 0.75, -0.7101, 0.704, 0, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, \n-0.267878, -0.646716, 0, 0, 0.125, -0.3879, -0.9217, 0, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.388899, -0.582029, 0, 1, 0.1875, -0.5598, -0.8286, 0, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.646716, 0.267878, 0, 1, 0.625, -0.9247, 0.3805, 0, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.136563, -0.68655, 0, 1, 0.0625, -0.201, -0.9796, 0, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.7, 0, 0, 1, 0.5, -1, 0, 0, \n-0.136563, 0.68655, 0, 1, 0.9375, -0.201, 0.9796, 0, \n 0, 0.7, 0, 0.984375, 1, 0, 1, 0, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n 0, -0.7, 0, 0.984375, 0, 0, -1, 0, \n-0.136563, -0.68655, 0, 1, 0.0625, -0.201, -0.9796, 0, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.646716, -0.267878, 0, 1, 0.375, -0.9247, -0.3805, 0, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.388899, 0.582029, 0, 1, 0.8125, -0.5598, 0.8286, 0, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n 0, 0.7, 0, 0.953125, 1, 0, 1, 0, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n 0, -0.7, 0, 0.953125, 0, 0, -1, 0, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n 0, 0.7, 0, 0.921875, 1, 0, 1, 0, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n 0, -0.7, 0, 0.921875, 0, 0, -1, 0, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n 0, 0.7, 0, 0.890625, 1, 0, 1, 0, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n 0, -0.7, 0, 0.890625, 0, 0, -1, 0, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n 0, 0.7, 0, 0.859375, 1, 0, 1, 0, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n 0, -0.7, 0, 0.859375, 0, 0, -1, 0, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n 0, -0.7, 0, 0.828125, 0, 0, -1, 0, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n 0, 0.7, 0, 0.828125, 1, 0, 1, 0, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n 0, 0.7, 0, 0.796875, 1, 0, 1, 0, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n 0, -0.7, 0, 0.796875, 0, 0, -1, 0, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n 0, 0.7, 0, 0.765625, 1, 0, 1, 0, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n 0, -0.7, 0, 0.765625, 0, 0, -1, 0, \n-0.026642, -0.68655, -0.133939, 0.78125, 0.0625, -0.0392, -0.9796, -0.1971, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.026642, -0.68655, -0.133939, 0.71875, 0.0625, 0.0392, -0.9796, -0.1971, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.052261, -0.646716, -0.262731, 0.71875, 0.125, 0.0757, -0.9217, -0.3804, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.052261, -0.68655, -0.126168, 0.6875, 0.0625, 0.0769, -0.9796, -0.1856, \n0.133939, 0.136563, -0.673358, 0.71875, 0.5625, 0.1914, 0.1939, -0.9622, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.136563, 0, -0.68655, 0.71875, 0.5, 0.1951, 0, -0.9808, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.026642, 0.68655, -0.133939, 0.71875, 0.9375, 0.0392, 0.9796, -0.1971, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.133939, -0.136563, -0.673358, 0.71875, 0.4375, 0.1914, -0.1939, -0.9622, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.052261, 0.646716, -0.262731, 0.71875, 0.875, 0.0757, 0.9217, -0.3804, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.126168, -0.267878, -0.634289, 0.71875, 0.375, 0.1804, -0.3805, -0.907, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.075871, 0.582029, -0.381427, 0.71875, 0.8125, 0.1092, 0.8286, -0.549, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.113548, -0.388899, -0.570845, 0.71875, 0.3125, 0.1626, -0.5528, -0.8173, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.096565, 0.494975, -0.485464, 0.71875, 0.75, 0.1385, 0.704, -0.6965, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.096565, -0.494975, -0.485464, 0.71875, 0.25, 0.1385, -0.704, -0.6965, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.113548, 0.388899, -0.570845, 0.71875, 0.6875, 0.1626, 0.5528, -0.8173, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.075871, -0.582029, -0.381427, 0.71875, 0.1875, 0.1092, -0.8286, -0.549, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.126168, 0.267878, -0.634289, 0.71875, 0.625, 0.1804, 0.3805, -0.907, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.189419, 0.494975, -0.457297, 0.6875, 0.75, 0.2717, 0.704, -0.6561, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.189419, -0.494975, -0.457297, 0.6875, 0.25, 0.2717, -0.704, -0.6561, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.222733, 0.388899, -0.537724, 0.6875, 0.6875, 0.3189, 0.5528, -0.7699, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.148825, -0.582029, -0.359296, 0.6875, 0.1875, 0.2142, -0.8286, -0.5171, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.247487, 0.267878, -0.597487, 0.6875, 0.625, 0.3539, 0.3805, -0.8544, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.102513, -0.646716, -0.247487, 0.6875, 0.125, 0.1484, -0.9217, -0.3583, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.07587, -0.68655, -0.113548, 0.65625, 0.0625, 0.1116, -0.9796, -0.1671, \n0.262731, 0.136563, -0.634289, 0.6875, 0.5625, 0.3754, 0.1939, -0.9063, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.267878, 0, -0.646716, 0.6875, 0.5, 0.3827, 0, -0.9239, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.052261, 0.68655, -0.126168, 0.6875, 0.9375, 0.0769, 0.9796, -0.1856, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.262731, -0.136563, -0.634289, 0.6875, 0.4375, 0.3754, -0.1939, -0.9063, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.102513, 0.646716, -0.247487, 0.6875, 0.875, 0.1484, 0.9217, -0.3583, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.222733, -0.388899, -0.537724, 0.6875, 0.3125, 0.3189, -0.5528, -0.7699, \n0.247487, -0.267878, -0.597487, 0.6875, 0.375, 0.3539, -0.3805, -0.8544, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.148825, 0.582029, -0.359296, 0.6875, 0.8125, 0.2142, 0.8286, -0.5171, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.075871, 0.68655, -0.113548, 0.65625, 0.9375, 0.1116, 0.9796, -0.1671, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.381427, -0.136563, -0.570845, 0.65625, 0.4375, 0.545, -0.1939, -0.8157, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.148825, 0.646716, -0.222733, 0.65625, 0.875, 0.2155, 0.9217, -0.3225, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.359296, -0.267878, -0.537724, 0.65625, 0.375, 0.5137, -0.3805, -0.7689, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.216061, 0.582029, -0.323358, 0.65625, 0.8125, 0.311, 0.8286, -0.4654, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.323358, -0.388899, -0.483939, 0.65625, 0.3125, 0.463, -0.5528, -0.6929, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.274993, 0.494975, -0.411556, 0.65625, 0.75, 0.3945, 0.704, -0.5904, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.274993, -0.494975, -0.411556, 0.65625, 0.25, 0.3945, -0.704, -0.5904, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.323358, 0.388899, -0.483939, 0.65625, 0.6875, 0.463, 0.5528, -0.6929, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.216061, -0.582029, -0.323358, 0.65625, 0.1875, 0.311, -0.8286, -0.4654, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.359296, 0.267878, -0.537724, 0.65625, 0.625, 0.5137, 0.3805, -0.7689, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.148825, -0.646716, -0.222733, 0.65625, 0.125, 0.2155, -0.9217, -0.3225, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.096565, -0.68655, -0.096565, 0.625, 0.0625, 0.1421, -0.9796, -0.1421, \n0.388899, 0, -0.582029, 0.65625, 0.5, 0.5556, 0, -0.8314, \n0.381427, 0.136563, -0.570845, 0.65625, 0.5625, 0.545, 0.1939, -0.8157, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.35, 0.494975, -0.35, 0.625, 0.75, 0.5021, 0.704, -0.5021, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.35, -0.494975, -0.35, 0.625, 0.25, 0.5021, -0.704, -0.5021, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.411557, 0.388899, -0.411556, 0.625, 0.6875, 0.5893, 0.5528, -0.5893, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.274993, -0.582029, -0.274993, 0.625, 0.1875, 0.3958, -0.8286, -0.3958, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.457297, 0.267878, -0.457297, 0.625, 0.625, 0.6539, 0.3805, -0.6539, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.189419, -0.646716, -0.189419, 0.625, 0.125, 0.2743, -0.9217, -0.2743, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.113548, -0.68655, -0.07587, 0.59375, 0.0625, 0.1671, -0.9796, -0.1116, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.485464, 0.136563, -0.485464, 0.625, 0.5625, 0.6937, 0.1939, -0.6937, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.494975, 0, -0.494975, 0.625, 0.5, 0.7071, 0, -0.7071, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.096565, 0.68655, -0.096565, 0.625, 0.9375, 0.1421, 0.9796, -0.1421, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.485464, -0.136563, -0.485464, 0.625, 0.4375, 0.6937, -0.1939, -0.6937, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.189419, 0.646716, -0.189419, 0.625, 0.875, 0.2743, 0.9217, -0.2743, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.457297, -0.267878, -0.457297, 0.625, 0.375, 0.6539, -0.3805, -0.6539, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.274993, 0.582029, -0.274993, 0.625, 0.8125, 0.3958, 0.8286, -0.3958, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.411557, -0.388899, -0.411556, 0.625, 0.3125, 0.5893, -0.5528, -0.5893, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.582029, 0, -0.388899, 0.59375, 0.5, 0.8314, 0, -0.5556, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.113548, 0.68655, -0.07587, 0.59375, 0.9375, 0.1671, 0.9796, -0.1116, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.570845, -0.136563, -0.381426, 0.59375, 0.4375, 0.8157, -0.1939, -0.545, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.222733, 0.646716, -0.148825, 0.59375, 0.875, 0.3225, 0.9217, -0.2155, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.537725, -0.267878, -0.359296, 0.59375, 0.375, 0.7689, -0.3805, -0.5137, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.323358, 0.582029, -0.216061, 0.59375, 0.8125, 0.4654, 0.8286, -0.311, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.483939, -0.388899, -0.323358, 0.59375, 0.3125, 0.6929, -0.5528, -0.463, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.411557, 0.494975, -0.274993, 0.59375, 0.75, 0.5904, 0.704, -0.3945, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.411557, -0.494975, -0.274993, 0.59375, 0.25, 0.5904, -0.704, -0.3945, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.483939, 0.388899, -0.323358, 0.59375, 0.6875, 0.6929, 0.5528, -0.463, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.323358, -0.582029, -0.216061, 0.59375, 0.1875, 0.4654, -0.8286, -0.311, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.537725, 0.267878, -0.359296, 0.59375, 0.625, 0.7689, 0.3805, -0.5137, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.222733, -0.646716, -0.148825, 0.59375, 0.125, 0.3225, -0.9217, -0.2155, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.570845, 0.136563, -0.381426, 0.59375, 0.5625, 0.8157, 0.1939, -0.545, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.537725, 0.388899, -0.222733, 0.5625, 0.6875, 0.7699, 0.5528, -0.3189, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.359296, -0.582029, -0.148825, 0.5625, 0.1875, 0.5171, -0.8286, -0.2142, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.597487, 0.267878, -0.247487, 0.5625, 0.625, 0.8544, 0.3805, -0.3539, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.126168, -0.68655, -0.05226, 0.5625, 0.0625, 0.1856, -0.9796, -0.0769, \n0.247487, -0.646716, -0.102512, 0.5625, 0.125, 0.3583, -0.9217, -0.1484, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.634289, 0.136563, -0.262731, 0.5625, 0.5625, 0.9063, 0.1939, -0.3754, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.646716, 0, -0.267878, 0.5625, 0.5, 0.9239, 0, -0.3827, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.126168, 0.68655, -0.05226, 0.5625, 0.9375, 0.1856, 0.9796, -0.0769, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.634289, -0.136563, -0.262731, 0.5625, 0.4375, 0.9063, -0.1939, -0.3754, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.247488, 0.646716, -0.102512, 0.5625, 0.875, 0.3583, 0.9217, -0.1484, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.597487, -0.267878, -0.247487, 0.5625, 0.375, 0.8544, -0.3805, -0.3539, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.359296, 0.582029, -0.148825, 0.5625, 0.8125, 0.5171, 0.8286, -0.2142, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.457297, -0.494975, -0.189418, 0.5625, 0.25, 0.6561, -0.704, -0.2717, \n0.537725, -0.388899, -0.222733, 0.5625, 0.3125, 0.7699, -0.5528, -0.3189, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.457297, 0.494975, -0.189418, 0.5625, 0.75, 0.6561, 0.704, -0.2717, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.133939, 0.68655, -0.026642, 0.53125, 0.9375, 0.1971, 0.9796, -0.0392, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.262731, 0.646716, -0.05226, 0.53125, 0.875, 0.3804, 0.9217, -0.0757, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.634289, -0.267878, -0.126168, 0.53125, 0.375, 0.907, -0.3805, -0.1804, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.381427, 0.582029, -0.07587, 0.53125, 0.8125, 0.549, 0.8286, -0.1092, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.570845, -0.388899, -0.113548, 0.53125, 0.3125, 0.8173, -0.5528, -0.1626, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.485464, 0.494975, -0.096565, 0.53125, 0.75, 0.6965, 0.704, -0.1385, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.485464, -0.494975, -0.096565, 0.53125, 0.25, 0.6965, -0.704, -0.1385, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.570845, 0.388899, -0.113548, 0.53125, 0.6875, 0.8173, 0.5528, -0.1626, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.381427, -0.582029, -0.07587, 0.53125, 0.1875, 0.549, -0.8286, -0.1092, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.634289, 0.267878, -0.126168, 0.53125, 0.625, 0.907, 0.3805, -0.1804, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.133939, -0.68655, -0.026642, 0.53125, 0.0625, 0.1971, -0.9796, -0.0392, \n0.262731, -0.646716, -0.05226, 0.53125, 0.125, 0.3804, -0.9217, -0.0757, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.673358, 0.136563, -0.133939, 0.53125, 0.5625, 0.9622, 0.1939, -0.1914, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.673358, -0.136563, -0.133939, 0.53125, 0.4375, 0.9622, -0.1939, -0.1914, \n0.68655, 0, -0.136563, 0.53125, 0.5, 0.9808, 0, -0.1951, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.646716, 0.267878, 0, 0.5, 0.625, 0.9247, 0.3805, 0, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.136563, -0.68655, 0, 0.5, 0.0625, 0.201, -0.9796, 0, \n0.267878, -0.646716, 0, 0.5, 0.125, 0.3879, -0.9217, 0, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.68655, 0.136563, 0, 0.5, 0.5625, 0.981, 0.1939, 0, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.7, 0, 0, 0.5, 0.5, 1, 0, 0, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.136563, 0.68655, 0, 0.5, 0.9375, 0.201, 0.9796, 0, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.68655, -0.136563, 0, 0.5, 0.4375, 0.981, -0.1939, 0, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.267879, 0.646716, 0, 0.5, 0.875, 0.3879, 0.9217, 0, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.646716, -0.267878, 0, 0.5, 0.375, 0.9247, -0.3805, 0, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.388899, 0.582029, 0, 0.5, 0.8125, 0.5598, 0.8286, 0, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.582029, -0.388899, 0, 0.5, 0.3125, 0.8333, -0.5528, 0, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.582029, 0.388899, 0, 0.5, 0.6875, 0.8333, 0.5528, 0, \n0.494975, 0.494975, 0, 0.5, 0.75, 0.7101, 0.704, 0, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.388899, -0.582029, 0, 0.5, 0.1875, 0.5598, -0.8286, 0, \n0.494975, -0.494975, 0, 0.5, 0.25, 0.7101, -0.704, 0, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.673358, -0.136563, 0.133939, 0.46875, 0.4375, 0.9622, -0.1939, 0.1914, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.262731, 0.646716, 0.052261, 0.46875, 0.875, 0.3804, 0.9217, 0.0757, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.634289, -0.267878, 0.126168, 0.46875, 0.375, 0.907, -0.3805, 0.1804, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.381427, 0.582029, 0.075871, 0.46875, 0.8125, 0.549, 0.8286, 0.1092, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.570845, -0.388899, 0.113548, 0.46875, 0.3125, 0.8173, -0.5528, 0.1626, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.485464, 0.494975, 0.096565, 0.46875, 0.75, 0.6965, 0.704, 0.1385, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.485464, -0.494975, 0.096565, 0.46875, 0.25, 0.6965, -0.704, 0.1385, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.570845, 0.388899, 0.113548, 0.46875, 0.6875, 0.8173, 0.5528, 0.1626, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.381427, -0.582029, 0.075871, 0.46875, 0.1875, 0.549, -0.8286, 0.1092, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.634289, 0.267878, 0.126168, 0.46875, 0.625, 0.907, 0.3805, 0.1804, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.262731, -0.646716, 0.052261, 0.46875, 0.125, 0.3804, -0.9217, 0.0757, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.126168, -0.68655, 0.052261, 0.4375, 0.0625, 0.1856, -0.9796, 0.0769, \n0.673358, 0.136563, 0.133939, 0.46875, 0.5625, 0.9622, 0.1939, 0.1914, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.68655, 0, 0.136564, 0.46875, 0.5, 0.9808, 0, 0.1951, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.133939, 0.68655, 0.026642, 0.46875, 0.9375, 0.1971, 0.9796, 0.0392, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.597487, 0.267878, 0.247488, 0.4375, 0.625, 0.8544, 0.3805, 0.3539, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.247487, -0.646716, 0.102513, 0.4375, 0.125, 0.3583, -0.9217, 0.1484, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.634289, 0.136563, 0.262731, 0.4375, 0.5625, 0.9063, 0.1939, 0.3754, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.646716, 0, 0.267879, 0.4375, 0.5, 0.9239, 0, 0.3827, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.126168, 0.68655, 0.052261, 0.4375, 0.9375, 0.1856, 0.9796, 0.0769, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.634289, -0.136563, 0.262731, 0.4375, 0.4375, 0.9063, -0.1939, 0.3754, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.247488, 0.646716, 0.102513, 0.4375, 0.875, 0.3583, 0.9217, 0.1484, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.597487, -0.267878, 0.247488, 0.4375, 0.375, 0.8544, -0.3805, 0.3539, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.359296, 0.582029, 0.148826, 0.4375, 0.8125, 0.5171, 0.8286, 0.2142, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.537724, -0.388899, 0.222733, 0.4375, 0.3125, 0.7699, -0.5528, 0.3189, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.457297, 0.494975, 0.189419, 0.4375, 0.75, 0.6561, 0.704, 0.2717, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.359296, -0.582029, 0.148826, 0.4375, 0.1875, 0.5171, -0.8286, 0.2142, \n0.457297, -0.494975, 0.189419, 0.4375, 0.25, 0.6561, -0.704, 0.2717, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.537724, 0.388899, 0.222733, 0.4375, 0.6875, 0.7699, 0.5528, 0.3189, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.537724, -0.267878, 0.359296, 0.40625, 0.375, 0.7689, -0.3805, 0.5137, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.323358, 0.582029, 0.216061, 0.40625, 0.8125, 0.4654, 0.8286, 0.311, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.483939, -0.388899, 0.323358, 0.40625, 0.3125, 0.6929, -0.5528, 0.463, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.411557, 0.494975, 0.274993, 0.40625, 0.75, 0.5904, 0.704, 0.3945, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.411557, -0.494975, 0.274993, 0.40625, 0.25, 0.5904, -0.704, 0.3945, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.483939, 0.388899, 0.323358, 0.40625, 0.6875, 0.6929, 0.5528, 0.463, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.323358, -0.582029, 0.216061, 0.40625, 0.1875, 0.4654, -0.8286, 0.311, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.537724, 0.267878, 0.359296, 0.40625, 0.625, 0.7689, 0.3805, 0.5137, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.113548, -0.68655, 0.075871, 0.40625, 0.0625, 0.1671, -0.9796, 0.1116, \n0.222733, -0.646716, 0.148826, 0.40625, 0.125, 0.3225, -0.9217, 0.2155, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.570845, 0.136563, 0.381427, 0.40625, 0.5625, 0.8157, 0.1939, 0.545, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.582029, 0, 0.388899, 0.40625, 0.5, 0.8314, 0, 0.5556, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.113548, 0.68655, 0.075871, 0.40625, 0.9375, 0.1671, 0.9796, 0.1116, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.570845, -0.136563, 0.381427, 0.40625, 0.4375, 0.8157, -0.1939, 0.545, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.222733, 0.646716, 0.148826, 0.40625, 0.875, 0.3225, 0.9217, 0.2155, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.096565, -0.68655, 0.096565, 0.375, 0.0625, 0.1421, -0.9796, 0.1421, \n0.189419, -0.646716, 0.189419, 0.375, 0.125, 0.2743, -0.9217, 0.2743, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.494975, 0, 0.494975, 0.375, 0.5, 0.7071, 0, 0.7071, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.096565, 0.68655, 0.096565, 0.375, 0.9375, 0.1421, 0.9796, 0.1421, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.485464, -0.136563, 0.485464, 0.375, 0.4375, 0.6937, -0.1939, 0.6937, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.189419, 0.646716, 0.189419, 0.375, 0.875, 0.2743, 0.9217, 0.2743, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.457297, -0.267878, 0.457297, 0.375, 0.375, 0.6539, -0.3805, 0.6539, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.274993, 0.582029, 0.274994, 0.375, 0.8125, 0.3958, 0.8286, 0.3958, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.411556, -0.388899, 0.411557, 0.375, 0.3125, 0.5893, -0.5528, 0.5893, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.35, 0.494975, 0.35, 0.375, 0.75, 0.5021, 0.704, 0.5021, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.35, -0.494975, 0.35, 0.375, 0.25, 0.5021, -0.704, 0.5021, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.411556, 0.388899, 0.411557, 0.375, 0.6875, 0.5893, 0.5528, 0.5893, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.274993, -0.582029, 0.274993, 0.375, 0.1875, 0.3958, -0.8286, 0.3958, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.485464, 0.136563, 0.485464, 0.375, 0.5625, 0.6937, 0.1939, 0.6937, \n0.457297, 0.267878, 0.457297, 0.375, 0.625, 0.6539, 0.3805, 0.6539, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.274993, 0.494975, 0.411557, 0.34375, 0.75, 0.3945, 0.704, 0.5904, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.274993, -0.494975, 0.411557, 0.34375, 0.25, 0.3945, -0.704, 0.5904, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.323358, 0.388899, 0.483939, 0.34375, 0.6875, 0.463, 0.5528, 0.6929, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.216061, -0.582029, 0.323358, 0.34375, 0.1875, 0.311, -0.8286, 0.4654, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.359296, 0.267878, 0.537725, 0.34375, 0.625, 0.5137, 0.3805, 0.7689, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.148825, -0.646716, 0.222733, 0.34375, 0.125, 0.2155, -0.9217, 0.3225, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.381426, 0.136563, 0.570845, 0.34375, 0.5625, 0.545, 0.1939, 0.8157, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.388899, 0, 0.582029, 0.34375, 0.5, 0.5556, 0, 0.8314, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.075871, 0.68655, 0.113549, 0.34375, 0.9375, 0.1116, 0.9796, 0.1671, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.381426, -0.136563, 0.570845, 0.34375, 0.4375, 0.545, -0.1939, 0.8157, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.216061, 0.582029, 0.323358, 0.34375, 0.8125, 0.311, 0.8286, 0.4654, \n0.148825, 0.646716, 0.222733, 0.34375, 0.875, 0.2155, 0.9217, 0.3225, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.323358, -0.388899, 0.483939, 0.34375, 0.3125, 0.463, -0.5528, 0.6929, \n0.359296, -0.267878, 0.537725, 0.34375, 0.375, 0.5137, -0.3805, 0.7689, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.267878, 0, 0.646716, 0.3125, 0.5, 0.3827, 0, 0.9239, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.052261, 0.68655, 0.126168, 0.3125, 0.9375, 0.0769, 0.9796, 0.1856, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.262731, -0.136563, 0.634289, 0.3125, 0.4375, 0.3754, -0.1939, 0.9063, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.102513, 0.646716, 0.247488, 0.3125, 0.875, 0.1484, 0.9217, 0.3583, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.247487, -0.267878, 0.597488, 0.3125, 0.375, 0.3539, -0.3805, 0.8544, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n0.148825, 0.582029, 0.359296, 0.3125, 0.8125, 0.2142, 0.8286, 0.5171, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.222733, -0.388899, 0.537725, 0.3125, 0.3125, 0.3189, -0.5528, 0.7699, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.189419, 0.494975, 0.457297, 0.3125, 0.75, 0.2717, 0.704, 0.6561, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.189419, -0.494975, 0.457297, 0.3125, 0.25, 0.2717, -0.704, 0.6561, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.222733, 0.388899, 0.537725, 0.3125, 0.6875, 0.3189, 0.5528, 0.7699, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.148825, -0.582029, 0.359296, 0.3125, 0.1875, 0.2142, -0.8286, 0.5171, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.262731, 0.136563, 0.634289, 0.3125, 0.5625, 0.3754, 0.1939, 0.9063, \n0.247487, 0.267878, 0.597488, 0.3125, 0.625, 0.3539, 0.3805, 0.8544, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n0.05226, -0.68655, 0.126168, 0.3125, 0.0625, 0.0769, -0.9796, 0.1856, \n0.102513, -0.646716, 0.247488, 0.3125, 0.125, 0.1484, -0.9217, 0.3583, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n0.096565, -0.494975, 0.485464, 0.28125, 0.25, 0.1385, -0.704, 0.6965, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n0.113548, 0.388899, 0.570845, 0.28125, 0.6875, 0.1626, 0.5528, 0.8173, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n0.07587, -0.582029, 0.381427, 0.28125, 0.1875, 0.1092, -0.8286, 0.549, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n0.126168, 0.267878, 0.634289, 0.28125, 0.625, 0.1804, 0.3805, 0.907, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n0.026642, -0.68655, 0.133939, 0.28125, 0.0625, 0.0392, -0.9796, 0.1971, \n0.05226, -0.646716, 0.262731, 0.28125, 0.125, 0.0757, -0.9217, 0.3804, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n0.133939, 0.136563, 0.673358, 0.28125, 0.5625, 0.1914, 0.1939, 0.9622, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n0.136563, 0, 0.68655, 0.28125, 0.5, 0.1951, 0, 0.9808, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n0.026642, 0.68655, 0.13394, 0.28125, 0.9375, 0.0392, 0.9796, 0.1971, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n0.133939, -0.136563, 0.673358, 0.28125, 0.4375, 0.1914, -0.1939, 0.9622, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n0.052261, 0.646716, 0.262731, 0.28125, 0.875, 0.0757, 0.9217, 0.3804, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n0.113548, -0.388899, 0.570845, 0.28125, 0.3125, 0.1626, -0.5528, 0.8173, \n0.126168, -0.267878, 0.634289, 0.28125, 0.375, 0.1804, -0.3805, 0.907, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n0.096565, 0.494975, 0.485464, 0.28125, 0.75, 0.1385, 0.704, 0.6965, \n0.07587, 0.582029, 0.381427, 0.28125, 0.8125, 0.1092, 0.8286, 0.549, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n 0, 0, 0.7, 0.25, 0.5, 0, 0, 1, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n 0, 0.68655, 0.136564, 0.25, 0.9375, 0, 0.9796, 0.201, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n 0, -0.136563, 0.68655, 0.25, 0.4375, 0, -0.1939, 0.981, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n 0, 0.646716, 0.267879, 0.25, 0.875, 0, 0.9217, 0.3879, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n 0, -0.267878, 0.646716, 0.25, 0.375, 0, -0.3805, 0.9247, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n 0, 0.582029, 0.388899, 0.25, 0.8125, 0, 0.8286, 0.5598, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n 0, -0.388899, 0.582029, 0.25, 0.3125, 0, -0.5528, 0.8333, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n 0, 0.494975, 0.494975, 0.25, 0.75, 0, 0.704, 0.7101, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n 0, -0.494975, 0.494975, 0.25, 0.25, 0, -0.704, 0.7101, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n 0, 0.388899, 0.582029, 0.25, 0.6875, 0, 0.5528, 0.8333, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n 0, -0.582029, 0.388899, 0.25, 0.1875, 0, -0.8286, 0.5598, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n 0, 0.267878, 0.646716, 0.25, 0.625, 0, 0.3805, 0.9247, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n 0, -0.646716, 0.267879, 0.25, 0.125, 0, -0.9217, 0.3879, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n 0, 0.136563, 0.68655, 0.25, 0.5625, 0, 0.1939, 0.981, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.096565, -0.494975, 0.485464, 0.21875, 0.25, -0.1385, -0.704, 0.6965, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.113548, 0.388899, 0.570845, 0.21875, 0.6875, -0.1626, 0.5528, 0.8173, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.07587, -0.582029, 0.381427, 0.21875, 0.1875, -0.1092, -0.8286, 0.549, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.126168, 0.267878, 0.634289, 0.21875, 0.625, -0.1804, 0.3805, 0.907, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.026642, -0.68655, 0.133939, 0.21875, 0.0625, -0.0392, -0.9796, 0.1971, \n-0.05226, -0.646716, 0.262731, 0.21875, 0.125, -0.0757, -0.9217, 0.3804, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.133939, 0.136563, 0.673358, 0.21875, 0.5625, -0.1914, 0.1939, 0.9622, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.136563, 0, 0.68655, 0.21875, 0.5, -0.1951, 0, 0.9808, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.026642, 0.68655, 0.13394, 0.21875, 0.9375, -0.0392, 0.9796, 0.1971, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.133939, -0.136563, 0.673358, 0.21875, 0.4375, -0.1914, -0.1939, 0.9622, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.05226, 0.646716, 0.262731, 0.21875, 0.875, -0.0757, 0.9217, 0.3804, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.126168, -0.267878, 0.634289, 0.21875, 0.375, -0.1804, -0.3805, 0.907, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.096565, 0.494975, 0.485464, 0.21875, 0.75, -0.1385, 0.704, 0.6965, \n-0.07587, 0.582029, 0.381427, 0.21875, 0.8125, -0.1092, 0.8286, 0.549, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.113548, -0.388899, 0.570845, 0.21875, 0.3125, -0.1626, -0.5528, 0.8173, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.267879, 0, 0.646716, 0.1875, 0.5, -0.3827, 0, 0.9239, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.052261, 0.68655, 0.126168, 0.1875, 0.9375, -0.0769, 0.9796, 0.1856, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.262731, -0.136563, 0.634289, 0.1875, 0.4375, -0.3754, -0.1939, 0.9063, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.102513, 0.646716, 0.247488, 0.1875, 0.875, -0.1484, 0.9217, 0.3583, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.247487, -0.267878, 0.597488, 0.1875, 0.375, -0.3539, -0.3805, 0.8544, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.148825, 0.582029, 0.359296, 0.1875, 0.8125, -0.2142, 0.8286, 0.5171, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.222733, -0.388899, 0.537724, 0.1875, 0.3125, -0.3189, -0.5528, 0.7699, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.189419, 0.494975, 0.457297, 0.1875, 0.75, -0.2717, 0.704, 0.6561, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.189419, -0.494975, 0.457297, 0.1875, 0.25, -0.2717, -0.704, 0.6561, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.222733, 0.388899, 0.537724, 0.1875, 0.6875, -0.3189, 0.5528, 0.7699, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.148825, -0.582029, 0.359296, 0.1875, 0.1875, -0.2142, -0.8286, 0.5171, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.247487, 0.267878, 0.597488, 0.1875, 0.625, -0.3539, 0.3805, 0.8544, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.05226, -0.68655, 0.126168, 0.1875, 0.0625, -0.0769, -0.9796, 0.1856, \n-0.102513, -0.646716, 0.247488, 0.1875, 0.125, -0.1484, -0.9217, 0.3583, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.262731, 0.136563, 0.634289, 0.1875, 0.5625, -0.3754, 0.1939, 0.9063, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.274993, -0.494975, 0.411557, 0.15625, 0.25, -0.3945, -0.704, 0.5904, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.216061, -0.582029, 0.323358, 0.15625, 0.1875, -0.311, -0.8286, 0.4654, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.359296, 0.267878, 0.537725, 0.15625, 0.625, -0.5137, 0.3805, 0.7689, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.148825, -0.646716, 0.222733, 0.15625, 0.125, -0.2155, -0.9217, 0.3225, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.096565, -0.68655, 0.096565, 0.125, 0.0625, -0.1421, -0.9796, 0.1421, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.381427, 0.136563, 0.570845, 0.15625, 0.5625, -0.545, 0.1939, 0.8157, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.388899, 0, 0.582029, 0.15625, 0.5, -0.5556, 0, 0.8314, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.075871, 0.68655, 0.113548, 0.15625, 0.9375, -0.1116, 0.9796, 0.1671, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.381427, -0.136563, 0.570845, 0.15625, 0.4375, -0.545, -0.1939, 0.8157, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.148825, 0.646716, 0.222733, 0.15625, 0.875, -0.2155, 0.9217, 0.3225, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.359296, -0.267878, 0.537725, 0.15625, 0.375, -0.5137, -0.3805, 0.7689, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.216061, 0.582029, 0.323358, 0.15625, 0.8125, -0.311, 0.8286, 0.4654, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.323358, -0.388899, 0.483939, 0.15625, 0.3125, -0.463, -0.5528, 0.6929, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.323358, 0.388899, 0.483939, 0.15625, 0.6875, -0.463, 0.5528, 0.6929, \n-0.274993, 0.494975, 0.411557, 0.15625, 0.75, -0.3945, 0.704, 0.5904, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.485464, -0.136563, 0.485464, 0.125, 0.4375, -0.6937, -0.1939, 0.6937, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.189419, 0.646716, 0.189419, 0.125, 0.875, -0.2743, 0.9217, 0.2743, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.457297, -0.267878, 0.457297, 0.125, 0.375, -0.6539, -0.3805, 0.6539, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.274993, 0.582029, 0.274994, 0.125, 0.8125, -0.3958, 0.8286, 0.3958, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.411556, -0.388899, 0.411556, 0.125, 0.3125, -0.5893, -0.5528, 0.5893, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.35, 0.494975, 0.35, 0.125, 0.75, -0.5021, 0.704, 0.5021, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.35, -0.494975, 0.35, 0.125, 0.25, -0.5021, -0.704, 0.5021, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.411556, 0.388899, 0.411556, 0.125, 0.6875, -0.5893, 0.5528, 0.5893, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.274993, -0.582029, 0.274993, 0.125, 0.1875, -0.3958, -0.8286, 0.3958, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.457297, 0.267878, 0.457297, 0.125, 0.625, -0.6539, 0.3805, 0.6539, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.189419, -0.646716, 0.189419, 0.125, 0.125, -0.2743, -0.9217, 0.2743, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.485464, 0.136563, 0.485464, 0.125, 0.5625, -0.6937, 0.1939, 0.6937, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.494975, 0, 0.494975, 0.125, 0.5, -0.7071, 0, 0.7071, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.096565, 0.68655, 0.096565, 0.125, 0.9375, -0.1421, 0.9796, 0.1421, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.323358, -0.582029, 0.216061, 0.09375, 0.1875, -0.4654, -0.8286, 0.311, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.537724, 0.267878, 0.359296, 0.09375, 0.625, -0.7689, 0.3805, 0.5137, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.113548, -0.68655, 0.075871, 0.09375, 0.0625, -0.1671, -0.9796, 0.1116, \n-0.222733, -0.646716, 0.148825, 0.09375, 0.125, -0.3225, -0.9217, 0.2155, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.570845, 0.136563, 0.381427, 0.09375, 0.5625, -0.8157, 0.1939, 0.545, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.582029, 0, 0.388899, 0.09375, 0.5, -0.8314, 0, 0.5556, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.113548, 0.68655, 0.075871, 0.09375, 0.9375, -0.1671, 0.9796, 0.1116, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.570845, -0.136563, 0.381427, 0.09375, 0.4375, -0.8157, -0.1939, 0.545, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.222733, 0.646716, 0.148825, 0.09375, 0.875, -0.3225, 0.9217, 0.2155, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.537724, -0.267878, 0.359296, 0.09375, 0.375, -0.7689, -0.3805, 0.5137, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.323358, 0.582029, 0.216061, 0.09375, 0.8125, -0.4654, 0.8286, 0.311, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.483939, -0.388899, 0.323358, 0.09375, 0.3125, -0.6929, -0.5528, 0.463, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.411556, 0.494975, 0.274993, 0.09375, 0.75, -0.5904, 0.704, 0.3945, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.411556, -0.494975, 0.274993, 0.09375, 0.25, -0.5904, -0.704, 0.3945, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.483939, 0.388899, 0.323358, 0.09375, 0.6875, -0.6929, 0.5528, 0.463, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.597487, -0.267878, 0.247488, 0.0625, 0.375, -0.8544, -0.3805, 0.3539, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.359296, 0.582029, 0.148825, 0.0625, 0.8125, -0.5171, 0.8286, 0.2142, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.537724, -0.388899, 0.222733, 0.0625, 0.3125, -0.7699, -0.5528, 0.3189, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.457297, 0.494975, 0.189419, 0.0625, 0.75, -0.6561, 0.704, 0.2717, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.457297, -0.494975, 0.189419, 0.0625, 0.25, -0.6561, -0.704, 0.2717, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.537724, 0.388899, 0.222733, 0.0625, 0.6875, -0.7699, 0.5528, 0.3189, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.359296, -0.582029, 0.148825, 0.0625, 0.1875, -0.5171, -0.8286, 0.2142, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.597487, 0.267878, 0.247488, 0.0625, 0.625, -0.8544, 0.3805, 0.3539, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.247487, -0.646716, 0.102513, 0.0625, 0.125, -0.3583, -0.9217, 0.1484, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.133939, -0.68655, 0.026642, 0.03125, 0.0625, -0.1971, -0.9796, 0.0392, \n-0.634289, 0.136563, 0.262731, 0.0625, 0.5625, -0.9063, 0.1939, 0.3754, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.646716, 0, 0.267878, 0.0625, 0.5, -0.9239, 0, 0.3827, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.247487, 0.646716, 0.102513, 0.0625, 0.875, -0.3583, 0.9217, 0.1484, \n-0.126168, 0.68655, 0.052261, 0.0625, 0.9375, -0.1856, 0.9796, 0.0769, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n-0.634289, -0.136563, 0.262731, 0.0625, 0.4375, -0.9063, -0.1939, 0.3754, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.634289, 0.267878, 0.126168, 0.03125, 0.625, -0.907, 0.3805, 0.1804, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.267878, -0.646716, 0, 0, 0.125, -0.3879, -0.9217, 0, \n-0.136563, -0.68655, 0, 0, 0.0625, -0.201, -0.9796, 0, \n-0.673358, 0.136563, 0.133939, 0.03125, 0.5625, -0.9622, 0.1939, 0.1914, \n-0.686549, 0.136563, 0, 0, 0.5625, -0.981, 0.1939, 0, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.68655, 0, 0.136563, 0.03125, 0.5, -0.9808, 0, 0.1951, \n-0.7, 0, 0, 0, 0.5, -1, 0, 0, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.133939, 0.68655, 0.026642, 0.03125, 0.9375, -0.1971, 0.9796, 0.0392, \n-0.136563, 0.68655, 0, 0, 0.9375, -0.201, 0.9796, 0, \n-0.673358, -0.136563, 0.133939, 0.03125, 0.4375, -0.9622, -0.1939, 0.1914, \n-0.686549, -0.136563, 0, 0, 0.4375, -0.981, -0.1939, 0, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.262731, 0.646716, 0.052261, 0.03125, 0.875, -0.3804, 0.9217, 0.0757, \n-0.267878, 0.646716, 0, 0, 0.875, -0.3879, 0.9217, 0, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.634289, -0.267878, 0.126168, 0.03125, 0.375, -0.907, -0.3805, 0.1804, \n-0.646716, -0.267878, 0, 0, 0.375, -0.9247, -0.3805, 0, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.381427, 0.582029, 0.075871, 0.03125, 0.8125, -0.549, 0.8286, 0.1092, \n-0.388899, 0.582029, 0, 0, 0.8125, -0.5598, 0.8286, 0, \n-0.570845, -0.388899, 0.113548, 0.03125, 0.3125, -0.8173, -0.5528, 0.1626, \n-0.582028, -0.388899, 0, 0, 0.3125, -0.8333, -0.5528, 0, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.485464, 0.494975, 0.096565, 0.03125, 0.75, -0.6965, 0.704, 0.1385, \n-0.494975, 0.494975, 0, 0, 0.75, -0.7101, 0.704, 0, \n-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.485464, -0.494975, 0.096565, 0.03125, 0.25, -0.6965, -0.704, 0.1385, \n-0.494975, -0.494975, 0, 0, 0.25, -0.7101, -0.704, 0, \n-0.570845, 0.388899, 0.113548, 0.03125, 0.6875, -0.8173, 0.5528, 0.1626, \n-0.582028, 0.388899, 0, 0, 0.6875, -0.8333, 0.5528, 0, \n-0.646716, 0.267878, 0, 0, 0.625, -0.9247, 0.3805, 0, \n-0.262731, -0.646716, 0.052261, 0.03125, 0.125, -0.3804, -0.9217, 0.0757, \n-0.381426, -0.582029, 0.075871, 0.03125, 0.1875, -0.549, -0.8286, 0.1092, \n-0.388899, -0.582029, 0, 0, 0.1875, -0.5598, -0.8286, 0, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.646716, -0.267878, 0, 1, 0.375, -0.9247, -0.3805, 0, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, \n-0.388899, 0.582029, 0, 1, 0.8125, -0.5598, 0.8286, 0, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.582028, -0.388899, 0, 1, 0.3125, -0.8333, -0.5528, 0, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.494975, 0.494975, 0, 1, 0.75, -0.7101, 0.704, 0, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.494975, -0.494975, 0, 1, 0.25, -0.7101, -0.704, 0, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.582028, 0.388899, 0, 1, 0.6875, -0.8333, 0.5528, 0, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.388899, -0.582029, 0, 1, 0.1875, -0.5598, -0.8286, 0, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.646716, 0.267878, 0, 1, 0.625, -0.9247, 0.3805, 0, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.267878, -0.646716, 0, 1, 0.125, -0.3879, -0.9217, 0, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.133939, -0.68655, -0.026642, 0.96875, 0.0625, -0.1971, -0.9796, -0.0392, \n-0.686549, 0.136563, 0, 1, 0.5625, -0.981, 0.1939, 0, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.7, 0, 0, 1, 0.5, -1, 0, 0, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.136563, 0.68655, 0, 1, 0.9375, -0.201, 0.9796, 0, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.686549, -0.136563, 0, 1, 0.4375, -0.981, -0.1939, 0, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.267878, 0.646716, 0, 1, 0.875, -0.3879, 0.9217, 0, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.126168, -0.68655, -0.05226, 0.9375, 0.0625, -0.1856, -0.9796, -0.0769, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.686549, 0, -0.136563, 0.96875, 0.5, -0.9808, 0, -0.1951, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.133939, 0.68655, -0.026642, 0.96875, 0.9375, -0.1971, 0.9796, -0.0392, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.673357, -0.136563, -0.133939, 0.96875, 0.4375, -0.9622, -0.1939, -0.1914, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.262731, 0.646716, -0.05226, 0.96875, 0.875, -0.3804, 0.9217, -0.0757, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.634289, -0.267878, -0.126168, 0.96875, 0.375, -0.907, -0.3805, -0.1804, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.381427, 0.582029, -0.07587, 0.96875, 0.8125, -0.549, 0.8286, -0.1092, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.570845, -0.388899, -0.113548, 0.96875, 0.3125, -0.8173, -0.5528, -0.1626, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.485464, 0.494975, -0.096565, 0.96875, 0.75, -0.6965, 0.704, -0.1385, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.485464, -0.494975, -0.096565, 0.96875, 0.25, -0.6965, -0.704, -0.1385, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.570845, 0.388899, -0.113548, 0.96875, 0.6875, -0.8173, 0.5528, -0.1626, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.262731, -0.646716, -0.05226, 0.96875, 0.125, -0.3804, -0.9217, -0.0757, \n-0.381426, -0.582029, -0.07587, 0.96875, 0.1875, -0.549, -0.8286, -0.1092, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.673357, 0.136563, -0.133939, 0.96875, 0.5625, -0.9622, 0.1939, -0.1914, \n-0.634289, 0.267878, -0.126168, 0.96875, 0.625, -0.907, 0.3805, -0.1804, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.457297, 0.494975, -0.189418, 0.9375, 0.75, -0.6561, 0.704, -0.2717, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.457297, -0.494975, -0.189418, 0.9375, 0.25, -0.6561, -0.704, -0.2717, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.537724, 0.388899, -0.222733, 0.9375, 0.6875, -0.7699, 0.5528, -0.3189, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.359296, -0.582029, -0.148825, 0.9375, 0.1875, -0.5171, -0.8286, -0.2142, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.597487, 0.267878, -0.247487, 0.9375, 0.625, -0.8544, 0.3805, -0.3539, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.247487, -0.646716, -0.102512, 0.9375, 0.125, -0.3583, -0.9217, -0.1484, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.113548, -0.68655, -0.07587, 0.90625, 0.0625, -0.1671, -0.9796, -0.1116, \n-0.634289, 0.136563, -0.262731, 0.9375, 0.5625, -0.9063, 0.1939, -0.3754, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.646715, 0, -0.267878, 0.9375, 0.5, -0.9239, 0, -0.3827, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.126168, 0.68655, -0.05226, 0.9375, 0.9375, -0.1856, 0.9796, -0.0769, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.634289, -0.136563, -0.262731, 0.9375, 0.4375, -0.9063, -0.1939, -0.3754, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.359296, 0.582029, -0.148825, 0.9375, 0.8125, -0.5171, 0.8286, -0.2142, \n-0.247487, 0.646716, -0.102512, 0.9375, 0.875, -0.3583, 0.9217, -0.1484, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.537724, -0.388899, -0.222733, 0.9375, 0.3125, -0.7699, -0.5528, -0.3189, \n-0.597487, -0.267878, -0.247487, 0.9375, 0.375, -0.8544, -0.3805, -0.3539, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.582028, 0, -0.388899, 0.90625, 0.5, -0.8314, 0, -0.5556, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.113548, 0.68655, -0.07587, 0.90625, 0.9375, -0.1671, 0.9796, -0.1116, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.570845, -0.136563, -0.381426, 0.90625, 0.4375, -0.8157, -0.1939, -0.545, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.222733, 0.646716, -0.148825, 0.90625, 0.875, -0.3225, 0.9217, -0.2155, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.537724, -0.267878, -0.359296, 0.90625, 0.375, -0.7689, -0.3805, -0.5137, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.323358, 0.582029, -0.216061, 0.90625, 0.8125, -0.4654, 0.8286, -0.311, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.483939, -0.388899, -0.323358, 0.90625, 0.3125, -0.6929, -0.5528, -0.463, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.411556, 0.494975, -0.274993, 0.90625, 0.75, -0.5904, 0.704, -0.3945, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.411556, -0.494975, -0.274993, 0.90625, 0.25, -0.5904, -0.704, -0.3945, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.483939, 0.388899, -0.323358, 0.90625, 0.6875, -0.6929, 0.5528, -0.463, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.323358, -0.582029, -0.216061, 0.90625, 0.1875, -0.4654, -0.8286, -0.311, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.570845, 0.136563, -0.381426, 0.90625, 0.5625, -0.8157, 0.1939, -0.545, \n-0.537724, 0.267878, -0.359296, 0.90625, 0.625, -0.7689, 0.3805, -0.5137, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.222733, -0.646716, -0.148825, 0.90625, 0.125, -0.3225, -0.9217, -0.2155, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.096565, -0.68655, -0.096565, 0.875, 0.0625, -0.1421, -0.9796, -0.1421, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.35, 0.494975, -0.35, 0.875, 0.75, -0.5021, 0.704, -0.5021, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.35, -0.494975, -0.35, 0.875, 0.25, -0.5021, -0.704, -0.5021, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.411556, 0.388899, -0.411556, 0.875, 0.6875, -0.5893, 0.5528, -0.5893, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.274993, -0.582029, -0.274993, 0.875, 0.1875, -0.3958, -0.8286, -0.3958, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.457297, 0.267878, -0.457297, 0.875, 0.625, -0.6539, 0.3805, -0.6539, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.189419, -0.646716, -0.189418, 0.875, 0.125, -0.2743, -0.9217, -0.2743, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.07587, -0.68655, -0.113548, 0.84375, 0.0625, -0.1116, -0.9796, -0.1671, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.485464, 0.136563, -0.485464, 0.875, 0.5625, -0.6937, 0.1939, -0.6937, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.494974, 0, -0.494974, 0.875, 0.5, -0.7071, 0, -0.7071, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.096565, 0.68655, -0.096565, 0.875, 0.9375, -0.1421, 0.9796, -0.1421, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.485464, -0.136563, -0.485464, 0.875, 0.4375, -0.6937, -0.1939, -0.6937, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.189419, 0.646716, -0.189418, 0.875, 0.875, -0.2743, 0.9217, -0.2743, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.411556, -0.388899, -0.411556, 0.875, 0.3125, -0.5893, -0.5528, -0.5893, \n-0.457297, -0.267878, -0.457297, 0.875, 0.375, -0.6539, -0.3805, -0.6539, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.274993, 0.582029, -0.274993, 0.875, 0.8125, -0.3958, 0.8286, -0.3958, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.388899, 0, -0.582028, 0.84375, 0.5, -0.5556, 0, -0.8314, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.07587, 0.68655, -0.113548, 0.84375, 0.9375, -0.1116, 0.9796, -0.1671, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.381426, -0.136563, -0.570845, 0.84375, 0.4375, -0.545, -0.1939, -0.8157, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.148825, 0.646716, -0.222732, 0.84375, 0.875, -0.2155, 0.9217, -0.3225, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.359296, -0.267878, -0.537724, 0.84375, 0.375, -0.5137, -0.3805, -0.7689, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.216061, 0.582029, -0.323358, 0.84375, 0.8125, -0.311, 0.8286, -0.4654, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.323358, -0.388899, -0.483939, 0.84375, 0.3125, -0.463, -0.5528, -0.6929, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.274993, 0.494975, -0.411556, 0.84375, 0.75, -0.3945, 0.704, -0.5904, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.274993, -0.494975, -0.411556, 0.84375, 0.25, -0.3945, -0.704, -0.5904, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.323358, 0.388899, -0.483939, 0.84375, 0.6875, -0.463, 0.5528, -0.6929, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.216061, -0.582029, -0.323358, 0.84375, 0.1875, -0.311, -0.8286, -0.4654, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.359296, 0.267878, -0.537724, 0.84375, 0.625, -0.5137, 0.3805, -0.7689, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.148825, -0.646716, -0.222732, 0.84375, 0.125, -0.2155, -0.9217, -0.3225, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.381426, 0.136563, -0.570845, 0.84375, 0.5625, -0.545, 0.1939, -0.8157, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.189419, -0.494975, -0.457297, 0.8125, 0.25, -0.2717, -0.704, -0.6561, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.148825, -0.582029, -0.359296, 0.8125, 0.1875, -0.2142, -0.8286, -0.5171, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.247487, 0.267878, -0.597487, 0.8125, 0.625, -0.3539, 0.3805, -0.8544, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.05226, -0.68655, -0.126168, 0.8125, 0.0625, -0.0769, -0.9796, -0.1856, \n-0.102513, -0.646716, -0.247487, 0.8125, 0.125, -0.1484, -0.9217, -0.3583, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n-0.262731, 0.136563, -0.634289, 0.8125, 0.5625, -0.3754, 0.1939, -0.9063, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.267878, 0, -0.646715, 0.8125, 0.5, -0.3827, 0, -0.9239, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n-0.05226, 0.68655, -0.126168, 0.8125, 0.9375, -0.0769, 0.9796, -0.1856, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.262731, -0.136563, -0.634289, 0.8125, 0.4375, -0.3754, -0.1939, -0.9063, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.102513, 0.646716, -0.247487, 0.8125, 0.875, -0.1484, 0.9217, -0.3583, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.247487, -0.267878, -0.597487, 0.8125, 0.375, -0.3539, -0.3805, -0.8544, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n-0.148825, 0.582029, -0.359296, 0.8125, 0.8125, -0.2142, 0.8286, -0.5171, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.222732, -0.388899, -0.537724, 0.8125, 0.3125, -0.3189, -0.5528, -0.7699, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n-0.222732, 0.388899, -0.537724, 0.8125, 0.6875, -0.3189, 0.5528, -0.7699, \n-0.189419, 0.494975, -0.457297, 0.8125, 0.75, -0.2717, 0.704, -0.6561, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n-0.026642, 0.68655, -0.133939, 0.78125, 0.9375, -0.0392, 0.9796, -0.1971, \n 0, 0.68655, -0.136563, 0.75, 0.9375, 0, 0.9796, -0.201, \n-0.133939, -0.136563, -0.673357, 0.78125, 0.4375, -0.1914, -0.1939, -0.9622, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n-0.05226, 0.646716, -0.262731, 0.78125, 0.875, -0.0757, 0.9217, -0.3804, \n 0, 0.646716, -0.267878, 0.75, 0.875, 0, 0.9217, -0.3879, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n-0.126168, -0.267878, -0.634289, 0.78125, 0.375, -0.1804, -0.3805, -0.907, \n 0, -0.267878, -0.646715, 0.75, 0.375, 0, -0.3805, -0.9247, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n-0.07587, 0.582029, -0.381426, 0.78125, 0.8125, -0.1092, 0.8286, -0.549, \n 0, 0.582029, -0.388899, 0.75, 0.8125, 0, 0.8286, -0.5598, \n-0.113548, -0.388899, -0.570845, 0.78125, 0.3125, -0.1626, -0.5528, -0.8173, \n 0, -0.388899, -0.582028, 0.75, 0.3125, 0, -0.5528, -0.8333, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n-0.096565, 0.494975, -0.485464, 0.78125, 0.75, -0.1385, 0.704, -0.6965, \n 0, 0.494975, -0.494975, 0.75, 0.75, 0, 0.704, -0.7101, \n-0.096565, -0.494975, -0.485464, 0.78125, 0.25, -0.1385, -0.704, -0.6965, \n 0, -0.494975, -0.494974, 0.75, 0.25, 0, -0.704, -0.7101, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n-0.113548, 0.388899, -0.570845, 0.78125, 0.6875, -0.1626, 0.5528, -0.8173, \n 0, 0.388899, -0.582029, 0.75, 0.6875, 0, 0.5528, -0.8333, \n-0.07587, -0.582029, -0.381426, 0.78125, 0.1875, -0.1092, -0.8286, -0.549, \n 0, -0.582029, -0.388899, 0.75, 0.1875, 0, -0.8286, -0.5598, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n-0.126168, 0.267878, -0.634289, 0.78125, 0.625, -0.1804, 0.3805, -0.907, \n 0, 0.267878, -0.646716, 0.75, 0.625, 0, 0.3805, -0.9247, \n-0.05226, -0.646716, -0.262731, 0.78125, 0.125, -0.0757, -0.9217, -0.3804, \n 0, -0.646716, -0.267878, 0.75, 0.125, 0, -0.9217, -0.3879, \n 0, -0.68655, -0.136563, 0.75, 0.0625, 0, -0.9796, -0.201, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n-0.133939, 0.136563, -0.673357, 0.78125, 0.5625, -0.1914, 0.1939, -0.9622, \n 0, 0.136563, -0.68655, 0.75, 0.5625, 0, 0.1939, -0.981, \n-0.136563, 0, -0.686549, 0.78125, 0.5, -0.1951, 0, -0.9808, \n 0, 0, -0.7, 0.75, 0.5, 0, 0, -1, \n 0, -0.136563, -0.68655, 0.75, 0.4375, 0, -0.1939, -0.981, \n];\n\nobjArray.push(Moon_Sphere_data);\n\n\ngroupArray.push(\n new VertGroup(\n 0, // material number\n 0, // object number\n 0, // starting face\n 2880, // length\n )\n);\n","/**\r\n * @author Rick Battagline / https://embed.com/wasm\r\n */\r\n\r\nimport {\r\n WebGLShader, shaderSource, createShader, compileShader, \r\n VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram,\r\n attachShader, useProgram, WebGLUniformLocation, getUniformLocation,\r\n linkProgram, clearColor, clear, imageReady,\r\n createBuffer, ARRAY_BUFFER, \r\n createTexture, createImage, ImageData, pixelStorei, activeTexture,\r\n bindTexture, texParameteri, texImage2D, uniform1i, \r\n DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT,\r\n UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, \r\n TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE,\r\n enableVertexAttribArray, bindBuffer, createContextFromCanvas,\r\n bufferData, getAttribLocation, drawArrays, enable, depthFunc,\r\n vertexAttribPointer, TRIANGLES, GREATER, uniform3f,\r\n logi32,\r\n} from '../../webgl'\r\n\r\n\r\nimport {\r\n objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap\r\n} from './Moon_Sphere'\r\n\r\n\r\n\r\nconst VERTEX_SHADER_CODE:string = `#version 300 es\r\n precision mediump float;\r\n\r\n in vec3 position;\r\n in vec2 tex_uv;\r\n in vec3 normal;\r\n\r\n smooth out vec4 c;\r\n smooth out vec2 tc;\r\n\r\n void main() {\r\n const vec3 light = vec3(0.25, 2.0, -0.5);\r\n vec4 pos = vec4( position, 1.0 );\r\n\r\n mat4 mRotateTranslate = mat4(\r\n 1.0, 0.0, 0.0, 0.0, // column 1\r\n 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2\r\n 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3\r\n 0.0, 0.0, 0.0, 1.0 // column 4\r\n );\r\n\r\n gl_Position = pos * mRotateTranslate;\r\n tc = tex_uv;\r\n float d = clamp( dot( normal, light ), 0.2, 1.0);\r\n c = vec4( d,d,d, 1.0);\r\n }\r\n`;\r\n\r\n// THIS IS THE FRAGMENT SHADER\r\nconst FRAGMENT_SHADER_CODE:string = `#version 300 es\r\n precision highp float;\r\n smooth in vec4 c;\r\n smooth in vec2 tc;\r\n\r\n out vec4 color;\r\n uniform sampler2D sampler;\r\n uniform sampler2D tex_norm;\r\n\r\n void main() {\r\n const vec3 light = vec3(0.25, 2.0, -0.5);\r\n const float f = 1.0;\r\n vec3 tn = texture(tex_norm, tc).rgb * vec3(f,f,f);\r\n\r\n float d = dot( tn, light );\r\n\r\n color = texture( sampler, tc ) * vec4(d,d,d,1.0) * c;\r\n }\r\n`;\r\nlogi32(1);\r\n // initialize webgl\r\n var gl = createContextFromCanvas('cnvs', 'webgl2');\r\n\r\nlogi32(2);\r\n let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER);\r\n shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE);\r\n compileShader(gl, vertex_shader);\r\n\r\nlogi32(3);\r\n let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER);\r\n shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE);\r\n compileShader( gl, fragment_shader );\r\nlogi32(4);\r\n\r\n let program = createProgram(gl);\r\n\r\nlogi32(5);\r\n attachShader(gl, program, vertex_shader);\r\n attachShader(gl, program, fragment_shader);\r\nlogi32(6);\r\n\r\n linkProgram( gl, program );\r\n\r\n useProgram( gl, program );\r\n\r\nlogi32(7);\r\n let buffer = createBuffer(gl);\r\n bindBuffer(gl, ARRAY_BUFFER, buffer);\r\n\r\nlogi32(8);\r\n let position_al = getAttribLocation(gl, program, 'position');\r\n enableVertexAttribArray(gl, position_al);\r\n\r\nlogi32(9);\r\n let tex_uv_al = getAttribLocation(gl, program, 'tex_uv');\r\n enableVertexAttribArray(gl, tex_uv_al);\r\n\r\nlogi32(10);\r\n let normal_al = getAttribLocation(gl, program, 'normal');\r\n enableVertexAttribArray(gl, normal_al);\r\n\r\nlogi32(11);\r\n// let diffuse = getUniformLocation( gl, program, 'diffuse' );\r\n\r\n let texture = createTexture(gl);\r\n let sampler = getUniformLocation( gl, program, 'sampler' );\r\n\r\nlogi32(120);\r\n let texture_n = createTexture(gl);\r\nlogi32(121);\r\n let tex_norm = getUniformLocation( gl, program, 'tex_norm' );\r\n\r\nlogi32(122);\r\n var image_id: ImageData = createImage(matMapArray[0].diffuse);\r\nlogi32(123);\r\n var norm_image_id: ImageData = createImage(matMapArray[0].bump);\r\nlogi32(124);\r\n\r\nlogi32(13);\r\n var image_ready: bool = false;\r\n\r\n//diffuse\r\n enable(gl, DEPTH_TEST);\r\n\r\nlogi32(14);\r\n\r\nfunction rotate(theta: f32) : void { //u32 {\r\n for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) {\r\n for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) {\r\n\r\n let x:f32 = objArray[obj_i][coord_i];\r\n let z:f32 = objArray[obj_i][coord_i+2];\r\n\r\n let nx:f32 = objArray[obj_i][coord_i+5];\r\n let nz:f32 = objArray[obj_i][coord_i+7];\r\n\r\n let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta);\r\n let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta);\r\n\r\n let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta);\r\n let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta);\r\n\r\n objArray[obj_i][coord_i] = x1;\r\n objArray[obj_i][coord_i+2] = z1;\r\n\r\n objArray[obj_i][coord_i+5] = nx1;\r\n objArray[obj_i][coord_i+7] = nz1;\r\n }\r\n }\r\n\r\n return;\r\n}\r\n\r\n var vGroup: VertGroup;\r\n export function displayLoop(delta:i32):void {\r\n let r: f32 = delta / 10000.0;\r\n rotate(r);\r\n\r\n clearColor(gl, 0.0, 0.0, 0.0, 1.0);\r\n clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT);\r\n\r\n if( image_ready == false ) {\r\n if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) {\r\n return;\r\n }\r\n\r\n pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1);\r\n pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\r\n activeTexture(gl, TEXTURE0);\r\n bindTexture(gl, TEXTURE_2D, texture);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR);\r\n texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id);\r\n\r\n activeTexture(gl, TEXTURE1);\r\n bindTexture(gl, TEXTURE_2D, texture_n);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR);\r\n texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR);\r\n texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id);\r\n\r\n uniform1i(gl, sampler, 0);\r\n image_ready = true;\r\n }\r\n\r\n for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) {\r\n vGroup = groupArray[g_i];\r\n bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW);\r\n/*\r\n let diffuse_r: f32 = matArray[vGroup.mat_index][4];\r\n let diffuse_g: f32 = matArray[vGroup.mat_index][5];\r\n let diffuse_b: f32 = matArray[vGroup.mat_index][6];\r\n uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); \r\n*/\r\n // dimensions | data_type | normalize | stride | offset\r\n vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0);\r\n vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12);\r\n vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20);\r\n drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length);\r\n }\r\n }","/// \n\nimport { OBJECT, BLOCK_MAXSIZE, TOTAL_OVERHEAD } from \"./rt/common\";\nimport { idof } from \"./builtins\";\nimport { Array } from \"./array\";\nimport { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from \"./util/error\";\nimport { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from \"./util/string\";\n\n@final\nexport class StaticArray {\n [key: number]: T;\n\n // Note that the interface of StaticArray instances must be a semantically\n // compatible subset of Array in order for syntax highlighting to work\n // properly, for instance when creating static arrays from array literals.\n // The additionally provided static methods take care of dealing with static\n // arrays exclusively, without having to convert to Array first.\n\n static fromArray(source: Array): StaticArray {\n var length = source.length;\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n if (isManaged()) {\n let sourcePtr = source.dataStart;\n for (let i = 0; i < length; ++i) {\n let off = i << alignof();\n store(out + off, __retain(load(sourcePtr + off)));\n }\n } else {\n memory.copy(out, source.dataStart, outSize);\n }\n return changetype>(out);\n }\n\n static concat(source: StaticArray, other: StaticArray): StaticArray {\n var sourceLen = source.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = sourceLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__new(outLen << alignof(), idof>())); // retains\n var outStart = changetype(out);\n var sourceSize = sourceLen << alignof();\n if (isManaged()) {\n for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) {\n let ref = load(changetype(source) + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += sourceSize;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(changetype(other) + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(source), sourceSize);\n memory.copy(outStart + sourceSize, changetype(other), otherLen << alignof());\n }\n return out;\n }\n\n static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray {\n var length = source.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var sliceSize = length << alignof();\n var slice = changetype>(__new(sliceSize, idof>())); // retains\n var sourcePtr = changetype(source) + (start << alignof());\n if (isManaged()) {\n let off: usize = 0;\n while (off < sliceSize) {\n let ref = load(sourcePtr + off);\n store(changetype(slice) + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(changetype(slice), sourcePtr, sliceSize);\n }\n return slice;\n }\n\n constructor(length: i32) {\n if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH);\n var outSize = length << alignof();\n var out = __new(outSize, idof>());\n memory.fill(out, 0, outSize);\n return changetype>(out); // retains\n }\n\n get length(): i32 {\n return changetype(changetype(this) - TOTAL_OVERHEAD).rtSize >>> alignof();\n }\n\n @operator(\"[]\") private __get(index: i32): T {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n var value = this.__uget(index);\n if (isReference()) {\n if (!isNullable()) {\n if (!changetype(value)) throw new Error(E_HOLEYARRAY);\n }\n }\n return value;\n }\n\n @unsafe @operator(\"{}\") private __uget(index: i32): T {\n return load(changetype(this) + (index << alignof()));\n }\n\n @operator(\"[]=\") private __set(index: i32, value: T): void {\n if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE);\n this.__uset(index, value);\n }\n\n @unsafe @operator(\"{}=\") private __uset(index: i32, value: T): void {\n if (isManaged()) {\n let offset = changetype(this) + (index << alignof());\n let oldRef = load(offset);\n if (changetype(value) != oldRef) {\n store(offset, __retain(changetype(value)));\n __release(changetype(oldRef));\n }\n } else {\n store(changetype(this) + (index << alignof()), value);\n }\n }\n\n includes(value: T, fromIndex: i32 = 0): bool {\n if (isFloat()) {\n let length = this.length;\n if (length == 0 || fromIndex >= length) return false;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n let elem = load(changetype(this) + (fromIndex << alignof()));\n // @ts-ignore\n if (elem == value || isNaN(elem) & isNaN(value)) return true;\n ++fromIndex;\n }\n return false;\n } else {\n return this.indexOf(value, fromIndex) >= 0;\n }\n }\n\n indexOf(value: T, fromIndex: i32 = 0): i32 {\n var length = this.length;\n if (length == 0 || fromIndex >= length) return -1;\n if (fromIndex < 0) fromIndex = max(length + fromIndex, 0);\n while (fromIndex < length) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n ++fromIndex;\n }\n return -1;\n }\n\n lastIndexOf(value: T, fromIndex: i32 = this.length): i32 {\n var length = this.length;\n if (length == 0) return -1;\n if (fromIndex < 0) fromIndex = length + fromIndex;\n else if (fromIndex >= length) fromIndex = length - 1;\n while (fromIndex >= 0) {\n if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex;\n --fromIndex;\n }\n return -1;\n }\n\n concat(other: Array): Array {\n var thisLen = this.length;\n var otherLen = select(0, other.length, other === null);\n var outLen = thisLen + otherLen;\n if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH);\n var out = changetype>(__newArray(outLen, alignof(), idof>())); // retains\n var outStart = out.dataStart;\n var thisSize = thisLen << alignof();\n if (isManaged()) {\n let thisStart = changetype(this);\n for (let offset: usize = 0; offset < thisSize; offset += sizeof()) {\n let ref = load(thisStart + offset);\n store(outStart + offset, __retain(ref));\n }\n outStart += thisSize;\n let otherStart = other.dataStart;\n let otherSize = otherLen << alignof();\n for (let offset: usize = 0; offset < otherSize; offset += sizeof()) {\n let ref = load(otherStart + offset);\n store(outStart + offset, __retain(ref));\n }\n } else {\n memory.copy(outStart, changetype(this), thisSize);\n memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof());\n }\n return out;\n }\n\n slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array {\n var length = this.length;\n start = start < 0 ? max(start + length, 0) : min(start, length);\n end = end < 0 ? max(end + length, 0) : min(end , length);\n length = max(end - start, 0);\n var slice = changetype>(__newArray(length, alignof(), idof>())); // retains\n var sliceBase = slice.dataStart;\n var thisBase = changetype(this) + (start << alignof());\n if (isManaged()) {\n let off = 0;\n let end = length << alignof();\n while (off < end) {\n let ref = load(thisBase + off);\n store(sliceBase + off, __retain(ref));\n off += sizeof();\n }\n } else {\n memory.copy(sliceBase, thisBase, length << alignof());\n }\n return slice;\n }\n\n join(separator: string = \",\"): string {\n if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator);\n if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator);\n if (isFloat()) return joinFloatArray(changetype(this), this.length, separator);\n if (ASC_SHRINK_LEVEL < 1) {\n if (isString()) return joinStringArray(changetype(this), this.length, separator);\n }\n if (isReference()) return joinReferenceArray(changetype(this), this.length, separator);\n ERROR(\"unspported element type\");\n return unreachable();\n }\n\n toString(): string {\n return this.join();\n }\n\n // RT integration\n\n @unsafe private __visit(cookie: u32): void {\n if (isManaged()) {\n let cur = changetype(this);\n let end = cur + changetype(changetype(this) - TOTAL_OVERHEAD).rtSize;\n while (cur < end) {\n let val = load(cur);\n if (val) __visit(val, cookie);\n cur += sizeof();\n }\n }\n }\n}\n","import * as JSMath from \"./bindings/Math\";\nexport { JSMath };\n\nimport {\n pow_lut, exp_lut, exp2_lut, log_lut, log2_lut,\n powf_lut, expf_lut, exp2f_lut, logf_lut, log2f_lut\n} from \"./util/math\";\n\nimport {\n abs as builtin_abs,\n ceil as builtin_ceil,\n clz as builtin_clz,\n copysign as builtin_copysign,\n floor as builtin_floor,\n max as builtin_max,\n min as builtin_min,\n sqrt as builtin_sqrt,\n trunc as builtin_trunc\n} from \"./builtins\";\n\n// SUN COPYRIGHT NOTICE\n//\n// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.\n// Developed at SunPro, a Sun Microsystems, Inc. business.\n// Permission to use, copy, modify, and distribute this software\n// is freely granted, provided that this notice is preserved.\n//\n// Applies to all functions marked with a comment referring here.\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy var rempio2_y0: f64, rempio2_y1: f64, res128_hi: u64;\n\n/** @internal */\n// @ts-ignore: decorator\n@lazy @inline const PIO2_TABLE = memory.data([\n 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB,\n 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5,\n 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF,\n 0xDE05980FEF2F118B, 0x5A0A6D1F6D367ECF, 0x27CB09B74F463F66, 0x9E5FEA2D7527BAC7,\n 0xEBE5F17B3D0739F7, 0x8A5292EA6BFB5FB1, 0x1F8D5D0856033046, 0xFC7B6BABF0CFBC20,\n 0x9AF4361DA9E39161, 0x5EE61B086599855F, 0x14A068408DFFD880, 0x4D73273106061557\n]);\n\n/** @internal */\nfunction R(z: f64): f64 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3FC5555555555555), // 1.66666666666666657415e-01\n pS1 = reinterpret(0xBFD4D61203EB6F7D), // -3.25565818622400915405e-01\n pS2 = reinterpret(0x3FC9C1550E884455), // 2.01212532134862925881e-01\n pS3 = reinterpret(0xBFA48228B5688F3B), // -4.00555345006794114027e-02\n pS4 = reinterpret(0x3F49EFE07501B288), // 7.91534994289814532176e-04\n pS5 = reinterpret(0x3F023DE10DFDF709), // 3.47933107596021167570e-05\n qS1 = reinterpret(0xC0033A271C8A2D4B), // -2.40339491173441421878e+00\n qS2 = reinterpret(0x40002AE59C598AC8), // 2.02094576023350569471e+00\n qS3 = reinterpret(0xBFE6066C1B8D0159), // -6.88283971605453293030e-01\n qS4 = reinterpret(0x3FB3B8C5B12E9282); // 7.70381505559019352791e-02\n var p = z * (pS0 + z * (pS1 + z * (pS2 + z * (pS3 + z * (pS4 + z * pS5)))));\n var q = 1.0 + z * (qS1 + z * (qS2 + z * (qS3 + z * qS4)));\n return p / q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction expo2(x: f64, sign: f64): f64 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2.c\n k = 2043,\n kln2 = reinterpret(0x40962066151ADD8B); // 0x1.62066151add8bp+10\n var scale = reinterpret(((0x3FF + k / 2) << 20) << 32);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMath.exp(x - kln2) * (sign * scale) * scale;\n}\n\n/** @internal */\n/* Helper function to eventually get bits of π/2 * |x|\n *\n * y = π/4 * (frac << clz(frac) >> 11)\n * return clz(frac)\n *\n * Right shift 11 bits to make upper half fit in `double`\n */\n// @ts-ignore: decorator\n@inline\nfunction pio2_right(q0: u64, q1: u64): u64 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n // Bits of π/4\n const p0: u64 = 0xC4C6628B80DC1CD1;\n const p1: u64 = 0xC90FDAA22168C234;\n\n const Ox1p_64 = reinterpret(0x3BF0000000000000); // 0x1p-64\n const Ox1p_75 = reinterpret(0x3B40000000000000); // 0x1p-75\n\n var shift = clz(q1);\n\n q1 = q1 << shift | q0 >> (64 - shift);\n q0 <<= shift;\n\n var lo = umuldi(p1, q1);\n var hi = res128_hi;\n\n var ahi = hi >> 11;\n var alo = lo >> 11 | hi << 53;\n var blo = (Ox1p_75 * p0 * q1 + Ox1p_75 * p1 * q0);\n\n rempio2_y0 = (ahi + u64(lo < blo));\n rempio2_y1 = Ox1p_64 * (alo + blo);\n\n return shift;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction umuldi(u: u64, v: u64): u64 {\n var u1: u64 , v1: u64, w0: u64, w1: u64, t: u64;\n\n u1 = u & 0xFFFFFFFF;\n v1 = v & 0xFFFFFFFF;\n\n u >>= 32;\n v >>= 32;\n\n t = u1 * v1;\n w0 = t & 0xFFFFFFFF;\n t = u * v1 + (t >> 32);\n w1 = t >> 32;\n t = u1 * v + (t & 0xFFFFFFFF);\n\n res128_hi = u * v + w1 + (t >> 32);\n return (t << 32) + w0;\n}\n\n/** @internal */\nfunction pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c\n var magnitude = u & 0x7FFFFFFFFFFFFFFF;\n var offset = (magnitude >> 52) - 1045;\n var shift = offset & 63;\n var tblPtr = PIO2_TABLE + ((offset >> 6) << 3);\n var s0: u64, s1: u64, s2: u64;\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var b2 = load(tblPtr, 2 << 3);\n\n // Get 192 bits of 0x1p-31 / π with `offset` bits skipped\n if (shift) {\n let rshift = 64 - shift;\n let b3 = load(tblPtr, 3 << 3);\n s0 = b1 >> rshift | b0 << shift;\n s1 = b2 >> rshift | b1 << shift;\n s2 = b3 >> rshift | b2 << shift;\n } else {\n s0 = b0;\n s1 = b1;\n s2 = b2;\n }\n\n var significand = (u & 0x000FFFFFFFFFFFFF) | 0x0010000000000000;\n\n // First 128 bits of fractional part of x/(2π)\n var blo = umuldi(s1, significand);\n var bhi = res128_hi;\n\n var ahi = s0 * significand;\n var clo = (s2 >> 32) * (significand >> 32);\n var plo = blo + clo;\n var phi = ahi + bhi + u64(plo < clo);\n\n // r: u128 = p << 2\n var rlo = plo << 2;\n var rhi = phi << 2 | plo >> 62;\n\n // s: i128 = r >> 127\n var slo = rhi >> 63;\n var shi = slo >> 1;\n var q = (phi >> 62) - slo;\n\n var shifter = 0x3CB0000000000000 - (pio2_right(rlo ^ slo, rhi ^ shi) << 52);\n var signbit = (u ^ rhi) & 0x8000000000000000;\n var coeff = reinterpret(shifter | signbit);\n\n rempio2_y0 *= coeff;\n rempio2_y1 *= coeff;\n\n return q;\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction rempio2(x: f64, u: u64, sign: i32): i32 {\n const pio2_1 = reinterpret(0x3FF921FB54400000); // 1.57079632673412561417e+00\n const pio2_1t = reinterpret(0x3DD0B4611A626331); // 6.07710050650619224932e-11\n const pio2_2 = reinterpret(0x3DD0B4611A600000); // 6.07710050630396597660e-11\n const pio2_2t = reinterpret(0x3BA3198A2E037073); // 2.02226624879595063154e-21\n const pio2_3 = reinterpret(0x3BA3198A2E000000); // 2.02226624871116645580e-21\n const pio2_3t = reinterpret(0x397B839A252049C1); // 8.47842766036889956997e-32\n const invpio2 = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n var ix = (u >> 32) & 0x7FFFFFFF;\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix < 0x4002D97C) { // |x| < 3pi/4, special case with n=+-1\n let q = 1, z: f64, y0: f64, y1: f64;\n if (!sign) {\n z = x - pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z - pio2_1t;\n y1 = (z - y0) - pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z -= pio2_2;\n y0 = z - pio2_2t;\n y1 = (z - y0) - pio2_2t;\n }\n } else { // negative x\n z = x + pio2_1;\n if (ix != 0x3FF921FB) { // 33+53 bit pi is good enough\n y0 = z + pio2_1t;\n y1 = (z - y0) + pio2_1t;\n } else { // near pi/2, use 33+33+53 bit pi\n z += pio2_2;\n y0 = z + pio2_2t;\n y1 = (z - y0) + pio2_2t;\n }\n q = -1;\n }\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n }\n\n if (ix < 0x413921FB) { // |x| ~< 2^20*pi/2 (1647099)\n // Use precise Cody Waite scheme\n let q = nearest(x * invpio2);\n let r = x - q * pio2_1;\n let w = q * pio2_1t; // 1st round good to 85 bit\n let j = ix >> 20;\n let y0 = r - w;\n let hi = (reinterpret(y0) >> 32);\n let i = j - ((hi >> 20) & 0x7FF);\n\n if (i > 16) { // 2nd iteration needed, good to 118\n let t = r;\n w = q * pio2_2;\n r = t - w;\n w = q * pio2_2t - ((t - r) - w);\n y0 = r - w;\n hi = (reinterpret(y0) >> 32);\n i = j - ((hi >> 20) & 0x7FF);\n if (i > 49) { // 3rd iteration need, 151 bits acc\n let t = r;\n w = q * pio2_3;\n r = t - w;\n w = q * pio2_3t - ((t - r) - w);\n y0 = r - w;\n }\n }\n let y1 = (r - y0) - w;\n rempio2_y0 = y0;\n rempio2_y1 = y1;\n return q;\n }\n var q = pio2_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction sin_kern(x: f64, y: f64, iy: i32): f64 { // see: musl/tree/src/math/__sin.c\n const S1 = reinterpret(0xBFC5555555555549); // -1.66666666666666324348e-01\n const S2 = reinterpret(0x3F8111111110F8A6); // 8.33333333332248946124e-03\n const S3 = reinterpret(0xBF2A01A019C161D5); // -1.98412698298579493134e-04\n const S4 = reinterpret(0x3EC71DE357B1FE7D); // 2.75573137070700676789e-06\n const S5 = reinterpret(0xBE5AE5E68A2B9CEB); // -2.50507602534068634195e-08\n const S6 = reinterpret(0x3DE5D93A5ACFD57C); // 1.58969099521155010221e-10\n\n var z = x * x;\n var w = z * z;\n var r = S2 + z * (S3 + z * S4) + z * w * (S5 + z * S6);\n var v = z * x;\n if (!iy) {\n return x + v * (S1 + z * r);\n } else {\n return x - ((z * (0.5 * y - v * r) - y) - v * S1);\n }\n}\n\n/** @internal */\n// @ts-ignore: decorator\n@inline\nfunction cos_kern(x: f64, y: f64): f64 { // see: musl/tree/src/math/__cos.c\n const C1 = reinterpret(0x3FA555555555554C); // 4.16666666666666019037e-02\n const C2 = reinterpret(0xBF56C16C16C15177); // -1.38888888888741095749e-03\n const C3 = reinterpret(0x3EFA01A019CB1590); // 2.48015872894767294178e-05\n const C4 = reinterpret(0xBE927E4F809C52AD); // -2.75573143513906633035e-07\n const C5 = reinterpret(0x3E21EE9EBDB4B1C4); // 2.08757232129817482790e-09\n const C6 = reinterpret(0xBDA8FAE9BE8838D4); // -1.13596475577881948265e-11\n\n var z = x * x;\n var w = z * z;\n var r = z * (C1 + z * (C2 + z * C3)) + w * w * (C4 + z * (C5 + z * C6));\n var hz = 0.5 * z;\n w = 1.0 - hz;\n return w + (((1.0 - w) - hz) + (z * r - x * y));\n}\n\n/** @internal */\nfunction tan_kern(x: f64, y: f64, iy: i32): f64 { // see: src/lib/msun/src/k_tan.c\n const T0 = reinterpret(0x3FD5555555555563); // 3.33333333333334091986e-01\n const T1 = reinterpret(0x3FC111111110FE7A); // 1.33333333333201242699e-01\n const T2 = reinterpret(0x3FABA1BA1BB341FE); // 5.39682539762260521377e-02\n const T3 = reinterpret(0x3F9664F48406D637); // 2.18694882948595424599e-02\n const T4 = reinterpret(0x3F8226E3E96E8493); // 8.86323982359930005737e-03\n const T5 = reinterpret(0x3F6D6D22C9560328); // 3.59207910759131235356e-03\n const T6 = reinterpret(0x3F57DBC8FEE08315); // 1.45620945432529025516e-03\n const T7 = reinterpret(0x3F4344D8F2F26501); // 5.88041240820264096874e-04\n const T8 = reinterpret(0x3F3026F71A8D1068); // 2.46463134818469906812e-04\n const T9 = reinterpret(0x3F147E88A03792A6); // 7.81794442939557092300e-05\n const T10 = reinterpret(0x3F12B80F32F0A7E9); // 7.14072491382608190305e-05\n const T11 = reinterpret(0xBEF375CBDB605373); // -1.85586374855275456654e-05\n const T12 = reinterpret(0x3EFB2A7074BF7AD4); // 2.59073051863633712884e-05\n\n const one = reinterpret(0x3FF0000000000000); // 1.00000000000000000000e+00\n const pio4 = reinterpret(0x3FE921FB54442D18); // 7.85398163397448278999e-01\n const pio4lo = reinterpret(0x3C81A62633145C07); // 3.06161699786838301793e-17\n\n var z: f64, r: f64, v: f64, w: f64, s: f64;\n var hx = (reinterpret(x) >> 32); // high word of x\n var ix = hx & 0x7FFFFFFF; // high word of |x|\n var big = ix >= 0x3FE59428;\n if (big) { // |x| >= 0.6744\n if (hx < 0) { x = -x, y = -y; }\n z = pio4 - x;\n w = pio4lo - y;\n x = z + w;\n y = 0.0;\n }\n z = x * x;\n w = z * z;\n r = T1 + w * (T3 + w * (T5 + w * (T7 + w * (T9 + w * T11))));\n v = z * (T2 + w * (T4 + w * (T6 + w * (T8 + w * (T10 + w * T12)))));\n s = z * x;\n r = y + z * (s * (r + v) + y);\n r += T0 * s;\n w = x + r;\n if (big) {\n v = iy;\n return (1 - ((hx >> 30) & 2)) * (v - 2.0 * (x - (w * w / (w + v) - r)));\n }\n if (iy == 1) return w;\n var a: f64, t: f64;\n z = w;\n z = reinterpret(reinterpret(z) & 0xFFFFFFFF00000000);\n v = r - (z - x); // z + v = r + x\n t = a = -one / w; // a = -1.0 / w\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n s = one + t * z;\n return t + a * (s + t * v);\n}\n\n/** @internal */\nfunction dtoi32(x: f64): i32 {\n if (ASC_SHRINK_LEVEL > 0) {\n const inv32 = 1.0 / 4294967296;\n return (x - 4294967296 * floor(x * inv32));\n } else {\n let result = 0;\n let u = reinterpret(x);\n let e = (u >> 52) & 0x7FF;\n if (e <= 1023 + 30) {\n result = x;\n } else if (e <= 1023 + 30 + 53) {\n let v = (u & ((1 << 52) - 1)) | (1 << 52);\n v = v << e - 1023 - 52 + 32;\n result = (v >> 32);\n result = select(-result, result, u >> 63);\n }\n return result;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var random_seeded = false;\n\n// @ts-ignore: decorator\n@lazy var random_state0_64: u64, random_state1_64: u64;\n\n// @ts-ignore: decorator\n@lazy var random_state0_32: u32, random_state1_32: u32;\n\nfunction murmurHash3(h: u64): u64 { // Force all bits of a hash block to avalanche\n h ^= h >> 33; // see: https://github.com/aappleby/smhasher\n h *= 0xFF51AFD7ED558CCD;\n h ^= h >> 33;\n h *= 0xC4CEB9FE1A85EC53;\n h ^= h >> 33;\n return h;\n}\n\nfunction splitMix32(h: u32): u32 {\n h += 0x6D2B79F5;\n h = (h ^ (h >> 15)) * (h | 1);\n h ^= h + (h ^ (h >> 7)) * (h | 61);\n return h ^ (h >> 14);\n}\n\nexport namespace NativeMath {\n\n // @ts-ignore: decorator\n @lazy\n export const E = reinterpret(0x4005BF0A8B145769); // 2.7182818284590452354\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = reinterpret(0x3FE62E42FEFA39EF); // 0.69314718055994530942\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = reinterpret(0x40026BB1BBB55516); // 2.30258509299404568402\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = reinterpret(0x3FF71547652B82FE); // 1.4426950408889634074\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = reinterpret(0x3FDBCB7B1526E50E); // 0.43429448190325182765\n\n // @ts-ignore: decorator\n @lazy\n export const PI = reinterpret(0x400921FB54442D18); // 3.14159265358979323846\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = reinterpret(0x3FE6A09E667F3BCD); // 0.70710678118654752440\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = reinterpret(0x3FF6A09E667F3BCD); // 1.41421356237309504880\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f64 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f64 = 0;\n\n // @ts-ignore: decorator\n @inline export function abs(x: f64): f64 {\n return builtin_abs(x);\n }\n\n export function acos(x: f64): f64 { // see: musl/src/math/acos.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix <= 0x3C600000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * R(x * x)));\n }\n var s: f64, w: f64, z: f64;\n if (hx >> 31) {\n // z = (1.0 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = R(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1.0 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n var df = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n var c = (z - df * df) / (s + df);\n w = R(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f64): f64 { // see: musl/src/math/acosh.c\n const s = reinterpret(0x3FE62E42FEFA39EF);\n var e = reinterpret(x) >> 52 & 0x7FF;\n if (e < 0x3FF + 1) return log1p(x - 1 + builtin_sqrt((x - 1) * (x - 1) + 2 * (x - 1)));\n if (e < 0x3FF + 26) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f64): f64 { // see: musl/src/math/asin.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n pio2_lo = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n Ox1p_120f = reinterpret(0x03800000);\n var hx = (reinterpret(x) >> 32);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3FF00000) {\n let lx = reinterpret(x);\n if ((ix - 0x3FF00000 | lx) == 0) return x * pio2_hi + Ox1p_120f;\n return 0 / (x - x);\n }\n if (ix < 0x3FE00000) {\n if (ix < 0x3E500000 && ix >= 0x00100000) return x;\n return x + x * R(x * x);\n }\n // var z = (1.0 - builtin_abs(x)) * 0.5;\n var z = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z);\n var r = R(z);\n if (ix >= 0x3FEF3333) x = pio2_hi - (2 * (s + s * r) - pio2_lo);\n else {\n let f = reinterpret(reinterpret(s) & 0xFFFFFFFF00000000);\n let c = (z - f * f) / (s + f);\n x = 0.5 * pio2_hi - (2 * s * r - (pio2_lo - 2 * c) - (0.5 * pio2_hi - 2 * f));\n }\n if (hx >> 31) return -x;\n return x;\n }\n\n export function asinh(x: f64): f64 { // see: musl/src/math/asinh.c\n const c = reinterpret(0x3FE62E42FEFA39EF); // 0.693147180559945309417232121458176568\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = reinterpret(u & 0x7FFFFFFFFFFFFFFF);\n if (e >= 0x3FF + 26) y = log(y) + c;\n else if (e >= 0x3FF + 1) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (e >= 0x3FF - 26) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f64): f64 { // see musl/src/math/atan.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3FDDAC670561BB4F), // 4.63647609000806093515e-01\n atanhi1 = reinterpret(0x3FE921FB54442D18), // 7.85398163397448278999e-01\n atanhi2 = reinterpret(0x3FEF730BD281F69B), // 9.82793723247329054082e-01\n atanhi3 = reinterpret(0x3FF921FB54442D18), // 1.57079632679489655800e+00\n atanlo0 = reinterpret(0x3C7A2B7F222F65E2), // 2.26987774529616870924e-17\n atanlo1 = reinterpret(0x3C81A62633145C07), // 3.06161699786838301793e-17\n atanlo2 = reinterpret(0x3C7007887AF0CBBD), // 1.39033110312309984516e-17\n atanlo3 = reinterpret(0x3C91A62633145C07), // 6.12323399573676603587e-17\n aT0 = reinterpret(0x3FD555555555550D), // 3.33333333333329318027e-01\n aT1 = reinterpret(0xBFC999999998EBC4), // -1.99999999998764832476e-01\n aT2 = reinterpret(0x3FC24924920083FF), // 1.42857142725034663711e-01\n aT3 = reinterpret(0xBFBC71C6FE231671), // -1.11111104054623557880e-01,\n aT4 = reinterpret(0x3FB745CDC54C206E), // 9.09088713343650656196e-02\n aT5 = reinterpret(0xBFB3B0F2AF749A6D), // -7.69187620504482999495e-02\n aT6 = reinterpret(0x3FB10D66A0D03D51), // 6.66107313738753120669e-02\n aT7 = reinterpret(0xBFADDE2D52DEFD9A), // -5.83357013379057348645e-02\n aT8 = reinterpret(0x3FA97B4B24760DEB), // 4.97687799461593236017e-02\n aT9 = reinterpret(0xBFA2B4442C6A6C2F), // -3.65315727442169155270e-02\n aT10 = reinterpret(0x3F90AD3AE322DA11), // 1.62858201153657823623e-02\n Ox1p_120f = reinterpret(0x03800000);\n var ix = (reinterpret(x) >> 32);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f64;\n if (ix >= 0x44100000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3FDC0000) {\n if (ix < 0x3E400000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3FF30000) {\n if (ix < 0x3FE60000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x40038000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * (aT4 + w * (aT6 + w * (aT8 + w * aT10)))));\n var s2 = w * (aT1 + w * (aT3 + w * (aT5 + w * (aT7 + w * aT9))));\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f64): f64 { // see: musl/src/math/atanh.c\n var u = reinterpret(x);\n var e = u >> 52 & 0x7FF;\n var y = builtin_abs(x);\n if (e < 0x3FF - 1) {\n if (e >= 0x3FF - 32) y = 0.5 * log1p(2 * y + 2 * y * y / (1 - y));\n } else {\n y = 0.5 * log1p(2 * (y / (1 - y)));\n }\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f64, x: f64): f64 { // see: musl/src/math/atan2.c and SUN COPYRIGHT NOTICE above\n const pi_lo = reinterpret(0x3CA1A62633145C07); // 1.2246467991473531772E-16\n if (isNaN(x) || isNaN(y)) return x + y;\n var u = reinterpret(x);\n var ix = (u >> 32);\n var lx = u;\n u = reinterpret(y);\n var iy = (u >> 32);\n var ly = u;\n if ((ix - 0x3FF00000 | lx) == 0) return atan(y);\n var m = ((iy >> 31) & 1) | ((ix >> 30) & 2);\n ix = ix & 0x7FFFFFFF;\n iy = iy & 0x7FFFFFFF;\n if ((iy | ly) == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return PI;\n case 3: return -PI;\n }\n }\n if ((ix | lx) == 0) return m & 1 ? -PI / 2 : PI / 2;\n if (ix == 0x7FF00000) {\n if (iy == 0x7FF00000) {\n let t = m & 2 ? 3 * PI / 4 : PI / 4;\n return m & 1 ? -t : t;\n } else {\n let t = m & 2 ? PI : 0;\n return m & 1 ? -t : t;\n }\n }\n var z: f64;\n if (ix + (64 << 20) < iy || iy == 0x7FF00000) return m & 1 ? -PI / 2 : PI / 2;\n if ((m & 2) && iy + (64 << 20) < ix) z = 0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return PI - (z - pi_lo);\n case 3: return (z - pi_lo) - PI;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f64): f64 { // see: musl/src/math/cbrt.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 715094163,\n B2 = 696219795,\n P0 = reinterpret(0x3FFE03E60F61E692), // 1.87595182427177009643\n P1 = reinterpret(0xBFFE28E092F02420), // -1.88497979543377169875\n P2 = reinterpret(0x3FF9F1604A49D6C2), // 1.621429720105354466140\n P3 = reinterpret(0xBFE844CBBEE751D9), // -0.758397934778766047437\n P4 = reinterpret(0x3FC2B000D4E4EDD7), // 0.145996192886612446982\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32) & 0x7FFFFFFF;\n if (hx >= 0x7FF00000) return x + x;\n if (hx < 0x00100000) {\n u = reinterpret(x * Ox1p54);\n hx = (u >> 32) & 0x7FFFFFFF;\n if (hx == 0) return x;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 1 << 63;\n u |= hx << 32;\n var t = reinterpret(u);\n var r = (t * t) * (t / x);\n t = t * ((P0 + r * (P1 + r * P2)) + ((r * r) * r) * (P3 + r * P4));\n t = reinterpret((reinterpret(t) + 0x80000000) & 0xFFFFFFFFC0000000);\n var s = t * t;\n r = x / s;\n r = (r - t) / (2 * t + r);\n t = t + t * r;\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f64): f64 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f64): f64 {\n if (!isFinite(x)) return 32;\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f64): f64 { // see: musl/src/math/cos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E46A09E) { // |x| < 2**-27 * sqrt(2)\n return 1.0;\n }\n return cos_kern(x, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? sin_kern(y0, y1, 1) : cos_kern(y0, y1);\n return (n + 1) & 2 ? -x : x;\n }\n\n export function cosh(x: f64): f64 { // see: musl/src/math/cosh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n x = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w < 0x3FE62E42) {\n if (w < 0x3FF00000 - (26 << 20)) return 1;\n t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (w < 0x40862E42) {\n t = exp(x);\n return 0.5 * (t + 1 / t);\n }\n t = expo2(x, 1);\n return t;\n }\n\n export function exp(x: f64): f64 { // see: musl/src/math/exp.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return exp_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n overflow = reinterpret(0x40862E42FEFA39EF), // 709.782712893383973096\n underflow = reinterpret(0xC0874910D52D3051), // -745.13321910194110842\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n let hx = (reinterpret(x) >> 32);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x4086232B) {\n if (isNaN(x)) return x;\n if (x > overflow) return x * Ox1p1023;\n if (x < underflow) return 0;\n }\n let hi: f64, lo: f64 = 0;\n let k = 0;\n if (hx > 0x3FD62E42) {\n if (hx >= 0x3FF0A2B2) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x3E300000) {\n hi = x;\n } else return 1.0 + x;\n let xs = x * x;\n // var c = x - xp2 * (P1 + xp2 * (P2 + xp2 * (P3 + xp2 * (P4 + xp2 * P5))));\n let xq = xs * xs;\n let c = x - (xs * P1 + xq * ((P2 + xs * P3) + xq * (P4 + xs * P5)));\n let y = 1.0 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f64): f64 {\n return exp2_lut(x);\n }\n\n export function expm1(x: f64): f64 { // see: musl/src/math/expm1.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x40862E42FEFA39EF), // 7.09782712893383973096e+02\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n invln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n Q1 = reinterpret(0xBFA11111111110F4), // -3.33333333333331316428e-02\n Q2 = reinterpret(0x3F5A01A019FE5585), // 1.58730158725481460165e-03\n Q3 = reinterpret(0xBF14CE199EAADBB7), // -7.93650757867487942473e-05\n Q4 = reinterpret(0x3ED0CFCA86E65239), // 4.00821782732936239552e-06\n Q5 = reinterpret(0xBE8AFDB76E09C32D), // -2.01099218183624371326e-07\n Ox1p1023 = reinterpret(0x7FE0000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32 & 0x7FFFFFFF);\n var k = 0, sign_ = (u >> 63);\n if (hx >= 0x4043687A) {\n if (isNaN(x)) return x;\n if (sign_) return -1;\n if (x > o_threshold) return x * Ox1p1023;\n }\n var c = 0.0, t: f64;\n if (hx > 0x3FD62E42) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3FF0A2B2\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x3C900000) return x;\n var hfx = 0.5 * x;\n var hxs = x * hfx;\n // var r1 = 1.0 + hxs * (Q1 + hxs * (Q2 + hxs * (Q3 + hxs * (Q4 + hxs * Q5))));\n var hxq = hxs * hxs;\n var r1 = (1.0 + hxs * Q1) + hxq * ((Q2 + hxs * Q3) + hxq * (Q4 + hxs * Q5));\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x3FF + k) << 52;\n var twopk = reinterpret(u);\n var y: f64;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 1024) y = y * 2.0 * Ox1p1023;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x3FF - k) << 52;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f64): f64 {\n return builtin_floor(x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f64): f64 {\n return x;\n }\n\n export function hypot(x: f64, y: f64): f64 { // see: musl/src/math/hypot.c\n const\n SPLIT = reinterpret(0x41A0000000000000) + 1, // 0x1p27 + 1\n Ox1p700 = reinterpret(0x6BB0000000000000),\n Ox1p_700 = reinterpret(0x1430000000000000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFFFFFFFFFF;\n uy &= 0x7FFFFFFFFFFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n var ex = (ux >> 52);\n var ey = (uy >> 52);\n y = reinterpret(uy);\n if (ey == 0x7FF) return y;\n x = reinterpret(ux);\n if (ex == 0x7FF || uy == 0) return x;\n if (ex - ey > 64) return x + y;\n var z = 1.0;\n if (ex > 0x3FF + 510) {\n z = Ox1p700;\n x *= Ox1p_700;\n y *= Ox1p_700;\n } else if (ey < 0x3FF - 450) {\n z = Ox1p_700;\n x *= Ox1p700;\n y *= Ox1p700;\n }\n var c = x * SPLIT;\n var h = x - c + c;\n var l = x - h;\n var hx = x * x;\n var lx = h * h - hx + (2 * h + l) * l;\n c = y * SPLIT;\n h = y - c + c;\n l = y - h;\n var hy = y * y;\n var ly = h * h - hy + (2 * h + l) * l;\n return z * builtin_sqrt(ly + lx + hy + hx);\n }\n\n export function imul(x: f64, y: f64): f64 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return dtoi32(x) * dtoi32(y);\n }\n\n export function log(x: f64): f64 { // see: musl/src/math/log.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f64): f64 { // see: musl/src/math/log10.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3FDBCB7B15200000), // 4.34294481878168880939e-01\n ivln10lo = reinterpret(0x3DBB9438CA9AADD5), // 2.50829467116452752298e-11\n log10_2hi = reinterpret(0x3FD34413509F6000), // 3.01029995663611771306e-01\n log10_2lo = reinterpret(0x3D59FEF311F12B36), // 3.69423907715893078616e-13\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n var f = x - 1.0;\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var val_hi = hi * ivln10hi;\n var dk = k;\n var y = dk * log10_2hi;\n var val_lo = dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n return val_lo + w;\n }\n\n export function log1p(x: f64): f64 { // see: musl/src/math/log1p.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3FE62E42FEE00000), // 6.93147180369123816490e-01\n ln2_lo = reinterpret(0x3DEA39EF35793C76), // 1.90821492927058770002e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244); // 1.479819860511658591e-01\n var u = reinterpret(x);\n var hx = (u >> 32);\n var k = 1;\n var c = 0.0, f = 0.0;\n if (hx < 0x3FDA827A || (hx >> 31)) {\n if (hx >= 0xBFF00000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (hx << 1 < 0x3CA00000 << 1) return x;\n if (hx <= 0xBFD2BEC4) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (hx >= 0x7FF00000) return x;\n if (k) {\n u = reinterpret(1 + x);\n let hu = (u >> 32);\n hu += 0x3FF00000 - 0x3FE6A09E;\n k = (hu >> 20) - 0x3FF;\n if (k < 54) {\n let uf = reinterpret(u);\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n hu = (hu & 0x000FFFFF) + 0x3FE6A09E;\n u = hu << 32 | (u & 0xFFFFFFFF);\n f = reinterpret(u) - 1;\n }\n var hfsq = 0.5 * f * f;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n var t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n var r = t2 + t1;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f64): f64 { // see: musl/src/math/log2.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FF7154765200000), // 1.44269504072144627571e+00\n ivln2lo = reinterpret(0x3DE705FC2EEFA200), // 1.67517131648865118353e-10\n Lg1 = reinterpret(0x3FE5555555555593), // 6.666666666666735130e-01\n Lg2 = reinterpret(0x3FD999999997FA04), // 3.999999999940941908e-01\n Lg3 = reinterpret(0x3FD2492494229359), // 2.857142874366239149e-01\n Lg4 = reinterpret(0x3FCC71C51D8E78AF), // 2.222219843214978396e-01\n Lg5 = reinterpret(0x3FC7466496CB03DE), // 1.818357216161805012e-01\n Lg6 = reinterpret(0x3FC39A09D078C69F), // 1.531383769920937332e-01\n Lg7 = reinterpret(0x3FC2F112DF3E5244), // 1.479819860511658591e-01\n Ox1p54 = reinterpret(0x4350000000000000);\n let u = reinterpret(x);\n let hx = (u >> 32);\n let k = 0;\n if (hx < 0x00100000 || (hx >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (hx >> 31) return (x - x) / 0.0;\n k -= 54;\n x *= Ox1p54;\n u = reinterpret(x);\n hx = (u >> 32);\n } else if (hx >= 0x7FF00000) {\n return x;\n } else if (hx == 0x3FF00000 && u << 32 == 0) {\n return 0;\n }\n hx += 0x3FF00000 - 0x3FE6A09E;\n k += (hx >> 20) - 0x3FF;\n hx = (hx & 0x000FFFFF) + 0x3FE6A09E;\n u = hx << 32 | (u & 0xFFFFFFFF);\n x = reinterpret(u);\n let f = x - 1.0;\n let hfsq = 0.5 * f * f;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * (Lg4 + w * Lg6));\n let t2 = z * (Lg1 + w * (Lg3 + w * (Lg5 + w * Lg7)));\n let r = t2 + t1;\n let hi = f - hfsq;\n u = reinterpret(hi);\n u &= 0xFFFFFFFF00000000;\n hi = reinterpret(u);\n let lo = f - hi - hfsq + s * (hfsq + r);\n let val_hi = hi * ivln2hi;\n let val_lo = (lo + hi) * ivln2lo + lo * ivln2hi;\n let y = k;\n w = y + val_hi;\n val_lo += (y - w) + val_hi;\n val_hi = w;\n return val_lo + val_hi;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f64, value2: f64): f64 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f64, value2: f64): f64 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f64, y: f64): f64 { // see: musl/src/math/pow.c and SUN COPYRIGHT NOTICE above\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n return pow_lut(x, y);\n } else {\n const\n dp_h1 = reinterpret(0x3FE2B80340000000), // 5.84962487220764160156e-01\n dp_l1 = reinterpret(0x3E4CFDEB43CFD006), // 1.35003920212974897128e-08\n two53 = reinterpret(0x4340000000000000), // 9007199254740992.0\n huge = reinterpret(0x7E37E43C8800759C), // 1e+300\n tiny = reinterpret(0x01A56E1FC2F8F359), // 1e-300\n L1 = reinterpret(0x3FE3333333333303), // 5.99999999999994648725e-01\n L2 = reinterpret(0x3FDB6DB6DB6FABFF), // 4.28571428578550184252e-01\n L3 = reinterpret(0x3FD55555518F264D), // 3.33333329818377432918e-01\n L4 = reinterpret(0x3FD17460A91D4101), // 2.72728123808534006489e-01\n L5 = reinterpret(0x3FCD864A93C9DB65), // 2.30660745775561754067e-01\n L6 = reinterpret(0x3FCA7E284A454EEF), // 2.06975017800338417784e-01\n P1 = reinterpret(0x3FC555555555553E), // 1.66666666666666019037e-01\n P2 = reinterpret(0xBF66C16C16BEBD93), // -2.77777777770155933842e-03\n P3 = reinterpret(0x3F11566AAF25DE2C), // 6.61375632143793436117e-05\n P4 = reinterpret(0xBEBBBD41C5D26BF1), // -1.65339022054652515390e-06\n P5 = reinterpret(0x3E66376972BEA4D0), // 4.13813679705723846039e-08\n lg2 = reinterpret(0x3FE62E42FEFA39EF), // 6.93147180559945286227e-01\n lg2_h = reinterpret(0x3FE62E4300000000), // 6.93147182464599609375e-01\n lg2_l = reinterpret(0xBE205C610CA86C39), // -1.90465429995776804525e-09\n ovt = reinterpret(0x3C971547652B82FE), // 8.0085662595372944372e-017\n cp = reinterpret(0x3FEEC709DC3A03FD), // 9.61796693925975554329e-01\n cp_h = reinterpret(0x3FEEC709E0000000), // 9.61796700954437255859e-01\n cp_l = reinterpret(0xBE3E2FE0145B01F5), // -7.02846165095275826516e-09\n ivln2 = reinterpret(0x3FF71547652B82FE), // 1.44269504088896338700e+00\n ivln2_h = reinterpret(0x3FF7154760000000), // 1.44269502162933349609e+00\n ivln2_l = reinterpret(0x3E54AE0BF85DDF44), // 1.92596299112661746887e-08\n inv3 = reinterpret(0x3FD5555555555555); // 0.3333333333333333333333\n let u_ = reinterpret(x);\n let hx = (u_ >> 32);\n let lx = u_;\n u_ = reinterpret(y);\n let hy = (u_ >> 32);\n let ly = u_;\n let ix = hx & 0x7FFFFFFF;\n let iy = hy & 0x7FFFFFFF;\n if ((iy | ly) == 0) return 1.0; // x**0 = 1, even if x is NaN\n // if (hx == 0x3FF00000 && lx == 0) return 1.0; // C: 1**y = 1, even if y is NaN, JS: NaN\n if ( // NaN if either arg is NaN\n ix > 0x7FF00000 || (ix == 0x7FF00000 && lx != 0) ||\n iy > 0x7FF00000 || (iy == 0x7FF00000 && ly != 0)\n ) return x + y;\n let yisint = 0, k: i32;\n if (hx < 0) {\n if (iy >= 0x43400000) yisint = 2;\n else if (iy >= 0x3FF00000) {\n k = (iy >> 20) - 0x3FF;\n let offset = select(52, 20, k > 20) - k;\n let Ly = select(ly, iy, k > 20);\n let jj = Ly >> offset;\n if ((jj << offset) == Ly) yisint = 2 - (jj & 1);\n }\n }\n if (ly == 0) {\n if (iy == 0x7FF00000) { // y is +-inf\n if (((ix - 0x3FF00000) | lx) == 0) return NaN; // C: (-1)**+-inf is 1, JS: NaN\n else if (ix >= 0x3FF00000) return hy >= 0 ? y : 0.0; // (|x|>1)**+-inf = inf,0\n else return hy >= 0 ? 0.0 : -y; // (|x|<1)**+-inf = 0,inf\n }\n if (iy == 0x3FF00000) {\n if (hy >= 0) return x;\n return 1 / x;\n }\n if (hy == 0x40000000) return x * x;\n if (hy == 0x3FE00000) {\n if (hx >= 0) return builtin_sqrt(x);\n }\n }\n let ax = builtin_abs(x), z: f64;\n if (lx == 0) {\n if (ix == 0 || ix == 0x7FF00000 || ix == 0x3FF00000) {\n z = ax;\n if (hy < 0) z = 1.0 / z;\n if (hx < 0) {\n if (((ix - 0x3FF00000) | yisint) == 0) {\n let d = z - z;\n z = d / d;\n } else if (yisint == 1) z = -z;\n }\n return z;\n }\n }\n let s = 1.0;\n if (hx < 0) {\n if (yisint == 0) {\n let d = x - x;\n return d / d;\n }\n if (yisint == 1) s = -1.0;\n }\n let t1: f64, t2: f64, p_h: f64, p_l: f64, r: f64, t: f64, u: f64, v: f64, w: f64;\n let j: i32, n: i32;\n if (iy > 0x41E00000) {\n if (iy > 0x43F00000) {\n if (ix <= 0x3FEFFFFF) return hy < 0 ? huge * huge : tiny * tiny;\n if (ix >= 0x3FF00000) return hy > 0 ? huge * huge : tiny * tiny;\n }\n if (ix < 0x3FEFFFFF) return hy < 0 ? s * huge * huge : s * tiny * tiny;\n if (ix > 0x3FF00000) return hy > 0 ? s * huge * huge : s * tiny * tiny;\n t = ax - 1.0;\n w = (t * t) * (0.5 - t * (inv3 - t * 0.25));\n u = ivln2_h * t;\n v = t * ivln2_l - w * ivln2;\n t1 = u + v;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = v - (t1 - u);\n } else {\n let ss: f64, s2: f64, s_h: f64, s_l: f64, t_h: f64, t_l: f64;\n n = 0;\n if (ix < 0x00100000) {\n ax *= two53;\n n -= 53;\n ix = (reinterpret(ax) >> 32);\n }\n n += (ix >> 20) - 0x3FF;\n j = ix & 0x000FFFFF;\n ix = j | 0x3FF00000;\n if (j <= 0x3988E) k = 0;\n else if (j < 0xBB67A) k = 1;\n else {\n k = 0;\n n += 1;\n ix -= 0x00100000;\n }\n ax = reinterpret(reinterpret(ax) & 0xFFFFFFFF | (ix << 32));\n let bp = select(1.5, 1.0, k); // k ? 1.5 : 1.0\n u = ax - bp;\n v = 1.0 / (ax + bp);\n ss = u * v;\n s_h = ss;\n s_h = reinterpret(reinterpret(s_h) & 0xFFFFFFFF00000000);\n t_h = reinterpret((((ix >> 1) | 0x20000000) + 0x00080000 + (k << 18)) << 32);\n t_l = ax - (t_h - bp);\n s_l = v * ((u - s_h * t_h) - s_h * t_l);\n s2 = ss * ss;\n r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))));\n r += s_l * (s_h + ss);\n s2 = s_h * s_h;\n t_h = 3.0 + s2 + r;\n t_h = reinterpret(reinterpret(t_h) & 0xFFFFFFFF00000000);\n t_l = r - ((t_h - 3.0) - s2);\n u = s_h * t_h;\n v = s_l * t_h + t_l * ss;\n p_h = u + v;\n p_h = reinterpret(reinterpret(p_h) & 0xFFFFFFFF00000000);\n p_l = v - (p_h - u);\n let z_h = cp_h * p_h;\n let dp_l = select(dp_l1, 0.0, k);\n let z_l = cp_l * p_h + p_l * cp + dp_l;\n t = n;\n let dp_h = select(dp_h1, 0.0, k);\n t1 = ((z_h + z_l) + dp_h) + t;\n t1 = reinterpret(reinterpret(t1) & 0xFFFFFFFF00000000);\n t2 = z_l - (((t1 - t) - dp_h) - z_h);\n }\n let y1 = y;\n y1 = reinterpret(reinterpret(y1) & 0xFFFFFFFF00000000);\n p_l = (y - y1) * t1 + y * t2;\n p_h = y1 * t1;\n z = p_l + p_h;\n u_ = reinterpret(z);\n j = (u_ >> 32);\n let i = u_;\n if (j >= 0x40900000) {\n if (((j - 0x40900000) | i) != 0) return s * huge * huge;\n if (p_l + ovt > z - p_h) return s * huge * huge;\n } else if ((j & 0x7FFFFFFF) >= 0x4090CC00) {\n if (((j - 0xC090CC00) | i) != 0) return s * tiny * tiny;\n if (p_l <= z - p_h) return s * tiny * tiny;\n }\n i = j & 0x7FFFFFFF;\n k = (i >> 20) - 0x3FF;\n n = 0;\n if (i > 0x3FE00000) {\n n = j + (0x00100000 >> (k + 1));\n k = ((n & 0x7FFFFFFF) >> 20) - 0x3FF;\n t = 0.0;\n t = reinterpret((n & ~(0x000FFFFF >> k)) << 32);\n n = ((n & 0x000FFFFF) | 0x00100000) >> (20 - k);\n if (j < 0) n = -n;\n p_h -= t;\n }\n t = p_l + p_h;\n t = reinterpret(reinterpret(t) & 0xFFFFFFFF00000000);\n u = t * lg2_h;\n v = (p_l - (t - p_h)) * lg2 + t * lg2_l;\n z = u + v;\n w = v - (z - u);\n t = z * z;\n t1 = z - t * (P1 + t * (P2 + t * (P3 + t * (P4 + t * P5))));\n r = (z * t1) / (t1 - 2.0) - (w + z * w);\n z = 1.0 - (r - z);\n j = (reinterpret(z) >> 32);\n j += n << 20;\n if ((j >> 20) <= 0) z = scalbn(z, n);\n else z = reinterpret(reinterpret(z) & 0xFFFFFFFF | (j << 32));\n return s * z;\n }\n }\n\n export function seedRandom(value: i64): void {\n random_seeded = true;\n random_state0_64 = murmurHash3(value);\n random_state1_64 = murmurHash3(~random_state0_64);\n random_state0_32 = splitMix32(value);\n random_state1_32 = splitMix32(random_state0_32);\n assert(\n random_state0_64 != 0 && random_state1_64 != 0 &&\n random_state0_32 != 0 && random_state1_32 != 0\n );\n }\n\n export function random(): f64 { // see: v8/src/base/utils/random-number-generator.cc\n if (!random_seeded) seedRandom(reinterpret(seed()));\n var s1 = random_state0_64;\n var s0 = random_state1_64;\n random_state0_64 = s0;\n s1 ^= s1 << 23;\n s1 ^= s1 >> 17;\n s1 ^= s0;\n s1 ^= s0 >> 26;\n random_state1_64 = s1;\n var r = (s0 >> 12) | 0x3FF0000000000000;\n return reinterpret(r) - 1;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f64): f64 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f64): f64 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f64): bool {\n return (reinterpret(x) >>> 63);\n }\n\n export function sin(x: f64): f64 { // see: musl/src/math/sin.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E500000) { // |x| < 2**-26\n return x;\n }\n return sin_kern(x, 0.0, 0);\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n // argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n\n x = n & 1 ? cos_kern(y0, y1) : sin_kern(y0, y1, 1);\n return n & 2 ? -x : x;\n }\n\n export function sinh(x: f64): f64 { // see: musl/src/math/sinh.c\n var u = reinterpret(x) & 0x7FFFFFFFFFFFFFFF;\n var absx = reinterpret(u);\n var w = (u >> 32);\n var h = builtin_copysign(0.5, x);\n if (w < 0x40862E42) {\n let t = expm1(absx);\n if (w < 0x3FF00000) {\n if (w < 0x3FF00000 - (26 << 20)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f64): f64 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f64): f64 { // see: musl/src/math/tan.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >>> 31;\n\n ix &= 0x7FFFFFFF;\n\n // |x| ~< pi/4\n if (ix <= 0x3FE921FB) {\n if (ix < 0x3E400000) { // |x| < 2**-27\n return x;\n }\n return tan_kern(x, 0.0, 1);\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7FF00000) return x - x;\n\n var n = rempio2(x, u, sign);\n return tan_kern(rempio2_y0, rempio2_y1, 1 - ((n & 1) << 1));\n }\n\n export function tanh(x: f64): f64 { // see: musl/src/math/tanh.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFFFFFFFFFF;\n var y = reinterpret(u);\n var w = (u >> 32);\n var t: f64;\n if (w > 0x3FE193EA) {\n if (w > 0x40340000) {\n t = 1 - 0 / y;\n } else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (w > 0x3FD058AE) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (w >= 0x00100000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f64): f64 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f64, n: i32): f64 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbn.c\n const\n Ox1p53 = reinterpret(0x4340000000000000),\n Ox1p1023 = reinterpret(0x7FE0000000000000),\n Ox1p_1022 = reinterpret(0x0010000000000000);\n var y = x;\n if (n > 1023) {\n y *= Ox1p1023;\n n -= 1023;\n if (n > 1023) {\n y *= Ox1p1023;\n n = builtin_min(n - 1023, 1023);\n }\n } else if (n < -1022) {\n // make sure final n < -53 to avoid double\n // rounding in the subnormal range\n y *= Ox1p_1022 * Ox1p53;\n n += 1022 - 53;\n if (n < -1022) {\n y *= Ox1p_1022 * Ox1p53;\n n = builtin_max(n + 1022 - 53, -1022);\n }\n }\n return y * reinterpret((0x3FF + n) << 52);\n }\n\n export function mod(x: f64, y: f64): f64 { // see: musl/src/math/fmod.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = ux >> 63;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f64(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 12);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 12;\n ux |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 52); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 11);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 52;\n ux |= ex << 52;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | (sx << 63));\n }\n\n export function rem(x: f64, y: f64): f64 { // see: musl/src/math/remquo.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 52 & 0x7FF);\n var ey = (uy >> 52 & 0x7FF);\n var sx = (ux >> 63);\n if (uy << 1 == 0 || ex == 0x7FF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n if (ux << 1 == 0) return x;\n var uxi = ux;\n if (!ex) {\n ex -= builtin_clz(uxi << 12);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 12;\n uxi |= 1 << 52;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 12);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 12;\n uy |= 1 << 52;\n }\n var q: u32 = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -60;\n else {\n let shift = builtin_clz(uxi << 11);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 52;\n uxi |= ex << 52;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // ++q;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f64): void { // see: musl/tree/src/math/sincos.c\n var u = reinterpret(x);\n var ix = (u >> 32);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3FE921FB) { // |x| ~<= π/4\n if (ix < 0x3E46A09E) { // if |x| < 2**-27 * sqrt(2)\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kern(x, 0, 0);\n sincos_cos = cos_kern(x, 0);\n return;\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2(x, u, sign);\n var y0 = rempio2_y0;\n var y1 = rempio2_y1;\n var s = sin_kern(y0, y1, 1);\n var c = cos_kern(y0, y1);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\n// @ts-ignore: decorator\n@lazy var rempio2f_y: f64;\n\n// @ts-ignore: decorator\n@lazy @inline const PIO2F_TABLE = memory.data([\n 0xA2F9836E4E441529,\n 0xFC2757D1F534DDC0,\n 0xDB6295993C439041,\n 0xFE5163ABDEBBC561\n]);\n\nfunction Rf(z: f32): f32 { // Rational approximation of (asin(x)-x)/x^3\n const // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n pS0 = reinterpret(0x3E2AAA75), // 1.6666586697e-01f\n pS1 = reinterpret(0xBD2F13BA), // -4.2743422091e-02f\n pS2 = reinterpret(0xBC0DD36B), // -8.6563630030e-03f\n qS1 = reinterpret(0xBF34E5AE); // -7.0662963390e-01f\n var p = z * (pS0 + z * (pS1 + z * pS2));\n var q: f32 = 1 + z * qS1;\n return p / q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction expo2f(x: f32, sign: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX)\n const // see: musl/src/math/__expo2f.c\n k = 235,\n kln2 = reinterpret(0x4322E3BC); // 0x1.45c778p+7f\n var scale = reinterpret((0x7F + (k >> 1)) << 23);\n // in directed rounding correct sign before rounding or overflow is important\n return NativeMathf.exp(x - kln2) * (sign * scale) * scale;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20\n\n var offset = (u >> 23) - 152;\n var shift = (offset & 63);\n var tblPtr = PIO2F_TABLE + (offset >> 6 << 3);\n\n var b0 = load(tblPtr, 0 << 3);\n var b1 = load(tblPtr, 1 << 3);\n var lo: u64;\n\n if (shift > 32) {\n let b2 = load(tblPtr, 2 << 3);\n lo = b2 >> (96 - shift);\n lo |= b1 << (shift - 32);\n } else {\n lo = b1 >> (32 - shift);\n }\n\n var hi = (b1 >> (64 - shift)) | (b0 << shift);\n var mantissa: u64 = (u & 0x007FFFFF) | 0x00800000;\n var product = mantissa * hi + (mantissa * lo >> 32);\n var r: i64 = product << 2;\n var q = ((product >> 62) + (r >>> 63));\n rempio2f_y = copysign(coeff, x) * r;\n return q;\n}\n\n// @ts-ignore: decorator\n@inline\nfunction rempio2f(x: f32, u: u32, sign: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c\n const pi2hi = reinterpret(0x3FF921FB50000000); // 1.57079631090164184570\n const pi2lo = reinterpret(0x3E5110B4611A6263); // 1.58932547735281966916e-8\n const _2_pi = reinterpret(0x3FE45F306DC9C883); // 0.63661977236758134308\n\n if (u < 0x4DC90FDB) { // π * 0x1p28\n let q = nearest(x * _2_pi);\n rempio2f_y = x - q * pi2hi - q * pi2lo;\n return q;\n }\n\n var q = pio2f_large_quot(x, u);\n return select(-q, q, sign);\n}\n\n// |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]).\n// @ts-ignore: decorator\n@inline\nfunction sin_kernf(x: f64): f32 { // see: musl/tree/src/math/__sindf.c\n const S1 = reinterpret(0xBFC5555554CBAC77); // -0x15555554cbac77.0p-55\n const S2 = reinterpret(0x3F811110896EFBB2); // 0x111110896efbb2.0p-59\n const S3 = reinterpret(0xBF2A00F9E2CAE774); // -0x1a00f9e2cae774.0p-65\n const S4 = reinterpret(0x3EC6CD878C3B46A7); // 0x16cd878c3b46a7.0p-71\n\n var z = x * x;\n var w = z * z;\n var r = S3 + z * S4;\n var s = z * x;\n return ((x + s * (S1 + z * S2)) + s * w * r);\n}\n\n// |cos(x) - c(x)| < 2**-34.1 (~[-5.37e-11, 5.295e-11]).\n// @ts-ignore: decorator\n@inline\nfunction cos_kernf(x: f64): f32 { // see: musl/tree/src/math/__cosdf.c\n const C0 = reinterpret(0xBFDFFFFFFD0C5E81); // -0x1ffffffd0c5e81.0p-54\n const C1 = reinterpret(0x3FA55553E1053A42); // 0x155553e1053a42.0p-57\n const C2 = reinterpret(0xBF56C087E80F1E27); // -0x16c087e80f1e27.0p-62\n const C3 = reinterpret(0x3EF99342E0EE5069); // 0x199342e0ee5069.0p-68\n\n var z = x * x;\n var w = z * z;\n var r = C2 + z * C3;\n return (((1 + z * C0) + w * C1) + (w * z) * r);\n}\n\n// |tan(x)/x - t(x)| < 2**-25.5 (~[-2e-08, 2e-08]).\n// @ts-ignore: decorator\n@inline\nfunction tan_kernf(x: f64, odd: i32): f32 { // see: musl/tree/src/math/__tandf.c\n\n const T0 = reinterpret(0x3FD5554D3418C99F); // 0x15554d3418c99f.0p-54\n const T1 = reinterpret(0x3FC112FD38999F72); // 0x1112fd38999f72.0p-55\n const T2 = reinterpret(0x3FAB54C91D865AFE); // 0x1b54c91d865afe.0p-57\n const T3 = reinterpret(0x3F991DF3908C33CE); // 0x191df3908c33ce.0p-58\n const T4 = reinterpret(0x3F685DADFCECF44E); // 0x185dadfcecf44e.0p-61\n const T5 = reinterpret(0x3F8362B9BF971BCD); // 0x1362b9bf971bcd.0p-59\n\n var z = x * x;\n var r = T4 + z * T5;\n var t = T2 + z * T3;\n var w = z * z;\n var s = z * x;\n var u = T0 + z * T1;\n\n r = (x + s * u) + (s * w) * (t + w * r);\n return (odd ? -1 / r : r);\n}\n\n// See: jdh8/metallic/src/math/float/log2f.c and jdh8/metallic/src/math/float/kernel/atanh.h\n// @ts-ignore: decorator\n@inline\nfunction log2f(x: f64): f64 {\n const\n log2e = reinterpret(0x3FF71547652B82FE), // 1.44269504088896340736\n c0 = reinterpret(0x3FD555554FD9CAEF), // 0.33333332822728226129\n c1 = reinterpret(0x3FC999A7A8AF4132), // 0.20000167595436263505\n c2 = reinterpret(0x3FC2438D79437030), // 0.14268654271188685375\n c3 = reinterpret(0x3FBE2F663B001C97); // 0.11791075649681414150\n\n var i = reinterpret(x);\n var exponent = (i - 0x3FE6A09E667F3BCD) >> 52;\n x = reinterpret(i - (exponent << 52));\n x = (x - 1) / (x + 1);\n var xx = x * x;\n var y = x + x * xx * (c0 + c1 * xx + (c2 + c3 * xx) * (xx * xx));\n return (2 * log2e) * y + exponent;\n}\n\n// See: jdh8/metallic/src/math/float/exp2f.h and jdh8/metallic/blob/master/src/math/float/kernel/exp2f.h\n// @ts-ignore: decorator\n@inline\nfunction exp2f(x: f64): f64 {\n const\n c0 = reinterpret(0x3FE62E4302FCC24A), // 6.931471880289532425e-1\n c1 = reinterpret(0x3FCEBFBE07D97B91), // 2.402265108421173406e-1\n c2 = reinterpret(0x3FAC6AF6CCFC1A65), // 5.550357105498874537e-2\n c3 = reinterpret(0x3F83B29E3CE9AEF6), // 9.618030771171497658e-3\n c4 = reinterpret(0x3F55F0896145A89F), // 1.339086685300950937e-3\n c5 = reinterpret(0x3F2446C81E384864); // 1.546973499989028719e-4\n\n if (x < -1022) return 0;\n if (x >= 1024) return Infinity;\n\n var n = nearest(x);\n x -= n;\n var xx = x * x;\n var y = 1 + x * (c0 + c1 * x + (c2 + c3 * x) * xx + (c4 + c5 * x) * (xx * xx));\n return reinterpret(reinterpret(y) + (n << 52));\n}\n\nexport namespace NativeMathf {\n\n // @ts-ignore: decorator\n @lazy\n export const E = NativeMath.E;\n\n // @ts-ignore: decorator\n @lazy\n export const LN2 = NativeMath.LN2;\n\n // @ts-ignore: decorator\n @lazy\n export const LN10 = NativeMath.LN10;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG2E = NativeMath.LOG2E;\n\n // @ts-ignore: decorator\n @lazy\n export const LOG10E = NativeMath.LOG10E;\n\n // @ts-ignore: decorator\n @lazy\n export const PI = NativeMath.PI;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT1_2 = NativeMath.SQRT1_2;\n\n // @ts-ignore: decorator\n @lazy\n export const SQRT2 = NativeMath.SQRT2;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_sin: f32 = 0;\n\n // @ts-ignore: decorator\n @lazy\n export var sincos_cos: f32 = 0;\n\n // @ts-ignore: decorator\n @inline\n export function abs(x: f32): f32 {\n return builtin_abs(x);\n }\n\n export function acos(x: f32): f32 { // see: musl/src/math/acosf.c and SUN COPYRIGHT NOTICE above\n const\n pio2_hi = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n pio2_lo = reinterpret(0x33A22168), // 7.5497894159e-08f\n Ox1p_120f = reinterpret(0x03800000);\n var hx = reinterpret(x);\n var ix = hx & 0x7FFFFFFF;\n if (ix >= 0x3F800000) {\n if (ix == 0x3F800000) {\n if (hx >> 31) return 2 * pio2_hi + Ox1p_120f;\n return 0;\n }\n return 0 / (x - x);\n }\n if (ix < 0x3F000000) {\n if (ix <= 0x32800000) return pio2_hi + Ox1p_120f;\n return pio2_hi - (x - (pio2_lo - x * Rf(x * x)));\n }\n var z: f32, w: f32, s: f32;\n if (hx >> 31) {\n // z = (1 + x) * 0.5;\n z = 0.5 + x * 0.5;\n s = builtin_sqrt(z);\n w = Rf(z) * s - pio2_lo;\n return 2 * (pio2_hi - (s + w));\n }\n // z = (1 - x) * 0.5;\n z = 0.5 - x * 0.5;\n s = builtin_sqrt(z);\n hx = reinterpret(s);\n var df = reinterpret(hx & 0xFFFFF000);\n var c = (z - df * df) / (s + df);\n w = Rf(z) * s + c;\n return 2 * (df + w);\n }\n\n export function acosh(x: f32): f32 { // see: musl/src/math/acoshf.c\n const s = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x);\n var a = u & 0x7FFFFFFF;\n if (a < 0x3F800000 + (1 << 23)) {\n let xm1 = x - 1;\n return log1p(xm1 + builtin_sqrt(xm1 * (xm1 + 2)));\n }\n if (a < 0x3F800000 + (12 << 23)) return log(2 * x - 1 / (x + builtin_sqrt(x * x - 1)));\n return log(x) + s;\n }\n\n export function asin(x: f32): f32 { // see: musl/src/math/asinf.c and SUN COPYRIGHT NOTICE above\n const\n pio2 = reinterpret(0x3FC90FDB), // 1.570796326794896558e+00f\n Ox1p_120f = reinterpret(0x03800000);\n var sx = x;\n var hx = reinterpret(x) & 0x7FFFFFFF;\n if (hx >= 0x3F800000) {\n if (hx == 0x3F800000) return x * pio2 + Ox1p_120f;\n return 0 / (x - x);\n }\n if (hx < 0x3F000000) {\n if (hx < 0x39800000 && hx >= 0x00800000) return x;\n return x + x * Rf(x * x);\n }\n // var z: f32 = (1 - builtin_abs(x)) * 0.5;\n var z: f32 = 0.5 - builtin_abs(x) * 0.5;\n var s = builtin_sqrt(z); // sic\n x = (pio2 - 2 * (s + s * Rf(z)));\n return builtin_copysign(x, sx);\n }\n\n export function asinh(x: f32): f32 { // see: musl/src/math/asinhf.c\n const c = reinterpret(0x3F317218); // 0.693147180559945309417232121458176568f\n var u = reinterpret(x) & 0x7FFFFFFF;\n var y = reinterpret(u);\n if (u >= 0x3F800000 + (12 << 23)) y = log(y) + c;\n else if (u >= 0x3F800000 + (1 << 23)) y = log(2 * y + 1 / (builtin_sqrt(y * y + 1) + y));\n else if (u >= 0x3F800000 - (12 << 23)) y = log1p(y + y * y / (builtin_sqrt(y * y + 1) + 1));\n return builtin_copysign(y, x);\n }\n\n export function atan(x: f32): f32 { // see: musl/src/math/atanf.c and SUN COPYRIGHT NOTICE above\n const\n atanhi0 = reinterpret(0x3EED6338), // 4.6364760399e-01f\n atanhi1 = reinterpret(0x3F490FDA), // 7.8539812565e-01f\n atanhi2 = reinterpret(0x3F7B985E), // 9.8279368877e-01f\n atanhi3 = reinterpret(0x3FC90FDA), // 1.5707962513e+00f\n atanlo0 = reinterpret(0x31AC3769), // 5.0121582440e-09f\n atanlo1 = reinterpret(0x33222168), // 3.7748947079e-08f\n atanlo2 = reinterpret(0x33140FB4), // 3.4473217170e-08f\n atanlo3 = reinterpret(0x33A22168), // 7.5497894159e-08f\n aT0 = reinterpret(0x3EAAAAA9), // 3.3333328366e-01f\n aT1 = reinterpret(0xBE4CCA98), // -1.9999158382e-01f\n aT2 = reinterpret(0x3E11F50D), // 1.4253635705e-01f\n aT3 = reinterpret(0xBDDA1247), // -1.0648017377e-01f\n aT4 = reinterpret(0x3D7CAC25), // 6.1687607318e-02f\n Ox1p_120f = reinterpret(0x03800000);\n var ix = reinterpret(x);\n var sx = x;\n ix &= 0x7FFFFFFF;\n var z: f32;\n if (ix >= 0x4C800000) {\n if (isNaN(x)) return x;\n z = atanhi3 + Ox1p_120f;\n return builtin_copysign(z, sx);\n }\n var id: i32;\n if (ix < 0x3EE00000) {\n if (ix < 0x39800000) return x;\n id = -1;\n } else {\n x = builtin_abs(x);\n if (ix < 0x3F980000) {\n if (ix < 0x3F300000) {\n id = 0;\n x = (2.0 * x - 1.0) / (2.0 + x);\n } else {\n id = 1;\n x = (x - 1.0) / (x + 1.0);\n }\n } else {\n if (ix < 0x401C0000) {\n id = 2;\n x = (x - 1.5) / (1.0 + 1.5 * x);\n } else {\n id = 3;\n x = -1.0 / x;\n }\n }\n }\n z = x * x;\n var w = z * z;\n var s1 = z * (aT0 + w * (aT2 + w * aT4));\n var s2 = w * (aT1 + w * aT3);\n var s3 = x * (s1 + s2);\n if (id < 0) return x - s3;\n switch (id) {\n case 0: { z = atanhi0 - ((s3 - atanlo0) - x); break; }\n case 1: { z = atanhi1 - ((s3 - atanlo1) - x); break; }\n case 2: { z = atanhi2 - ((s3 - atanlo2) - x); break; }\n case 3: { z = atanhi3 - ((s3 - atanlo3) - x); break; }\n default: unreachable();\n }\n return builtin_copysign(z, sx);\n }\n\n export function atanh(x: f32): f32 { // see: musl/src/math/atanhf.c\n var u = reinterpret(x);\n var y = builtin_abs(x);\n if (u < 0x3F800000 - (1 << 23)) {\n if (u >= 0x3F800000 - (32 << 23)) y = 0.5 * log1p(2 * y * (1.0 + y / (1 - y)));\n } else y = 0.5 * log1p(2 * (y / (1 - y)));\n return builtin_copysign(y, x);\n }\n\n export function atan2(y: f32, x: f32): f32 { // see: musl/src/math/atan2f.c and SUN COPYRIGHT NOTICE above\n const\n pi = reinterpret(0x40490FDB), // 3.1415927410e+00f\n pi_lo = reinterpret(0xB3BBBD2E); // -8.7422776573e-08f\n if (isNaN(x) || isNaN(y)) return x + y;\n var ix = reinterpret(x);\n var iy = reinterpret(y);\n if (ix == 0x3F800000) return atan(y);\n var m = (((iy >> 31) & 1) | ((ix >> 30) & 2));\n ix &= 0x7FFFFFFF;\n iy &= 0x7FFFFFFF;\n if (iy == 0) {\n switch (m) {\n case 0:\n case 1: return y;\n case 2: return pi;\n case 3: return -pi;\n }\n }\n if (ix == 0) return m & 1 ? -pi / 2 : pi / 2;\n if (ix == 0x7F800000) {\n if (iy == 0x7F800000) {\n let t: f32 = m & 2 ? 3 * pi / 4 : pi / 4;\n return m & 1 ? -t : t;\n } else {\n let t: f32 = m & 2 ? pi : 0.0;\n return m & 1 ? -t : t;\n }\n }\n if (ix + (26 << 23) < iy || iy == 0x7F800000) return m & 1 ? -pi / 2 : pi / 2;\n var z: f32;\n if ((m & 2) && iy + (26 << 23) < ix) z = 0.0;\n else z = atan(builtin_abs(y / x));\n switch (m) {\n case 0: return z;\n case 1: return -z;\n case 2: return pi - (z - pi_lo);\n case 3: return (z - pi_lo) - pi;\n }\n unreachable();\n return 0;\n }\n\n export function cbrt(x: f32): f32 { // see: musl/src/math/cbrtf.c and SUN COPYRIGHT NOTICE above\n const\n B1 = 709958130,\n B2 = 642849266,\n Ox1p24f = reinterpret(0x4B800000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n if (hx >= 0x7F800000) return x + x;\n if (hx < 0x00800000) {\n if (hx == 0) return x;\n u = reinterpret(x * Ox1p24f);\n hx = u & 0x7FFFFFFF;\n hx = hx / 3 + B2;\n } else {\n hx = hx / 3 + B1;\n }\n u &= 0x80000000;\n u |= hx;\n var t = reinterpret(u);\n var r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n r = t * t * t;\n t = t * (x + x + r) / (x + r + r);\n return t;\n }\n\n // @ts-ignore: decorator\n @inline\n export function ceil(x: f32): f32 {\n return builtin_ceil(x);\n }\n\n export function clz32(x: f32): f32 {\n if (!isFinite(x)) return 32;\n return builtin_clz(dtoi32(x));\n }\n\n export function cos(x: f32): f32 { // see: musl/src/math/cosf.c\n const c1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const c2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const c3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const c4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n // raise inexact if x != 0\n return 1;\n }\n return cos_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix > 0x4016CBE3) { // |x| ~> 3π/4\n return -cos_kernf(sign ? x + c2pio2 : x - c2pio2);\n } else {\n return sign ? sin_kernf(x + c1pio2) : sin_kernf(c1pio2 - x);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix > 0x40AFEDDF) { // |x| ~> 7π/4\n return cos_kernf(sign ? x + c4pio2 : x - c4pio2);\n } else {\n return sign ? sin_kernf(-x - c3pio2) : sin_kernf(x - c3pio2);\n }\n }\n }\n\n // cos(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? sin_kernf(y) : cos_kernf(y);\n return (n + 1) & 2 ? -t : t;\n }\n\n export function cosh(x: f32): f32 { // see: musl/src/math/coshf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n x = reinterpret(u);\n if (u < 0x3F317217) {\n if (u < 0x3F800000 - (12 << 23)) return 1;\n let t = expm1(x);\n // return 1 + t * t / (2 * (1 + t));\n return 1 + t * t / (2 + 2 * t);\n }\n if (u < 0x42B17217) {\n let t = exp(x);\n // return 0.5 * (t + 1 / t);\n return 0.5 * t + 0.5 / t;\n }\n return expo2f(x, 1);\n }\n\n // @ts-ignore: decorator\n @inline\n export function floor(x: f32): f32 {\n return builtin_floor(x);\n }\n\n export function exp(x: f32): f32 { // see: musl/src/math/expf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return expf_lut(x);\n } else {\n const\n ln2hi = reinterpret(0x3F317200), // 6.9314575195e-1f\n ln2lo = reinterpret(0x35BFBE8E), // 1.4286067653e-6f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+0f\n P1 = reinterpret(0x3E2AAA8F), // 1.6666625440e-1f\n P2 = reinterpret(0xBB355215), // -2.7667332906e-3f\n Ox1p127f = reinterpret(0x7F000000);\n let hx = reinterpret(x);\n let sign_ = (hx >> 31);\n hx &= 0x7FFFFFFF;\n if (hx >= 0x42AEAC50) {\n if (hx > 0x7F800000) return x; // NaN\n if (hx >= 0x42B17218) {\n if (!sign_) return x * Ox1p127f;\n else if (hx >= 0x42CFF1B5) return 0;\n }\n }\n let hi: f32, lo: f32;\n let k: i32;\n if (hx > 0x3EB17218) {\n if (hx > 0x3F851592) {\n k = (invln2 * x + builtin_copysign(0.5, x));\n } else {\n k = 1 - (sign_ << 1);\n }\n hi = x - k * ln2hi;\n lo = k * ln2lo;\n x = hi - lo;\n } else if (hx > 0x39000000) {\n k = 0;\n hi = x;\n lo = 0;\n } else {\n return 1 + x;\n }\n let xx = x * x;\n let c = x - xx * (P1 + xx * P2);\n let y: f32 = 1 + (x * c / (2 - c) - lo + hi);\n return k == 0 ? y : scalbn(y, k);\n }\n }\n\n export function exp2(x: f32): f32 {\n return exp2f_lut(x);\n }\n\n export function expm1(x: f32): f32 { // see: musl/src/math/expm1f.c and SUN COPYRIGHT NOTICE above\n const\n o_threshold = reinterpret(0x42B17180), // 8.8721679688e+01f\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n invln2 = reinterpret(0x3FB8AA3B), // 1.4426950216e+00f\n Q1 = reinterpret(0xBD088868), // -3.3333212137e-02f\n Q2 = reinterpret(0x3ACF3010), // 1.5807170421e-03f\n Ox1p127f = reinterpret(0x7F000000);\n var u = reinterpret(x);\n var hx = u & 0x7FFFFFFF;\n var sign_ = (u >> 31);\n if (hx >= 0x4195B844) {\n if (hx > 0x7F800000) return x;\n if (sign_) return -1;\n if (x > o_threshold) {\n x *= Ox1p127f;\n return x;\n }\n }\n var c: f32 = 0.0, t: f32, k: i32;\n if (hx > 0x3EB17218) {\n k = select(\n 1 - (sign_ << 1),\n (invln2 * x + builtin_copysign(0.5, x)),\n hx < 0x3F851592\n );\n t = k;\n let hi = x - t * ln2_hi;\n let lo = t * ln2_lo;\n x = hi - lo;\n c = (hi - x) - lo;\n } else if (hx < 0x33000000) {\n return x;\n } else k = 0;\n var hfx: f32 = 0.5 * x;\n var hxs: f32 = x * hfx;\n var r1: f32 = 1.0 + hxs * (Q1 + hxs * Q2);\n t = 3.0 - r1 * hfx;\n var e = hxs * ((r1 - t) / (6.0 - x * t));\n if (k == 0) return x - (x * e - hxs);\n e = x * (e - c) - c;\n e -= hxs;\n if (k == -1) return 0.5 * (x - e) - 0.5;\n if (k == 1) {\n if (x < -0.25) return -2.0 * (e - (x + 0.5));\n return 1.0 + 2.0 * (x - e);\n }\n u = (0x7F + k) << 23;\n var twopk = reinterpret(u);\n var y: f32;\n if (k < 0 || k > 56) {\n y = x - e + 1.0;\n if (k == 128) y = y * 2.0 * Ox1p127f;\n else y = y * twopk;\n return y - 1.0;\n }\n u = (0x7F - k) << 23;\n y = reinterpret(u);\n if (k < 20) y = (1 - y) - e;\n else y = 1 - (e + y);\n return (x + y) * twopk;\n }\n\n // @ts-ignore: decorator\n @inline\n export function fround(x: f32): f32 {\n return x;\n }\n\n export function hypot(x: f32, y: f32): f32 { // see: musl/src/math/hypotf.c\n const\n Ox1p90f = reinterpret(0x6C800000),\n Ox1p_90f = reinterpret(0x12800000);\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n ux &= 0x7FFFFFFF;\n uy &= 0x7FFFFFFF;\n if (ux < uy) {\n let ut = ux;\n ux = uy;\n uy = ut;\n }\n x = reinterpret(ux);\n y = reinterpret(uy);\n if (uy == 0xFF << 23) return y;\n if (ux >= 0xFF << 23 || uy == 0 || ux - uy >= 25 << 23) return x + y;\n var z: f32 = 1;\n if (ux >= (0x7F + 60) << 23) {\n z = Ox1p90f;\n x *= Ox1p_90f;\n y *= Ox1p_90f;\n } else if (uy < (0x7F - 60) << 23) {\n z = Ox1p_90f;\n x *= Ox1p90f;\n y *= Ox1p90f;\n }\n return z * builtin_sqrt((x * x + y * y));\n }\n\n // @ts-ignore: decorator\n @inline\n export function imul(x: f32, y: f32): f32 {\n /*\n * Wasm (MVP) and JS have different approaches for double->int conversions.\n *\n * For emulate JS conversion behavior and avoid trapping from wasm we should modulate by MAX_INT\n * our float-point arguments before actual convertion to integers.\n */\n if (!isFinite(x + y)) return 0;\n return (dtoi32(x) * dtoi32(y));\n }\n\n export function log(x: f32): f32 { // see: musl/src/math/logf.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return logf_lut(x);\n } else {\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01f\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f\n Ox1p25f = reinterpret(0x4C000000);\n let u = reinterpret(x);\n let k = 0;\n if (u < 0x00800000 || (u >> 31)) {\n if (u << 1 == 0) return -1 / (x * x);\n if (u >> 31) return (x - x) / 0;\n k -= 25;\n x *= Ox1p25f;\n u = reinterpret(x);\n } else if (u >= 0x7F800000) {\n return x;\n } else if (u == 0x3F800000) {\n return 0;\n }\n u += 0x3F800000 - 0x3F3504F3;\n k += (u >> 23) - 0x7F;\n u = (u & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(u);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq = 0.5 * f * f;\n let dk = k;\n return s * (hfsq + r) + dk * ln2_lo - hfsq + f + dk * ln2_hi;\n }\n }\n\n export function log10(x: f32): f32 { // see: musl/src/math/log10f.c and SUN COPYRIGHT NOTICE above\n const\n ivln10hi = reinterpret(0x3EDE6000), // 4.3432617188e-01f\n ivln10lo = reinterpret(0xB804EAD9), // -3.1689971365e-05f\n log10_2hi = reinterpret(0x3E9A2080), // 3.0102920532e-01f\n log10_2lo = reinterpret(0x355427DB), // 7.9034151668e-07f\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n var ix = reinterpret(x);\n var k = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n var f = x - 1.0;\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var hi = f - hfsq;\n ix = reinterpret(hi);\n ix &= 0xFFFFF000;\n hi = reinterpret(ix);\n var lo = f - hi - hfsq + s * (hfsq + r);\n var dk = k;\n return dk * log10_2lo + (lo + hi) * ivln10lo + lo * ivln10hi + hi * ivln10hi + dk * log10_2hi;\n }\n\n export function log1p(x: f32): f32 { // see: musl/src/math/log1pf.c and SUN COPYRIGHT NOTICE above\n const\n ln2_hi = reinterpret(0x3F317180), // 6.9313812256e-01\n ln2_lo = reinterpret(0x3717F7D1), // 9.0580006145e-06\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26); // 0xf89e26.0p-26f, 0.24279078841f\n var ix = reinterpret(x);\n var c: f32 = 0, f: f32 = 0;\n var k: i32 = 1;\n if (ix < 0x3ED413D0 || (ix >> 31)) {\n if (ix >= 0xBF800000) {\n if (x == -1) return x / 0.0;\n return (x - x) / 0.0;\n }\n if (ix << 1 < 0x33800000 << 1) return x;\n if (ix <= 0xBE95F619) {\n k = 0;\n c = 0;\n f = x;\n }\n } else if (ix >= 0x7F800000) return x;\n if (k) {\n let uf: f32 = 1 + x;\n let iu = reinterpret(uf);\n iu += 0x3F800000 - 0x3F3504F3;\n k = (iu >> 23) - 0x7F;\n if (k < 25) {\n c = k >= 2 ? 1 - (uf - x) : x - (uf - 1);\n c /= uf;\n } else c = 0;\n iu = (iu & 0x007FFFFF) + 0x3F3504F3;\n f = reinterpret(iu) - 1;\n }\n var s = f / (2.0 + f);\n var z = s * s;\n var w = z * z;\n var t1 = w * (Lg2 + w * Lg4);\n var t2 = z * (Lg1 + w * Lg3);\n var r = t2 + t1;\n var hfsq: f32 = 0.5 * f * f;\n var dk = k;\n return s * (hfsq + r) + (dk * ln2_lo + c) - hfsq + f + dk * ln2_hi;\n }\n\n export function log2(x: f32): f32 { // see: musl/src/math/log2f.c and SUN COPYRIGHT NOTICE above\n if (ASC_SHRINK_LEVEL < 1) {\n return log2f_lut(x);\n } else {\n const\n ivln2hi = reinterpret(0x3FB8B000), // 1.4428710938e+00f\n ivln2lo = reinterpret(0xB9389AD4), // -1.7605285393e-04\n Lg1 = reinterpret(0x3F2AAAAA), // 0xaaaaaa.0p-24f, 0.66666662693f\n Lg2 = reinterpret(0x3ECCCE13), // 0xccce13.0p-25f, 0.40000972152f\n Lg3 = reinterpret(0x3E91E9EE), // 0x91e9ee.0p-25f, 0.28498786688f\n Lg4 = reinterpret(0x3E789E26), // 0xf89e26.0p-26f, 0.24279078841f\n Ox1p25f = reinterpret(0x4C000000);\n let ix = reinterpret(x);\n let k: i32 = 0;\n if (ix < 0x00800000 || (ix >> 31)) {\n if (ix << 1 == 0) return -1 / (x * x);\n if (ix >> 31) return (x - x) / 0.0;\n k -= 25;\n x *= Ox1p25f;\n ix = reinterpret(x);\n } else if (ix >= 0x7F800000) {\n return x;\n } else if (ix == 0x3F800000) {\n return 0;\n }\n ix += 0x3F800000 - 0x3F3504F3;\n k += (ix >> 23) - 0x7F;\n ix = (ix & 0x007FFFFF) + 0x3F3504F3;\n x = reinterpret(ix);\n let f = x - 1.0;\n let s = f / (2.0 + f);\n let z = s * s;\n let w = z * z;\n let t1 = w * (Lg2 + w * Lg4);\n let t2 = z * (Lg1 + w * Lg3);\n let r = t2 + t1;\n let hfsq: f32 = 0.5 * f * f;\n let hi = f - hfsq;\n let u = reinterpret(hi);\n u &= 0xFFFFF000;\n hi = reinterpret(u);\n let lo: f32 = f - hi - hfsq + s * (hfsq + r);\n let dk = k;\n return (lo + hi) * ivln2lo + lo * ivln2hi + hi * ivln2hi + dk;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function max(value1: f32, value2: f32): f32 {\n return builtin_max(value1, value2);\n }\n\n // @ts-ignore: decorator\n @inline\n export function min(value1: f32, value2: f32): f32 {\n return builtin_min(value1, value2);\n }\n\n export function pow(x: f32, y: f32): f32 {\n // TODO: remove this fast pathes after introduced own mid-end IR with \"stdlib call simplify\" transforms\n if (builtin_abs(y) <= 2) {\n if (y == 2.0) return x * x;\n if (y == 0.5) {\n return select(\n builtin_abs(builtin_sqrt(x)),\n Infinity,\n x != -Infinity\n );\n }\n if (y == -1.0) return 1 / x;\n if (y == 1.0) return x;\n if (y == 0.0) return 1.0;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n // see: musl/src/math/powf.c\n return powf_lut(x, y);\n } else {\n // based on: jdh8/metallic/src/math/float/powf.c\n if (y == 0) return 1;\n // @ts-ignore: cast\n if (isNaN(x) | isNaN(y)) {\n return NaN;\n }\n let sign: u32 = 0;\n let uy = reinterpret(y);\n let ux = reinterpret(x);\n let sx = ux >> 31;\n ux &= 0x7FFFFFFF;\n if (sx && nearest(y) == y) {\n x = -x;\n sx = 0;\n sign = u32(nearest(y * 0.5) != y * 0.5) << 31;\n }\n let m: u32;\n if (ux == 0x3F800000) { // x == 1\n m = sx | u32((uy & 0x7FFFFFFF) == 0x7F800000) ? 0x7FC00000 : 0x3F800000;\n } else if (ux == 0) {\n m = uy >> 31 ? 0x7F800000 : 0;\n } else if (ux == 0x7F800000) {\n m = uy >> 31 ? 0 : 0x7F800000;\n } else if (sx) {\n m = 0x7FC00000;\n } else {\n m = reinterpret(exp2f(y * log2f(x)));\n }\n return reinterpret(m | sign);\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function seedRandom(value: i64): void {\n NativeMath.seedRandom(value);\n }\n\n // Using xoroshiro64starstar from http://xoshiro.di.unimi.it/xoroshiro64starstar.c\n export function random(): f32 {\n if (!random_seeded) seedRandom(reinterpret(seed()));\n\n var s0 = random_state0_32;\n var s1 = random_state1_32;\n var r = rotl(s0 * 0x9E3779BB, 5) * 5;\n\n s1 ^= s0;\n random_state0_32 = rotl(s0, 26) ^ s1 ^ (s1 << 9);\n random_state1_32 = rotl(s1, 13);\n\n return reinterpret((r >> 9) | (127 << 23)) - 1.0;\n }\n\n // @ts-ignore: decorator\n @inline\n export function round(x: f32): f32 {\n return builtin_copysign(builtin_floor(x + 0.5), x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sign(x: f32): f32 {\n if (ASC_SHRINK_LEVEL > 0) {\n return builtin_abs(x) > 0 ? builtin_copysign(1, x) : x;\n } else {\n return x > 0 ? 1 : x < 0 ? -1 : x;\n }\n }\n\n // @ts-ignore: decorator\n @inline\n export function signbit(x: f32): bool {\n return (reinterpret(x) >>> 31);\n }\n\n export function sin(x: f32): f32 { // see: musl/src/math/sinf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // M_PI_2 * 1\n const s2pio2 = reinterpret(0x400921FB54442D18); // M_PI_2 * 2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // M_PI_2 * 3\n const s4pio2 = reinterpret(0x401921FB54442D18); // M_PI_2 * 4\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return sin_kernf(x);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return sign ? -cos_kernf(x + s1pio2) : cos_kernf(x - s1pio2);\n }\n return sin_kernf(-(sign ? x + s2pio2 : x - s2pio2));\n }\n\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return sign ? cos_kernf(x + s3pio2) : -cos_kernf(x - s3pio2);\n }\n return sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n }\n }\n\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n\n var t = n & 1 ? cos_kernf(y) : sin_kernf(y);\n return n & 2 ? -t : t;\n }\n\n export function sinh(x: f32): f32 { // see: musl/src/math/sinhf.c\n var u = reinterpret(x) & 0x7FFFFFFF;\n var absx = reinterpret(u);\n var h = builtin_copysign(0.5, x);\n if (u < 0x42B17217) {\n let t = expm1(absx);\n if (u < 0x3F800000) {\n if (u < 0x3F800000 - (12 << 23)) return x;\n return h * (2 * t - t * t / (t + 1));\n }\n return h * (t + t / (t + 1));\n }\n return expo2f(absx, 2 * h);\n }\n\n // @ts-ignore: decorator\n @inline\n export function sqrt(x: f32): f32 {\n return builtin_sqrt(x);\n }\n\n export function tan(x: f32): f32 { // see: musl/src/math/tanf.c\n const t1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const t2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const t3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const t4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n return x;\n }\n return tan_kernf(x, 0);\n }\n\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n return tan_kernf((sign ? x + t1pio2 : x - t1pio2), 1);\n } else {\n return tan_kernf((sign ? x + t2pio2 : x - t2pio2), 0);\n }\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n return tan_kernf((sign ? x + t3pio2 : x - t3pio2), 1);\n } else {\n return tan_kernf((sign ? x + t4pio2 : x - t4pio2), 0);\n }\n }\n }\n\n // tan(Inf or NaN) is NaN\n if (ix >= 0x7F800000) return x - x;\n\n // argument reduction\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n return tan_kernf(y, n & 1);\n }\n\n export function tanh(x: f32): f32 { // see: musl/src/math/tanhf.c\n var u = reinterpret(x);\n u &= 0x7FFFFFFF;\n var y = reinterpret(u);\n var t: f32;\n if (u > 0x3F0C9F54) {\n if (u > 0x41200000) t = 1 + 0 / y;\n else {\n t = expm1(2 * y);\n t = 1 - 2 / (t + 2);\n }\n } else if (u > 0x3E82C578) {\n t = expm1(2 * y);\n t = t / (t + 2);\n } else if (u >= 0x00800000) {\n t = expm1(-2 * y);\n t = -t / (t + 2);\n } else t = y;\n return builtin_copysign(t, x);\n }\n\n // @ts-ignore: decorator\n @inline\n export function trunc(x: f32): f32 {\n return builtin_trunc(x);\n }\n\n export function scalbn(x: f32, n: i32): f32 { // see: https://git.musl-libc.org/cgit/musl/tree/src/math/scalbnf.c\n const\n Ox1p24f = reinterpret(0x4B800000),\n Ox1p127f = reinterpret(0x7F000000),\n Ox1p_126f = reinterpret(0x00800000);\n var y = x;\n if (n > 127) {\n y *= Ox1p127f;\n n -= 127;\n if (n > 127) {\n y *= Ox1p127f;\n n = builtin_min(n - 127, 127);\n }\n } else if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n += 126 - 24;\n if (n < -126) {\n y *= Ox1p_126f * Ox1p24f;\n n = builtin_max(n + 126 - 24, -126);\n }\n }\n return y * reinterpret((0x7F + n) << 23);\n }\n\n export function mod(x: f32, y: f32): f32 { // see: musl/src/math/fmodf.c\n if (builtin_abs(y) == 1.0) {\n // x % 1, x % -1 ==> sign(x) * abs(x - 1.0 * trunc(x / 1.0))\n // TODO: move this rule to compiler's optimization pass.\n // It could be apply for any x % C_pot, where \"C_pot\" is pow of two const.\n return builtin_copysign(x - builtin_trunc(x), x);\n }\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sm = ux & 0x80000000;\n var uy1 = uy << 1;\n if (uy1 == 0 || ex == 0xFF || isNaN(y)) {\n let m = x * y;\n return m / m;\n }\n var ux1 = ux << 1;\n if (ux1 <= uy1) {\n return x * f32(ux1 != uy1);\n }\n if (!ex) {\n ex -= builtin_clz(ux << 9);\n ux <<= 1 - ex;\n } else {\n ux &= -1 >> 9;\n ux |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n while (ex > ey) {\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n ux <<= 1;\n --ex;\n }\n if (ux >= uy) {\n if (ux == uy) return 0 * x;\n ux -= uy;\n }\n // for (; !(ux >> 23); ux <<= 1) --ex;\n var shift = builtin_clz(ux << 8);\n ex -= shift;\n ux <<= shift;\n if (ex > 0) {\n ux -= 1 << 23;\n ux |= ex << 23;\n } else {\n ux >>= -ex + 1;\n }\n return reinterpret(ux | sm);\n }\n\n export function rem(x: f32, y: f32): f32 { // see: musl/src/math/remquof.c\n var ux = reinterpret(x);\n var uy = reinterpret(y);\n var ex = (ux >> 23 & 0xFF);\n var ey = (uy >> 23 & 0xFF);\n var sx = (ux >> 31);\n var uxi = ux;\n if (uy << 1 == 0 || ex == 0xFF || isNaN(y)) return (x * y) / (x * y);\n if (ux << 1 == 0) return x;\n if (!ex) {\n ex -= builtin_clz(uxi << 9);\n uxi <<= 1 - ex;\n } else {\n uxi &= -1 >> 9;\n uxi |= 1 << 23;\n }\n if (!ey) {\n ey -= builtin_clz(uy << 9);\n uy <<= 1 - ey;\n } else {\n uy &= -1 >> 9;\n uy |= 1 << 23;\n }\n var q = 0;\n do {\n if (ex < ey) {\n if (ex + 1 == ey) break; // goto end\n return x;\n }\n while (ex > ey) {\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n uxi <<= 1;\n q <<= 1;\n --ex;\n }\n if (uxi >= uy) {\n uxi -= uy;\n ++q;\n }\n if (uxi == 0) ex = -30;\n else {\n let shift = builtin_clz(uxi << 8);\n ex -= shift;\n uxi <<= shift;\n }\n break;\n } while (false);\n // end:\n if (ex > 0) {\n uxi -= 1 << 23;\n uxi |= ex << 23;\n } else {\n uxi >>= -ex + 1;\n }\n x = reinterpret(uxi);\n y = builtin_abs(y);\n var x2 = x + x;\n if (ex == ey || (ex + 1 == ey && (x2 > y || (x2 == y && (q & 1))))) {\n x -= y;\n // q++;\n }\n return sx ? -x : x;\n }\n\n export function sincos(x: f32): void { // see: musl/tree/src/math/sincosf.c\n const s1pio2 = reinterpret(0x3FF921FB54442D18); // 1 * M_PI_2\n const s2pio2 = reinterpret(0x400921FB54442D18); // 2 * M_PI_2\n const s3pio2 = reinterpret(0x4012D97C7F3321D2); // 3 * M_PI_2\n const s4pio2 = reinterpret(0x401921FB54442D18); // 4 * M_PI_2\n\n var ix = reinterpret(x);\n var sign = ix >> 31;\n ix &= 0x7FFFFFFF;\n\n if (ix <= 0x3F490FDA) { // |x| ~<= π/4\n if (ix < 0x39800000) { // |x| < 2**-12\n sincos_sin = x;\n sincos_cos = 1;\n return;\n }\n sincos_sin = sin_kernf(x);\n sincos_cos = cos_kernf(x);\n return;\n }\n if (ASC_SHRINK_LEVEL < 1) {\n if (ix <= 0x407B53D1) { // |x| ~<= 5π/4\n if (ix <= 0x4016CBE3) { // |x| ~<= 3π/4\n if (sign) {\n sincos_sin = -cos_kernf(x + s1pio2);\n sincos_cos = sin_kernf(x + s1pio2);\n } else {\n sincos_sin = cos_kernf(s1pio2 - x);\n sincos_cos = sin_kernf(s1pio2 - x);\n }\n return;\n }\n // -sin(x + c) is not correct if x+c could be 0: -0 vs +0\n sincos_sin = -sin_kernf(sign ? x + s2pio2 : x - s2pio2);\n sincos_cos = -cos_kernf(sign ? x + s2pio2 : x - s2pio2);\n return;\n }\n if (ix <= 0x40E231D5) { // |x| ~<= 9π/4\n if (ix <= 0x40AFEDDF) { // |x| ~<= 7π/4\n if (sign) {\n sincos_sin = cos_kernf(x + s3pio2);\n sincos_cos = -sin_kernf(x + s3pio2);\n } else {\n sincos_sin = -cos_kernf(x - s3pio2);\n sincos_cos = sin_kernf(x - s3pio2);\n }\n return;\n }\n sincos_sin = sin_kernf(sign ? x + s4pio2 : x - s4pio2);\n sincos_cos = cos_kernf(sign ? x + s4pio2 : x - s4pio2);\n return;\n }\n }\n // sin(Inf or NaN) is NaN\n if (ix >= 0x7F800000) {\n let xx = x - x;\n sincos_sin = xx;\n sincos_cos = xx;\n return;\n }\n // general argument reduction needed\n var n = rempio2f(x, ix, sign);\n var y = rempio2f_y;\n var s = sin_kernf(y);\n var c = cos_kernf(y);\n var sin = s, cos = c;\n if (n & 1) {\n sin = c;\n cos = -s;\n }\n if (n & 2) {\n sin = -sin;\n cos = -cos;\n }\n sincos_sin = sin;\n sincos_cos = cos;\n }\n}\n\nexport function ipow32(x: i32, e: i32): i32 {\n var out = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i32(e == 0) | i32(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 32) {\n let log = 32 - clz(e);\n // 32 = 2 ^ 5, so need only five cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\nexport function ipow64(x: i64, e: i64): i64 {\n var out: i64 = 1;\n if (ASC_SHRINK_LEVEL < 1) {\n if (e <= 0) {\n if (x == -1) return select(-1, 1, e & 1);\n return i64(e == 0) | i64(x == 1);\n }\n else if (e == 1) return x;\n else if (e == 2) return x * x;\n else if (e < 64) {\n let log = 64 - clz(e);\n // 64 = 2 ^ 6, so need only six cases.\n // But some extra cases needs for properly overflowing\n switch (log) {\n case 6: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 5: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 4: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 3: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 2: {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n case 1: {\n if (e & 1) out *= x;\n }\n }\n return out;\n }\n }\n while (e) {\n if (e & 1) out *= x;\n e >>>= 1;\n x *= x;\n }\n return out;\n}\n\n/*\nTODO:\nIn compile time if only exponent is constant we could replace ipow32/ipow64 by shortest addition chains\nwhich usually faster than exponentiation by squaring\n\nfor ipow32 and e < 32:\n\nlet b: i32, c: i32, d: i32, h: i32, k: i32, g: i32;\nswitch (e) {\n case 1: return x;\n case 2: return x * x;\n case 3: return x * x * x;\n case 4: return (b = x * x) * b;\n case 5: return (b = x * x) * b * x;\n case 6: return (b = x * x) * b * b;\n case 7: return (b = x * x) * b * b * x;\n case 8: return (d = (b = x * x) * b) * d;\n case 9: return (c = x * x * x) * c * c;\n case 10: return (d = (b = x * x) * b) * d * b;\n case 11: return (d = (b = x * x) * b) * d * b * x;\n case 12: return (d = (b = x * x) * b) * d * d;\n case 13: return (d = (b = x * x) * b) * d * d * x;\n case 14: return (d = (b = x * x) * b) * d * d * b;\n case 15: return (k = (b = x * x) * b * x) * k * k;\n case 16: return (h = (d = (b = x * x) * b) * d) * h;\n case 17: return (h = (d = (b = x * x) * b) * d) * h * x;\n case 18: return (h = (d = (b = x * x) * b) * d * x) * h;\n case 19: return (h = (d = (b = x * x) * b) * d * x) * h * x;\n case 20: return (h = (k = (b = x * x) * b * x) * k) * h;\n case 21: return (h = (k = (b = x * x) * b * x) * k) * h * x;\n case 22: return (g = (h = (k = (b = x * x) * b * x) * k) * x) * g;\n case 23: return (h = (d = (c = (b = x * x) * x) * b) * d) * h * c;\n case 24: return (h = (d = (c = x * x * x) * c) * d) * h;\n case 25: return (h = (d = (c = x * x * x) * c) * d) * h * x;\n case 26: return (g = (h = (d = (c = x * x * x) * c) * d) * x) * g;\n case 27: return (h = (d = (c = x * x * x) * c) * d) * h * c;\n case 28: return (h = (d = (c = x * x * x) * c * x) * d) * h;\n case 29: return (h = (d = (c = x * x * x) * c * x) * d) * h * x;\n case 30: return (h = (d = (c = x * x * x) * c) * d * c) * h;\n case 31: return (h = (d = (c = x * x * x) * c) * d * c) * h * x;\n}\n\nfor ipow64: TODO\nswitch (e) {\n case 32:\n ...\n case 63:\n}\n*/\n"]} \ No newline at end of file diff --git a/examples/NormalModel/obj_norm_kludgy.asc b/examples/NormalModel/obj_norm_kludgy.asc deleted file mode 100644 index 72d86ac..0000000 --- a/examples/NormalModel/obj_norm_kludgy.asc +++ /dev/null @@ -1,199 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com/wasm - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, imageReady, - createBuffer, ARRAY_BUFFER, - createTexture, createImage, ImageData, pixelStorei, activeTexture, - bindTexture, texParameteri, texImage2D, uniform1i, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, - TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER, uniform3f, -} from '../../webgl' - - -import { - objArray, matArray, groupArray, VertGroup, matMapArray, MaterialMap -} from './Moon_Sphere' - -// OG CODE -const VERTEX_SHADER_CODE:string = `#version 300 es - precision mediump float; - - in vec3 position; - in vec2 tex_uv; - in vec3 normal; - - smooth out vec2 tc; - smooth out vec3 n; - - void main() { - vec4 pos = vec4( position, 1.0 ); - - mat4 mRotateTranslate = mat4( - 1.0, 0.0, 0.0, 0.0, // column 1 - 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 - 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); - - gl_Position = pos * mRotateTranslate; - tc = tex_uv; - n = normal; - } -`; - -// this shader is super kludgy -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - smooth in vec2 tc; - smooth in vec3 n; - - out vec4 color; - uniform sampler2D sampler; - uniform sampler2D tex_norm; - - void main() { - const vec3 light = vec3(-1.0, -1.0, 1.0); - vec3 front_normal = vec3(0.0, 0.0, 1.0); - vec3 norm_offset = normalize(texture(tex_norm, tc).rgb - front_normal); - vec3 nn = normalize(n); - - float d = clamp( 1.0 - dot(normalize(nn-norm_offset), light), -0.5, 0.5); - float t = texture( sampler, tc ).r; - float c = clamp( (d + t)/2.0, 0.05, 1.0 ); - - color = vec4(c,c,c,1.0); //texture( sampler, tc ) * (vec4(d,d,d,1.0)); - } -`; - - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); - enableVertexAttribArray(gl, tex_uv_al); - - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); - -// let diffuse = getUniformLocation( gl, program, 'diffuse' ); - - let texture = createTexture(gl); - let sampler = getUniformLocation( gl, program, 'sampler' ); - - let texture_n = createTexture(gl); - let tex_norm = getUniformLocation( gl, program, 'tex_norm' ); - - var image_id: ImageData = createImage(matMapArray[0].diffuse); - var norm_image_id: ImageData = createImage(matMapArray[0].bump); - - var image_ready: bool = false; - -//diffuse - enable(gl, DEPTH_TEST); - -function rotate(theta: f32) : void { //u32 { - for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { - for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { - - let x:f32 = objArray[obj_i][coord_i]; - let z:f32 = objArray[obj_i][coord_i+2]; - - let nx:f32 = objArray[obj_i][coord_i+5]; - let nz:f32 = objArray[obj_i][coord_i+7]; - - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); - - let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); - - objArray[obj_i][coord_i] = x1; - objArray[obj_i][coord_i+2] = z1; - - objArray[obj_i][coord_i+5] = nx1; - objArray[obj_i][coord_i+7] = nz1; - } - } - - return; -} - - var vGroup: VertGroup; - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - if( image_ready == false ) { - if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) { - return; - } - - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); - - activeTexture(gl, TEXTURE1); - bindTexture(gl, TEXTURE_2D, texture_n); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id); - - uniform1i(gl, sampler, 0); - image_ready = true; - } - - for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { - vGroup = groupArray[g_i]; - bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); -/* - let diffuse_r: f32 = matArray[vGroup.mat_index][4]; - let diffuse_g: f32 = matArray[vGroup.mat_index][5]; - let diffuse_b: f32 = matArray[vGroup.mat_index][6]; - uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); -*/ - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); - vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); - drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); - } - } \ No newline at end of file diff --git a/examples/Obj/obj.wasm b/examples/Obj/obj.wasm deleted file mode 100644 index 9c5cfc06b9dd29d3072bb0d7d557cd4602392155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77983 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 IaxcmM11w+=VgLXD diff --git a/examples/Quad/quad.ts b/examples/Quad/quad.ts deleted file mode 100644 index 1ca4297..0000000 --- a/examples/Quad/quad.ts +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision highp float; - - in vec2 position; - - void main() { - gl_Position = vec4( position, 0.0, 1.0 ); - } -`; -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - out vec4 color; - - void main() { - color = vec4( 0.5, 0.2, 1.0, 1.0 ); - } -`; - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let quad_data: StaticArray = [-0.5,-0.5, - -0.5, 0.5, - 0.5,-0.5, - 0.5, 0.5,]; - - export function displayLoop(delta:i32):void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); - - const dimensions:i32 = 2; - const data_type: i32 = FLOAT; - const normalize: i32 = false; - const stride:i32 = 0; - const offset:i32 = 0; - - vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); - - drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length/2); - } \ No newline at end of file diff --git a/examples/Quad/quad.wasm b/examples/Quad/quad.wasm deleted file mode 100644 index 7c2a4efa6bebacd6a507d3fff3877468f777cd26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6918 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 qw_p5+3Ey)tmanYo*hIIb4jp6a<)i1h%G diff --git a/examples/SimpleLighting/simple_lighting.ts b/examples/SimpleLighting/simple_lighting.ts deleted file mode 100644 index 5004827..0000000 --- a/examples/SimpleLighting/simple_lighting.ts +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision mediump float; - - in vec3 position; - in vec3 normal; - out vec4 c; - - void main() { - const vec3 light = vec3(0.25, 2.0, -0.5); - float d = clamp( dot( normal, light ), 0.0, 1.0); - vec4 pos = vec4( position, 1.0 ); - - mat4 mRotateTranslate = mat4( - 1.0, 0.0, 0.0, 0.0, // column 1 - 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 - 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); - - gl_Position = pos * mRotateTranslate; - c = vec4(max(d, 0.2), max(d, 0.2), max(d, 0.3), 1.0); - } -`; - -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - in vec4 c; - out vec4 color; - - void main() { - color = c; - } -`; - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); - - enable(gl, DEPTH_TEST); - - // I'M DUPLICATING A LOT OF VERTICES HERE. - // INDEXES WOULD BE BETTER - let cube_data: StaticArray = [ - // X Y Z NX NY NZ - // Front - -0.5,-0.5, 0.5, 0.0, 0.0, 1.0, - 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, - -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, - - 0.5, 0.5, 0.5, 0.0, 0.0, 1.0, - -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, - 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, - // X Y Z NX NY NZ - // Top - -0.5, 0.5,-0.5, 0.0, 1.0, 0.0, - 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, - -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, - - 0.5, 0.5, 0.5, 0.0, 1.0, 0.0, - -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, - 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, - // X Y Z NX NY NZ - // Back - -0.5,-0.5,-0.5, 0.0, 0.0, -1.0, - 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, - -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, - - 0.5, 0.5,-0.5, 0.0, 0.0, -1.0, - -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, - 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, - // X Y Z NX NY NZ - // Right - 0.5,-0.5,-0.5, 1.0, 0.0, 0.0, - 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, - 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, - - 0.5, 0.5, 0.5, 1.0, 0.0, 0.0, - 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, - 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, - // Bottom - -0.5,-0.5,-0.5, 0.0, -1.0, 0.0, - 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, - -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, - - 0.5,-0.5, 0.5, 0.0, -1.0, 0.0, - -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, - 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, - - // X Y Z NX NY NZ - // Left - -0.5,-0.5,-0.5, -1.0, 0.0, 0.0, - -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, - -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, - - -0.5, 0.5, 0.5, -1.0, 0.0, 0.0, - -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, - -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, - ]; - -function rotate(theta: f32) : void { //u32 { - for( var coord_i: i32 = 0; coord_i < cube_data.length; coord_i += 6 ) { - let x:f32 = cube_data[coord_i]; - let z:f32 = cube_data[coord_i+2]; - - let nx:f32 = cube_data[coord_i+3]; - let nz:f32 = cube_data[coord_i+5]; - - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); - - let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); - - cube_data[coord_i] = x1; - cube_data[coord_i+2] = z1; - - cube_data[coord_i+3] = nx1; - cube_data[coord_i+5] = nz1; - } - - return; -} - - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - - bufferData(gl, ARRAY_BUFFER, cube_data, DYNAMIC_DRAW); - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); - drawArrays(gl, TRIANGLES, 0, cube_data.length / 6); - - } \ No newline at end of file diff --git a/examples/SimpleLighting/simple_lighting.wasm b/examples/SimpleLighting/simple_lighting.wasm deleted file mode 100644 index ff08ce7d4b54e1bdd830127fb54adee40e434580..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12079 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 T{~J>+N>138&seOj68`@JT&u*{ diff --git a/examples/TextureModel/obj_tex.wasm b/examples/TextureModel/obj_tex.wasm deleted file mode 100644 index d787533bbfa43ffc35e8d54e81269b45f46ec9eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33233 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 diff --git a/examples/TextureQuad/texture_quad.ts b/examples/TextureQuad/texture_quad.ts deleted file mode 100644 index 5c5bbf4..0000000 --- a/examples/TextureQuad/texture_quad.ts +++ /dev/null @@ -1,126 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, uniform1i, - createTexture, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, - ImageData, createImage, imageReady, - pixelStorei, activeTexture, bindTexture, - texParameteri,texImage2D,TEXTURE0,TEXTURE_2D, - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, DEPTH_TEST, - enable, blendFunc, - TEXTURE_MIN_FILTER,TEXTURE_MAG_FILTER,NEAREST,RGB, - UNSIGNED_BYTE,UNPACK_FLIP_Y_WEBGL,UNPACK_PREMULTIPLY_ALPHA_WEBGL, -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision highp float; - - in vec2 position; - in vec2 tex_coord; - - out vec2 tc; - - void main() { - gl_Position = vec4(position, 0.0, 1.0); - tc = tex_coord; - } -`; -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - - in vec2 tc; - - uniform sampler2D sampler; - - out vec4 color; - - void main() { - color = texture( sampler, tc ); - } -`; - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - -// ImageData, createImage, imageReady, - var image_id: ImageData = createImage('kaijunicorn.png'); - var image_ready: bool = false; - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); - enableVertexAttribArray(gl, tex_coord_al); - - enable(gl, BLEND); - blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); - - // x y u v - let quad_data: StaticArray = [-0.15,-0.2, 0.0, 0.0, - -0.15, 0.2, 0.0, 0.99, - 0.15,-0.2, 0.95, 0.0, - 0.15, 0.2, 0.95, 0.99,]; - - let texture = createTexture(gl); - let sampler = getUniformLocation( gl, program, 'sampler' ); - - export function displayLoop():void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - if( image_ready == false ) { - if( imageReady(image_id) == false ) { - return; - } - - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); - - uniform1i(gl, sampler, 0); - image_ready = true; - } - - bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); - - //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0 ); - vertexAttribPointer(gl, tex_coord_al,2, FLOAT, false, 16, 8 ); - - drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length/4); - } \ No newline at end of file diff --git a/examples/TextureQuad/texture_quad.wasm b/examples/TextureQuad/texture_quad.wasm deleted file mode 100644 index faddd5a789f69742ccdf7efe1a88b09d6f082dc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7766 zcmeHMd2m(b75~0_-P_CO1*@pR(V1!?S1{FTN2c2T8(xwNylgLd?oQewMWm>>qlVqR)as0O+751ibZW=`&N=tKmj#5*ILr;z#pYB^^&`K#na1jVtq87zziH~A!$fA8$;G>My z(GyLtvp1S<%I16(jV|+=mb6c4&UtCyo1g9Uz03WET()C=y0bT(R}qn0BEPUBy~I;m z_Nrv>(xvGZFBd9S<(a)S+mmbdloHJe&DoBwOuHAT8sRR-T$sx)$)!6=UemsxZeALw z1`e$DOlMoD7?@Y~p63=&iKbL8`INO}|Gucj+ zkesG?o$01_?+0XQP zVc;NNi;55T!qY%$3)5)1=X<$Kcmpc2%g0-{K*c4GiXKV%j8c&5CT{J5w4XkA@tnH3 zq4DJ25e-|I&EOX0LNApqx%4t_VqQh*=EXX^j%;qZp|m;C)-fGXDiYB#(=@edV%4Q| z>~8xBqffia5~66OTutOqtFoYAkWL}Nv{2sX70XN#MTkU+#E6uA7MSm6T4XxFbdc!~ z(-lltGF>G*5_a_{czi9#TO*r47kI9pH=h@HLEuG!eo-k33(f;Z}~mQQ!`N+u3X_mv}qV4NO0sM#&EyPjnO0%}j@x?qa%| z=^mzgneJn{pJ`zacjpo5+Xn)7OW*Dh_^rV21U6j7`4wupZA^1L@npf5Drd3A`k-9ReST z%6~-mifk5cW`m-@fWVNz3W3!ER|;GuP~h)nKhq-90j7gYhnTKlx{_((Ty6-{BGUn; zYfh&9m1{VQRRV>%tjn~>w6KHEr(dA(vTy=LfdPTSu*d|80s{hnnNEI-vx#0Wp>7bk zQQ#(ln+0wWxK&`Cz-K%jpYck_=$uJ)i@ykWUH zI|X(L>=xJ~uvcK8zn7By=AH< z-q@J)X!WfGt^9PRQ=L>nOUzn%PkkHf=4^Yr*X*mAtep3JHOqpA?`ImDpkw~Yuv#+t zuJ-iui?i7-bxJ~?S`pJUgQ&`1&afvd2UA3=TaCYNU%uOov{{REv~QlO(T;X)za*(K z9OW1nMd}IK+|NHZTZyod-CJWix;EmNwNWSHM1L^7CgMcuF_2sUeKS}n%d#Am(pH@| z`w;fC&tVUT%1Y`Qoz%#Kg4id(nc{e_2L>=if>dkt`i1eX0vpb4`sV3?~BlYCGHsq|0370A?G#PqJE6mXF2-IawCwRrqwx`QZ*>1CSbXSoI4Vg zjzpy+%xNbYbi}HrSk5KX1^EL{W;b=h)eRFAz-X8Neb;Q5U{slwQP16}F^}x~%g{h_ zCYl%=(ZukGG-|?`;DRb#mZ`l?#7+1)Ix_7>S%OQ0bHhG_W?5JfnxW6*EGLvKajau4 z4|B3;iTZMzf|8AL$&<<@8)5E9+@_N4u;f@NaV{A`XoSMb&`e4mZFx+|l1m!Tc z)VjySDz;R$6#Yvc5_iaK$6*++znfRpiu=N^6x z<9T~Y-~`cTnd)qla!Jq(7Nrpcy95z7!TZfbG%+}Gm>?fE#dLO-BxSc@de*IWDwv*WRt|>b2*yFnRGNQc zDoNw|dm296;h1|cX6w`@!(AJ^{c3j|IEu+Q*P^YI2%gP2TL(<3Vh9ZG}BCwbigNu`2i2wwZ?Q8ok!LT0w8V!e?GdsD(NY1gRlWa2{TFF8D7V6qinn7ES zjo3=a)+Bh{V%XntBOUfPtr;r04Zkmp`u#7(r*5BYS$9`h%B`~MPCyehbpjtk;(w;v zRYothYJ^o5 ze{!m2gwHHW@?lf<>O(K|B>s9~m4TI`I*<{0pQ&bn`)Lr5VlF|xjcOq@sh%(+M}4p4 z`%GAMjgg-M>FH?b>55io@M=~mI{Bq+#LJp%nAaTqxq--2;_<%1r5C}%>Gj*c!wZp6_Y&9Rj2MmCY|Fdkwu4KlV!DUr^%KNt4EC5q|Q>-ijrE0)8$r8@sNU2YxQe=gi5^qrHHiOFYR@XTqvI1`_HMeF%vk WeGmAb$5QxzHS}FRV=*;N_Wuh%#`G)z diff --git a/examples/TexturedCube/README.md b/examples/TexturedCube/README.md deleted file mode 100644 index e312818..0000000 --- a/examples/TexturedCube/README.md +++ /dev/null @@ -1,7 +0,0 @@ -#Hello World Triangle - -The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. - -``` -asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm -``` \ No newline at end of file diff --git a/examples/TexturedCube/textured_cube.asc b/examples/TexturedCube/textured_cube.asc deleted file mode 100644 index 08d42c6..0000000 --- a/examples/TexturedCube/textured_cube.asc +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision mediump float; - - in vec3 position; - in vec3 normal; - out vec4 c; - - void main() { - const vec3 light = vec3(0.25, 2.0, -0.5); - float d = clamp( dot( normal, light ), 0.0, 1.0); - vec4 pos = vec4( position, 1.0 ); - - mat4 mRotateTranslate = mat4( - 1.0, 0.0, 0.0, 0.0, // column 1 - 0.0, cos(-0.2),-sin(-0.2), -0.2, // column 2 - 0.0, sin(-0.0), cos(-0.2), 0.0, // column 3 - 0.0, 0.0, 0.0, 1.0 // column 4 - ); - - gl_Position = pos * mRotateTranslate; - c = vec4(max(d, 0.2), max(d, 0.2), max(d, 0.3), 1.0); - } -`; - -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - in vec4 c; - out vec4 color; - - void main() { - color = c; - } -`; - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); - - enable(gl, DEPTH_TEST); - - // I'M DUPLICATING A LOT OF VERTICES HERE. - // INDEXES WOULD BE BETTER - let cube_data: StaticArray = [ - // X Y Z NX NY NZ - // Front - -0.5,-0.5, 0.5, 0.0, 0.0, 1.0, - 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, - -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, - - 0.5, 0.5, 0.5, 0.0, 0.0, 1.0, - -0.5, 0.5, 0.5, 0.0, 0.0, 1.0, - 0.5,-0.5, 0.5, 0.0, 0.0, 1.0, - // X Y Z NX NY NZ - // Top - -0.5, 0.5,-0.5, 0.0, 1.0, 0.0, - 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, - -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, - - 0.5, 0.5, 0.5, 0.0, 1.0, 0.0, - -0.5, 0.5, 0.5, 0.0, 1.0, 0.0, - 0.5, 0.5,-0.5, 0.0, 1.0, 0.0, - // X Y Z NX NY NZ - // Back - -0.5,-0.5,-0.5, 0.0, 0.0, -1.0, - 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, - -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, - - 0.5, 0.5,-0.5, 0.0, 0.0, -1.0, - -0.5, 0.5,-0.5, 0.0, 0.0, -1.0, - 0.5,-0.5,-0.5, 0.0, 0.0, -1.0, - // X Y Z NX NY NZ - // Right - 0.5,-0.5,-0.5, 1.0, 0.0, 0.0, - 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, - 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, - - 0.5, 0.5, 0.5, 1.0, 0.0, 0.0, - 0.5, 0.5,-0.5, 1.0, 0.0, 0.0, - 0.5,-0.5, 0.5, 1.0, 0.0, 0.0, - // Bottom - -0.5,-0.5,-0.5, 0.0, -1.0, 0.0, - 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, - -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, - - 0.5,-0.5, 0.5, 0.0, -1.0, 0.0, - -0.5,-0.5, 0.5, 0.0, -1.0, 0.0, - 0.5,-0.5,-0.5, 0.0, -1.0, 0.0, - - // X Y Z NX NY NZ - // Left - -0.5,-0.5,-0.5, -1.0, 0.0, 0.0, - -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, - -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, - - -0.5, 0.5, 0.5, -1.0, 0.0, 0.0, - -0.5, 0.5,-0.5, -1.0, 0.0, 0.0, - -0.5,-0.5, 0.5, -1.0, 0.0, 0.0, - ]; - -function rotate(theta: f32) : void { //u32 { - for( var coord_i: i32 = 0; coord_i < cube_data.length; coord_i += 6 ) { - let x:f32 = cube_data[coord_i]; - let z:f32 = cube_data[coord_i+2]; - - let nx:f32 = cube_data[coord_i+3]; - let nz:f32 = cube_data[coord_i+5]; - - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); - - let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); - - cube_data[coord_i] = x1; - cube_data[coord_i+2] = z1; - - cube_data[coord_i+3] = nx1; - cube_data[coord_i+5] = nz1; - } - - return; -} - - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - - bufferData(gl, ARRAY_BUFFER, cube_data, STATIC_DRAW); - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); - drawArrays(gl, TRIANGLES, 0, cube_data.length / 6); - - } \ No newline at end of file diff --git a/examples/WarpSpeed/README.md b/examples/WarpSpeed/README.md deleted file mode 100644 index e312818..0000000 --- a/examples/WarpSpeed/README.md +++ /dev/null @@ -1,7 +0,0 @@ -#Hello World Triangle - -The triangle is the most basic of graphical programs. When I have read a books on OpenGL / WebGL / DirectX, they always begin with a program that draws a simple triangle. - -``` -asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm -``` \ No newline at end of file diff --git a/examples/WarpSpeed/warp_speed.ts b/examples/WarpSpeed/warp_speed.ts deleted file mode 100644 index b4f07dc..0000000 --- a/examples/WarpSpeed/warp_speed.ts +++ /dev/null @@ -1,211 +0,0 @@ -/** - * @author Rick Battagline / https://embed.com - */ - -import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, POINTS, -} from '../../webgl' - -class Point { - public x: f32 = 0.0; - public y: f32 = 0.0; - public dx:f32 = 0.0; - public dy:f32 = 0.0; - - constructor() { - this.reset(); - } - - public reset(): void { - this.x = 0; - this.y = 0; - - do { - this.dx = Mathf.random() * 0.1 - 0.05; - this.dy = Mathf.random() * 0.1 - 0.05; - } while( Mathf.abs(this.dx) + Mathf.abs(this.dy) < 0.02 ); - } - - public move(): void { - if( this.x > 1.0 || this.x < -1.0 || this.y > 1.0 || this.y < -1.0 ) { - this.reset(); - } - this.x += this.dx; - this.y += this.dy; - } -} - -const VERTEX_SHADER_CODE:string = `#version 300 es - precision highp float; - - in vec2 position; - out vec4 c; - - void main() { - gl_Position = vec4( position, 0.0, 1.0 ); - float total = clamp(abs(position.x) + abs(position.y) + 0.4, 0.01, 1.0); - gl_PointSize = total * 8.0; - c = vec4(total, total, total, 1.0); - - } -`; -// THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es - precision highp float; - in vec4 c; - out vec4 color; - - void main() { - color = c; - } -`; - - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); - - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); - - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); - - let program = createProgram(gl); - - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); - - linkProgram( gl, program ); - - useProgram( gl, program ); - - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); - - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); - - let point_list: StaticArray = [new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(), - new Point(), new Point(), new Point(), new Point(), new Point(),]; - - let point_data: StaticArray = [0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, - 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0, 0.0,0.0,]; - - export function displayLoop(delta:i32):void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - for( let i: i32 = 0; i < point_list.length; i++ ) { - point_list[i].move(); - point_data[i*2] = point_list[i].x; - point_data[i*2+1] = point_list[i].y; - } - - bufferData(gl, ARRAY_BUFFER, point_data, STATIC_DRAW); - - const dimensions:i32 = 2; - const data_type: i32 = FLOAT; - const normalize: i32 = false; - const stride:i32 = 0; - const offset:i32 = 0; - - vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); - - drawArrays(gl, POINTS, 0, point_list.length); - - } \ No newline at end of file diff --git a/examples/WarpSpeed/warp_speed.wasm b/examples/WarpSpeed/warp_speed.wasm deleted file mode 100644 index 7813a0c017ae2c0c3a5c9d9f7c820de374e69e55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12528 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 1.5.0 < 2", - "toidentifier": "1.0.0" + "esutils": "^2.0.2" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "babel-plugin-transform-regexp-constructors": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", + "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", + "dev": true + }, + "babel-plugin-transform-remove-console": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", + "dev": true + }, + "babel-plugin-transform-remove-debugger": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", + "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", + "dev": true + }, + "babel-plugin-transform-remove-undefined": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", + "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", + "dev": true, + "requires": { + "babel-helper-evaluate-path": "^0.5.0" + } + }, + "babel-plugin-transform-simplify-comparison-operators": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", + "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", + "dev": true + }, + "babel-plugin-transform-undefined-to-void": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", + "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", + "dev": true + }, + "babel-preset-minify": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz", + "integrity": "sha512-xj1s9Mon+RFubH569vrGCayA9Fm2GMsCgDRm1Jb8SgctOB7KFcrVc2o8K3YHUyMz+SWP8aea75BoS8YfsXXuiA==", + "dev": true, + "requires": { + "babel-plugin-minify-builtins": "^0.5.0", + "babel-plugin-minify-constant-folding": "^0.5.0", + "babel-plugin-minify-dead-code-elimination": "^0.5.0", + "babel-plugin-minify-flip-comparisons": "^0.4.3", + "babel-plugin-minify-guarded-expressions": "^0.4.3", + "babel-plugin-minify-infinity": "^0.4.3", + "babel-plugin-minify-mangle-names": "^0.5.0", + "babel-plugin-minify-numeric-literals": "^0.4.3", + "babel-plugin-minify-replace": "^0.5.0", + "babel-plugin-minify-simplify": "^0.5.0", + "babel-plugin-minify-type-constructors": "^0.4.3", + "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", + "babel-plugin-transform-member-expression-literals": "^6.9.4", + "babel-plugin-transform-merge-sibling-variables": "^6.9.4", + "babel-plugin-transform-minify-booleans": "^6.9.4", + "babel-plugin-transform-property-literals": "^6.9.4", + "babel-plugin-transform-regexp-constructors": "^0.4.3", + "babel-plugin-transform-remove-console": "^6.9.4", + "babel-plugin-transform-remove-debugger": "^6.9.4", + "babel-plugin-transform-remove-undefined": "^0.5.0", + "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", + "babel-plugin-transform-undefined-to-void": "^6.9.4", + "lodash.isplainobject": "^4.0.6" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } }, - "is-module": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", + "dev": true, + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + } }, - "jest-worker": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", - "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", + "bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + } + }, + "bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "execa": "^1.0.0", + "find-versions": "^3.0.0" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "pump": "^3.0.0" } } } }, - "js-tokens": { + "bin-version-check": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "dev": true, + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + } }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "dev": true, + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "dev": true, + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", + "dev": true + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", + "dev": true + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "dev": true, + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + } + } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "binaryen": { + "version": "98.0.0-nightly.20201109", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-98.0.0-nightly.20201109.tgz", + "integrity": "sha512-iRarAqdH5lMWlMBzrDuJgLYJR2g4QXk93iYE2zpr6gEZkb/jCgDpPUXdhuN11Ge1zZ/6By4DwA1mmifcx7FWaw==", + "dev": true + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "butternut": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/butternut/-/butternut-0.4.6.tgz", + "integrity": "sha1-HuTkNZZekk99JFueXmphTLGZFbY=", + "dev": true, + "requires": { + "acorn": "^5.0.3", + "chalk": "^1.1.3", + "magic-string": "^0.20.0", + "minimist": "^1.2.0", + "sourcemap-codec": "^1.3.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + } + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "dev": true, + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "^1.1.3" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "clipboardy": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", + "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "dev": true, + "requires": { + "arch": "^2.1.0", + "execa": "^0.8.0" + }, + "dependencies": { + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "^1.1.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", + "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "dev": true, + "requires": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + } + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "crass": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/crass/-/crass-0.12.3.tgz", + "integrity": "sha512-0gOYgXVAr6KF7xNUv/+QmTrVsMowpuYu9y1SWzMHFrERzxTygqpeBTXI9CMg1NI1AwQ96ZrkaGHVT9eTC66+Tw==", + "dev": true, + "requires": { + "color-convert": "^1.7.0", + "strong-data-uri": "^1.0.4", + "svgo": "^0.7.1" + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "dev": true, + "requires": { + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" + } + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.29" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dot-prop": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "dev": true, + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + } + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", + "dev": true, + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "dev": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "dev": true + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "dev": true, + "requires": { + "semver-regex": "^2.0.0" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "dev": true, + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-cmd": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/glob-cmd/-/glob-cmd-0.0.7.tgz", + "integrity": "sha512-mJ0Y8KuflmBIBWqo06Lg6uCdHquJLw8hbstGZ6FKc9DHQtkhux33GtfSYexqGDRWYy0DSt8jfmV0SLiVmxpiuQ==", + "dev": true, + "requires": { + "commander": "^2.15.1", + "glob": "^7.1.2" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "google-closure-compiler": { + "version": "20181008.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler/-/google-closure-compiler-20181008.0.0.tgz", + "integrity": "sha512-XmJIasXHyy4kirthlsuDev2LZcXjYXWfOHwHdCLUQnfJH8T2sxWDNjFLQycaCIXwQLOyw2Kem38VgxrYfG0hzg==", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "google-closure-compiler-linux": "^20181008.0.0", + "google-closure-compiler-osx": "^20181008.0.0", + "minimist": "^1.2.0", + "vinyl": "^2.0.1", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "google-closure-compiler-linux": { + "version": "20181008.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-linux/-/google-closure-compiler-linux-20181008.0.0.tgz", + "integrity": "sha512-k8njGfH2uzWJiRPPvUxM7MJB28gPrf4kI2bbuiF0gJk/1arXcWCPGjLD6pzCU0UylMy52MUXLgsIpRorqf2brw==", + "dev": true, + "optional": true + }, + "google-closure-compiler-osx": { + "version": "20181008.0.0", + "resolved": "https://registry.npmjs.org/google-closure-compiler-osx/-/google-closure-compiler-osx-20181008.0.0.tgz", + "integrity": "sha512-xzf/yH/4MXdb6GbP84iHnpcVCOPBbH0gMVOs0JhR/KbrQh+DlJU+Y8Z/DQzTkw9HgD650R2/WZmBknURyg9OTw==", + "dev": true, + "optional": true + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "gzip-size": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz", + "integrity": "sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^3.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "html-minifier": { + "version": "3.5.20", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.20.tgz", + "integrity": "sha512-ZmgNLaTp54+HFKkONyLFEfs5dd/ZOtlquKaTnqIWFmx3Av5zG6ZPcV2d0o9XM2fXOTxxIf6eDcwzFFotke/5zA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.1.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "imagemin-pngquant": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-9.0.1.tgz", + "integrity": "sha512-PYyo9G/xwddf+Qqlqe3onz5ZH7p6vHYVVkiuuczUjxZmfekyY77RXaOA/AR6FnVoeQxGa/pDtEK5xUKOcVo+sA==", + "dev": true, + "requires": { + "execa": "^4.0.0", + "is-png": "^2.0.0", + "is-stream": "^2.0.0", + "ow": "^0.17.0", + "pngquant-bin": "^6.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", + "dev": true + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-png": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-2.0.0.tgz", + "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "dev": true, + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + } + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "magic-string": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.20.0.tgz", + "integrity": "sha1-JV8H4LFFncANdGNjZ+kgDLtdUp0=", + "dev": true, + "requires": { + "vlq": "^0.2.1" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "dev": true + }, + "mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "dev": true, + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-minify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/node-minify/-/node-minify-3.6.0.tgz", + "integrity": "sha512-/t7Xz0yXFyBrHhnGgAZAoOtuqu+oKyYONj0xUDiST6onGEQ0lwzprXhjTNazNWn7ZfIYYoiyP9Bn0rOd+vBuOA==", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-preset-minify": "0.5.0", + "butternut": "0.4.6", + "chalk": "2.4.1", + "clean-css": "4.2.1", + "commander": "2.19.0", + "crass": "0.12.3", + "csso": "3.5.1", + "depd": "1.1.2", + "glob": "7.1.3", + "google-closure-compiler": "20181008.0.0", + "gzip-size": "5.0.0", + "html-minifier": "3.5.20", + "mkdirp": "0.5.1", + "node-version": "1.2.0", + "ora": "3.0.0", + "sqwish": "0.2.2", + "terser": "3.10.2", + "uglify-es": "3.3.9", + "uglify-js": "3.4.9", + "update-notifier": "2.5.0" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "dev": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + } + } + }, + "node-version": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz", + "integrity": "sha512-ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "ora": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.0.0.tgz", + "integrity": "sha512-LBS97LFe2RV6GJmXBi6OKcETKyklHNMV0xw7BtsVn2MlsgsydyZetSCbCANr+PFLmDyv4KV88nn0eCKza665Mg==", + "dev": true, + "requires": { + "chalk": "^2.3.1", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.1.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^4.0.0", + "wcwidth": "^1.0.1" + } + }, + "os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "dev": true, + "requires": { + "arch": "^2.1.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "ow": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/ow/-/ow-0.17.0.tgz", + "integrity": "sha512-i3keDzDQP5lWIe4oODyDFey1qVrq2hXKTuTH2VpqwpYtzPiKZt2ziRI4NBQmgW40AnV5Euz17OyWweCb+bNEQA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "dev": true, + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pngquant-bin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-6.0.0.tgz", + "integrity": "sha512-oXWAS9MQ9iiDAJRdAZ9KO1mC5UwhzKkJsmetiu0iqIjJuW7JsuLhmc4JdRm7uJkIWRzIAou/Vq2VcjfJwz30Ow==", + "dev": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "execa": "^4.0.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } }, - "ms": { + "restore-cursor": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, "requires": { - "ee-first": "1.1.1" + "glob": "^7.1.3" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "commander": "^2.8.1" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, "requires": { - "path-parse": "^1.0.6" + "semver": "^5.0.3" } }, - "rollup-plugin-terser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.0.tgz", - "integrity": "sha512-p/N3lLiFusCjYTLfVkoaiRTOGr5AESEaljMPH12MhOtoMkmTBhIAfuadrcWy4am1U0vU4WTxO9fi0K09O4CboQ==", + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "dev": true + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" + "semver": "^5.3.0" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -389,15 +3862,62 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" } } }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "serve": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/serve/-/serve-11.3.2.tgz", + "integrity": "sha512-yKWQfI3xbj/f7X1lTBg91fXBP0FqjJ4TEi+ilES5yzH0iKJpN5LjNb1YzIfQg9Rqn4ECUS2SOf2+Kmepogoa5w==", + "dev": true, + "requires": { + "@zeit/schemas": "2.6.0", + "ajv": "6.5.3", + "arg": "2.0.0", + "boxen": "1.3.0", + "chalk": "2.4.1", + "clipboardy": "1.2.3", + "compression": "1.7.3", + "serve-handler": "6.1.3", + "update-check": "1.5.2" + } + }, + "serve-handler": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", + "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", + "dev": true, "requires": { - "randombytes": "^2.1.0" + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.0.4", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "~1.33.0" + } + } } }, "serve-static": { @@ -416,46 +3936,413 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "dev": true, + "requires": { + "sort-keys": "^1.0.0" + } + }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } } }, + "sqwish": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/sqwish/-/sqwish-0.2.2.tgz", + "integrity": "sha1-AP4maBBPEii1u37nOe9gEhu8sFc=", + "dev": true + }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "strong-data-uri": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/strong-data-uri/-/strong-data-uri-1.0.6.tgz", + "integrity": "sha512-zhzBZev0uhT2IrFUerenXhfaE0vFUYwAZsnG0gIKGpfM/Gi6jOUQ3cmcvyTsXeDLIPiTubHESeO7EbD6FoPmzw==", + "dev": true, + "requires": { + "truncate": "^2.0.1" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } }, - "systemjs": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.5.0.tgz", - "integrity": "sha512-B+NzKJD1srC/URfNVBdDExAUAsAVXpVQxZxX54AtqU0xiK9imkqurQu3qi6JdyA2GBAw2ssjolYIa7kh+xY1uw==" + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + }, + "dependencies": { + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + } + } + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "dev": true, + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + } }, "terser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.2.0.tgz", - "integrity": "sha512-nZ9TWhBznZdlww3borgJyfQDrxzpgd0RlRNoxR63tMVry01lIH/zKQDTTiaWRMGowydfvSHMgyiGyn6A9PSkCQ==", + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.2.tgz", + "integrity": "sha512-+QrFoqBImmsQGB4c/HvaqgZynmbNvNBwoBxuu7fYXtq5EEtlLUzph+WimDj+xMkuqawXPMl2lgCIz81CdXvt+w==", + "dev": true, "requires": { - "commander": "^2.20.0", + "commander": "~2.17.1", "source-map": "~0.6.1", - "source-map-support": "~0.5.12" + "source-map-support": "~0.5.6" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" } }, "toidentifier": { @@ -463,20 +4350,299 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/truncate/-/truncate-2.1.0.tgz", + "integrity": "sha512-em3E3SUDONOjTBcZ36DTm3RvDded3IRU9rX32oHwwXNt3rJD5MVaFlJTQvs8tJoHRoeYP36OuQ1eL/Q7bNEWIQ==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "update-check": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.2.tgz", + "integrity": "sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ==", + "dev": true, + "requires": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, - "wabt": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.19.tgz", - "integrity": "sha512-z/7XRZB8tPRW0XdE8HYbA95w2kjus5AwOHnJ5NT9PqzaNZ7z/zHnUdpNdB78TFMgWt+D/u01lg1jG6nWiFmyEw==" + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + } + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } } } diff --git a/package.json b/package.json index 4002976..3907f12 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,7 @@ "ascMain": "webgl.ts", "// scripts": "TODO: update the following script section as an index of what people can/should run (this standard in the JS/TS world). 'build' is a conventional script to have, along with 'dev' which usually has a watch mode to recompile when files change.", "scripts": { - "build": "npm run build:lines -- --target release && npm run build:triangle -- --target release", - "build:lines": "npm run asc -- -o render_lines.wasm render_lines.ts", - "build:triangle": "npm run asc -- -o examples/HelloWorldTriangle/triangle.wasm examples/HelloWorldTriangle/triangle.ts", - "build:all": "for FILE in $(glob \"./render_lines.ts\" && glob \"./examples/**/*.ts\"); do npm run asc -- -o ${FILE%.ts}.wasm $FILE; done", + "build:all": "node buildall.js", "asc": "asc --runtime stub --importMemory", "clean": "rimraf $(glob './*.wasm') && rimraf $(glob './examples/**/*.wasm')", "serve": "serve .", @@ -16,7 +13,16 @@ "@assemblyscript/loader": "^0.17.7", "assemblyscript": "^0.17.7", "glob-cmd": "0.0.7", + "imagemin": "^7.0.1", + "imagemin-pngquant": "^9.0.1", + "node-minify": "^3.6.0", "rimraf": "^3.0.2", "serve": "^11.3.2" + }, + "author": "Rick Battagline ", + "license": "MIT", + "dependencies": { + "connect": "^3.7.0", + "serve-static": "^1.14.1" } } diff --git a/render_lines.wasm b/render_lines.wasm deleted file mode 100644 index 6ea76ab3bfe0631ae92c8763e67daf72499d1959..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12242 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 diff --git a/server.js b/server.js index dfd081a..9c9dd35 100644 --- a/server.js +++ b/server.js @@ -1,7 +1,7 @@ var connect = require('connect'); var serveStatic = require('serve-static'); -connect().use(serveStatic(__dirname + "/")).listen(8080, function () { +connect().use(serveStatic(__dirname + "/dist/")).listen(8080, function () { console.log('Server running on 8080...'); }); diff --git a/examples/AnimationTexture/README.md b/src/examples/AnimationTexture/README.md similarity index 100% rename from examples/AnimationTexture/README.md rename to src/examples/AnimationTexture/README.md diff --git a/examples/AnimationTexture/index.html b/src/examples/AnimationTexture/index.html similarity index 95% rename from examples/AnimationTexture/index.html rename to src/examples/AnimationTexture/index.html index 7d2b881..ea070b8 100644 --- a/examples/AnimationTexture/index.html +++ b/src/examples/AnimationTexture/index.html @@ -13,7 +13,7 @@ + +
        + +
        \ No newline at end of file diff --git a/dist/examples/AnimationTexture/kaijunicorn.png b/dist/examples/AnimationTexture/kaijunicorn.png deleted file mode 100644 index 91448806959fde7a7840bc19725e81f3b045dbf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2795 zcmb_e2~-nj9*;+E)xkzRSpdmu60SvLk$~BppK$>G>GDxsg6fM?n zrK?YbD!SPE#IEQ{U0tXra_O#$RV!J%p5j$Gge@RlDC`%mr@Pwr`8F?^`HtWB`(MBB z`?5JYGJO2FspD8I)_6rkmDX? z-pu@&eSLkb-F;v_QLXOH+^%RDQwcgF7*%8pEA){=$6~o0(W^C#M!6ItXcHGFX)VRI zn=AmuVg-fREjVGI7`B#5)|;iAXD7~Z*m_dRi4`glrA0=i=p)uxshBm9YGRFnkdT~^ zV0Mrl0|X|D!P$0`(QL!)QcgcF2HMVHn8WUeFa{}Sq0=B+ql{+DXe-4Qazzk<3dHO{ z2^SR!5WZ*un}?th7!kuLA3{(J5n;kW_TYyDtXWANrV3j;XbbeDoD_z!U@)APmc~uv zb7^Zbj7lVcg9r0?5I{h-bTfn7A+ybQh#`!!5mvp0(bHzOlM&a_sf?5ZJRJzZWErM4 z+XmAF5(e9G3yg9RXGr}(k{HHWQmw{*<0Ju7M#@B)85_W&!&plS&Cs?K`Zd(U(=QnS zsZ}b6ZM@PKlWEw5jghYgVGJhZm1vtf-9o`C%0{PJ2}-^ixasSR#)8SL6wc6AHBB3b z3Kc!%GMfjYX3ve)n@Kv&7VyFXDhy{RDTjyf5C{cdRE>%;fdCW^0<}Ys0jQED^}6)` zg-S4#kD=&GP#_r+XYgMIlLV%tttK15nCabiBO411o60Nzq?8$rZC$W+)Pl4FewKlhpX34w%vS@mEG;>I`Tac)efcCZM&4OBIKaO=cSs|H&}J-c5n7*061fs{iy z>rauK!D0O?GVt3X7@$o{p#bSG=wbk7qjgLgZlx9`gKYh(?%>xsZ^Kvrvg<+tPr?&v zaR?Wo6eJ=A2qflHD5L{LBS|3-(V{@BuXA1EJcv-ikWSyk^+9eT1ve*C;7o-%ZywBV zQ{wA`d1=%A|AK*?N9lmV;Qtn1|J)15E+}OG5ID=7&EZP~bcU}X$_(;k1(!_B#ynSW zL5;OUtgx|I6Tqc5p>jm-{0Y-otWiaZu!U+(Me~k$^G(FHW_*xP zR_NVqR@qrMho{%hpm*eTk58utYN8}hD?9=M;!m70Pov)Z{zU9iuJ-%; znTvPrmzUzEuEO^pgz>8Dvr6I{x1kLMX_b!q-htIkn@g%j9@tvx)q3%&)DZZ9yyMk+ zyu#tV(kQ6D?C?4!^xt`K%Vq;FcCC!~_nrI=IpOWW6MnXcelGiJ;fA({y;trg+e>?c zT%+C!^2x6G+p3t=?!MlK-_hBh><{}`)*0I+ntpWI$lbg>2_7Zd*{&<=3mj4Kkv-qZ z>o1l+YpH8|_E_WUyLhwmNQ?F4Ce_#O#>Qr*^5aJ%b{0;aTW*L)zQkaEH$#)p@G z|BvO<#GA?Dy62{J-_W0yHSrwv5m?iQ{spK(;rPsO`F8i>>Lr(&kHIy`A!T>!e|L>n z)iR@bM_b9f3q2k6CvFuY=MEWW6YOo5WP87mpZI-My~sDAC30fzoRgS5ZWqUcPD(ge z5L-sCTb{G^pwCS^^ATscHZQk&-i@Bb))08PdAxPYyBXiI6r&gb7h+X)A4MPM zbaD=MK5tcAD>NBO3%c*E%!Z@xb~k?R6Ed>5(|^zLeUZ_Ad2?)~)!ZqqxP4t|YRR># zYk~Y_XSe)SQzSm`+S6j3^yEPM`#+ynqar<58+~x!m5sLI zIF$ERpgCS@3&!QM*yC98>{-}lbVb_+${Y^>x@5VU8|_Q zJ-?w~-;%N#_QS5zs}AXJ?ALU86mCD4Zk=*qofP0wKaya^@s9&%ei~K>f(}mgiF5l`tjsB$G;}dTqVDr(ev)p2QIyz zcSzbYBYS2Rbp5oi=Ghlr;kgR`wd)H~rXD}<-#a#Q)}%8v<4!hTNqN>$8R51;?6%l= zDC&YY|JKIo(%`G>p^9VAakY1ML{8?fbaybu^|9i&Unj&i>Bdu$n+&5xs X?4)T$Zl0^1|1=fy$gsnUlCu5-7H}pj diff --git a/dist/examples/AnimationTexture/kaijunicorn1.png b/dist/examples/AnimationTexture/kaijunicorn1.png deleted file mode 100644 index af7210592cfe1c8b8f0d88f99ff5ded21e04b01e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507 zcmV>WD{{Wr;0001AR8;~-!Y~YmBYJ`m4p2h(PB2^`Se5oVsW(8)4OkC=wmtK<-C#TA;?UHVLfd~6C20=goZ480{5%!2&0z141lR%#uv277+%iHdEs#|x$_Ee@# zc)|0zZqFIuy4TvhWr3^R%kQ9=+v;AG>n`XnC9`m7yzM+?trt+S&bcRM27t^1pPalR z`0nEx9XPq_zsHZS&nq9D5k$5pz?M01^rIyvfTpy0ipMjQyPg9Z0N~(ed#bp(I{~A+ zQ!uzY1%tb@U{cjM>wix^Tdw&J2<|GXs*H0it00gnX+vtOb$B%*0l#SL7+3=MI{XrV!`mDj9d-liEDLe_}#z}Yz_?vs~dP|I9T8esD1=G x540A!9DZ5k0NXGJs5ZN3lBuGg$5`BN%{O1>vgm3+(kcJ|002ovPDHLkV1o1b-s1oO diff --git a/dist/examples/AnimationTexture/kaijunicorn2.png b/dist/examples/AnimationTexture/kaijunicorn2.png deleted file mode 100644 index d87f09d7db58e4ef4839a6e5b365a9b7cb3dd556..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmV+t0`2{YP)>WD{{Wr;0001AR8;E-1*_6tk$MBv-hgocwC$OAKKHIU=qWI6M)-wQ_@bB%tstG_P8jqj}tXd&NlNHcf=LJG3B_jcWS|Q>-5)jaK zAKOS^K~4L6(QKk>oxp;v48bHIfF=Z!01>u`Tml=sFD3yO8gUp9JHyL%PTepbaX8Aj z2rGC#b;BtG#`9}8zGcDKjW2(LYR>AO)p)+(c#-S~ec{8|QdW8enpMuvq@4jEsCzmA zHhAs9yIt3~uk?HR`1-u^(b3Gx#ASG3WDY#q(MsB(!Fuivd_t!F8EgSy*UJnbMW582 z0hN#K01Hygfzml4%mJ6xA#x%xDOmJd-3cgv0|qmI3M9KEtF~5(0A;mNGQ7(cnA=q^ z;ubCw0I;CoCI;4Oi(V1~mzH^e;7iqt+bArXF!axim~~*Z@P~-u<)4f^2rhrSV1P?X zKY%(0ZZgeE$6nKhTJ?tvP^#~HmBdi0SoO9II?8H-1j=;3uo7v3Nk8>WD{{Wr;0001AR8;6e)nVPV6b|0?Nz)XcK>Cfo;$M zl`*KyfWl}GA{(Ma`o1&3*NQAX1Kii4QlMwRbRP0I&}6^{JtX3hEbSL7L^MQWKPauI zTZ21P)vFZP{m}hm_ynzU)yiKp@ukqBpnhxEmTV=uf6QSY0`CKi0|QG3R8bx=^WM^5ShT9`==Dszt8^w$n}`Document
        \ No newline at end of file diff --git a/dist/examples/ColorTriangleRotate/index.html b/dist/examples/ColorTriangleRotate/index.html deleted file mode 100644 index 6570bc0..0000000 --- a/dist/examples/ColorTriangleRotate/index.html +++ /dev/null @@ -1,54 +0,0 @@ -Color Triangle with Rotation
        \ No newline at end of file diff --git a/dist/examples/Cube/index.html b/dist/examples/Cube/index.html deleted file mode 100644 index 9b12815..0000000 --- a/dist/examples/Cube/index.html +++ /dev/null @@ -1,54 +0,0 @@ -Document
        \ No newline at end of file diff --git a/dist/examples/HelloWorldTriangle/index.html b/dist/examples/HelloWorldTriangle/index.html deleted file mode 100644 index 05cf4e2..0000000 --- a/dist/examples/HelloWorldTriangle/index.html +++ /dev/null @@ -1,47 +0,0 @@ -Document
        \ No newline at end of file diff --git a/dist/examples/Lines/index.html b/dist/examples/Lines/index.html deleted file mode 100644 index 184283b..0000000 --- a/dist/examples/Lines/index.html +++ /dev/null @@ -1,31 +0,0 @@ -WebGL Test
        \ No newline at end of file diff --git a/dist/examples/Material/index.html b/dist/examples/Material/index.html deleted file mode 100644 index de8df61..0000000 --- a/dist/examples/Material/index.html +++ /dev/null @@ -1,66 +0,0 @@ -Wavefront Object converted to AssemblyScript
        fps:
        \ No newline at end of file diff --git a/dist/examples/MousePoint/index.html b/dist/examples/MousePoint/index.html deleted file mode 100644 index ef0cdd7..0000000 --- a/dist/examples/MousePoint/index.html +++ /dev/null @@ -1,66 +0,0 @@ -Document
        \ No newline at end of file diff --git a/dist/examples/NormalModel/LunarMap.png b/dist/examples/NormalModel/LunarMap.png deleted file mode 100644 index c8776c0d1d75f8070cfb9f58221390507cba9bf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177567 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
        2z zuEpdPJPpwPe%j*m5Q6Cd`Z@Z);jh18w@id7&;TPpS*k{;j#af<+&E%s)QTz)t;oDH ztuy0~*mye90m*Vz+BL$fjY6TK$V_!DNq{qnSxy|FnW{IZTQTQVLL%G6xDva1z_6!n z000eFNkl@6$gwEN}N+=#Q_k=_1iIJ~23pl)-JMR(T5rWhP3A zau&408dbC$kC~7e(!}ARejWI7ll8DqS%*BnE7lNHo`zJ`44u%foxrE3<3j~s(#QWt zmG+3-XIbPuX2pLc*EufYDq`>3Ub3v_l!u(<&n%9l-sdxNJcqk(kk7h@&qpYrpPs#$ z+wX|%>d?P=CkNdOpN2E;Frl6yOK+?z=S(LM<*6!ns z95r`HQS`3=p};dZ1e*Ut7S1}_AV*|ZuDCq%+_hivZOTwD9Bj3F|3@JjAnky@m3iPJu%f#C{zZ5 zj#t}2)|ta>PsfBE_BCz;@m7ScmIH(t<~_oTlE(>jaI?LFzE$I$k+n~~cA0*gsV~Rl zba(aB_NCqiz6_i32YsB!X+#jy1=1J#YtF&(n4xAXrlh2PpUMFWNNeZ6zIp{+>SOm+%Yd7vZtrj9cvkeGOeCNU-A_@$We~ca zXs`ufD*aO@XZ_bJ_R6f=672Vv{_@E=HzWxb)k2bsE>p|gn=eb| z;=bJyr13pux{@JYbH+aQsRvo6Ivh*?+)`%ox76V88y1sF6tc^J6G=e1yFck!_gQ1> zI~VmC?Ul2~&zg^9s3|1T-m#>*Cm9Cp@n9tTDEJPBuj{f{Xxds^9$~<6tNc|OTZ$S| zk^~p%CdU6-yRzj-ZWu<$4|-x{{{L%JiAN#;vOV5PW{87$2F2&L)U3jy<5zy#k32g0kx`8oCEe-l@W`G zcr3mw7pv`iKgjHs|ETGRg8tV(8bdo;8<1$f0h)i{N~ZNq3s_c12vFA|_@-TFUKkb| zxgGhmc2h4xC4^q1Tp1KFX}k+4Zynv%v}9;`FQOHGIfV1@DVI?T=hIA*Odm%;$FZ>3oGz` zed%VXxsTrOgZ^jFVo;#dSi-7Gl~p+`$YIEh@^zal(h_x$z~XBN?o*oU>sZMZVPcs$ zN^`Oj5R=FP)z;_yR`tM2;g1PH^e!qck=?*m zdvHO2cs(r!=2pE_$6Gug;%UN4wTtGZYOx%O86%)4O?(Nmg%S@FAO-|i&O$q@#(1ol z<=4APfMOB*uGA^QOT{;~-Q%Tbku4r2SgtIpH5kb3HSCWj)ezo#k$YLFfkFxr2aCY5 zbK^i8-kNA&KuDJQJ9MxePe>qKm0#i(M-aPkXc!1_(&`RYQ!vQZ4Yw7Sm~If>#9YI? zPy{|0pIH!3Qq^OWVez3bK*cz->Z}85&N&e7&NI{utJP3b_QG6BDhGDim!h{o=m2DJ z)MZ;Auv!=i;O*6c29L8>>q|03ARsmcyWoZl$dfl~;=I=CxQ|h8sO`oGQ{iUKkwr&C zNCJLcLN;APgAvo*fk|$6X#s7Qh7W@VhZchGi2@@rP(-oSTWur*K~f*%(1Xo3SG0mU z#Jz_Zv~)~uQsY{SZ49YT!`dPgS24E8gYh1kT#$?%0jv9iDgEb~(eY_meH~gf1iCAk zCAtD(3l-DV5{qZ7rDZBqw6V;-#V%1_WKdPeb2);kUCC^??205E3A5OV5k2vm-Gr1W zBqb)*%>{`y8yA`glP3tZ44R;z$a9J8md++I90lc%F{Fqx@?Sc0>hPE~{tO|~+&w<- zK}@;)>qtjLKng?ioy}`#hKdQfyL7gEP9K^t@bKNW)T8RmuJs`Lz9G_@2 zTF%xsB^;{^0=G5e8HSe1Fb@H95?rLv;wm^0&w(ff49SZ^5?m&nFIG7is@rH)8>h7` zI;*-A*=+_%{rO4N4$lV3o$Gfc!L*L4aORqfAb70Kd`~0fNQ`OTJ5d}#-yaHQ<}x&X z>?o-FmTTxhddZ@T)b!VB)X@!CY8uLJfonJcC6x-aGzO-shxRe(k{5F0-fmGNZ1=># zQY>?`?*ne-w|GokMECs)Zm|Zs0KpJu!KAl20K1Z7zgvJvaWSYx?;4*SKh{2hz!2Y+ ztuSmR!lteju4wUCx_H>rpA&7(g>q#S=OIb5_}xx%-SFxO#!v%-xwpTrJV$8};34Ed z_KQB@wP=hK=@5daRCgR2hbhPs2Cp#`W$a?^G3gw&@X~#1*YtPM5(E#)WPjZw04EM; zWr+`?Cne?9lXt|2aJp7Ik8V}_#&VI5x3q>R2)Q}6rJG?XV64a02|k<)7=DCDxD&NZTdbae;SSAtt5W zZcHC*au<~80@O9LN3ULhgmfA&rlM{%M7@7XqZQh@OxJgXIZ!?{Km3ku#)yNFp}y;z zKb%<1N@Y4PW$?kncLHJMr)^@_30giYosZ(_gc5~;7Fc05@2k%bbr_yz$M>@oG$pI&QCsR2H1e47aj2XsqM zDHz;0)BQj7T?{w|BNg-%gnOiR?|ypVX-z|cq6kXIiEit)c{E~=H0nLuAU0TF9*00t zeLN`+&&YO7OUPXAWmBqdul{#sr1s$A=no;ouV_PsvplDuA{|P1R|{H zQdp8s-G`CgE~i80A-gieOFsMPV4_q5#T|WEj(MqK>X6-eKG_QPLdCN9%C$v}qxa-u zI^UstxDIgaji>uVvnDbJPC+X_5MLyb;9r&hZVn0ismQ2rm*%h13=qhGnNpCn5W9y2 z3~FpPUB;({{^ct;vX-LlHj4I@i@DZMZ1s{)ubq5%K7-5lG%Hpg%%s%LX%3>q!S1mi zUpZZmLgd&f`z|v+ezR}oZA_=lT*;y)(EG=%UE%a5jUp-E^Jbb#>{7SWJU28glm9A3 z#H(3?iQ2&LRwK9R7v}D$B(WWNc%q~uK;g9VUenY9+lNZP;iyr=*v##}cJh|T?zzmc zE_UzUm{>4Gs0VmW?KKuZJahD+xBa|)8>ln`2|@4f4fh({;=ljA-bN8OeK^Ju@4xF` zUdL48m`}glbK<8Lho#J9i~5Q?nQjlmuDCe|C-JkV=OC}lN`0bHuS#b>NiNHj)VyD% zhau^*aQmxIuuKbY_ykMtMZ4pn8Uh3=+pCut+I7T7P>tv|c-ySy$H~BEMJo(ClyJ<+ z5XNjry%%gM5|BR~0r@#&>+Zwii*B`z9AeG-{P_|8a8${UFJ!Bpcl`;Y(e zi!(a5Nab^!v-#9xAZ>jm)8SO)A@5K7AtjICFO#<{%jj>U!np@4rypL?HsbeI`Rn_) z{CaPpI@I51_3Lv4shj^41~wVe@td2LE3fbiyIViLZccIaY|?X;7kyIxQSPz*f%;7x zJ@OjKmYE!6#kb4rNqK1bwhkL&|LMN?Utjw_e%F&la%fLV8mCY%D>v>c3qbY(-Bl_7 zMBgkmH|}4s$tihTP~q!p@kOB4S`6rA@FnamALQ`BImv!}KK=$6l8;uUpBRS#0000< KMNUMnLSTZiicP@) diff --git a/dist/examples/NormalModel/LunarMapOG.png b/dist/examples/NormalModel/LunarMapOG.png deleted file mode 100644 index d47ba9c651b39fd8e66832b2a079499d51691b29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169007 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≷B}958nfFBC`KP8z8o_Av9>=ZD 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 BzRK+a~=w%chlnrxOIVJ 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%0AvQ&0c;;a}aG#l_ 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 P00000NkvXXu0mjfg~JxH diff --git a/dist/examples/NormalModel/LunarNormalMap.png b/dist/examples/NormalModel/LunarNormalMap.png deleted file mode 100644 index 4f162feac2cf01335e9a48c694159c2d8318f726..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488729 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 z 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

        Nfu$Z$3pvbhCLVsPpQTima^_$tlkq4Ru$@K$A8< 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 u5S7o^KE)>G!~tHTZ7Wavefront Object converted to AssemblyScript

        \ No newline at end of file diff --git a/dist/examples/Obj/index.html b/dist/examples/Obj/index.html deleted file mode 100644 index 5fc6894..0000000 --- a/dist/examples/Obj/index.html +++ /dev/null @@ -1,66 +0,0 @@ -Wavefront Object converted to AssemblyScript
        fps:
        \ No newline at end of file diff --git a/dist/examples/Quad/index.html b/dist/examples/Quad/index.html deleted file mode 100644 index 520306c..0000000 --- a/dist/examples/Quad/index.html +++ /dev/null @@ -1,54 +0,0 @@ -Document
        \ No newline at end of file diff --git a/dist/examples/QuadFollowMouse/index.html b/dist/examples/QuadFollowMouse/index.html deleted file mode 100644 index e40051d..0000000 --- a/dist/examples/QuadFollowMouse/index.html +++ /dev/null @@ -1,48 +0,0 @@ -Document
        \ No newline at end of file diff --git a/dist/examples/SimpleLighting/index.html b/dist/examples/SimpleLighting/index.html deleted file mode 100644 index 8660391..0000000 --- a/dist/examples/SimpleLighting/index.html +++ /dev/null @@ -1,66 +0,0 @@ -Document
        fps:
        \ No newline at end of file diff --git a/dist/examples/TextureModel/RobotTexPixel.png b/dist/examples/TextureModel/RobotTexPixel.png deleted file mode 100644 index 434c184319c663dc4aca5bb0e6d777e557780c63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2975 zcmcguYitx%6rNI$fGIBnibyg{F;Hc89y^bnk%gAsmKNArmPLxOggY~Lx+A+g!_0Jd zi>Rf6h?4kB3_(JW;3EbV z?sv}l?sv|;&$l!$t{Q*;cnrg;ni|7Vbno)6(Us_*nY6JF!^Zt;#9H0f$TC?qlRluC z3iM@@7W$51^A~0{j5jtXpVBBcjV8ay~nq%sQb*iKh z3m4$?voZomLKooKWFqCr*&va}mC>^|Oc8kA#9bF8>O6;dYorAanKs0EpFpY%7r;fy z#|Rwl7v|wC%}5j-pcp?%Gcqm6yoeWn1oCEUx*QER6n&w$AQ5+6OQxtyCgaQaeWu+` zF_MHZSc+vyWI;NeDHmkPlv7LYCNU$_ZlMG8TLX44Qo|ajWq(zyg3#JiMGxW|| zOan1GATt5kPv2yU^rit93~Q{ZvToW*fY>sUpdC_Hs-3{gYaoZrglQwkC_4YZ@upCy z#Wr;#fj&6V#f$K!`jEg#fTjh>XUT=7&wS!_$v9zfek=sUnOU;ROJYIKcTyQAZel-a`|0jpRjI z6u=CLQ#=^H4akk z5N!k09V7!;21>fp3IUAllYs)NzOD!9a(MCTbkXazG#%o@2>?g1RU#2@J0V6u=3-f0i^x=5ae z0VkKz5IPQdkL7b1dMTgeU<%c(jm~KwU)=vNI^&JA8dp0QcK1ErRe|l;c^?{_)v_#B z-_z4G?cN#Dn11l!!T$dKM;1gQ*r-VB4!iqufA*<<>@HmH+l^rr4>pDCV)1XUY>!On zrYCKwnR@oj<`dC34$ZkZ$`|O`zW>^kHJ?>yn`;*B-CO(BrnNoS)3bm3`E9drdN=Yk z?YrhDjy-+&!^tnqtgC(K#rJdDe(3siZ0@CZ_r)ik6DKZwFKkSB^|{qur@v8VJu|mw z&X$g2CylWOaCy=mE4}-bY+_HtvZ?sBkd4Ja@bz=lJ6VrObSdK8aUY&ROXycP#?)-f8xq01{Sni|h znd^7$-<5mzYz2n>S#|o-zScIpZ8?rVcB&P>T)Qv#eShUo7poc^{`__SoY^R6tf{^^ K{K2BN-G2e8EaU?K diff --git a/dist/examples/TextureModel/index.html b/dist/examples/TextureModel/index.html deleted file mode 100644 index 6fcc8f6..0000000 --- a/dist/examples/TextureModel/index.html +++ /dev/null @@ -1,66 +0,0 @@ -Wavefront Object converted to AssemblyScript
        fps:
        \ No newline at end of file diff --git a/dist/examples/TextureQuad/index.html b/dist/examples/TextureQuad/index.html deleted file mode 100644 index e622224..0000000 --- a/dist/examples/TextureQuad/index.html +++ /dev/null @@ -1,54 +0,0 @@ -Document
        \ No newline at end of file diff --git a/dist/examples/TextureQuad/kaijunicorn.png b/dist/examples/TextureQuad/kaijunicorn.png deleted file mode 100644 index 2825d1adb8ff6f160e2e8a198cc00625d45779c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2256 zcmb_deQXnD7{9TBu!#-}(bd2}WY@d5>#_Fkyt}O( zDsF&LBOiWD0olePB40wbC=T7^Gin0FLC^$|KggoYAVCNrkf6->+O8SOSBRIp_Wk%h z&+~ge-sgR*qO5py_T$+If{gZ-c>M66gr6rX6aF$Ackl=@qC*VK)93k0SzeBsI6)2q zQ#`7`eFT{~E3R;SEzr>*s1YS6_GkA#3>5_@Hka{{KE(~fV#yK}R4yqC@JniWhk(s` z8l4$up@JyTIW!)PNE#b=VhO!092?67h9)3-trIIW45IUV6{uTQ0m_)HI8V`b)aEcz zR+_X}pF+(f7#DZ~L_icsx(2aS8mok5UDm?#ZB(bXZ!!Qw>+_{;+>%Q) znl_>7MfK2)R6uTt)&dO*ApAg+>r@^T)kB(jhBpf9RspBWYCx7FgNdpbq>P%O*J%D+ zQ4-{sHf@Li@NhbCVrJ4z;uL(T0L8GRnWZTl=8hzjP@gP_p@#oLZ7k_vY1>UuSTX{q zb9V&`JR6eLCgZI0mr|pMh$hN~<#^*5I5FPHKY$F9%i=8}aBm(Ytm^{0YJRbHNJIMj%)=wsGVp>LrIb`@2$D0__%e`>S|-57Cn`z0VxqtUt@hueOr?j8TR67DH*9G*{fhFZ1q(h=fGMzU2Cr9Ol}>M^<}YZ?zE2jP0yDiKJj|)>McZUedY|$uV)s& z{Mnwb3oUi~s-t diff --git a/dist/examples/TexturedCube/index.html b/dist/examples/TexturedCube/index.html deleted file mode 100644 index 24482cd..0000000 --- a/dist/examples/TexturedCube/index.html +++ /dev/null @@ -1,66 +0,0 @@ -Document
        fps:
        \ No newline at end of file diff --git a/dist/examples/WarpSpeed/index.html b/dist/examples/WarpSpeed/index.html deleted file mode 100644 index 43cdf85..0000000 --- a/dist/examples/WarpSpeed/index.html +++ /dev/null @@ -1,54 +0,0 @@ -WebGL/AssemblyScript - Simple Lighting
        \ No newline at end of file diff --git a/gitrun.sh b/gitrun.sh deleted file mode 100644 index fbd6344..0000000 --- a/gitrun.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -git add . -git commit -m "${1}" -git push diff --git a/index.d.ts b/index.d.ts deleted file mode 100644 index e0ff6c7..0000000 --- a/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function print(str: string): void \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index 38af672..0000000 --- a/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export function print(str) { - console.log(str) -} \ No newline at end of file diff --git a/package.json b/package.json index 6af87d0..6b3f6da 100644 --- a/package.json +++ b/package.json @@ -2,35 +2,32 @@ "name": "aswebglue", "version": "0.0.1", "ascMain": "webgl.ts", - "main": "index.js", + "main": "src/ASWebGLue.js", "type": "module", - "types": "index.d.ts", + "types": "src/ASWebGLue.d.ts", "repository": { "type": "git", "url": "https://github.com/ZoeDreams/ASWebGLue" }, "// scripts": "TODO: update the following script section as an index of what people can/should run (this standard in the JS/TS world). 'build' is a conventional script to have, along with 'dev' which usually has a watch mode to recompile when files change.", "scripts": { - "build:all": "node buildall.js", "asc": "asc --runtime stub --importMemory", - "clean": "rimraf $(glob './*.wasm') && rimraf $(glob './examples/**/*.wasm')", - "serve": "serve .", - "// ^ clean": "rimraf is a cross-platform 'rm -rf' command, and 'glob' is a cross-platform globbing command. So that differences between shells don't get in the way. Still gotta use WSL Bash in Windows though." + "clean": "rimraf build && rimraf dist", + "prebuild": "npm run clean", + "build": "node scripts/build.js", + "start": "live-server --verbose --watch=build ./build" }, "devDependencies": { "@assemblyscript/loader": "^0.17.7", "assemblyscript": "^0.17.7", - "glob-cmd": "0.0.7", "imagemin": "^7.0.1", "imagemin-pngquant": "^9.0.1", + "live-server": "^1.2.1", + "make-dir-cli": "^2.0.0", "node-minify": "^3.6.0", - "rimraf": "^3.0.2", - "serve": "^11.3.2" + "rimraf": "^3.0.2" }, "author": "Rick Battagline ", "license": "MIT", - "dependencies": { - "connect": "^3.7.0", - "serve-static": "^1.14.1" - } + "dependencies": {} } diff --git a/scripts/build.js b/scripts/build.js new file mode 100644 index 0000000..abe6df6 --- /dev/null +++ b/scripts/build.js @@ -0,0 +1,79 @@ +import { exec } from "child_process" +import fs from "fs" +import path from "path" +import makeDir from "make-dir" +import min from "node-minify" +import imagemin from "imagemin" +import imageminPngQuant from "imagemin-pngquant" + +const srcDir = './src/'; +const buildDir = './build/' +const examplesDir = 'examples/' +const srcExamplesDir = srcDir + examplesDir; +const buildExamplesDir = buildDir + examplesDir; +const ascFile = 'webgl.ts' +const wasmFile = 'webgl.wasm' +const ascSrcFile = srcDir + ascFile; +const ascOutFile = buildDir + wasmFile; +const ascCmd = `asc ${ascSrcFile} --runtime stub -O3 --importMemory -o ${ascOutFile}`; + +console.log("|-> create build dir"); +makeDir.sync(buildDir); + +console.log("|-> compile assembly script"); +exec(ascCmd); + +console.log("|-> copying aswebglue files"); +fs.copyFile('./src/ASWebGLue.d.ts', './build/ASWebGLue.d.ts', (err) => { + if (err) throw err; +}); +fs.copyFile('./src/ASWebGLue.js', './build/ASWebGLue.js', (err) => { + if (err) throw err; +}); + +console.log("|_> building ..."); +fs.readdir(srcExamplesDir, (err, files) => { + + files.forEach(file => { + if (fs.lstatSync(path.resolve(srcExamplesDir, file)).isDirectory()) { + let subDir = file; + fs.readdir(srcExamplesDir + file, (err, exampleFiles) => { + exampleFiles.forEach(exampleFile => { + + if (exampleFile.indexOf('.ts') >= 0) { + let fi = `${srcExamplesDir}${subDir}/${exampleFile}`; + let fo = `${buildExamplesDir}${subDir}/${exampleFile.replace('.ts', '.wasm')}`; + let ascRun = `asc ${fi} --runtime stub -O3 --importMemory -o ${fo}`; + + exec(ascRun); + } + else if (exampleFile.indexOf('.html') >= 0) { + min.minify({ + compressor: 'html-minifier', + input: `${srcExamplesDir}${subDir}/${exampleFile}`, + output: `${buildExamplesDir}${subDir}/${exampleFile}`, + callback: function (err, min) { + if (err != null) console.log(err); + } + }); + } + else if (exampleFile.indexOf('.png') >= 0) { + (async () => { + let fi = `${srcExamplesDir}${subDir}/${exampleFile}`; + let fo = `${buildExamplesDir}${subDir}`; + + await imagemin([fi], { + destination: fo, + plugins: [ + imageminPngQuant({ + quality: [0.6, 0.8] + }) + ] + }); + })(); + } + }); + }); + } + }); +}); \ No newline at end of file diff --git a/server.js b/server.js deleted file mode 100644 index 9c9dd35..0000000 --- a/server.js +++ /dev/null @@ -1,7 +0,0 @@ -var connect = require('connect'); -var serveStatic = require('serve-static'); - -connect().use(serveStatic(__dirname + "/dist/")).listen(8080, function () { - console.log('Server running on 8080...'); -}); - diff --git a/src/ASWebGLue.d.ts b/src/ASWebGLue.d.ts new file mode 100644 index 0000000..4402a37 --- /dev/null +++ b/src/ASWebGLue.d.ts @@ -0,0 +1,3 @@ +export declare function print(str: string): void +export declare function ASWebGLReady(wasm_obj: object, importObject: object): void +export declare function initASWebGLue(importObject: object): void \ No newline at end of file diff --git a/src/ASWebGLue.js b/src/ASWebGLue.js index 593a36a..5f14d0c 100644 --- a/src/ASWebGLue.js +++ b/src/ASWebGLue.js @@ -1,3 +1,7 @@ +export function print(str) { + console.log(str) +} + export function ASWebGLReady(wasm_obj, importObject) { if (wasm_obj == null) { console.error("ASWebGLReady requires the WebAssembly Instance as 1st parameter"); From 772d8fd49463aa4c921de2342ec780b340ea8e0e Mon Sep 17 00:00:00 2001 From: Kara Rawson Date: Wed, 20 Jan 2021 03:28:57 -0500 Subject: [PATCH 029/111] 0.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6b3f6da..4b24345 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aswebglue", - "version": "0.0.1", + "version": "0.1.0", "ascMain": "webgl.ts", "main": "src/ASWebGLue.js", "type": "module", From 8d91f9642372d4b6828d0f7d2f0ecb2d21dd59df Mon Sep 17 00:00:00 2001 From: Kara Rawson Date: Wed, 20 Jan 2021 03:35:24 -0500 Subject: [PATCH 030/111] 0.1.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4b24345..3e5e481 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aswebglue", - "version": "0.1.0", + "version": "0.1.1", "ascMain": "webgl.ts", "main": "src/ASWebGLue.js", "type": "module", From 58bcce47d8364e79b5dca51c523302e7e6d50e9b Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Sat, 23 Jan 2021 12:02:15 -0700 Subject: [PATCH 031/111] fixed problems with build --- package.json | 6 ++--- scripts/build.js | 66 ++++++++++++++++++++---------------------------- 2 files changed, 31 insertions(+), 41 deletions(-) diff --git a/package.json b/package.json index 3e5e481..4bf51fb 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,12 @@ { "name": "aswebglue", - "version": "0.1.1", + "version": "0.1.2", "ascMain": "webgl.ts", "main": "src/ASWebGLue.js", - "type": "module", "types": "src/ASWebGLue.d.ts", "repository": { "type": "git", - "url": "https://github.com/ZoeDreams/ASWebGLue" + "url": "https://github.com/battlelinegames/ASWebGLue" }, "// scripts": "TODO: update the following script section as an index of what people can/should run (this standard in the JS/TS world). 'build' is a conventional script to have, along with 'dev' which usually has a watch mode to recompile when files change.", "scripts": { @@ -20,6 +19,7 @@ "devDependencies": { "@assemblyscript/loader": "^0.17.7", "assemblyscript": "^0.17.7", + "child-process": "^1.0.2", "imagemin": "^7.0.1", "imagemin-pngquant": "^9.0.1", "live-server": "^1.2.1", diff --git a/scripts/build.js b/scripts/build.js index abe6df6..19d269b 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -1,48 +1,38 @@ -import { exec } from "child_process" -import fs from "fs" -import path from "path" -import makeDir from "make-dir" -import min from "node-minify" -import imagemin from "imagemin" -import imageminPngQuant from "imagemin-pngquant" +const { exec } = require("child_process"); +const fs = require('fs'); +const path = require('path'); +const min = require('node-minify'); +const imagemin = require('imagemin'); +const imageminPngQuant = require('imagemin-pngquant'); +const ASWebGLueWasm = './src/webgl.ts'; +const ASWebGLueWasmOut = './dist/webgl.wasm'; +const distDir = './dist'; -const srcDir = './src/'; -const buildDir = './build/' -const examplesDir = 'examples/' -const srcExamplesDir = srcDir + examplesDir; -const buildExamplesDir = buildDir + examplesDir; -const ascFile = 'webgl.ts' -const wasmFile = 'webgl.wasm' -const ascSrcFile = srcDir + ascFile; -const ascOutFile = buildDir + wasmFile; -const ascCmd = `asc ${ascSrcFile} --runtime stub -O3 --importMemory -o ${ascOutFile}`; +if (!fs.existsSync(distDir)) { + fs.mkdirSync(distDir, 0744); +} -console.log("|-> create build dir"); -makeDir.sync(buildDir); +let ascRun = `asc ${ASWebGLueWasm} --runtime stub -O3 --importMemory -o ${ASWebGLueWasmOut}`; +exec(ascRun); -console.log("|-> compile assembly script"); -exec(ascCmd); - -console.log("|-> copying aswebglue files"); -fs.copyFile('./src/ASWebGLue.d.ts', './build/ASWebGLue.d.ts', (err) => { - if (err) throw err; -}); -fs.copyFile('./src/ASWebGLue.js', './build/ASWebGLue.js', (err) => { +fs.copyFile('./src/ASWebGLue.js', './dist/ASWebGLue.js', (err) => { + console.log(err); if (err) throw err; }); -console.log("|_> building ..."); -fs.readdir(srcExamplesDir, (err, files) => { +const exampleDirectory = './src/examples/'; +const distDirectory = './dist/examples/'; + +fs.readdir(exampleDirectory, (err, files) => { files.forEach(file => { - if (fs.lstatSync(path.resolve(srcExamplesDir, file)).isDirectory()) { + if (fs.lstatSync(path.resolve(exampleDirectory, file)).isDirectory()) { let subDir = file; - fs.readdir(srcExamplesDir + file, (err, exampleFiles) => { + fs.readdir(exampleDirectory + file, (err, exampleFiles) => { exampleFiles.forEach(exampleFile => { - if (exampleFile.indexOf('.ts') >= 0) { - let fi = `${srcExamplesDir}${subDir}/${exampleFile}`; - let fo = `${buildExamplesDir}${subDir}/${exampleFile.replace('.ts', '.wasm')}`; + let fi = `${exampleDirectory}${subDir}/${exampleFile}`; + let fo = `${distDirectory}${subDir}/${exampleFile.replace('.ts', '.wasm')}`; let ascRun = `asc ${fi} --runtime stub -O3 --importMemory -o ${fo}`; exec(ascRun); @@ -50,8 +40,8 @@ fs.readdir(srcExamplesDir, (err, files) => { else if (exampleFile.indexOf('.html') >= 0) { min.minify({ compressor: 'html-minifier', - input: `${srcExamplesDir}${subDir}/${exampleFile}`, - output: `${buildExamplesDir}${subDir}/${exampleFile}`, + input: `${exampleDirectory}${subDir}/${exampleFile}`, + output: `${distDirectory}${subDir}/${exampleFile}`, callback: function (err, min) { if (err != null) console.log(err); } @@ -59,8 +49,8 @@ fs.readdir(srcExamplesDir, (err, files) => { } else if (exampleFile.indexOf('.png') >= 0) { (async () => { - let fi = `${srcExamplesDir}${subDir}/${exampleFile}`; - let fo = `${buildExamplesDir}${subDir}`; + let fi = `${exampleDirectory}${subDir}/${exampleFile}`; + let fo = `${distDirectory}${subDir}`; await imagemin([fi], { destination: fo, From 4452601dffa6c2c4f7d0415b5cf357992fbef00c Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Sat, 23 Jan 2021 16:11:51 -0700 Subject: [PATCH 032/111] Added SpriteLighting example --- package.json | 4 +- server.js | 7 + src/ASWebGLue.js | 4 + src/examples/SpriteLighting/README.md | 115 +++++++++ src/examples/SpriteLighting/SpaceShip.png | Bin 0 -> 1839 bytes src/examples/SpriteLighting/SpaceShipN.png | Bin 0 -> 3171 bytes src/examples/SpriteLighting/index.html | 73 ++++++ .../SpriteLighting/sprite_lighting.ts | 238 ++++++++++++++++++ src/webgl.ts | 1 + 9 files changed, 441 insertions(+), 1 deletion(-) create mode 100644 server.js create mode 100644 src/examples/SpriteLighting/README.md create mode 100644 src/examples/SpriteLighting/SpaceShip.png create mode 100644 src/examples/SpriteLighting/SpaceShipN.png create mode 100644 src/examples/SpriteLighting/index.html create mode 100644 src/examples/SpriteLighting/sprite_lighting.ts diff --git a/package.json b/package.json index 4bf51fb..7543a3b 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,14 @@ "@assemblyscript/loader": "^0.17.7", "assemblyscript": "^0.17.7", "child-process": "^1.0.2", + "connect": "^3.7.0", "imagemin": "^7.0.1", "imagemin-pngquant": "^9.0.1", "live-server": "^1.2.1", "make-dir-cli": "^2.0.0", "node-minify": "^3.6.0", - "rimraf": "^3.0.2" + "rimraf": "^3.0.2", + "serve-static": "^1.14.1" }, "author": "Rick Battagline ", "license": "MIT", diff --git a/server.js b/server.js new file mode 100644 index 0000000..76bf4f8 --- /dev/null +++ b/server.js @@ -0,0 +1,7 @@ +var connect = require('connect'); +var serveStatic = require('serve-static'); + +connect().use(serveStatic(__dirname + "/")).listen(8080, function () { + console.log('Server running on 8080...'); +}); + diff --git a/src/ASWebGLue.js b/src/ASWebGLue.js index 5f14d0c..28c9406 100644 --- a/src/ASWebGLue.js +++ b/src/ASWebGLue.js @@ -127,6 +127,10 @@ export function initASWebGLue(importObject) { console.log(`logi32=${arg}`); } + importObject.webgl.logf32 = (arg) => { + console.log(`logf32=${arg}`); + } + // END DEBUG STUFF -------- importObject.webgl.imageReady = (image_id) => { diff --git a/src/examples/SpriteLighting/README.md b/src/examples/SpriteLighting/README.md new file mode 100644 index 0000000..9adda2a --- /dev/null +++ b/src/examples/SpriteLighting/README.md @@ -0,0 +1,115 @@ +# Textured Quad + +Drawing sprites in WebGL is usually done by texturing a quad. In this demo, I draw a sprite using WebGL by texturing a quad (rectangle). + +## The Vertex Shader + +The vertex shader is pretty striaght forward. I'm passing in 2D coordinates so the coordinates must be transformed in a vec4 by adding a z and w value to the end of the position object before passing it on to gl_Position. The UV coordinates are passed on from the vertex shader to the fragment shader without modification. + +Here's the code for the vertex shader: +``` +precision highp float; + +in vec2 position; +in vec2 tex_coord; + +out vec2 tc; + +void main() { + gl_Position = vec4(position, 0.0, 1.0); + tc = tex_coord; +} +``` +## The Fragment Shader + +The fragment shader uses the uv coordinates to get the pixel value from the sampler2D passed in as a uniform. The output color is set to the value retrieved from the sampler with a call to the texture function. + +Here's the fragment shader code: +``` +precision highp float; + +in vec2 position; +in vec2 tex_coord; + +out vec2 tc; + +void main() { + gl_Position = vec4(position, 0.0, 1.0); + tc = tex_coord; +} +``` +## Creating the ImageData object + +When the Wasm module loads, I have to load an image. I do so with the following call: + +``` +var image_id: ImageData = createImage('kaijunicorn.png'); +var image_ready: bool = false; +``` + +The second line creates an image_ready boolean. I'm going to set this flag when the image is ready so I don't need to make a call to the JavaScript from within the display_loop once the image is ready to render. + +## The Quad Data + +I use a StaticArray where I put the quad's x and y data. On each line I put the data for a single vertex, which is four f32 values for the x, y, u and v values. Here's the quad_data: + +``` +let quad_data: StaticArray = [ +// x y u v + -0.15, -0.2, 0.0, 0.0, + -0.15, 0.2, 0.0, 0.99, + 0.15, -0.2, 0.95, 0.0, + 0.15, 0.2, 0.95, 0.99,]; +``` + +## The displayLoop function + +in the displayLoop, I need to check the image_ready flag each time through the loop. If the image is not ready yet, I need to call the imageReady function: + +``` +export function displayLoop(): void { + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + if (image_ready == false) { + if (imageReady(image_id) == false) { + return; + } +``` + +There are several WebGL functions that need to be called to set up WebGL to render texture data. It then sets the image_ready flat to true: + +``` + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + uniform1i(gl, sampler, 0); + image_ready = true; + } +``` + +I buffer the quad's vertex data: +``` + bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); +``` + +I bind the array buffer to the vertex attributes for the position and uv data: +``` + // attribute | dimensions | data type | normalize | stride bytes | offset bytes + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0); + vertexAttribPointer(gl, tex_coord_al, 2, FLOAT, false, 16, 8); + +``` + + +Finally I draw the arrays: +``` + drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length / 4); + +``` + diff --git a/src/examples/SpriteLighting/SpaceShip.png b/src/examples/SpriteLighting/SpaceShip.png new file mode 100644 index 0000000000000000000000000000000000000000..32fbb96c1ee0f256bcad8d8a1f822c7e8d7e3976 GIT binary patch literal 1839 zcmbVNeQXnD7=Jsmx#330N&pAw<+cQ7xZcOQws%=Kwsvkc>l|B=Au@Npd)r>t>m7Hu zwVMiaWC6eUG+^cogg+2br(ucN;()0!l1v?HFfn`$T?`6p6avabeXr{pFes5r?(V(! z{k^~E`91IRJojuveNEo%g4qCoJYTK15xp_<&dx$ly{qdAdgZ9KYjgnawVJmD^z|0H8%CwVzEHm6A(OG1n`H(qHP#G3sL zm`BkdR%&w)0&RC;PS!>{>{N+kImS>lOHwY9E+HtIqa0kR6H8q>4h^4UZ@M2q#BYE!%Rj#sI(hy z9C#))!e$o6wEw4kRNLklUj5K&J}HMyM<8ngFXikeh|38kO^CkT(=9 zpeWIqgKC&@8Do%YY}sllCMt2g_@)ie%Nx**GZaIk^CD8{_;`C_`k#{}r}x^Wa7nOU4i*NPP|)de%mdIrF}ZeAanHa}$1sQKR)s#&%?`#;htp6i>#o|-1Ayh2&s!O2?)`Dk zk@cHa%V(1{2cuKDs^__ zeS=SzUR|@TXY0w~rJ(3Q!-gjp?wr{AYvk-P`i1xdHQh^vi`nO&J2@P-%q^N#+-C&` zzWQTB#fGeRtvz_|WM((Wg==;{+P-e>jqZtS6%Y3fR(!kT`MK|d>Xmgx;qLyNfuohc zzHwv`5c3ZndT=UaE6kQJeE8>^HMYqjuYL41r)CaicrEJi2DN+< zMM^EGAO+MaQUsLBpePO~hysFOq9S5N;lCiV{C~B->-Vj7-@WhNefAmdIcKf6&)d^Y zW2wPX2n3=*b*K1(GfY09D&Sj~nD`c)RQc{(g%F75HTh5|_)c>*1fslx?H?!#q-`QH zcu|&gCNB)IjE~}jXb8m4A)ZfXZ~zf333`DTq69s@@ zqNhJ2k;5P`;STmNyLci<5Cw?nu=uD*u8v;_Nv;qUNb`n~ zc>(}tZHYrL&{j4uJi!u;vqE8U8(?7zBtw2oty>dOU(FH2%Us0fY&<7s3Pv3>i=7Bhi*9xl8jvCSwuDj}b)9D`zs0KqL?a za7988i(bU?BX}a7FoO3N)QiXep#Tgmjkc)cPi={cT2vtvxx|8QECl3F(L(=wj2q3{R zC=43BF9ZhbkG3XaP(%~~fx;6}sLxOukI7~w`~?&XN`3_eQ-(oqA2atSjI2^VZMk1LP$rFHzLF=$z?^DTSZvl_Rjsy>czHZJistXy1Cg5-gj3s*B zTpEo?o4*Y9wSDc0$=2r|EIi{fDM))J@Oy($O}`RJ4AQ35WLldh0^f@q8CaBh*qM8D6_tIR-)bw3cxd_X?3eG)hw3&??iE!mry zHyvH0b4vWl@RBQWNqqr@+G2M%MS&^l#L(?fL4&NOPL^u6Jg2?3uV zoLaL|19kBoET6PvTSV-Kvc}8^=MB%H-|ekVweU(UcF7jB$sQVOtTrp;-!qogNX8O`#_D}kCEyJ72^ag*y*2scRXrO6{eP5%+MUYsqkx(p@jRY-EVqa zFD}{ZUC3O3Xe?;mV>`$|;)jM#GreaUFFg0dOHC?&jaEBo_qy_6YrA!GzNt=7N%VS( zr?60O60>Y~Ud^$=aQ)as{cMSraPsXI?h>xS$IO<&?1mw5Iu0MV)+tb<_Gf4I zl1TNW%C*6anCQ&ggyhSqmbv`1#it(G8fltQ$4clBlyd|7zA4c_cfclj$t0U8;f1j$|*78 zT(PUV5r>5H^CqJXKFNCw!3AxysxZGrx#N1re7%mTF5~KqCKBO;pk;KA1j0D5D%;4F z+Q|3jP@V6^t6apZ4!CECO|K_Ff}f!fN>lGEO~nrNHs)bEtAf1|2Tj(Tdxa$s;H|7 z*O9D`)s)WO`u4){w4qaO4i-!mo%Gt{=To@}PbFmTd9`=%Z0XuhtxJZsD@fyC4FuiHV*YF~wzK2oi=1T4Db77@Z0Y!2 zQPrucZ3gElDrK($X6#XJk6)p_1XV`Ocr<^p*Uu@t{ z+Y*1vZQL?eWMt7lVqo78qO$DwkLAPo#s;Smi&dv4ljlm@hN}avz;Tb=+n7UoSjPe_d$?*=^b zuzIbYP9173P^eeLO9z;{%xmB2?wG>!p9|x*pL35+@MZf_CybnSjBd$?^Nw0Z*}wZ?n-&`D)!%7^r%6%~T& h7w<1)n&%$ODmLJ&#U=jvZSvm$s*5M(jB{w(zX4yB4b=bu literal 0 HcmV?d00001 diff --git a/src/examples/SpriteLighting/index.html b/src/examples/SpriteLighting/index.html new file mode 100644 index 0000000..34f0115 --- /dev/null +++ b/src/examples/SpriteLighting/index.html @@ -0,0 +1,73 @@ + + + + + + + Sprite Lighting + + + +
        + +
        + + + + \ No newline at end of file diff --git a/src/examples/SpriteLighting/sprite_lighting.ts b/src/examples/SpriteLighting/sprite_lighting.ts new file mode 100644 index 0000000..0791d6e --- /dev/null +++ b/src/examples/SpriteLighting/sprite_lighting.ts @@ -0,0 +1,238 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLShader, shaderSource, createShader, compileShader, + VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, + attachShader, useProgram, WebGLUniformLocation, getUniformLocation, + linkProgram, clearColor, clear, uniform1i, uniform3f, + createTexture, createBuffer, ARRAY_BUFFER, + STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, + enableVertexAttribArray, bindBuffer, createContextFromCanvas, + bufferData, getAttribLocation, drawArrays, + vertexAttribPointer, TRIANGLE_STRIP, + ImageData, createImage, imageReady, + pixelStorei, activeTexture, bindTexture, + texParameteri, texImage2D, TEXTURE0, TEXTURE1, TEXTURE_2D, + SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, DEPTH_TEST, + enable, blendFunc, + TEXTURE_MIN_FILTER, TEXTURE_MAG_FILTER, NEAREST, RGB, + UNSIGNED_BYTE, UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, + POINTS, + logi32, logf32, +} from '../../webgl' + +const VS_POINT_CODE: string = `#version 300 es + in vec2 position; + + void main() { + gl_Position = vec4(position, 0.0, 1.0); + gl_PointSize = 16.0; + } +`; + +const FS_POINT_CODE: string = `#version 300 es +precision highp float; +out vec4 color; + +void main() { + color = vec4(1.0, 1.0, 1.0, 1.0);; +} +`; + +const VERTEX_SHADER_CODE: string = `#version 300 es + precision highp float; + + in vec2 position; + in vec2 tex_coord; + + out vec2 tc; + + void main() { + gl_Position = vec4(position, 0.0, 1.0); + tc = tex_coord; + } +`; + +const FRAGMENT_SHADER_CODE: string = `#version 300 es + precision highp float; + + in vec2 tc; + + uniform sampler2D sampler; + uniform sampler2D normal_map; + uniform vec3 light_source; + + out vec4 color; + + void main() { + vec3 NormalMap = texture( normal_map, tc ).xyz; + vec3 norm; + norm.xyz = NormalMap.rgb * 2.0 - 1.0; + + vec3 N = normalize(norm); + vec3 L = normalize(light_source); + + float norm_light = clamp(dot( N, L ), 0.5, 2.0); + + color = texture( sampler, tc ); + color.rgb *= norm_light; // / 3.0; + } +`; + +// light source +var light_x: f32 = 0.5; +var light_y: f32 = 0.0; +var light_z: f32 = 0.5; + +// initialize webgl +var gl = createContextFromCanvas('cnvs', 'webgl2'); + + +// ImageData, createImage, imageReady, +var image_id: ImageData = createImage('SpaceShip.png'); +var normal_image_id: ImageData = createImage('SpaceShipN.png'); +var image_ready: bool = false; + +let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); +shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); +compileShader(gl, vertex_shader); + +let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); +shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); +compileShader(gl, fragment_shader); + +let program = createProgram(gl); + +attachShader(gl, program, vertex_shader); +attachShader(gl, program, fragment_shader); + +linkProgram(gl, program); + +useProgram(gl, program); + +let buffer = createBuffer(gl); +bindBuffer(gl, ARRAY_BUFFER, buffer); + +let position_al = getAttribLocation(gl, program, 'position'); +enableVertexAttribArray(gl, position_al); + +let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); +enableVertexAttribArray(gl, tex_coord_al); + +enable(gl, BLEND); +blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); + +let vertex_shader2: WebGLShader = createShader(gl, VERTEX_SHADER); +shaderSource(gl, vertex_shader2, VS_POINT_CODE); +compileShader(gl, vertex_shader2); + +let fragment_shader2: WebGLShader = createShader(gl, FRAGMENT_SHADER); +shaderSource(gl, fragment_shader2, FS_POINT_CODE); +compileShader(gl, fragment_shader2); + +let program2 = createProgram(gl); + +attachShader(gl, program2, vertex_shader2); +attachShader(gl, program2, fragment_shader2); + +linkProgram(gl, program2); + +useProgram(gl, program2); + +let buffer2 = createBuffer(gl); +bindBuffer(gl, ARRAY_BUFFER, buffer2); + +let position2_al = getAttribLocation(gl, program2, 'position'); +enableVertexAttribArray(gl, position2_al); + + +let quad_data: StaticArray = [ + // x y u v + -0.15, -0.15, 0.0, 0.0, + -0.15, 0.15, 0.0, 0.99, + 0.15, -0.15, 0.95, 0.0, + 0.15, 0.15, 0.95, 0.99,]; + +let light_point: StaticArray = [ + 0.0, 0.0, +]; + +let texture = createTexture(gl); +let normal_texture = createTexture(gl); +let sampler = getUniformLocation(gl, program, 'sampler'); +let normal_map = getUniformLocation(gl, program, 'normal_map'); +let light_source = getUniformLocation(gl, program, 'light_source'); + + +function rotateLight(theta: f32): void { //u32 { + let x: f32 = light_x; + let y: f32 = light_y; + + light_x = x * Mathf.cos(theta) - y * Mathf.sin(theta); + light_y = y * Mathf.cos(theta) + x * Mathf.sin(theta); + + light_point[0] = light_x; + light_point[1] = light_y; + return; +} + + +export function displayLoop(delta: i32): void { + let r: f32 = delta / 1000.0; + rotateLight(r); + + clearColor(gl, 0.0, 0.0, 0.0, 1.0); + clear(gl, COLOR_BUFFER_BIT); + + if (image_ready == false) { + if (imageReady(image_id) == false || + imageReady(normal_image_id) == false) { + return; + } + useProgram(gl, program); + + pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); + pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + activeTexture(gl, TEXTURE0); + bindTexture(gl, TEXTURE_2D, texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + + uniform1i(gl, sampler, 0); + + + activeTexture(gl, TEXTURE1); + bindTexture(gl, TEXTURE_2D, normal_texture); + texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); + texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); + texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, normal_image_id); + + uniform1i(gl, normal_map, 1); + image_ready = true; + } + /* + logi32(11111111); + logf32(light_x); + logf32(light_y); + logf32(light_z); + */ + useProgram(gl, program); + + uniform3f(gl, light_source, light_x, light_y, light_z); + bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + + //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes + vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0); + vertexAttribPointer(gl, tex_coord_al, 2, FLOAT, false, 16, 8); + + drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length / 4); + + useProgram(gl, program2); + bufferData(gl, ARRAY_BUFFER, light_point, STATIC_DRAW); + vertexAttribPointer(gl, position2_al, 2, FLOAT, false, 8, 0); + drawArrays(gl, POINTS, 0, 1); + +} \ No newline at end of file diff --git a/src/webgl.ts b/src/webgl.ts index ba77a5c..ef0da24 100644 --- a/src/webgl.ts +++ b/src/webgl.ts @@ -34,6 +34,7 @@ export type WebGLVertexArrayObject = i32; // == debug function not part of WebGL export declare function logi32(arg: i32): void; +export declare function logf32(arg: f32): void; // == Not a part of WebGL, but there must be a way to create and load images // export type ImageData = i32; export declare function createImage(image_location: string): ImageData; From 2cfaf9c62357025dd0c61dd3ddc07a3a802ea444 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Sat, 23 Jan 2021 16:13:42 -0700 Subject: [PATCH 033/111] updated SpriteLighting Readme.md --- src/examples/SpriteLighting/README.md | 115 +------------------------- 1 file changed, 2 insertions(+), 113 deletions(-) diff --git a/src/examples/SpriteLighting/README.md b/src/examples/SpriteLighting/README.md index 9adda2a..174ce43 100644 --- a/src/examples/SpriteLighting/README.md +++ b/src/examples/SpriteLighting/README.md @@ -1,115 +1,4 @@ -# Textured Quad +# Sprite Lighting -Drawing sprites in WebGL is usually done by texturing a quad. In this demo, I draw a sprite using WebGL by texturing a quad (rectangle). - -## The Vertex Shader - -The vertex shader is pretty striaght forward. I'm passing in 2D coordinates so the coordinates must be transformed in a vec4 by adding a z and w value to the end of the position object before passing it on to gl_Position. The UV coordinates are passed on from the vertex shader to the fragment shader without modification. - -Here's the code for the vertex shader: -``` -precision highp float; - -in vec2 position; -in vec2 tex_coord; - -out vec2 tc; - -void main() { - gl_Position = vec4(position, 0.0, 1.0); - tc = tex_coord; -} -``` -## The Fragment Shader - -The fragment shader uses the uv coordinates to get the pixel value from the sampler2D passed in as a uniform. The output color is set to the value retrieved from the sampler with a call to the texture function. - -Here's the fragment shader code: -``` -precision highp float; - -in vec2 position; -in vec2 tex_coord; - -out vec2 tc; - -void main() { - gl_Position = vec4(position, 0.0, 1.0); - tc = tex_coord; -} -``` -## Creating the ImageData object - -When the Wasm module loads, I have to load an image. I do so with the following call: - -``` -var image_id: ImageData = createImage('kaijunicorn.png'); -var image_ready: bool = false; -``` - -The second line creates an image_ready boolean. I'm going to set this flag when the image is ready so I don't need to make a call to the JavaScript from within the display_loop once the image is ready to render. - -## The Quad Data - -I use a StaticArray where I put the quad's x and y data. On each line I put the data for a single vertex, which is four f32 values for the x, y, u and v values. Here's the quad_data: - -``` -let quad_data: StaticArray = [ -// x y u v - -0.15, -0.2, 0.0, 0.0, - -0.15, 0.2, 0.0, 0.99, - 0.15, -0.2, 0.95, 0.0, - 0.15, 0.2, 0.95, 0.99,]; -``` - -## The displayLoop function - -in the displayLoop, I need to check the image_ready flag each time through the loop. If the image is not ready yet, I need to call the imageReady function: - -``` -export function displayLoop(): void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); - - if (image_ready == false) { - if (imageReady(image_id) == false) { - return; - } -``` - -There are several WebGL functions that need to be called to set up WebGL to render texture data. It then sets the image_ready flat to true: - -``` - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); - - uniform1i(gl, sampler, 0); - image_ready = true; - } -``` - -I buffer the quad's vertex data: -``` - bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); -``` - -I bind the array buffer to the vertex attributes for the position and uv data: -``` - // attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0); - vertexAttribPointer(gl, tex_coord_al, 2, FLOAT, false, 16, 8); - -``` - - -Finally I draw the arrays: -``` - drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length / 4); - -``` +This is an example of simple 2D sprite lighting. There are two shaders, because I wanted to render the location of the light source as a point. From 910a2496dd350d05bd93c6dc27608a9f2a72f529 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Mon, 25 Jan 2021 21:16:16 -0700 Subject: [PATCH 034/111] Added a WebGL class and rebuilt examples to use it --- package.json | 4 +- scripts/build.js | 28 +- src/ASWebGLue.js | 1108 +++---- .../AnimationTexture/texture_animation.ts | 101 +- src/examples/ColorTriangle/color_triangle.ts | 61 +- .../color_triangle_rotate.ts | 60 +- src/examples/Cube/cube.ts | 62 +- src/examples/HelloWorldTriangle/triangle.ts | 78 +- src/examples/Lines/render_lines.ts | 133 +- src/examples/Material/obj_mat.ts | 68 +- src/examples/MousePoint/mouse_point.ts | 66 +- src/examples/NormalModel/obj_norm.ts | 194 +- src/examples/Obj/obj.ts | 110 +- src/examples/Quad/quad.ts | 58 +- .../QuadFollowMouse/quad_follow_mouse.ts | 90 +- .../SimpleLighting/simple_lighting.ts | 63 +- .../SpriteLighting/sprite_lighting.ts | 171 +- src/examples/TextureModel/obj_tex.ts | 179 +- src/examples/TextureQuad/texture_quad.ts | 96 +- src/examples/WarpSpeed/warp_speed.ts | 57 +- src/webgl.ts | 2679 +++++++++++++++-- 21 files changed, 3710 insertions(+), 1756 deletions(-) diff --git a/package.json b/package.json index 7543a3b..c6f89e3 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "asc": "asc --runtime stub --importMemory", "clean": "rimraf build && rimraf dist", "prebuild": "npm run clean", - "build": "node scripts/build.js", + "build": "node ./scripts/build.js", "start": "live-server --verbose --watch=build ./build" }, "devDependencies": { @@ -32,4 +32,4 @@ "author": "Rick Battagline ", "license": "MIT", "dependencies": {} -} +} \ No newline at end of file diff --git a/scripts/build.js b/scripts/build.js index 19d269b..11caae3 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -4,17 +4,20 @@ const path = require('path'); const min = require('node-minify'); const imagemin = require('imagemin'); const imageminPngQuant = require('imagemin-pngquant'); -const ASWebGLueWasm = './src/webgl.ts'; -const ASWebGLueWasmOut = './dist/webgl.wasm'; +const { exit } = require("process"); +/* +const ASWebGLueWasm = './src/WebGL.ts'; +const ASWebGLueWasmOut = './dist/WebGL.wasm'; +*/ const distDir = './dist'; if (!fs.existsSync(distDir)) { fs.mkdirSync(distDir, 0744); } - +/* let ascRun = `asc ${ASWebGLueWasm} --runtime stub -O3 --importMemory -o ${ASWebGLueWasmOut}`; exec(ascRun); - +*/ fs.copyFile('./src/ASWebGLue.js', './dist/ASWebGLue.js', (err) => { console.log(err); if (err) throw err; @@ -28,14 +31,25 @@ fs.readdir(exampleDirectory, (err, files) => { files.forEach(file => { if (fs.lstatSync(path.resolve(exampleDirectory, file)).isDirectory()) { let subDir = file; - fs.readdir(exampleDirectory + file, (err, exampleFiles) => { + fs.readdir(exampleDirectory + file, async (err, exampleFiles) => { exampleFiles.forEach(exampleFile => { if (exampleFile.indexOf('.ts') >= 0) { let fi = `${exampleDirectory}${subDir}/${exampleFile}`; let fo = `${distDirectory}${subDir}/${exampleFile.replace('.ts', '.wasm')}`; let ascRun = `asc ${fi} --runtime stub -O3 --importMemory -o ${fo}`; - - exec(ascRun); + console.log(ascRun); + exec(ascRun); /*, function (err, stdout, stderr) { + if (err !== null) { + console.log(err); + exit(0); + } + if (stderr !== null) { + console.log(stderr); + exit(0); + } + console.log('exec runs'); + console.log(stdout); + });*/ } else if (exampleFile.indexOf('.html') >= 0) { min.minify({ diff --git a/src/ASWebGLue.js b/src/ASWebGLue.js index 28c9406..5435e51 100644 --- a/src/ASWebGLue.js +++ b/src/ASWebGLue.js @@ -11,8 +11,8 @@ export function ASWebGLReady(wasm_obj, importObject) { console.error("ASWebGLReady requires import object as 2nd parameter"); return; } - importObject.webgl.WEBGL_READY = true; - importObject.webgl.RTTI_BASE = wasm_obj.instance.exports["__rtti_base"]; + importObject.WebGL.WEBGL_READY = true; + importObject.WebGL.RTTI_BASE = wasm_obj.instance.exports["__rtti_base"]; } export function initASWebGLue(importObject) { @@ -20,129 +20,129 @@ export function initASWebGLue(importObject) { alert('You need to set memory in your importObject'); } - if (importObject.webgl == null) { - importObject.webgl = {}; + if (importObject.WebGL == null) { + importObject.WebGL = {}; } - const webgl = importObject.webgl; + const WebGL = importObject.WebGL; importObject.env.abort = (...args) => { console.log("abort"); - console.log(webgl.getString(args[0])); + console.log(WebGL.getString(args[0])); } - importObject.webgl.WEBGL_READY = false; - importObject.webgl.memory = importObject.env.memory; + importObject.WebGL.WEBGL_READY = false; + importObject.WebGL.memory = importObject.env.memory; - importObject.webgl.contextArray = []; - importObject.webgl.textureArray = []; - importObject.webgl.imageArray = []; - importObject.webgl.programArray = []; - importObject.webgl.shaderArray = []; - importObject.webgl.bufferArray = []; - importObject.webgl.frameBufferArray = []; - importObject.webgl.renderBufferArray = []; - importObject.webgl.uniformLocationArray = []; + importObject.WebGL.contextArray = []; + importObject.WebGL.textureArray = []; + importObject.WebGL.imageArray = []; + importObject.WebGL.programArray = []; + importObject.WebGL.shaderArray = []; + importObject.WebGL.bufferArray = []; + importObject.WebGL.frameBufferArray = []; + importObject.WebGL.renderBufferArray = []; + importObject.WebGL.uniformLocationArray = []; - importObject.webgl.SIZE_OFFSET = -4; - importObject.webgl.ID_OFFSET = -8; - importObject.webgl.CHUNKSIZE = 1024; - importObject.webgl.STRING_ID = 1; - importObject.webgl.RTTI_BASE = 0; - importObject.webgl.VAL_ALIGN_OFFSET = 6; + importObject.WebGL.SIZE_OFFSET = -4; + importObject.WebGL.ID_OFFSET = -8; + importObject.WebGL.CHUNKSIZE = 1024; + importObject.WebGL.STRING_ID = 1; + importObject.WebGL.RTTI_BASE = 0; + importObject.WebGL.VAL_ALIGN_OFFSET = 6; importObject.ARRAYBUFFERVIEW_DATASTART_OFFSET = 4; importObject.ARRAY_LENGTH_OFFSET = 12; /** No specific flags. */ - importObject.webgl.NONE = 0x00; + importObject.WebGL.NONE = 0x00; /** Type is an `ArrayBufferView`. */ - importObject.webgl.ARRAYBUFFERVIEW = 0x01; + importObject.WebGL.ARRAYBUFFERVIEW = 0x01; /** Type is an `Array`. */ - importObject.webgl.ARRAY = 0x0002; + importObject.WebGL.ARRAY = 0x0002; /** Type is a `StaticArray`. */ - importObject.webgl.STATICARRAY = 0x0004; + importObject.WebGL.STATICARRAY = 0x0004; /** Type is a `Set`. */ - importObject.webgl.SET = 0x000008; + importObject.WebGL.SET = 0x000008; /** Type is a `Map`. */ - importObject.webgl.MAP = 0x000010; + importObject.WebGL.MAP = 0x000010; /** Type is inherently acyclic. */ - importObject.webgl.ACYCLIC = 0x000020; + importObject.WebGL.ACYCLIC = 0x000020; /** Value alignment of 1 byte. */ - importObject.webgl.VALUE_ALIGN_0 = 0x000040; + importObject.WebGL.VALUE_ALIGN_0 = 0x000040; /** Value alignment of 2 bytes. */ - importObject.webgl.VALUE_ALIGN_1 = 0x000080; + importObject.WebGL.VALUE_ALIGN_1 = 0x000080; /** Value alignment of 4 bytes. */ - importObject.webgl.VALUE_ALIGN_2 = 0x000100; + importObject.WebGL.VALUE_ALIGN_2 = 0x000100; /** Value alignment of 8 bytes. */ - importObject.webgl.VALUE_ALIGN_3 = 0x000200; + importObject.WebGL.VALUE_ALIGN_3 = 0x000200; /** Value alignment of 16 bytes. */ - importObject.webgl.VALUE_ALIGN_4 = 0x000400; + importObject.WebGL.VALUE_ALIGN_4 = 0x000400; /** Value is a signed type. */ - importObject.webgl.VALUE_SIGNED = 0x000800; + importObject.WebGL.VALUE_SIGNED = 0x000800; /** Value is a float type. */ - importObject.webgl.VALUE_FLOAT = 0x001000; + importObject.WebGL.VALUE_FLOAT = 0x001000; /** Value type is nullable. */ - importObject.webgl.VALUE_NULLABLE = 0x002000; + importObject.WebGL.VALUE_NULLABLE = 0x002000; /** Value type is managed. */ - importObject.webgl.VALUE_MANAGED = 0x004000; + importObject.WebGL.VALUE_MANAGED = 0x004000; /** Key alignment of 1 byte. */ - importObject.webgl.KEY_ALIGN_0 = 0x008000; + importObject.WebGL.KEY_ALIGN_0 = 0x008000; /** Key alignment of 2 bytes. */ - importObject.webgl.KEY_ALIGN_1 = 0x010000; + importObject.WebGL.KEY_ALIGN_1 = 0x010000; /** Key alignment of 4 bytes. */ - importObject.webgl.KEY_ALIGN_2 = 0x020000; + importObject.WebGL.KEY_ALIGN_2 = 0x020000; /** Key alignment of 8 bytes. */ - importObject.webgl.KEY_ALIGN_3 = 0x040000; + importObject.WebGL.KEY_ALIGN_3 = 0x040000; /** Key alignment of 16 bytes. */ - importObject.webgl.KEY_ALIGN_4 = 0x080000; + importObject.WebGL.KEY_ALIGN_4 = 0x080000; /** Key is a signed type. */ - importObject.webgl.KEY_SIGNED = 0x100000; + importObject.WebGL.KEY_SIGNED = 0x100000; /** Key is a float type. */ - importObject.webgl.KEY_FLOAT = 0x200000; + importObject.WebGL.KEY_FLOAT = 0x200000; /** Key type is nullable. */ - importObject.webgl.KEY_NULLABLE = 0x400000; + importObject.WebGL.KEY_NULLABLE = 0x400000; /** Key type is managed. */ - importObject.webgl.KEY_MANAGED = 0x800000; + importObject.WebGL.KEY_MANAGED = 0x800000; //imageArray - importObject.webgl.createImage = (image_location) => { + importObject.WebGL.createImage = (image_location) => { console.log(`createImage(${image_location})`); let image = new Image(); image.ready = false; image.onload = function () { image.ready = true; } - image.src = webgl.getString(image_location); + image.src = WebGL.getString(image_location); console.log(`image.src=${image.src}`); - let image_id = webgl.imageArray.length; - webgl.imageArray.push(image); + let image_id = WebGL.imageArray.length; + WebGL.imageArray.push(image); return image_id; } // DEBUG STUFF ----------- - importObject.webgl.logi32 = (arg) => { + importObject.WebGL.logi32 = (arg) => { console.log(`logi32=${arg}`); } - importObject.webgl.logf32 = (arg) => { + importObject.WebGL.logf32 = (arg) => { console.log(`logf32=${arg}`); } // END DEBUG STUFF -------- - importObject.webgl.imageReady = (image_id) => { + importObject.WebGL.imageReady = (image_id) => { console.log("image ready check! image_id=" + image_id); - if (webgl.imageArray.length <= image_id) { + if (WebGL.imageArray.length <= image_id) { return false; } - return webgl.imageArray[image_id].ready; + return WebGL.imageArray[image_id].ready; } - importObject.webgl.getView = (alignLog2, signed, float) => { - const buffer = webgl.memory.buffer; + importObject.WebGL.getView = (alignLog2, signed, float) => { + const buffer = WebGL.memory.buffer; if (float) { switch (alignLog2) { @@ -160,40 +160,40 @@ export function initASWebGLue(importObject) { throw Error("unsupported align: " + alignLog2); } - importObject.webgl.getArrayInfo = (id) => { - const info = webgl.getInfo(id); + importObject.WebGL.getArrayInfo = (id) => { + const info = WebGL.getInfo(id); if (!(info & (ARRAYBUFFERVIEW | ARRAY | STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); return info; } - importObject.webgl.getValueAlign = (info) => { + importObject.WebGL.getValueAlign = (info) => { return 31 - Math.clz32((info >>> VAL_ALIGN_OFFSET) & 31); // -1 if none } - importObject.webgl.getArrayView = (arr_ptr) => { - const U32 = new Uint32Array(webgl.memory.buffer); - const id = U32[arr_ptr + webgl.ID_OFFSET >>> 2]; + importObject.WebGL.getArrayView = (arr_ptr) => { + const U32 = new Uint32Array(WebGL.memory.buffer); + const id = U32[arr_ptr + WebGL.ID_OFFSET >>> 2]; - const count = U32[webgl.RTTI_BASE >>> 2]; + const count = U32[WebGL.RTTI_BASE >>> 2]; if (id >= count) throw Error(`invalid id: ${id}`); - const info = U32[(webgl.RTTI_BASE + 4 >>> 2) + id * 2]; + const info = U32[(WebGL.RTTI_BASE + 4 >>> 2) + id * 2]; - if (!(info & (webgl.ARRAYBUFFERVIEW | webgl.ARRAY | webgl.STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); - const align = 31 - Math.clz32((info >>> webgl.VAL_ALIGN_OFFSET) & 31); // -1 if none getValueAlign(info) - let buf = info & webgl.STATICARRAY + if (!(info & (WebGL.ARRAYBUFFERVIEW | WebGL.ARRAY | WebGL.STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + const align = 31 - Math.clz32((info >>> WebGL.VAL_ALIGN_OFFSET) & 31); // -1 if none getValueAlign(info) + let buf = info & WebGL.STATICARRAY ? arr_ptr - : U32[arr_ptr + webgl.ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; - const length = info & webgl.ARRAY - ? U32[arr_ptr + webgl.ARRAY_LENGTH_OFFSET >>> 2] - : U32[buf + webgl.SIZE_OFFSET >>> 2] >>> align; - return webgl.getView(align, info & webgl.VAL_SIGNED, info & webgl.VAL_FLOAT) + : U32[arr_ptr + WebGL.ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; + const length = info & WebGL.ARRAY + ? U32[arr_ptr + WebGL.ARRAY_LENGTH_OFFSET >>> 2] + : U32[buf + WebGL.SIZE_OFFSET >>> 2] >>> align; + return WebGL.getView(align, info & WebGL.VAL_SIGNED, info & WebGL.VAL_FLOAT) .subarray(buf >>>= align, buf + length); } - importObject.webgl.getString = (string_index) => { - const buffer = webgl.memory.buffer; + importObject.WebGL.getString = (string_index) => { + const buffer = WebGL.memory.buffer; const U32 = new Uint32Array(buffer); const id_addr = string_index / 4 - 2; const id = U32[id_addr]; @@ -203,18 +203,18 @@ export function initASWebGLue(importObject) { return str; } - importObject.webgl.createContextFromCanvas = (canvas_id, context_type) => { + importObject.WebGL.createContextFromCanvas = (canvas_id, context_type) => { try { - const canvas = document.getElementById(webgl.getString(canvas_id)); - const gl = canvas.getContext(webgl.getString(context_type)); - let id = webgl.contextArray.findIndex((element) => element == null); + const canvas = document.getElementById(WebGL.getString(canvas_id)); + const gl = canvas.getContext(WebGL.getString(context_type)); + let id = WebGL.contextArray.findIndex((element) => element == null); if (id == -1) { - id = webgl.contextArray.length; - webgl.contextArray.push(gl); + id = WebGL.contextArray.length; + WebGL.contextArray.push(gl); } else { - webgl.contextArray[id] = gl; + WebGL.contextArray[id] = gl; } return id; } catch (err) { @@ -223,126 +223,126 @@ export function initASWebGLue(importObject) { } // end catch } /* - importObject.webgl.activateTexture = (ctx, texture) => { - webgl.contextArray[ctx].activateTexture(webgl.textureArray[texture]); + importObject.WebGL.activateTexture = (ctx, texture) => { + WebGL.contextArray[ctx].activateTexture(WebGL.textureArray[texture]); } */ - importObject.webgl.getSupportedExtensions = (ctx) => { + importObject.WebGL.getSupportedExtensions = (ctx) => { alert('getSupportedExtensions is not currently supported'); } - importObject.webgl.getExtension = (ctx, name_string) => { + importObject.WebGL.getExtension = (ctx, name_string) => { try { - webgl.contextArray[ctx].getExtension(webgl.getString(name)); + WebGL.contextArray[ctx].getExtension(WebGL.getString(name)); } catch (err) { console.log("getExtension error"); console.error(err); } // end catch } - importObject.webgl.activeTexture = (ctx, texture) => { + importObject.WebGL.activeTexture = (ctx, texture) => { try { - webgl.contextArray[ctx].activeTexture(texture); + WebGL.contextArray[ctx].activeTexture(texture); } catch (err) { console.log("activeTexture error"); console.error(err); } // end catch } - importObject.webgl.attachShader = (ctx, program, shader) => { + importObject.WebGL.attachShader = (ctx, program, shader) => { try { - webgl.contextArray[ctx].attachShader(webgl.programArray[program], webgl.shaderArray[shader]); + WebGL.contextArray[ctx].attachShader(WebGL.programArray[program], WebGL.shaderArray[shader]); } catch (err) { console.log("attachShader error"); console.error(err); } // end catch } - importObject.webgl.bindAttribLocation = (ctx, program, index, name) => { + importObject.WebGL.bindAttribLocation = (ctx, program, index, name) => { try { - webgl.contextArray[ctx].bindAttribLocation(webgl.programArray[program], index, webgl.getString(name)); + WebGL.contextArray[ctx].bindAttribLocation(WebGL.programArray[program], index, WebGL.getString(name)); } catch (err) { console.log("bindAttribLocation error"); console.error(err); } // end catch } - importObject.webgl.bindBuffer = (ctx, target, buffer) => { + importObject.WebGL.bindBuffer = (ctx, target, buffer) => { try { - webgl.contextArray[ctx].bindBuffer(target, webgl.bufferArray[buffer]); + WebGL.contextArray[ctx].bindBuffer(target, WebGL.bufferArray[buffer]); } catch (err) { console.log("bindBuffer error"); console.error(err); } // end catch } - importObject.webgl.bindFramebuffer = (ctx, target, framebuffer) => { + importObject.WebGL.bindFramebuffer = (ctx, target, framebuffer) => { try { - webgl.contextArray[ctx].bindFramebuffer(target, webgl.framebufferArray[framebuffer]); + WebGL.contextArray[ctx].bindFramebuffer(target, WebGL.framebufferArray[framebuffer]); } catch (err) { console.log("bindFramebuffer error"); console.error(err); } // end catch } - importObject.webgl.bindRenderbuffer = (ctx, target, renderbuffer) => { + importObject.WebGL.bindRenderbuffer = (ctx, target, renderbuffer) => { try { - webgl.contextArray[ctx].bindRenderbuffer(target, webgl.renderbufferArray[renderbuffer]); + WebGL.contextArray[ctx].bindRenderbuffer(target, WebGL.renderbufferArray[renderbuffer]); } catch (err) { console.log("renderbufferArray error"); console.error(err); } // end catch } - importObject.webgl.bindTexture = (ctx, target, texture) => { + importObject.WebGL.bindTexture = (ctx, target, texture) => { try { - webgl.contextArray[ctx].bindTexture(target, webgl.textureArray[texture]); + WebGL.contextArray[ctx].bindTexture(target, WebGL.textureArray[texture]); } catch (err) { console.log("bindTexture error"); console.error(err); } // end catch } - importObject.webgl.blendColor = (ctx, r, g, b, a) => { + importObject.WebGL.blendColor = (ctx, r, g, b, a) => { try { - webgl.contextArray[ctx].blendColor(r, g, b, a); + WebGL.contextArray[ctx].blendColor(r, g, b, a); } catch (err) { console.log("blendColor error"); console.error(err); } // end catch } - importObject.webgl.blendEquation = (ctx, mode) => { + importObject.WebGL.blendEquation = (ctx, mode) => { try { - webgl.contextArray[ctx].blendEquation(mode); + WebGL.contextArray[ctx].blendEquation(mode); } catch (err) { console.log("blendEquation error"); console.error(err); } // end catch } - importObject.webgl.blendEquationSeparate = (ctx, modeRGB, modeAlpha) => { + importObject.WebGL.blendEquationSeparate = (ctx, modeRGB, modeAlpha) => { try { - webgl.contextArray[ctx].blendEquationSeparate(modeRGB, modeAlpha); + WebGL.contextArray[ctx].blendEquationSeparate(modeRGB, modeAlpha); } catch (err) { console.log("blendEquationSeparate error"); console.error(err); } // end catch } - importObject.webgl.blendFunc = (ctx, sfactor, dfactor) => { + importObject.WebGL.blendFunc = (ctx, sfactor, dfactor) => { try { - webgl.contextArray[ctx].blendFunc(sfactor, dfactor); + WebGL.contextArray[ctx].blendFunc(sfactor, dfactor); } catch (err) { console.log("blendFunc error"); console.error(err); } // end catch } - importObject.webgl.blendFuncSeparate = (ctx, srcRGB, dstRGB, srcAlpha, dstAlpha) => { + importObject.WebGL.blendFuncSeparate = (ctx, srcRGB, dstRGB, srcAlpha, dstAlpha) => { try { - webgl.contextArray[ctx].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); + WebGL.contextArray[ctx].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); } catch (err) { console.log("blendFuncSeparate error"); console.error(err); @@ -351,31 +351,31 @@ export function initASWebGLue(importObject) { const bufferdata = (ctx, target, data, usage) => { try { - webgl.contextArray[ctx].bufferData(target, webgl.getArrayView(data), usage); + WebGL.contextArray[ctx].bufferData(target, WebGL.getArrayView(data), usage); } catch (err) { console.log("bufferData error"); - console.log(webgl.getArrayView(data)); + console.log(WebGL.getArrayView(data)); console.error(err); } // end catch } - importObject.webgl["bufferData"] = bufferdata; - importObject.webgl["bufferData"] = bufferdata; - importObject.webgl["bufferData"] = bufferdata; + importObject.WebGL["bufferData"] = bufferdata; + importObject.WebGL["bufferData"] = bufferdata; + importObject.WebGL["bufferData"] = bufferdata; // LAST TWO PARAMETERS ARE IN WEBGL 2.0 - importObject.webgl.bufferSubData = (target, dstByteOffset, srcData, srcOffset, length) => { + importObject.WebGL.bufferSubData = (target, dstByteOffset, srcData, srcOffset, length) => { try { - webgl.contextArray[ctx].bufferSubData(target, dstByteOffset, webgl.getArrayView(srcData), srcOffset, length); + WebGL.contextArray[ctx].bufferSubData(target, dstByteOffset, WebGL.getArrayView(srcData), srcOffset, length); } catch (err) { console.log("bufferSubData error"); console.error(err); } // end catch } - importObject.webgl.checkFramebufferStatus = (ctx, target) => { + importObject.WebGL.checkFramebufferStatus = (ctx, target) => { try { - return webgl.contextArray[ctx].checkFramebufferStatus(target); + return WebGL.contextArray[ctx].checkFramebufferStatus(target); } catch (err) { console.log("checkFramebufferStatus error"); console.error(err); @@ -383,9 +383,9 @@ export function initASWebGLue(importObject) { } // Clears the color, depth and stencil buffers - importObject.webgl.clear = (ctx, mask) => { + importObject.WebGL.clear = (ctx, mask) => { try { - webgl.contextArray[ctx].clear(mask); + WebGL.contextArray[ctx].clear(mask); } catch (err) { console.log("clear error"); console.error(err); @@ -393,9 +393,9 @@ export function initASWebGLue(importObject) { } // Specify the color fill a cleared color buffer with - importObject.webgl.clearColor = (ctx, r, g, b, a) => { + importObject.WebGL.clearColor = (ctx, r, g, b, a) => { try { - webgl.contextArray[ctx].clearColor(r, g, b, a); + WebGL.contextArray[ctx].clearColor(r, g, b, a); } catch (err) { console.log("clearColor error"); console.error(err); @@ -403,9 +403,9 @@ export function initASWebGLue(importObject) { } // Specifies a depth value to fill the depth buffer when it is cleared - importObject.webgl.clearDepth = (ctx, depth) => { + importObject.WebGL.clearDepth = (ctx, depth) => { try { - webgl.contextArray[ctx].clearDepth(depth); + WebGL.contextArray[ctx].clearDepth(depth); } catch (err) { console.log("clearDepth error"); console.error(err); @@ -413,9 +413,9 @@ export function initASWebGLue(importObject) { } // Specifies a clear value for the stencil buffer - importObject.webgl.clearStencil = (ctx, s) => { + importObject.WebGL.clearStencil = (ctx, s) => { try { - webgl.contextArray[ctx].clearStencil(s); + WebGL.contextArray[ctx].clearStencil(s); } catch (err) { console.log("clearStencil error"); console.error(err); @@ -423,9 +423,9 @@ export function initASWebGLue(importObject) { } // Allows you to turn on and off colors when writing to a framebuffer - importObject.webgl.colorMask = (ctx, r, g, b, a) => { + importObject.WebGL.colorMask = (ctx, r, g, b, a) => { try { - webgl.contextArray[ctx].colorMask(r, g, b, a); + WebGL.contextArray[ctx].colorMask(r, g, b, a); } catch (err) { console.log("colorMask error"); console.error(err); @@ -433,10 +433,10 @@ export function initASWebGLue(importObject) { } // Compiles a GLSL shader to be used by a WebGL program. - importObject.webgl.compileShader = (ctx, shader) => { + importObject.WebGL.compileShader = (ctx, shader) => { try { - webgl.contextArray[ctx].compileShader(webgl.shaderArray[shader]); - var compilationLog = webgl.contextArray[ctx].getShaderInfoLog(webgl.shaderArray[shader]); + WebGL.contextArray[ctx].compileShader(WebGL.shaderArray[shader]); + var compilationLog = WebGL.contextArray[ctx].getShaderInfoLog(WebGL.shaderArray[shader]); console.log(compilationLog); } catch (err) { console.log("compileShader error"); @@ -447,11 +447,11 @@ export function initASWebGLue(importObject) { // NOTE: Requires extensions // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions // Secifies a 2D texture image in a compressed format - importObject.webgl.compressedTexImage2D = (ctx, target, level, internalformat, width, height, border, data) => { + importObject.WebGL.compressedTexImage2D = (ctx, target, level, internalformat, width, height, border, data) => { try { // THIS DOES NOT LOOK RIGHT TO ME - webgl.contextArray[ctx].compileShader(target, level, internalformat, - width, height, border, webgl.getArrayView(data)); + WebGL.contextArray[ctx].compileShader(target, level, internalformat, + width, height, border, WebGL.getArrayView(data)); } catch (err) { console.log("compressedTexImage2D error"); console.error(err); @@ -461,10 +461,10 @@ export function initASWebGLue(importObject) { // NOTE: Requires extensions // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions // Specifies a 2D sub-image rectangle for a compressed format texture image. - importObject.webgl.compressedTexSubImage2D = (ctx, target, level, xoffset, yoffset, width, height, format, data) => { + importObject.WebGL.compressedTexSubImage2D = (ctx, target, level, xoffset, yoffset, width, height, format, data) => { try { - webgl.contextArray[ctx].compressedTexSubImage2D(target, xoffset, yoffset, width, height, format, - webgl.getArrayView(data)); + WebGL.contextArray[ctx].compressedTexSubImage2D(target, xoffset, yoffset, width, height, format, + WebGL.getArrayView(data)); } catch (err) { console.log("compressedTexSubImage2D error"); console.error(err); @@ -472,9 +472,9 @@ export function initASWebGLue(importObject) { } // Copies pixels from the current WebGLFramebuffer into a 2D texture image - importObject.webgl.copyTexImage2D = (ctx, target, level, internalformat, x, y, width, height, border) => { + importObject.WebGL.copyTexImage2D = (ctx, target, level, internalformat, x, y, width, height, border) => { try { - webgl.contextArray[ctx].copyTexImage2D(target, level, internalformat, x, y, width, height, border); + WebGL.contextArray[ctx].copyTexImage2D(target, level, internalformat, x, y, width, height, border); } catch (err) { console.log("copyTexImage2D error"); console.error(err); @@ -482,9 +482,9 @@ export function initASWebGLue(importObject) { } // Copies pixels from the current WebGLFramebuffer into an existing 2D texture sub-image - importObject.webgl.copyTexSubImage2D = (ctx, target, level, xoffset, yoffset, x, y, width, height) => { + importObject.WebGL.copyTexSubImage2D = (ctx, target, level, xoffset, yoffset, x, y, width, height) => { try { - webgl.contextArray[ctx].copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + WebGL.contextArray[ctx].copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } catch (err) { console.log("copyTexSubImage2D error"); console.error(err); @@ -492,17 +492,17 @@ export function initASWebGLue(importObject) { } // Creates a buffer to hold vertex related data - importObject.webgl.createBuffer = (ctx) => { + importObject.WebGL.createBuffer = (ctx) => { try { - let id = webgl.bufferArray.findIndex((element) => element == null); - let buffer = webgl.contextArray[ctx].createBuffer(); + let id = WebGL.bufferArray.findIndex((element) => element == null); + let buffer = WebGL.contextArray[ctx].createBuffer(); if (id == -1) { - id = webgl.bufferArray.length; - webgl.bufferArray.push(buffer); + id = WebGL.bufferArray.length; + WebGL.bufferArray.push(buffer); } else { - webgl.bufferArray[id] = buffer; + WebGL.bufferArray[id] = buffer; } return id; } catch (err) { @@ -512,22 +512,22 @@ export function initASWebGLue(importObject) { } // Creates a frame buffer object to be used as a rendering destination - importObject.webgl.createFramebuffer = (ctx) => { + importObject.WebGL.createFramebuffer = (ctx) => { alert(arguments.callee.toString()); } // Creates a WebGL program that consists of a vertex and fragment shader - importObject.webgl.createProgram = (ctx) => { + importObject.WebGL.createProgram = (ctx) => { try { - let id = webgl.programArray.findIndex((element) => element == null); - let program = webgl.contextArray[ctx].createProgram(); + let id = WebGL.programArray.findIndex((element) => element == null); + let program = WebGL.contextArray[ctx].createProgram(); if (id == -1) { - id = webgl.programArray.length; - webgl.programArray.push(program); + id = WebGL.programArray.length; + WebGL.programArray.push(program); } else { - webgl.programArray[id] = program; + WebGL.programArray[id] = program; } return id; } catch (err) { @@ -537,17 +537,17 @@ export function initASWebGLue(importObject) { } // Creates a render buffer object that can be used as a source or target for rendering - importObject.webgl.createRenderbuffer = (ctx) => { + importObject.WebGL.createRenderbuffer = (ctx) => { try { - let id = webgl.renderBufferArray.findIndex((element) => element == null); - let renderbuffer = webgl.contextArray[ctx].createRenderbuffer(); + let id = WebGL.renderBufferArray.findIndex((element) => element == null); + let renderbuffer = WebGL.contextArray[ctx].createRenderbuffer(); if (id == -1) { - id = webgl.renderBufferArray.length; - webgl.renderBufferArray.push(renderbuffer); + id = WebGL.renderBufferArray.length; + WebGL.renderBufferArray.push(renderbuffer); } else { - webgl.renderBufferArray[id] = renderbuffer; + WebGL.renderBufferArray[id] = renderbuffer; } return id; } catch (err) { @@ -557,17 +557,17 @@ export function initASWebGLue(importObject) { } // Creates a vertex or fragment shader object to be used when compiling a WebGL program - importObject.webgl.createShader = (ctx, type) => { + importObject.WebGL.createShader = (ctx, type) => { try { - let id = webgl.shaderArray.findIndex((element) => element == null); - let shader = webgl.contextArray[ctx].createShader(type); + let id = WebGL.shaderArray.findIndex((element) => element == null); + let shader = WebGL.contextArray[ctx].createShader(type); if (id == -1) { - id = webgl.shaderArray.length; - webgl.shaderArray.push(shader); + id = WebGL.shaderArray.length; + WebGL.shaderArray.push(shader); } else { - webgl.shaderArray[id] = shader; + WebGL.shaderArray[id] = shader; } return id; } catch (err) { @@ -577,17 +577,17 @@ export function initASWebGLue(importObject) { } // Creates a texture object - importObject.webgl.createTexture = (ctx) => { + importObject.WebGL.createTexture = (ctx) => { try { - let id = webgl.textureArray.findIndex((element) => element == null); - let texture = webgl.contextArray[ctx].createTexture(); + let id = WebGL.textureArray.findIndex((element) => element == null); + let texture = WebGL.contextArray[ctx].createTexture(); if (id == -1) { - id = webgl.textureArray.length; - webgl.textureArray.push(texture); + id = WebGL.textureArray.length; + WebGL.textureArray.push(texture); } else { - webgl.textureArray[id] = texture; + WebGL.textureArray[id] = texture; } console.log('createTexture id=' + id); return id; @@ -598,9 +598,9 @@ export function initASWebGLue(importObject) { } // Sets the culling mode - importObject.webgl.cullFace = (ctx, mode) => { + importObject.WebGL.cullFace = (ctx, mode) => { try { - webgl.contextArray[ctx].cullFace(target, mode); + WebGL.contextArray[ctx].cullFace(target, mode); } catch (err) { console.log("cullFace error"); console.error(err); @@ -608,9 +608,9 @@ export function initASWebGLue(importObject) { } // delete the buffer object - importObject.webgl.deleteBuffer = (ctx, buffer) => { + importObject.WebGL.deleteBuffer = (ctx, buffer) => { try { - webgl.contextArray[ctx].deleteBuffer(this.bufferArray[buffer]); + WebGL.contextArray[ctx].deleteBuffer(this.bufferArray[buffer]); this.bufferArray[buffer] = null; } catch (err) { console.log("deleteBuffer error"); @@ -619,9 +619,9 @@ export function initASWebGLue(importObject) { } // delete the frame buffer object - importObject.webgl.deleteFramebuffer = (ctx, frame_buffer) => { + importObject.WebGL.deleteFramebuffer = (ctx, frame_buffer) => { try { - webgl.contextArray[ctx].deleteFramebuffer(this.framebufferArray[frame_buffer]); + WebGL.contextArray[ctx].deleteFramebuffer(this.framebufferArray[frame_buffer]); this.framebufferArray[frame_buffer] = null; } catch (err) { console.log("deleteFramebuffer error"); @@ -630,9 +630,9 @@ export function initASWebGLue(importObject) { } // delete the render buffer object - importObject.webgl.deleteRenderbuffer = (ctx, render_buffer) => { + importObject.WebGL.deleteRenderbuffer = (ctx, render_buffer) => { try { - webgl.contextArray[ctx].deleteRenderbuffer(this.renderBufferArray[render_buffer]); + WebGL.contextArray[ctx].deleteRenderbuffer(this.renderBufferArray[render_buffer]); this.renderBufferArray[render_buffer] = null; } catch (err) { console.log("deleteRenderbuffer error"); @@ -641,9 +641,9 @@ export function initASWebGLue(importObject) { } // delete the program object - importObject.webgl.deleteProgram = (ctx, program) => { + importObject.WebGL.deleteProgram = (ctx, program) => { try { - webgl.contextArray[ctx].deleteProgram(this.programArray[program]); + WebGL.contextArray[ctx].deleteProgram(this.programArray[program]); this.program[program] = null; } catch (err) { console.log("deleteProgram error"); @@ -652,9 +652,9 @@ export function initASWebGLue(importObject) { } // delete the shader object - importObject.webgl.deleteShader = (ctx, shader) => { + importObject.WebGL.deleteShader = (ctx, shader) => { try { - webgl.contextArray[ctx].deleteShader(this.shaderArray[shader]); + WebGL.contextArray[ctx].deleteShader(this.shaderArray[shader]); this.shaderArray[shader] = null; } catch (err) { console.log("deleteShader error"); @@ -662,9 +662,9 @@ export function initASWebGLue(importObject) { } // end catch } - importObject.webgl.deleteTexture = (ctx, texture) => { + importObject.WebGL.deleteTexture = (ctx, texture) => { try { - webgl.contextArray[ctx].deleteShader(this.textureArray[texture]); + WebGL.contextArray[ctx].deleteShader(this.textureArray[texture]); this.textureArray[texture] = null; } catch (err) { console.log("deleteTexture error"); @@ -676,9 +676,9 @@ export function initASWebGLue(importObject) { // This sets the function that tests the incoming pixel depth against a pixel already in the buffer. // The default value is LESS, meaning that if an incoming pixel depth is less than existing pixel depth // (the new pixel is closer) then the new pixel is drawn. - importObject.webgl.depthFunc = (ctx, func) => { // func is a depth function enumeration + importObject.WebGL.depthFunc = (ctx, func) => { // func is a depth function enumeration try { - webgl.contextArray[ctx].depthFunc(func); + WebGL.contextArray[ctx].depthFunc(func); } catch (err) { console.log("depthFunc error"); console.error(err); @@ -686,9 +686,9 @@ export function initASWebGLue(importObject) { } // enable or disable writing to the depth buffer - importObject.webgl.depthMask = (ctx, flag) => { + importObject.WebGL.depthMask = (ctx, flag) => { try { - webgl.contextArray[ctx].depthMask(flag); + WebGL.contextArray[ctx].depthMask(flag); } catch (err) { console.log("depthMask error"); console.error(err); @@ -696,9 +696,9 @@ export function initASWebGLue(importObject) { } // defines the near and far clipping plane in the depth buffer - importObject.webgl.depthRange = (ctx, zNear, zFar) => { + importObject.WebGL.depthRange = (ctx, zNear, zFar) => { try { - webgl.contextArray[ctx].depthRange(zNear, zFar); + WebGL.contextArray[ctx].depthRange(zNear, zFar); } catch (err) { console.log("depthRange error"); console.error(err); @@ -706,19 +706,19 @@ export function initASWebGLue(importObject) { } // detach the shader currently attached to the program - importObject.webgl.detachShader = (ctx, program, shader) => { + importObject.WebGL.detachShader = (ctx, program, shader) => { try { - webgl.contextArray[ctx].detachShader(program, shader); + WebGL.contextArray[ctx].detachShader(program, shader); } catch (err) { console.log("detachShader error"); console.error(err); } // end catch } - // disable a specific webgl capability - importObject.webgl.disable = (ctx, cap) => { + // disable a specific WebGL capability + importObject.WebGL.disable = (ctx, cap) => { try { - webgl.contextArray[ctx].disable(cap); + WebGL.contextArray[ctx].disable(cap); } catch (err) { console.log("disable error"); console.error(err); @@ -726,9 +726,9 @@ export function initASWebGLue(importObject) { } // disables a vertex attribute array at the index loction passed in. - importObject.webgl.disableVertexAttribArray = (ctx, index) => { + importObject.WebGL.disableVertexAttribArray = (ctx, index) => { try { - webgl.contextArray[ctx].disableVertexAttribArray(index); + WebGL.contextArray[ctx].disableVertexAttribArray(index); } catch (err) { console.log("disableVertexAttribArray error"); console.error(err); @@ -736,9 +736,9 @@ export function initASWebGLue(importObject) { } // render primitive data from array - importObject.webgl.drawArrays = (ctx, mode, first, count) => { + importObject.WebGL.drawArrays = (ctx, mode, first, count) => { try { - webgl.contextArray[ctx].drawArrays(mode, first, count); + WebGL.contextArray[ctx].drawArrays(mode, first, count); } catch (err) { console.log("drawArrays error"); console.error(err); @@ -746,38 +746,38 @@ export function initASWebGLue(importObject) { } // uses index data to render elements from array data - importObject.webgl.drawElements = (ctx, mode, count, typ, offset) => { + importObject.WebGL.drawElements = (ctx, mode, count, typ, offset) => { try { - webgl.contextArray[ctx].drawElements(mode, count, typ, offset); + WebGL.contextArray[ctx].drawElements(mode, count, typ, offset); } catch (err) { console.log("drawElements error"); console.error(err); } // end catch } - // enable a specific webgl capability - importObject.webgl.enable = (ctx, cap) => { + // enable a specific WebGL capability + importObject.WebGL.enable = (ctx, cap) => { try { - webgl.contextArray[ctx].enable(cap); + WebGL.contextArray[ctx].enable(cap); } catch (err) { console.log("enable error"); console.error(err); } // end catch } - importObject.webgl.enableVertexAttribArray = (ctx, index) => { + importObject.WebGL.enableVertexAttribArray = (ctx, index) => { try { - webgl.contextArray[ctx].enableVertexAttribArray(index); + WebGL.contextArray[ctx].enableVertexAttribArray(index); } catch (err) { console.log("enableVertexAttribArray error"); console.error(err); } // end catch } - // waits for all previously executed webgl api calls to finish - importObject.webgl.finish = (ctx) => { + // waits for all previously executed WebGL api calls to finish + importObject.WebGL.finish = (ctx) => { try { - webgl.contextArray[ctx].finish(); + WebGL.contextArray[ctx].finish(); } catch (err) { console.log("finish error"); console.error(err); @@ -785,9 +785,9 @@ export function initASWebGLue(importObject) { } // ??? - importObject.webgl.flush = (ctx) => { + importObject.WebGL.flush = (ctx) => { try { - webgl.contextArray[ctx].flush(); + WebGL.contextArray[ctx].flush(); } catch (err) { console.log("flush error"); console.error(err); @@ -795,18 +795,18 @@ export function initASWebGLue(importObject) { } // attach a render buffer to a frame buffer - importObject.webgl.framebufferRenderbuffer = (ctx, target, attachment, renderbuffertarget, renderbuffer) => { + importObject.WebGL.framebufferRenderbuffer = (ctx, target, attachment, renderbuffertarget, renderbuffer) => { try { - webgl.contextArray[ctx].framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + WebGL.contextArray[ctx].framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } catch (err) { console.log("framebufferRenderbuffer error"); console.error(err); } // end catch } - importObject.webgl.framebufferTexture2D = (ctx, target, attachment, textarget, texture, level) => { + importObject.WebGL.framebufferTexture2D = (ctx, target, attachment, textarget, texture, level) => { try { - webgl.contextArray[ctx].framebufferTexture2D(target, attachment, textarget, texture, level); + WebGL.contextArray[ctx].framebufferTexture2D(target, attachment, textarget, texture, level); } catch (err) { console.log("framebufferTexture2D error"); console.error(err); @@ -814,9 +814,9 @@ export function initASWebGLue(importObject) { } // set the winding direction of the verticies, which defines the front face - importObject.webgl.frontFace = (ctx, mode) => { + importObject.WebGL.frontFace = (ctx, mode) => { try { - webgl.contextArray[ctx].frontFace(mode); + WebGL.contextArray[ctx].frontFace(mode); } catch (err) { console.log("frontFace error"); console.error(err); @@ -824,9 +824,9 @@ export function initASWebGLue(importObject) { } // generates reduced resolution mipmap textures for rendering objects at a distance - importObject.webgl.generateMipmap = (ctx, target) => { + importObject.WebGL.generateMipmap = (ctx, target) => { try { - webgl.contextArray[ctx].generateMipmap(target); + WebGL.contextArray[ctx].generateMipmap(target); } catch (err) { console.log("generateMipmap error"); console.error(err); @@ -834,30 +834,30 @@ export function initASWebGLue(importObject) { } // query information about an attribute of a given program - importObject.webgl.getActiveAttrib = (ctx, program, index) => { + importObject.WebGL.getActiveAttrib = (ctx, program, index) => { // will this return an externref? How do I move in the data alert("getActiveAttrib is not implemented"); return 0; } // query information about a uniform in a given program - importObject.webgl.getActiveUniform = (ctx, program, index) => { + importObject.WebGL.getActiveUniform = (ctx, program, index) => { // will this return an externref? How do I move in the data alert("getActiveUniform is not implemented"); return 0; } - // needs to return an array of webgl shaders to the AS - importObject.webgl.getAttachedShaders = (ctx, program) => { + // needs to return an array of WebGL shaders to the AS + importObject.WebGL.getAttachedShaders = (ctx, program) => { // this will need to return an array of shader indicies. alert("getAttachedShaders is not implemented"); return 0; } // get an attribute location inside a program given a name - importObject.webgl.getAttribLocation = (ctx, program, name) => { + importObject.WebGL.getAttribLocation = (ctx, program, name) => { try { - return webgl.contextArray[ctx].getAttribLocation(webgl.programArray[program], webgl.getString(name)); + return WebGL.contextArray[ctx].getAttribLocation(WebGL.programArray[program], WebGL.getString(name)); } catch (err) { console.log("getAttribLocation error"); console.error(err); @@ -865,101 +865,101 @@ export function initASWebGLue(importObject) { } // returns an int given a buffer parameter name - importObject.webgl.getBufferParameter = (ctx, target, pname) => { + importObject.WebGL.getBufferParameter = (ctx, target, pname) => { try { - return webgl.contextArray[ctx].getBufferParameter(target, pname); + return WebGL.contextArray[ctx].getBufferParameter(target, pname); } catch (err) { console.log("getBufferParameter error"); console.error(err); } // end catch } - importObject.webgl.getParameter = (ctx, pname) => { + importObject.WebGL.getParameter = (ctx, pname) => { try { - return webgl.contextArray[ctx].getParameter(pname); + return WebGL.contextArray[ctx].getParameter(pname); } catch (err) { console.log("getParameter error"); console.error(err); } // end catch } - importObject.webgl.getError = (ctx) => { + importObject.WebGL.getError = (ctx) => { try { - return webgl.contextArray[ctx].getError(); + return WebGL.contextArray[ctx].getError(); } catch (err) { console.log("getError error"); console.error(err); } // end catch } - importObject.webgl.getFramebufferAttachmentParameter = (ctx, target, attachment, pname) => { + importObject.WebGL.getFramebufferAttachmentParameter = (ctx, target, attachment, pname) => { try { - return webgl.contextArray[ctx].getParameter(target, attachment, pname); + return WebGL.contextArray[ctx].getParameter(target, attachment, pname); } catch (err) { console.log("getFramebufferAttachmentParameter error"); console.error(err); } // end catch } - importObject.webgl.getProgramInfoLog = (ctx, program) => { + importObject.WebGL.getProgramInfoLog = (ctx, program) => { // this needs to return a string to the AS alert("getProgramInfoLog not implemented"); return 0; } // get information about the renderbuffer - importObject.webgl.getRenderbufferParameter = (ctx, target, pname) => { + importObject.WebGL.getRenderbufferParameter = (ctx, target, pname) => { try { - return webgl.contextArray[ctx].getRenderbufferParameter(target, pname); + return WebGL.contextArray[ctx].getRenderbufferParameter(target, pname); } catch (err) { console.log("getRenderbufferParameter error"); console.error(err); } // end catch } - importObject.webgl.getShaderParameter = (ctx, shader, pname) => { + importObject.WebGL.getShaderParameter = (ctx, shader, pname) => { alert("getShaderParameter not implemented"); return 0; } - importObject.webgl.getShaderPrecisionFormat = (ctx, shadertype, precisiontype) => { + importObject.WebGL.getShaderPrecisionFormat = (ctx, shadertype, precisiontype) => { alert("getShaderPrecisionFormat not implemented"); return 0; } - importObject.webgl.getShaderInfoLog = (ctx, shader) => { + importObject.WebGL.getShaderInfoLog = (ctx, shader) => { alert("getShaderInfoLog not implemented"); return 0; } - importObject.webgl.getShaderSource = (ctx, shader) => { + importObject.WebGL.getShaderSource = (ctx, shader) => { // this needs to return a string to AS alert("getShaderInfoLog not implemented"); return 0; } - importObject.webgl.getTexParameter = (ctx, target, pname) => { + importObject.WebGL.getTexParameter = (ctx, target, pname) => { alert("getTexParameter not implemented"); return 0; } - importObject.webgl.getUniform = (ctx, program, location) => { + importObject.WebGL.getUniform = (ctx, program, location) => { // this can return multiple types alert("getUniform not implemented"); return 0; } - importObject.webgl.getUniformLocation = (ctx, program, name) => { + importObject.WebGL.getUniformLocation = (ctx, program, name) => { try { - let id = webgl.uniformLocationArray.findIndex((element) => element == null); - let uniformLocation = webgl.contextArray[ctx].getUniformLocation(webgl.programArray[program], webgl.getString(name)); + let id = WebGL.uniformLocationArray.findIndex((element) => element == null); + let uniformLocation = WebGL.contextArray[ctx].getUniformLocation(WebGL.programArray[program], WebGL.getString(name)); if (id == -1) { - id = webgl.uniformLocationArray.length; - webgl.uniformLocationArray.push(uniformLocation); + id = WebGL.uniformLocationArray.length; + WebGL.uniformLocationArray.push(uniformLocation); } else { - webgl.uniformLocationArray[id] = uniformLocation; + WebGL.uniformLocationArray[id] = uniformLocation; } return id; @@ -969,16 +969,16 @@ export function initASWebGLue(importObject) { } // end catch } - importObject.webgl.getVertexAttrib = (ctx, index, pname) => { + importObject.WebGL.getVertexAttrib = (ctx, index, pname) => { // this can return multiple types alert("getVertexAttrib not implemented"); return 0; } // given a vertex attribute index, return the offset value - importObject.webgl.getVertexAttribOffset = (ctx, index, pname) => { + importObject.WebGL.getVertexAttribOffset = (ctx, index, pname) => { try { - return webgl.contextArray[ctx].getVertexAttribOffset(index, pname); + return WebGL.contextArray[ctx].getVertexAttribOffset(index, pname); } catch (err) { console.log("getVertexAttribOffset error"); console.error(err); @@ -986,9 +986,9 @@ export function initASWebGLue(importObject) { } // sets shader behaviorial hints, which could potentially improve performance on some implementations - importObject.webgl.hint = (ctx, target, mode) => { + importObject.WebGL.hint = (ctx, target, mode) => { try { - return webgl.contextArray[ctx].hint(target, mode); + return WebGL.contextArray[ctx].hint(target, mode); } catch (err) { console.log("hint error"); console.error(err); @@ -998,86 +998,86 @@ export function initASWebGLue(importObject) { // THIS MAY JUST NEED TO CHECK TO SEE IF THE NUMBER IS IN THE RENDERBUFFER ARRAY // THERE ARE SEVERAL OF THESE isX FUNCTIONS. I'M NOT SURE IF ANY OF THEM ARE USEFUL // IN THE AS CODE - importObject.webgl.isBuffer = (ctx, buffer) => { + importObject.WebGL.isBuffer = (ctx, buffer) => { try { - return webgl.contextArray[ctx].isBuffer(webgl.bufferArray[buffer]); + return WebGL.contextArray[ctx].isBuffer(WebGL.bufferArray[buffer]); } catch (err) { console.log("isBuffer error"); console.error(err); } // end catch } - // tests a webgl capability to see if it is enabled - importObject.webgl.isEnabled = (ctx, cap) => { + // tests a WebGL capability to see if it is enabled + importObject.WebGL.isEnabled = (ctx, cap) => { try { - return webgl.contextArray[ctx].isEnabled(cap); + return WebGL.contextArray[ctx].isEnabled(cap); } catch (err) { console.log("isEnabled error"); console.error(err); } // end catch } - importObject.webgl.isFramebuffer = (ctx, framebuffer) => { + importObject.WebGL.isFramebuffer = (ctx, framebuffer) => { try { - return webgl.contextArray[ctx].isFramebuffer(webgl.frameBufferArray[framebuffer]); + return WebGL.contextArray[ctx].isFramebuffer(WebGL.frameBufferArray[framebuffer]); } catch (err) { console.log("isFramebuffer error"); console.error(err); } // end catch } - importObject.webgl.isProgram = (ctx, program) => { + importObject.WebGL.isProgram = (ctx, program) => { try { - return webgl.contextArray[ctx].isProgram(webgl.programArray[program]); + return WebGL.contextArray[ctx].isProgram(WebGL.programArray[program]); } catch (err) { console.log("isProgram error"); console.error(err); } // end catch } - importObject.webgl.isRenderbuffer = (ctx, renderbuffer) => { + importObject.WebGL.isRenderbuffer = (ctx, renderbuffer) => { try { - return webgl.contextArray[ctx].isRenderbuffer(webgl.renderBufferArray[renderbuffer]); + return WebGL.contextArray[ctx].isRenderbuffer(WebGL.renderBufferArray[renderbuffer]); } catch (err) { console.log("isRenderbuffer error"); console.error(err); } // end catch } - importObject.webgl.isShader = (ctx, shader) => { + importObject.WebGL.isShader = (ctx, shader) => { try { - return webgl.contextArray[ctx].isShader(webgl.shaderArray[shader]); + return WebGL.contextArray[ctx].isShader(WebGL.shaderArray[shader]); } catch (err) { console.log("isShader error"); console.error(err); } // end catch } - importObject.webgl.isTexture = (ctx, texture) => { + importObject.WebGL.isTexture = (ctx, texture) => { try { - return webgl.contextArray[ctx].isTexture(webgl.textureArray[texture]); + return WebGL.contextArray[ctx].isTexture(WebGL.textureArray[texture]); } catch (err) { console.log("isTexture error"); console.error(err); } // end catch } - importObject.webgl.lineWidth = (ctx, width) => { + importObject.WebGL.lineWidth = (ctx, width) => { try { - return webgl.contextArray[ctx].lineWidth(width); + return WebGL.contextArray[ctx].lineWidth(width); } catch (err) { console.log("lineWidth error"); console.error(err); } // end catch } - importObject.webgl.linkProgram = (ctx, program) => { + importObject.WebGL.linkProgram = (ctx, program) => { try { - webgl.contextArray[ctx].linkProgram(webgl.programArray[program]); + WebGL.contextArray[ctx].linkProgram(WebGL.programArray[program]); - if (!webgl.contextArray[ctx].getProgramParameter(webgl.programArray[program], - webgl.contextArray[ctx].LINK_STATUS)) { - console.log(webgl.contextArray[ctx].getProgramInfoLog(webgl.programArray[program])); + if (!WebGL.contextArray[ctx].getProgramParameter(WebGL.programArray[program], + WebGL.contextArray[ctx].LINK_STATUS)) { + console.log(WebGL.contextArray[ctx].getProgramInfoLog(WebGL.programArray[program])); } } catch (err) { console.log("linkProgram error"); @@ -1086,9 +1086,9 @@ export function initASWebGLue(importObject) { } // set pixel storage mode - importObject.webgl.pixelStorei = (ctx, pname, param) => { + importObject.WebGL.pixelStorei = (ctx, pname, param) => { try { - webgl.contextArray[ctx].pixelStorei(pname, param); + WebGL.contextArray[ctx].pixelStorei(pname, param); } catch (err) { console.log("pixelStorei error"); console.log(err); @@ -1096,9 +1096,9 @@ export function initASWebGLue(importObject) { } // ??? - importObject.webgl.polygonOffset = (ctx, factor, units) => { + importObject.WebGL.polygonOffset = (ctx, factor, units) => { try { - webgl.contextArray[ctx].polygonOffset(factor, units); + WebGL.contextArray[ctx].polygonOffset(factor, units); } catch (err) { console.log("polygonOffset error"); console.error(err); @@ -1106,14 +1106,14 @@ export function initASWebGLue(importObject) { } // read a block of pixels into an array buffer view - importObject.webgl.readPixels = (ctx, x, y, width, height, format, typ, pixels) => { + importObject.WebGL.readPixels = (ctx, x, y, width, height, format, typ, pixels) => { alert("readPixels not implemented"); } // create and initialize a renderbuffer object's data store - importObject.webgl.renderbufferStorage = (ctx, target, internalformat, width, height) => { + importObject.WebGL.renderbufferStorage = (ctx, target, internalformat, width, height) => { try { - webgl.contextArray[ctx].renderbufferStorage(target, internalformat, width, height); + WebGL.contextArray[ctx].renderbufferStorage(target, internalformat, width, height); } catch (err) { console.log("renderbufferStorage error"); console.error(err); @@ -1121,9 +1121,9 @@ export function initASWebGLue(importObject) { } // sampling for anti-aliasing. SAMPLE_COVERAGE must be enabled. - importObject.webgl.sampleCoverage = (ctx, value, invert) => { + importObject.WebGL.sampleCoverage = (ctx, value, invert) => { try { - webgl.contextArray[ctx].sampleCoverage(value, invert); + WebGL.contextArray[ctx].sampleCoverage(value, invert); } catch (err) { console.log("sampleCoverage error"); console.error(err); @@ -1131,18 +1131,18 @@ export function initASWebGLue(importObject) { } // create a scissor box to draw inside. SCISSOR_TEST must be enabled. - importObject.webgl.scissor = (ctx, x, y, width, height) => { + importObject.WebGL.scissor = (ctx, x, y, width, height) => { try { - webgl.contextArray[ctx].scissor(x, y, width, height); + WebGL.contextArray[ctx].scissor(x, y, width, height); } catch (err) { console.log("scissor error"); console.error(err); } // end catch } - importObject.webgl.shaderSource = (ctx, shader, source) => { + importObject.WebGL.shaderSource = (ctx, shader, source) => { try { - webgl.contextArray[ctx].shaderSource(webgl.shaderArray[shader], webgl.getString(source)); + WebGL.contextArray[ctx].shaderSource(WebGL.shaderArray[shader], WebGL.getString(source)); } catch (err) { console.log("shaderSource error"); console.error(err); @@ -1150,9 +1150,9 @@ export function initASWebGLue(importObject) { } // sets a function for allowing pixels to pass through a stencil. STENCIL_TEST must be set. - importObject.webgl.stencilFunc = (ctx, func, ref, mask) => { + importObject.WebGL.stencilFunc = (ctx, func, ref, mask) => { try { - webgl.contextArray[ctx].stencilFunc(func, ref, mask); + WebGL.contextArray[ctx].stencilFunc(func, ref, mask); } catch (err) { console.log("stencilFunc error"); console.error(err); @@ -1160,9 +1160,9 @@ export function initASWebGLue(importObject) { } // allows you to set different stencils for front and back faces. - importObject.webgl.stencilFuncSeparate = (ctx, face, func, ref, mask) => { + importObject.WebGL.stencilFuncSeparate = (ctx, face, func, ref, mask) => { try { - webgl.contextArray[ctx].stencilFuncSeparate(face, func, ref, mask); + WebGL.contextArray[ctx].stencilFuncSeparate(face, func, ref, mask); } catch (err) { console.log("stencilFuncSeparate error"); console.error(err); @@ -1170,9 +1170,9 @@ export function initASWebGLue(importObject) { } // defines stencil masking bits - importObject.webgl.stencilMask = (ctx, mask) => { + importObject.WebGL.stencilMask = (ctx, mask) => { try { - webgl.contextArray[ctx].stencilMask(mask); + WebGL.contextArray[ctx].stencilMask(mask); } catch (err) { console.log("stencilMask error"); console.error(err); @@ -1180,9 +1180,9 @@ export function initASWebGLue(importObject) { } // use different stencil mask for front and back faces - importObject.webgl.stencilMaskSeparate = (ctx, face, mask) => { + importObject.WebGL.stencilMaskSeparate = (ctx, face, mask) => { try { - webgl.contextArray[ctx].stencilMaskSeparate(face, mask); + WebGL.contextArray[ctx].stencilMaskSeparate(face, mask); } catch (err) { console.log("stencilMaskSeparate error"); console.error(err); @@ -1190,850 +1190,850 @@ export function initASWebGLue(importObject) { } // PROBLEM: zfail is a function - importObject.webgl.stencilOp = (ctx, fail, zfail, zpass) => { + importObject.WebGL.stencilOp = (ctx, fail, zfail, zpass) => { alert("stencilOp is not implemented"); } // PROBLEM: zfail is a function - importObject.webgl.stencilOpSeparate = (ctx, face, fail, zfail, zpass) => { + importObject.WebGL.stencilOpSeparate = (ctx, face, fail, zfail, zpass) => { alert("stencilOpSeparate is not implemented"); } // specify a two-dimensional texture image - importObject.webgl.texImage2D = (ctx, target, level, internalformat, format, typ, image_id) => { + importObject.WebGL.texImage2D = (ctx, target, level, internalformat, format, typ, image_id) => { try { console.log(` image_id=${image_id} - webgl.imageArray.length=${webgl.imageArray.length} + WebGL.imageArray.length=${WebGL.imageArray.length} `); - webgl.contextArray[ctx].texImage2D(target, level, internalformat, - format, typ, webgl.imageArray[image_id]);//webgl.getArrayView(pixels)); + WebGL.contextArray[ctx].texImage2D(target, level, internalformat, + format, typ, WebGL.imageArray[image_id]);//WebGL.getArrayView(pixels)); } catch (err) { console.log("texImage2D error"); console.error(err); } // end catch } - importObject.webgl.texParameterf = (ctx, target, pname, param) => { + importObject.WebGL.texParameterf = (ctx, target, pname, param) => { try { - webgl.contextArray[ctx].texParameterf(target, pname, param); + WebGL.contextArray[ctx].texParameterf(target, pname, param); } catch (err) { console.log("texParameterf error"); console.error(err); } // end catch } - importObject.webgl.texParameteri = (ctx, target, pname, param) => { + importObject.WebGL.texParameteri = (ctx, target, pname, param) => { try { - webgl.contextArray[ctx].texParameteri(target, pname, param); + WebGL.contextArray[ctx].texParameteri(target, pname, param); } catch (err) { console.log("texParameteri error"); console.error(err); } // end catch } - importObject.webgl.texSubImage2D = (ctx, target, level, xoffset, yoffset, + importObject.WebGL.texSubImage2D = (ctx, target, level, xoffset, yoffset, width, height, format, typ, pixels) => { try { - webgl.contextArray[ctx].texSubImage2D(target, level, xoffset, yoffset, - width, height, format, typ, webgl.getArrayView(pixels)); + WebGL.contextArray[ctx].texSubImage2D(target, level, xoffset, yoffset, + width, height, format, typ, WebGL.getArrayView(pixels)); } catch (err) { console.log("texSubImage2D error"); console.error(err); } // end catch } - importObject.webgl.uniform1f = (ctx, location, x) => { + importObject.WebGL.uniform1f = (ctx, location, x) => { try { - return webgl.contextArray[ctx].uniform1f(webgl.uniformLocationArray[location], x); + return WebGL.contextArray[ctx].uniform1f(WebGL.uniformLocationArray[location], x); } catch (err) { console.log("uniform1f error"); console.error(err); } // end catch } - importObject.webgl.uniform1fv = (ctx, location, v) => { + importObject.WebGL.uniform1fv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform1fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform1fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform1fv error"); console.error(err); } // end catch } - importObject.webgl.uniform1i = (ctx, location, x) => { + importObject.WebGL.uniform1i = (ctx, location, x) => { try { - return webgl.contextArray[ctx].uniform1i(webgl.uniformLocationArray[location], x); + return WebGL.contextArray[ctx].uniform1i(WebGL.uniformLocationArray[location], x); } catch (err) { console.log("uniform1i error"); console.error(err); } // end catch } - importObject.webgl.uniform1iv = (ctx, location, v) => { + importObject.WebGL.uniform1iv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform1iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform1iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform1iv error"); console.error(err); } // end catch } - importObject.webgl.uniform2f = (ctx, location, x, y) => { + importObject.WebGL.uniform2f = (ctx, location, x, y) => { try { - return webgl.contextArray[ctx].uniform2f(webgl.uniformLocationArray[location], x, y); + return WebGL.contextArray[ctx].uniform2f(WebGL.uniformLocationArray[location], x, y); } catch (err) { console.log("uniform2f error"); console.error(err); } // end catch } - importObject.webgl.uniform2fv = (ctx, location, v) => { + importObject.WebGL.uniform2fv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform2fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform2fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform2fv error"); console.error(err); } // end catch } - importObject.webgl.uniform2i = (ctx, location, x, y) => { + importObject.WebGL.uniform2i = (ctx, location, x, y) => { try { - return webgl.contextArray[ctx].uniform2i(webgl.uniformLocationArray[location], x, y); + return WebGL.contextArray[ctx].uniform2i(WebGL.uniformLocationArray[location], x, y); } catch (err) { console.log("uniform2i error"); console.error(err); } // end catch } - importObject.webgl.uniform2iv = (ctx, location, v) => { + importObject.WebGL.uniform2iv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform2iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform2iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform2iv error"); console.error(err); } // end catch } - importObject.webgl.uniform3f = (ctx, location, x, y, z) => { + importObject.WebGL.uniform3f = (ctx, location, x, y, z) => { try { - return webgl.contextArray[ctx].uniform3f(webgl.uniformLocationArray[location], x, y, z); + return WebGL.contextArray[ctx].uniform3f(WebGL.uniformLocationArray[location], x, y, z); } catch (err) { console.log("uniform3f error"); console.error(err); } // end catch } - importObject.webgl.uniform3fv = (ctx, location, v) => { + importObject.WebGL.uniform3fv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform3fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform3fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform3fv error"); console.error(err); } // end catch } - importObject.webgl.uniform3i = (ctx, location, x, y, z) => { + importObject.WebGL.uniform3i = (ctx, location, x, y, z) => { try { - return webgl.contextArray[ctx].uniform3i(webgl.uniformLocationArray[location], x, y, z); + return WebGL.contextArray[ctx].uniform3i(WebGL.uniformLocationArray[location], x, y, z); } catch (err) { console.log("uniform3i error"); console.error(err); } // end catch } - importObject.webgl.uniform3iv = (ctx, location, v) => { + importObject.WebGL.uniform3iv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform3iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform3iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform3iv error"); console.error(err); } // end catch } - importObject.webgl.uniform4f = (ctx, location, x, y, z, w) => { + importObject.WebGL.uniform4f = (ctx, location, x, y, z, w) => { try { - return webgl.contextArray[ctx].uniform4f(webgl.uniformLocationArray[location], x, y, z, w); + return WebGL.contextArray[ctx].uniform4f(WebGL.uniformLocationArray[location], x, y, z, w); } catch (err) { console.log("uniform4f error"); console.error(err); } // end catch } - importObject.webgl.uniform4fv = (ctx, location, v) => { + importObject.WebGL.uniform4fv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform4fv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform4fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform4fv error"); console.error(err); } // end catch } - importObject.webgl.uniform4i = (ctx, location, x, y, z, w) => { + importObject.WebGL.uniform4i = (ctx, location, x, y, z, w) => { try { - return webgl.contextArray[ctx].uniform4i(webgl.uniformLocationArray[location], x, y, z, w); + return WebGL.contextArray[ctx].uniform4i(WebGL.uniformLocationArray[location], x, y, z, w); } catch (err) { console.log("uniform4i error"); console.error(err); } // end catch } - importObject.webgl.uniform4iv = (ctx, location, v) => { + importObject.WebGL.uniform4iv = (ctx, location, v) => { try { - return webgl.contextArray[ctx].uniform4iv(webgl.uniformLocationArray[location], webgl.getArrayView(v)); + return WebGL.contextArray[ctx].uniform4iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); } catch (err) { console.log("uniform4iv error"); console.error(err); } // end catch } - importObject.webgl.uniformMatrix2fv = (ctx, location, transpose, value_arr) => { + importObject.WebGL.uniformMatrix2fv = (ctx, location, transpose, value_arr) => { try { - return webgl.contextArray[ctx].uniformMatrix2fv(webgl.uniformLocationArray[location], transpose, - webgl.getArrayView(value_arr)); + return WebGL.contextArray[ctx].uniformMatrix2fv(WebGL.uniformLocationArray[location], transpose, + WebGL.getArrayView(value_arr)); } catch (err) { console.log("uniformMatrix2fv error"); console.error(err); } // end catch } - importObject.webgl.uniformMatrix3fv = (ctx, location, transpose, value_arr) => { + importObject.WebGL.uniformMatrix3fv = (ctx, location, transpose, value_arr) => { try { - return webgl.contextArray[ctx].uniformMatrix3fv(webgl.uniformLocationArray[location], transpose, - webgl.getArrayView(value_arr)); + return WebGL.contextArray[ctx].uniformMatrix3fv(WebGL.uniformLocationArray[location], transpose, + WebGL.getArrayView(value_arr)); } catch (err) { console.log("uniformMatrix3fv error"); console.error(err); } // end catch } - importObject.webgl.uniformMatrix4fv = (ctx, location, transpose, value_arr) => { + importObject.WebGL.uniformMatrix4fv = (ctx, location, transpose, value_arr) => { try { - return webgl.contextArray[ctx].uniformMatrix4fv(webgl.uniformLocationArray[location], transpose, - webgl.getArrayView(value_arr)); + return WebGL.contextArray[ctx].uniformMatrix4fv(WebGL.uniformLocationArray[location], transpose, + WebGL.getArrayView(value_arr)); } catch (err) { console.log("uniformMatrix4fv error"); console.error(err); } // end catch } - importObject.webgl.useProgram = (ctx, program) => { + importObject.WebGL.useProgram = (ctx, program) => { try { - webgl.contextArray[ctx].useProgram(webgl.programArray[program]); + WebGL.contextArray[ctx].useProgram(WebGL.programArray[program]); } catch (err) { console.log("useProgram error"); console.error(err); } // end catch } - importObject.webgl.validateProgram = (ctx, program) => { + importObject.WebGL.validateProgram = (ctx, program) => { try { - webgl.contextArray[ctx].validateProgram(webgl.programArray[program]); + WebGL.contextArray[ctx].validateProgram(WebGL.programArray[program]); } catch (err) { console.log("validateProgram error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib1f = (ctx, indx, x) => { + importObject.WebGL.vertexAttrib1f = (ctx, indx, x) => { try { - return webgl.contextArray[ctx].vertexAttrib1f(indx, x); + return WebGL.contextArray[ctx].vertexAttrib1f(indx, x); } catch (err) { console.log("vertexAttrib1f error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib1fv = (ctx, indx, v) => { + importObject.WebGL.vertexAttrib1fv = (ctx, indx, v) => { try { - return webgl.contextArray[ctx].vertexAttrib1fv(indx, webgl.getArrayView(v)); + return WebGL.contextArray[ctx].vertexAttrib1fv(indx, WebGL.getArrayView(v)); } catch (err) { console.log("vertexAttrib1fv error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib2f = (ctx, indx, x, y) => { + importObject.WebGL.vertexAttrib2f = (ctx, indx, x, y) => { try { - return webgl.contextArray[ctx].vertexAttrib2f(indx, x, y); + return WebGL.contextArray[ctx].vertexAttrib2f(indx, x, y); } catch (err) { console.log("vertexAttrib2f error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib2fv = (ctx, indx, v) => { + importObject.WebGL.vertexAttrib2fv = (ctx, indx, v) => { try { - return webgl.contextArray[ctx].vertexAttrib2fv(indx, webgl.getArrayView(v)); + return WebGL.contextArray[ctx].vertexAttrib2fv(indx, WebGL.getArrayView(v)); } catch (err) { console.log("vertexAttrib2fv error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib3f = (ctx, indx, x, y, z) => { + importObject.WebGL.vertexAttrib3f = (ctx, indx, x, y, z) => { try { - return webgl.contextArray[ctx].vertexAttrib3f(indx, x, y, z); + return WebGL.contextArray[ctx].vertexAttrib3f(indx, x, y, z); } catch (err) { console.log("vertexAttrib3f error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib3fv = (ctx, indx, v) => { + importObject.WebGL.vertexAttrib3fv = (ctx, indx, v) => { try { - return webgl.contextArray[ctx].vertexAttrib3fv(indx, webgl.getArrayView(v)); + return WebGL.contextArray[ctx].vertexAttrib3fv(indx, WebGL.getArrayView(v)); } catch (err) { console.log("vertexAttrib3fv error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib4f = (ctx, indx, x, y, z, w) => { + importObject.WebGL.vertexAttrib4f = (ctx, indx, x, y, z, w) => { try { - return webgl.contextArray[ctx].vertexAttrib4f(indx, x, y, z, w); + return WebGL.contextArray[ctx].vertexAttrib4f(indx, x, y, z, w); } catch (err) { console.log("vertexAttrib4f error"); console.error(err); } // end catch } - importObject.webgl.vertexAttrib4fv = (ctx, indx, v) => { + importObject.WebGL.vertexAttrib4fv = (ctx, indx, v) => { try { - return webgl.contextArray[ctx].vertexAttrib4fv(indx, webgl.getArrayView(v)); + return WebGL.contextArray[ctx].vertexAttrib4fv(indx, WebGL.getArrayView(v)); } catch (err) { console.log("vertexAttrib4fv error"); console.error(err); } // end catch } - importObject.webgl.vertexAttribPointer = (ctx, indx, size, typ, normalized, stride, offset) => { + importObject.WebGL.vertexAttribPointer = (ctx, indx, size, typ, normalized, stride, offset) => { try { - webgl.contextArray[ctx].vertexAttribPointer(indx, size, typ, normalized, stride, offset); + WebGL.contextArray[ctx].vertexAttribPointer(indx, size, typ, normalized, stride, offset); } catch (err) { console.log("vertexAttrib4fv error"); console.error(err); } // end catch } - importObject.webgl.viewport = (ctx, indx, x, y, width, height) => { + importObject.WebGL.viewport = (ctx, indx, x, y, width, height) => { try { - webgl.contextArray[ctx].viewport(indx, x, y, width, height); + WebGL.contextArray[ctx].viewport(indx, x, y, width, height); } catch (err) { console.log("viewport error"); console.error(err); } // end catch } - // expiramental webgl2 - importObject.webgl.copyBufferSubData = (ctx, readTarget, writeTarget, readOffset, writeOffset, size) => { + // expiramental WebGL2 + importObject.WebGL.copyBufferSubData = (ctx, readTarget, writeTarget, readOffset, writeOffset, size) => { alert("copyBufferSubData not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getBufferSubData = (ctx, target, srcByteOffset, dstBuffer, dstOffset, length) => { + // expiramental WebGL2 + importObject.WebGL.getBufferSubData = (ctx, target, srcByteOffset, dstBuffer, dstOffset, length) => { alert("getBufferSubData not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.blitFramebuffer = (ctx, srcX0, srcY0, srcX1, srcY1, + // expiramental WebGL2 + importObject.WebGL.blitFramebuffer = (ctx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) => { alert("blitFramebuffer not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.framebufferTextureLayer = (ctx, target, attachment, texture, level, layer) => { + // expiramental WebGL2 + importObject.WebGL.framebufferTextureLayer = (ctx, target, attachment, texture, level, layer) => { alert("framebufferTextureLayer not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.invalidateFramebuffer = (ctx, target, attachments) => { + // expiramental WebGL2 + importObject.WebGL.invalidateFramebuffer = (ctx, target, attachments) => { alert("invalidateFramebuffer not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.invalidateSubFramebuffer = (ctx, target, attachments, x, y, width, height) => { + // expiramental WebGL2 + importObject.WebGL.invalidateSubFramebuffer = (ctx, target, attachments, x, y, width, height) => { alert("invalidateSubFramebuffer not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.readBuffer = (ctx, src) => { + // expiramental WebGL2 + importObject.WebGL.readBuffer = (ctx, src) => { alert("readBuffer not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getInternalformatParameter = (ctx, target, internalformat, pname) => { + // expiramental WebGL2 + importObject.WebGL.getInternalformatParameter = (ctx, target, internalformat, pname) => { alert("getInternalformatParameter not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.renderbufferStorageMultisample = (ctx, target, samples, internalformat, width, height) => { + // expiramental WebGL2 + importObject.WebGL.renderbufferStorageMultisample = (ctx, target, samples, internalformat, width, height) => { alert("renderbufferStorageMultisample not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.texStorage2D = (ctx, target, levels, internalformat, width, height) => { + // expiramental WebGL2 + importObject.WebGL.texStorage2D = (ctx, target, levels, internalformat, width, height) => { alert("texStorage2D not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.texStorage3D = (ctx, target, levels, internalformat, width, height, depth) => { + // expiramental WebGL2 + importObject.WebGL.texStorage3D = (ctx, target, levels, internalformat, width, height, depth) => { alert("texStorage3D not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.texSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + // expiramental WebGL2 + importObject.WebGL.texSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, typ, pboOffset) => { alert("texSubImage3D not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.copyTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height) => { + // expiramental WebGL2 + importObject.WebGL.copyTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height) => { alert("copyTexSubImage3D not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.compressedTexImage3D = (ctx, target, level, internalformat, width, + // expiramental WebGL2 + importObject.WebGL.compressedTexImage3D = (ctx, target, level, internalformat, width, height, depth, border, imageSize, offset) => { alert("compressedTexImage3D not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.compressedTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + // expiramental WebGL2 + importObject.WebGL.compressedTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, offset) => { alert("compressedTexSubImage3D not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getFragDataLocation = (ctx, program, name) => { + // expiramental WebGL2 + importObject.WebGL.getFragDataLocation = (ctx, program, name) => { alert("getFragDataLocation not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform1ui = (ctx, location, v0) => { + // expiramental WebGL2 + importObject.WebGL.uniform1ui = (ctx, location, v0) => { alert("uniform1ui not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform2ui = (ctx, location, v0, v1) => { + // expiramental WebGL2 + importObject.WebGL.uniform2ui = (ctx, location, v0, v1) => { alert("uniform2ui not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform3ui = (ctx, location, v0, v1, v3) => { + // expiramental WebGL2 + importObject.WebGL.uniform3ui = (ctx, location, v0, v1, v3) => { alert("uniform3ui not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform4ui = (ctx, location, v0, v1, v3, v4) => { + // expiramental WebGL2 + importObject.WebGL.uniform4ui = (ctx, location, v0, v1, v3, v4) => { alert("uniform4ui not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform1uiv = (ctx, location, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniform1uiv = (ctx, location, data, srcOffset, srcLength) => { alert("uniform1uiv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform2uiv = (ctx, location, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniform2uiv = (ctx, location, data, srcOffset, srcLength) => { alert("uniform2uiv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform3uiv = (ctx, location, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniform3uiv = (ctx, location, data, srcOffset, srcLength) => { alert("uniform3uiv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniform4uiv = (ctx, location, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniform4uiv = (ctx, location, data, srcOffset, srcLength) => { alert("uniform4uiv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniformMatrix3x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniformMatrix3x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { alert("uniformMatrix3x2fv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniformMatrix4x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniformMatrix4x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { alert("uniformMatrix4x2fv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniformMatrix2x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniformMatrix2x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { alert("uniformMatrix2x3fv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniformMatrix4x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniformMatrix4x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { alert("uniformMatrix4x3fv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniformMatrix2x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniformMatrix2x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { alert("uniformMatrix2x4fv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniformMatrix3x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + // expiramental WebGL2 + importObject.WebGL.uniformMatrix3x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { alert("uniformMatrix3x4fv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.vertexAttribI4i = (ctx, index, x, y, z, w) => { + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4i = (ctx, index, x, y, z, w) => { alert("vertexAttribI4i not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.vertexAttribI4iv = (ctx, index, value_arr) => { + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4iv = (ctx, index, value_arr) => { alert("vertexAttribI4iv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.vertexAttribI4ui = (ctx, index, x, y, z, w) => { + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4ui = (ctx, index, x, y, z, w) => { alert("vertexAttribI4ui not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.vertexAttribI4uiv = (ctx, index, value_arr) => { + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4uiv = (ctx, index, value_arr) => { alert("vertexAttribI4uiv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.vertexAttribIPointer = (ctx, index, size, typ, stride, offset) => { + // expiramental WebGL2 + importObject.WebGL.vertexAttribIPointer = (ctx, index, size, typ, stride, offset) => { alert("vertexAttribIPointer not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.vertexAttribDivisor = (ctx, index, divisor) => { + // expiramental WebGL2 + importObject.WebGL.vertexAttribDivisor = (ctx, index, divisor) => { alert("vertexAttribIPointer not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.drawArraysInstanced = (ctx, mode, first, count, instanceCount) => { + // expiramental WebGL2 + importObject.WebGL.drawArraysInstanced = (ctx, mode, first, count, instanceCount) => { alert("drawArraysInstanced not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.drawElementsInstanced = (ctx, mode, count, typ, offset, instanceCount) => { + // expiramental WebGL2 + importObject.WebGL.drawElementsInstanced = (ctx, mode, count, typ, offset, instanceCount) => { alert("drawElementsInstanced not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.drawRangeElements = (ctx, mode, start, end, count, typ, offset) => { + // expiramental WebGL2 + importObject.WebGL.drawRangeElements = (ctx, mode, start, end, count, typ, offset) => { alert("drawRangeElements not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.drawBuffers = (ctx, buffers) => { + // expiramental WebGL2 + importObject.WebGL.drawBuffers = (ctx, buffers) => { alert("drawBuffers not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.clearBufferfv = (ctx, buffer, drawbuffer, values, srcOffset) => { + // expiramental WebGL2 + importObject.WebGL.clearBufferfv = (ctx, buffer, drawbuffer, values, srcOffset) => { alert("clearBufferfv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.clearBufferiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + // expiramental WebGL2 + importObject.WebGL.clearBufferiv = (ctx, buffer, drawbuffer, values, srcOffset) => { alert("clearBufferiv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.clearBufferuiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + // expiramental WebGL2 + importObject.WebGL.clearBufferuiv = (ctx, buffer, drawbuffer, values, srcOffset) => { alert("clearBufferuiv not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.clearBufferfi = (ctx, buffer, drawbuffer, depth, stencil) => { + // expiramental WebGL2 + importObject.WebGL.clearBufferfi = (ctx, buffer, drawbuffer, depth, stencil) => { alert("clearBufferfi not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.createQuery = (ctx) => { + // expiramental WebGL2 + importObject.WebGL.createQuery = (ctx) => { alert("createQuery not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.deleteQuery = (ctx, query) => { + // expiramental WebGL2 + importObject.WebGL.deleteQuery = (ctx, query) => { alert("deleteQuery not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.isQuery = (ctx, query) => { + // expiramental WebGL2 + importObject.WebGL.isQuery = (ctx, query) => { alert("isQuery not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.beginQuery = (ctx, target, query) => { + // expiramental WebGL2 + importObject.WebGL.beginQuery = (ctx, target, query) => { alert("beginQuery not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.endQuery = (ctx, query) => { + // expiramental WebGL2 + importObject.WebGL.endQuery = (ctx, query) => { alert("endQuery not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getQuery = (ctx, query, pname) => { + // expiramental WebGL2 + importObject.WebGL.getQuery = (ctx, query, pname) => { alert("getQuery not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getQueryParameter = (ctx, query, pname) => { + // expiramental WebGL2 + importObject.WebGL.getQueryParameter = (ctx, query, pname) => { alert("getQueryParameter not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.createSampler = (ctx) => { + // expiramental WebGL2 + importObject.WebGL.createSampler = (ctx) => { alert("createSampler not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.deleteSampler = (ctx, sampler) => { + // expiramental WebGL2 + importObject.WebGL.deleteSampler = (ctx, sampler) => { alert("deleteSampler not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.isSampler = (ctx, sampler) => { + // expiramental WebGL2 + importObject.WebGL.isSampler = (ctx, sampler) => { alert("isSampler not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.bindSampler = (ctx, uint, sampler) => { + // expiramental WebGL2 + importObject.WebGL.bindSampler = (ctx, uint, sampler) => { alert("bindSampler not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.samplerParameteri = (ctx, sampler, pname, param) => { + // expiramental WebGL2 + importObject.WebGL.samplerParameteri = (ctx, sampler, pname, param) => { alert("samplerParameteri not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.samplerParameterf = (ctx, sampler, pname, param) => { + // expiramental WebGL2 + importObject.WebGL.samplerParameterf = (ctx, sampler, pname, param) => { alert("samplerParameterf not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getSamplerParameter = (ctx, sampler, pname) => { + // expiramental WebGL2 + importObject.WebGL.getSamplerParameter = (ctx, sampler, pname) => { alert("getSamplerParameter not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.fenceSync = (ctx, condition, flags) => { + // expiramental WebGL2 + importObject.WebGL.fenceSync = (ctx, condition, flags) => { alert("fenceSync not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.isSync = (ctx, sync) => { + // expiramental WebGL2 + importObject.WebGL.isSync = (ctx, sync) => { alert("isSync not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.deleteSync = (ctx, sync) => { + // expiramental WebGL2 + importObject.WebGL.deleteSync = (ctx, sync) => { alert("deleteSync not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.clientWaitSync = (ctx, sync, flags, timeout) => { + // expiramental WebGL2 + importObject.WebGL.clientWaitSync = (ctx, sync, flags, timeout) => { alert("clientWaitSync not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.waitSync = (ctx, sync, flags, timeout) => { + // expiramental WebGL2 + importObject.WebGL.waitSync = (ctx, sync, flags, timeout) => { alert("waitSync not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getSyncParameter = (ctx, sync, pname) => { + // expiramental WebGL2 + importObject.WebGL.getSyncParameter = (ctx, sync, pname) => { alert("getSyncParameter not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.createTransformFeedback = (ctx) => { + // expiramental WebGL2 + importObject.WebGL.createTransformFeedback = (ctx) => { alert("createTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.deleteTransformFeedback = (ctx, tf) => { + // expiramental WebGL2 + importObject.WebGL.deleteTransformFeedback = (ctx, tf) => { alert("deleteTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.isTransformFeedback = (ctx, tf) => { + // expiramental WebGL2 + importObject.WebGL.isTransformFeedback = (ctx, tf) => { alert("isTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.bindTransformFeedback = (ctx, target, tf) => { + // expiramental WebGL2 + importObject.WebGL.bindTransformFeedback = (ctx, target, tf) => { alert("bindTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.beginTransformFeedback = (ctx, primitiveMode) => { + // expiramental WebGL2 + importObject.WebGL.beginTransformFeedback = (ctx, primitiveMode) => { alert("beginTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.endTransformFeedback = (ctx) => { + // expiramental WebGL2 + importObject.WebGL.endTransformFeedback = (ctx) => { alert("endTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.transformFeedbackVaryings = (ctx, program, varyings, bufferMode) => { + // expiramental WebGL2 + importObject.WebGL.transformFeedbackVaryings = (ctx, program, varyings, bufferMode) => { alert("transformFeedbackVaryings not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getTransformFeedbackVarying = (ctx, program, index) => { + // expiramental WebGL2 + importObject.WebGL.getTransformFeedbackVarying = (ctx, program, index) => { alert("getTransformFeedbackVarying not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.pauseTransformFeedback = (ctx) => { + // expiramental WebGL2 + importObject.WebGL.pauseTransformFeedback = (ctx) => { alert("pauseTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.resumeTransformFeedback = (ctx) => { + // expiramental WebGL2 + importObject.WebGL.resumeTransformFeedback = (ctx) => { alert("resumeTransformFeedback not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.bindBufferBase = (ctx, target, index, buffer) => { + // expiramental WebGL2 + importObject.WebGL.bindBufferBase = (ctx, target, index, buffer) => { alert("bindBufferBase not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.bindBufferRange = (ctx, target, index, buffer, offset, size) => { + // expiramental WebGL2 + importObject.WebGL.bindBufferRange = (ctx, target, index, buffer, offset, size) => { alert("bindBufferRange not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getIndexedParameter = (ctx, target, index) => { + // expiramental WebGL2 + importObject.WebGL.getIndexedParameter = (ctx, target, index) => { alert("getIndexedParameter not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getUniformIndices = (ctx, program, uniformNames) => { + // expiramental WebGL2 + importObject.WebGL.getUniformIndices = (ctx, program, uniformNames) => { alert("getUniformIndices not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getActiveUniforms = (ctx, program, uniformIndices, pname) => { + // expiramental WebGL2 + importObject.WebGL.getActiveUniforms = (ctx, program, uniformIndices, pname) => { alert("getActiveUniforms not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getUniformBlockIndex = (ctx, program, uniformBlockName) => { + // expiramental WebGL2 + importObject.WebGL.getUniformBlockIndex = (ctx, program, uniformBlockName) => { alert("getUniformBlockIndex not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getActiveUniformBlockParameter = (ctx, program, uniformBlockIndex, pname) => { + // expiramental WebGL2 + importObject.WebGL.getActiveUniformBlockParameter = (ctx, program, uniformBlockIndex, pname) => { alert("getActiveUniformBlockParameter not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.getActiveUniformBlockName = (ctx, program, uniformBlockIndex) => { + // expiramental WebGL2 + importObject.WebGL.getActiveUniformBlockName = (ctx, program, uniformBlockIndex) => { alert("getActiveUniformBlockName not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.uniformBlockBinding = (ctx, program, uniformBlockIndex, uniformBlockBinding) => { + // expiramental WebGL2 + importObject.WebGL.uniformBlockBinding = (ctx, program, uniformBlockIndex, uniformBlockBinding) => { alert("uniformBlockBinding not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.createVertexArray = (ctx) => { + // expiramental WebGL2 + importObject.WebGL.createVertexArray = (ctx) => { alert("createVertexArray not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.deleteVertexArray = (ctx, vertexArray) => { + // expiramental WebGL2 + importObject.WebGL.deleteVertexArray = (ctx, vertexArray) => { alert("deleteVertexArray not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.isVertexArray = (ctx, vertexArray) => { + // expiramental WebGL2 + importObject.WebGL.isVertexArray = (ctx, vertexArray) => { alert("isVertexArray not implemented (expiramental)"); } - // expiramental webgl2 - importObject.webgl.bindVertexArray = (ctx, vertexArray) => { + // expiramental WebGL2 + importObject.WebGL.bindVertexArray = (ctx, vertexArray) => { alert("bindVertexArray not implemented (expiramental)"); } diff --git a/src/examples/AnimationTexture/texture_animation.ts b/src/examples/AnimationTexture/texture_animation.ts index d054dab..a2ad554 100644 --- a/src/examples/AnimationTexture/texture_animation.ts +++ b/src/examples/AnimationTexture/texture_animation.ts @@ -3,23 +3,8 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, uniform1i, - createTexture, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, - ImageData, createImage, imageReady, - pixelStorei, activeTexture, bindTexture, - texParameteri, texImage2D, TEXTURE0, TEXTURE_2D, - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, DEPTH_TEST, - enable, blendFunc, - TEXTURE_MIN_FILTER, TEXTURE_MAG_FILTER, NEAREST, RGB, - UNSIGNED_BYTE, UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, -} from '../../webgl' + WebGLRenderingContext +} from '../../WebGL' const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; @@ -50,41 +35,41 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); // ImageData, createImage, imageReady, -var image_id: ImageData = createImage('kaijunicorn.png'); +var image_id = gl.createImage('kaijunicorn.png'); var image_ready: bool = false; -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); -let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); -enableVertexAttribArray(gl, tex_coord_al); +let tex_coord_al = gl.getAttribLocation(program, 'tex_coord'); +gl.enableVertexAttribArray(tex_coord_al); -enable(gl, BLEND); -blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); +gl.enable(gl.BLEND); +gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); let frame_num = 0; // frame 44 x 198 @@ -105,28 +90,28 @@ let frame_3: StaticArray = [-0.15, -0.2, 0.0, 0.66, 0.15, 0.2, 0.95, 0.999,]; -let texture = createTexture(gl); -let sampler = getUniformLocation(gl, program, 'sampler'); +let texture = gl.createTexture(); +let sampler = gl.getUniformLocation(program, 'sampler'); let time_left: i32 = 100; export function displayLoop(delta: i32): void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); if (image_ready == false) { - if (imageReady(image_id) == false) { + if (gl.imageReady(image_id) == false) { return; } - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1); + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, image_id); - uniform1i(gl, sampler, 0); + gl.uniform1i(sampler, 0); image_ready = true; } @@ -145,22 +130,22 @@ export function displayLoop(delta: i32): void { if (frame_num == 0) { - bufferData(gl, ARRAY_BUFFER, frame_3, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, frame_3, gl.STATIC_DRAW); } else if (frame_num == 1) { - bufferData(gl, ARRAY_BUFFER, frame_2, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, frame_2, gl.STATIC_DRAW); } else if (frame_num == 2) { - bufferData(gl, ARRAY_BUFFER, frame_3, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, frame_3, gl.STATIC_DRAW); } else { - bufferData(gl, ARRAY_BUFFER, frame_1, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, frame_1, gl.STATIC_DRAW); } //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0); - vertexAttribPointer(gl, tex_coord_al, 2, FLOAT, false, 16, 8); + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 16, 0); + gl.vertexAttribPointer(tex_coord_al, 2, gl.FLOAT, false, 16, 8); - drawArrays(gl, TRIANGLE_STRIP, 0, frame_1.length / 4); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, frame_1.length / 4); } \ No newline at end of file diff --git a/src/examples/ColorTriangle/color_triangle.ts b/src/examples/ColorTriangle/color_triangle.ts index f396af5..f419f42 100644 --- a/src/examples/ColorTriangle/color_triangle.ts +++ b/src/examples/ColorTriangle/color_triangle.ts @@ -3,17 +3,8 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - uniform4fv, linkProgram, WebGLRenderingContext, - createBuffer, WebGLBuffer, ARRAY_BUFFER, LINK_STATUS, COMPILE_STATUS, - STATIC_DRAW, GLint, FLOAT, LINE_LOOP, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - getProgramInfoLog, getShaderInfoLog, clearColor, clear, - bufferData, getAttribLocation, drawArrays, getShaderParameter, - vertexAttribPointer, GLuint, TRIANGLE_STRIP, -} from '../../webgl' + WebGLRenderingContext +} from '../../WebGL' const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; @@ -39,31 +30,31 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); +let position_al = gl.getAttribLocation(program, 'position'); -let color_al = getAttribLocation(gl, program, 'color'); +let color_al = gl.getAttribLocation(program, 'color'); // X Y R G B let line_data: StaticArray = [0.0, 0.5, 1.0, 0.0, 0.0, @@ -71,21 +62,21 @@ let line_data: StaticArray = [0.0, 0.5, 1.0, 0.0, 0.0, 0.5, -0.5, 0.0, 0.0, 1.0, ]; -enableVertexAttribArray(gl, position_al); -enableVertexAttribArray(gl, color_al); +gl.enableVertexAttribArray(position_al); +gl.enableVertexAttribArray(color_al); export function displayLoop(delta: i32): void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, line_data, gl.STATIC_DRAW); //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 20, 0); - vertexAttribPointer(gl, color_al, 3, FLOAT, false, 20, 8); + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 20, 0); + gl.vertexAttribPointer(color_al, 3, gl.FLOAT, false, 20, 8); - drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length / 5); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, line_data.length / 5); } \ No newline at end of file diff --git a/src/examples/ColorTriangleRotate/color_triangle_rotate.ts b/src/examples/ColorTriangleRotate/color_triangle_rotate.ts index 13e188f..888db79 100644 --- a/src/examples/ColorTriangleRotate/color_triangle_rotate.ts +++ b/src/examples/ColorTriangleRotate/color_triangle_rotate.ts @@ -3,16 +3,8 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, -} from '../../webgl' + WebGLRenderingContext +} from '../../WebGL' const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; @@ -38,31 +30,31 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); +let position_al = gl.getAttribLocation(program, 'position'); -let color_al = getAttribLocation(gl, program, 'color'); +let color_al = gl.getAttribLocation(program, 'color'); // X Y R G B let line_data: StaticArray = [0.0, 0.5, 1.0, 0.0, 0.0, @@ -70,8 +62,8 @@ let line_data: StaticArray = [0.0, 0.5, 1.0, 0.0, 0.0, 0.55, -0.5, 0.0, 0.0, 1.0, ]; -enableVertexAttribArray(gl, position_al); -enableVertexAttribArray(gl, color_al); +gl.enableVertexAttribArray(position_al); +gl.enableVertexAttribArray(color_al); @@ -94,15 +86,15 @@ export function displayLoop(delta: i32): void { let r: f32 = delta / 10000.0; rotate(r); - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, line_data, DYNAMIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, line_data, gl.DYNAMIC_DRAW); //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 20, 0); - vertexAttribPointer(gl, color_al, 3, FLOAT, false, 20, 8); + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 20, 0); + gl.vertexAttribPointer(color_al, 3, gl.FLOAT, false, 20, 8); - drawArrays(gl, TRIANGLE_STRIP, 0, line_data.length / 5); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, line_data.length / 5); } \ No newline at end of file diff --git a/src/examples/Cube/cube.ts b/src/examples/Cube/cube.ts index 56687ca..df644a8 100644 --- a/src/examples/Cube/cube.ts +++ b/src/examples/Cube/cube.ts @@ -3,16 +3,8 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLE_STRIP, GREATER -} from '../../webgl' + WebGLRenderingContext, WebGLShader, WebGLProgram +} from '../../WebGL' const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; @@ -46,35 +38,35 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); -let color_al = getAttribLocation(gl, program, 'color'); -enableVertexAttribArray(gl, color_al); +let color_al = gl.getAttribLocation(program, 'color'); +gl.enableVertexAttribArray(color_al); -enable(gl, DEPTH_TEST); +gl.enable(gl.DEPTH_TEST); // X Y Z R G B let cube_data: StaticArray> = @@ -130,16 +122,16 @@ export function displayLoop(delta: i32): void { let r: f32 = delta / 10000.0; rotate(r); - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); for (var i: i32 = 0; i < 6; i++) { - bufferData(gl, ARRAY_BUFFER, cube_data[i], DYNAMIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, cube_data[i], gl.DYNAMIC_DRAW); // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); - vertexAttribPointer(gl, color_al, 3, FLOAT, false, 24, 12); - drawArrays(gl, TRIANGLE_STRIP, 0, 4); + gl.vertexAttribPointer(position_al, 3, gl.FLOAT, false, 24, 0); + gl.vertexAttribPointer(color_al, 3, gl.FLOAT, false, 24, 12); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4); } } \ No newline at end of file diff --git a/src/examples/HelloWorldTriangle/triangle.ts b/src/examples/HelloWorldTriangle/triangle.ts index 5c57511..ee57e31 100644 --- a/src/examples/HelloWorldTriangle/triangle.ts +++ b/src/examples/HelloWorldTriangle/triangle.ts @@ -3,18 +3,10 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, WebGLBuffer, - createBuffer, ARRAY_BUFFER, GLint, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = /*glsl*/ `#version 300 es + WebGLRenderingContext, WebGLShader, WebGLProgram, WebGLBuffer, GLint, +} from '../../WebGL' + +const VERTEX_SHADER_CODE: string = /*glsl*/ `#version 300 es precision highp float; in vec2 position; @@ -24,7 +16,7 @@ const VERTEX_SHADER_CODE:string = /*glsl*/ `#version 300 es } `; -const FRAGMENT_SHADER_CODE:string = /*glsl*/ `#version 300 es +const FRAGMENT_SHADER_CODE: string = /*glsl*/ `#version 300 es precision highp float; out vec4 color; @@ -33,46 +25,46 @@ const FRAGMENT_SHADER_CODE:string = /*glsl*/ `#version 300 es } `; - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); +// initialize webgl +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); - let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); - let program:WebGLProgram = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); - linkProgram( gl, program ); +gl.linkProgram(program); - useProgram( gl, program ); +gl.useProgram(program); - let buffer:WebGLBuffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - let position_al:GLint = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); - let triangle_data: StaticArray = [0.0,0.5, - -0.5,-0.5, - 0.5,-0.5,]; +let triangle_data: StaticArray = [0.0, 0.5, + -0.5, -0.5, + 0.5, -0.5,]; - export function displayLoop():void { - // R G B A - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); +export function displayLoop(): void { + // R G B A + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, triangle_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, triangle_data, gl.STATIC_DRAW); - // attribute | dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 0, 0 ); + // attribute | dimensions | data_type | normalize | stride | offset + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 0, 0); - // mode | first vertex | count - drawArrays(gl, TRIANGLE_STRIP, 0, 3 ); - } + // mode | first vertex | count + gl.drawArrays(gl.TRIANGLE_STRIP, 0, 3); +} diff --git a/src/examples/Lines/render_lines.ts b/src/examples/Lines/render_lines.ts index e54e1fb..fa75250 100644 --- a/src/examples/Lines/render_lines.ts +++ b/src/examples/Lines/render_lines.ts @@ -1,17 +1,10 @@ + import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - uniform4fv, linkProgram, WebGLRenderingContext, - createBuffer, WebGLBuffer, ARRAY_BUFFER, LINK_STATUS, COMPILE_STATUS, - STATIC_DRAW, GLint, FLOAT, LINE_LOOP, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - getProgramInfoLog, getShaderInfoLog, clearColor, clear, - bufferData, getAttribLocation, drawArrays, getShaderParameter, - vertexAttribPointer, GLuint, -} from '../../webgl' - -const V_COLOR_LINE_SHADER:string = /*glsl*/ `#version 300 es + WebGLRenderingContext, WebGLShader, WebGLProgram, + WebGLBuffer, GLint, WebGLUniformLocation, +} from '../../WebGL' + +const V_COLOR_LINE_SHADER: string = /*glsl*/ `#version 300 es precision highp float; uniform vec4 u_color; @@ -26,7 +19,7 @@ const V_COLOR_LINE_SHADER:string = /*glsl*/ `#version 300 es `; // THIS IS THE FRAGMENT SHADER -const F_SHADER:string = /*glsl*/ `#version 300 es +const F_SHADER: string = /*glsl*/ `#version 300 es precision highp float; in vec4 c; @@ -37,86 +30,86 @@ const F_SHADER:string = /*glsl*/ `#version 300 es } `; -var theta:f32 = 0.0; +var theta: f32 = 0.0; var loop_color: StaticArray> = [ - [0.0, 255.0, 0.0, 255.0], // default layer color - [255.0, 255.0, 0.0, 255.0], // cockpit layer color - [0.0, 255.0, 0.0, 255.0], // wings layer color - [0.0, 255.0, 0.0, 255.0], // wings2 layer color - [255.0, 0.0, 0.0, 255.0], // engine layer color - [0.0, 255.0, 0.0, 255.0], // recoloration layer color + [0.0, 255.0, 0.0, 255.0], // default layer color + [255.0, 255.0, 0.0, 255.0], // cockpit layer color + [0.0, 255.0, 0.0, 255.0], // wings layer color + [0.0, 255.0, 0.0, 255.0], // wings2 layer color + [255.0, 0.0, 0.0, 255.0], // engine layer color + [0.0, 255.0, 0.0, 255.0], // recoloration layer color ]; -var program_id:i32 = -1; -var default_layer: StaticArray = [-0.1,0.4,-0.2,0,0,-0.3,0.2,0,0.1,0.4,0.2,0.3,0,0.9,-0.2,0.3]; +var program_id: i32 = -1; +var default_layer: StaticArray = [-0.1, 0.4, -0.2, 0, 0, -0.3, 0.2, 0, 0.1, 0.4, 0.2, 0.3, 0, 0.9, -0.2, 0.3]; -var cockpit_layer: StaticArray = [-0.1,0.1,0,0.6,0.1,0.1]; +var cockpit_layer: StaticArray = [-0.1, 0.1, 0, 0.6, 0.1, 0.1]; -var wings_layer: StaticArray = [0.7,0.2,0.2,0,0,-0.3]; +var wings_layer: StaticArray = [0.7, 0.2, 0.2, 0, 0, -0.3]; -var wings2_layer: StaticArray = [0,-0.3,-0.2,0,-0.7,0.2]; +var wings2_layer: StaticArray = [0, -0.3, -0.2, 0, -0.7, 0.2]; -var engine_layer: StaticArray = [-0.1,-0.2,-0.1,-0.3,0.1,-0.3,0.1,-0.2,0,-0.6]; +var engine_layer: StaticArray = [-0.1, -0.2, -0.1, -0.3, 0.1, -0.3, 0.1, -0.2, 0, -0.6]; -var recoloration_layer: StaticArray = [0.2,0,0,-0.3,-0.2,0,0,-0.3]; +var recoloration_layer: StaticArray = [0.2, 0, 0, -0.3, -0.2, 0, 0, -0.3]; -var layer_array: StaticArray> = [default_layer, cockpit_layer, - wings_layer, wings2_layer, - engine_layer, recoloration_layer]; +var layer_array: StaticArray> = [default_layer, cockpit_layer, + wings_layer, wings2_layer, + engine_layer, recoloration_layer]; var color_line_program: WebGLProgram; var gl: WebGLRenderingContext; export function init(): void { - gl = createContextFromCanvas('cnvs', 'webgl2'); - let color_line_vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); - shaderSource(gl, color_line_vertex_shader, V_COLOR_LINE_SHADER); - compileShader(gl, color_line_vertex_shader); + gl = new WebGLRenderingContext('cnvs', 'webgl2'); + let color_line_vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); + gl.shaderSource(color_line_vertex_shader, V_COLOR_LINE_SHADER); + gl.compileShader(color_line_vertex_shader); - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, F_SHADER); - compileShader( gl, fragment_shader ); + let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); + gl.shaderSource(fragment_shader, F_SHADER); + gl.compileShader(fragment_shader); - color_line_program = createProgram(gl); + color_line_program = gl.createProgram(); - attachShader(gl, color_line_program, color_line_vertex_shader); - attachShader(gl, color_line_program, fragment_shader); + gl.attachShader(color_line_program, color_line_vertex_shader); + gl.attachShader(color_line_program, fragment_shader); - linkProgram( gl, color_line_program ); + gl.linkProgram(color_line_program); - useProgram( gl, color_line_program ); + gl.useProgram(color_line_program); // could use mutable import // let color_location: WebGLUniformLocation = getUniformLocation(gl, color_line_program, "u_color"); } /*Array*/ -function drawLines(line_data: StaticArray, color_data: StaticArray):void { - let buffer:WebGLBuffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); +function drawLines(line_data: StaticArray, color_data: StaticArray): void { + let buffer: WebGLBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, buffer); store(changetype(line_data) - 8, idof>()); - bufferData(gl, ARRAY_BUFFER, line_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, line_data, gl.STATIC_DRAW); - let position_al: GLint = getAttribLocation(gl, color_line_program, 'position'); - enableVertexAttribArray(gl, position_al); + let position_al: GLint = gl.getAttribLocation(color_line_program, 'position'); + gl.enableVertexAttribArray(position_al); - let color_location:WebGLUniformLocation = getUniformLocation(gl, color_line_program, "u_color"); + let color_location: WebGLUniformLocation = gl.getUniformLocation(color_line_program, "u_color"); store(changetype(color_data) - 8, idof>()); - uniform4fv(gl, color_location, color_data); + gl.uniform4fv(color_location, color_data); - const dimensions:i32 = 2; - const data_type: i32 = FLOAT; + const dimensions: i32 = 2; + const data_type: i32 = gl.FLOAT; const normalize: i32 = false; - const stride:i32 = 0; - const offset:i32 = 0; + const stride: i32 = 0; + const offset: i32 = 0; - vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + gl.vertexAttribPointer(position_al, dimensions, data_type, normalize, stride, offset); - drawArrays(gl, LINE_LOOP, 0, line_data.length/2); + gl.drawArrays(gl.LINE_LOOP, 0, line_data.length / 2); } -export function animation_frame():void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); +export function animation_frame(): void { + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); theta += 0.01; if (theta >= 6.28318) { @@ -125,10 +118,10 @@ export function animation_frame():void { animation(0.001); - for (var i:i32 = 0; i < layer_array.length; i++) { + for (var i: i32 = 0; i < layer_array.length; i++) { let loop_size: i32 = layer_array[i].length; - let layer:StaticArray = layer_array[i]; //, + let layer: StaticArray = layer_array[i]; //, let color: StaticArray = loop_color[i]; drawLines(layer, color); @@ -136,22 +129,22 @@ export function animation_frame():void { } -export function animation(theta: f32) : void { //u32 { +export function animation(theta: f32): void { //u32 { - for( var ship_i:i32 = 0; ship_i < layer_array.length; ship_i++) { + for (var ship_i: i32 = 0; ship_i < layer_array.length; ship_i++) { const layer = layer_array[ship_i]; const ship_loop_size = layer.length; - for( var coord_i: i32 = 0; coord_i < ship_loop_size; coord_i += 2 ) { - let x:f32 = layer[coord_i]; - let y:f32 = layer[coord_i+1]; + for (var coord_i: i32 = 0; coord_i < ship_loop_size; coord_i += 2) { + let x: f32 = layer[coord_i]; + let y: f32 = layer[coord_i + 1]; - let x1:f32 = x * Math.cos(theta) - y * Math.sin(theta); + let x1: f32 = x * Math.cos(theta) - y * Math.sin(theta); - let y1:f32 = y * Math.cos(theta) + x * Math.sin(theta); + let y1: f32 = y * Math.cos(theta) + x * Math.sin(theta); layer[coord_i] = x1; - layer[coord_i+1] = y1; + layer[coord_i + 1] = y1; } } return; diff --git a/src/examples/Material/obj_mat.ts b/src/examples/Material/obj_mat.ts index 842d672..650577a 100644 --- a/src/examples/Material/obj_mat.ts +++ b/src/examples/Material/obj_mat.ts @@ -3,17 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER, uniform3f, -} from '../../webgl' - + WebGLRenderingContext, WebGLShader, WebGLProgram, + WebGLBuffer, GLint, WebGLUniformLocation, +} from '../../WebGL' import { objArray, matArray, groupArray, VertGroup, @@ -60,38 +52,38 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); -let normal_al = getAttribLocation(gl, program, 'normal'); -enableVertexAttribArray(gl, normal_al); +let normal_al: GLint = gl.getAttribLocation(program, 'normal'); +gl.enableVertexAttribArray(normal_al); -let diffuse = getUniformLocation(gl, program, 'diffuse'); +let diffuse: WebGLUniformLocation = gl.getUniformLocation(program, 'diffuse'); //diffuse -enable(gl, DEPTH_TEST); +gl.enable(gl.DEPTH_TEST); function rotate(theta: f32): void { //u32 { for (var obj_i: i32 = 0; obj_i < objArray.length; obj_i++) { @@ -125,21 +117,21 @@ export function displayLoop(delta: i32): void { let r: f32 = delta / 10000.0; rotate(r); - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); for (var g_i: i32 = 0; g_i < groupArray.length; g_i++) { vGroup = groupArray[g_i]; - bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, objArray[vGroup.obj_index], gl.DYNAMIC_DRAW); let diffuse_r: f32 = matArray[vGroup.mat_index][4]; let diffuse_g: f32 = matArray[vGroup.mat_index][5]; let diffuse_b: f32 = matArray[vGroup.mat_index][6]; - uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); + gl.uniform3f(diffuse, diffuse_r, diffuse_g, diffuse_b); // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); + gl.vertexAttribPointer(position_al, 3, gl.FLOAT, false, 32, 0); // vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); - drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + gl.vertexAttribPointer(normal_al, 3, gl.FLOAT, false, 32, 20); + gl.drawArrays(gl.TRIANGLES, vGroup.start_face, vGroup.length); } } \ No newline at end of file diff --git a/src/examples/MousePoint/mouse_point.ts b/src/examples/MousePoint/mouse_point.ts index 1ef8e49..9d2db9c 100644 --- a/src/examples/MousePoint/mouse_point.ts +++ b/src/examples/MousePoint/mouse_point.ts @@ -3,17 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - STATIC_DRAW, DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, POINTS, enable, blendFunc, - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, -} from '../../webgl' + WebGLRenderingContext, WebGLShader, WebGLProgram, + WebGLBuffer, GLint, WebGLUniformLocation, +} from '../../WebGL' // SRC_ALPHA // ONE_MINUS_SRC_ALPHA @@ -92,35 +84,35 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es // initialize webgl var second_delta: f32 = 0.0; -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); -let alpha_al = getAttribLocation(gl, program, 'alpha'); -enableVertexAttribArray(gl, alpha_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); +let alpha_al: GLint = gl.getAttribLocation(program, 'alpha'); +gl.enableVertexAttribArray(alpha_al); -enable(gl, BLEND); -blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); +gl.enable(gl.BLEND); +gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); let point_index: i32 = 0; @@ -159,15 +151,15 @@ export function displayLoop(delta: i32, mouse_x: f32, mouse_y: f32): void { prev_y = mouse_y; } - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, point_data, DYNAMIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, point_data, gl.DYNAMIC_DRAW); //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 12, 0); - vertexAttribPointer(gl, alpha_al, 1, FLOAT, false, 12, 8); + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 12, 0); + gl.vertexAttribPointer(alpha_al, 1, gl.FLOAT, false, 12, 8); - drawArrays(gl, POINTS, 0, point_list.length); + gl.drawArrays(gl.POINTS, 0, point_list.length); } \ No newline at end of file diff --git a/src/examples/NormalModel/obj_norm.ts b/src/examples/NormalModel/obj_norm.ts index 7840a53..1ad4318 100644 --- a/src/examples/NormalModel/obj_norm.ts +++ b/src/examples/NormalModel/obj_norm.ts @@ -3,20 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, imageReady, - createBuffer, ARRAY_BUFFER, - createTexture, createImage, ImageData, pixelStorei, activeTexture, - bindTexture, texParameteri, texImage2D, uniform1i, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, TEXTURE1, - TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER, uniform3f, -} from '../../webgl' + WebGLRenderingContext, WebGLShader, WebGLProgram, ImageData, + WebGLBuffer, GLint, WebGLUniformLocation, WebGLTexture, +} from '../../WebGL' import { @@ -24,7 +13,7 @@ import { } from './Moon_Sphere' // OG CODE -const VERTEX_SHADER_CODE:string = `#version 300 es +const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; in vec3 position; @@ -73,7 +62,7 @@ void main() { }`; // this shader is super kludgy -const FRAGMENT_SHADER_CODE:string = `#version 300 es +const FRAGMENT_SHADER_CODE: string = `#version 300 es precision highp float; uniform sampler2D normalMap; uniform sampler2D sampler; @@ -99,125 +88,118 @@ void main (void) }`; - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); +// initialize webgl +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); - let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); - linkProgram( gl, program ); +gl.linkProgram(program); - useProgram( gl, program ); +gl.useProgram(program); - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); - let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); - enableVertexAttribArray(gl, tex_uv_al); +let tex_uv_al: GLint = gl.getAttribLocation(program, 'tex_uv'); +gl.enableVertexAttribArray(tex_uv_al); - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); +let normal_al: GLint = gl.getAttribLocation(program, 'normal'); +gl.enableVertexAttribArray(normal_al); -// let diffuse = getUniformLocation( gl, program, 'diffuse' ); +let texture: WebGLTexture = gl.createTexture(); +let sampler: WebGLUniformLocation = gl.getUniformLocation(program, 'sampler'); - let texture = createTexture(gl); - let sampler = getUniformLocation( gl, program, 'sampler' ); +let texture_n: WebGLTexture = gl.createTexture(); +let tex_norm: WebGLUniformLocation = gl.getUniformLocation(program, 'normalMap'); - let texture_n = createTexture(gl); - let tex_norm = getUniformLocation( gl, program, 'normalMap' ); +var image_id: ImageData = gl.createImage(matMapArray[0].diffuse); +var norm_image_id: ImageData = gl.createImage(matMapArray[0].bump); - var image_id: ImageData = createImage(matMapArray[0].diffuse); - var norm_image_id: ImageData = createImage(matMapArray[0].bump); - - var image_ready: bool = false; +var image_ready: bool = false; //diffuse - enable(gl, DEPTH_TEST); +gl.enable(gl.DEPTH_TEST); -function rotate(theta: f32) : void { //u32 { - for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { - for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { +function rotate(theta: f32): void { //u32 { + for (var obj_i: i32 = 0; obj_i < objArray.length; obj_i++) { + for (var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8) { - let x:f32 = objArray[obj_i][coord_i]; - let z:f32 = objArray[obj_i][coord_i+2]; + let x: f32 = objArray[obj_i][coord_i]; + let z: f32 = objArray[obj_i][coord_i + 2]; - let nx:f32 = objArray[obj_i][coord_i+5]; - let nz:f32 = objArray[obj_i][coord_i+7]; + let nx: f32 = objArray[obj_i][coord_i + 5]; + let nz: f32 = objArray[obj_i][coord_i + 7]; - let x1:f32 = x * Mathf.cos(theta) + z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) - x * Mathf.sin(theta); + let x1: f32 = x * Mathf.cos(theta) + z * Mathf.sin(theta); + let z1: f32 = z * Mathf.cos(theta) - x * Mathf.sin(theta); - let nx1:f32 = nx * Mathf.cos(theta) + nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) - nx * Mathf.sin(theta); + let nx1: f32 = nx * Mathf.cos(theta) + nz * Mathf.sin(theta); + let nz1: f32 = nz * Mathf.cos(theta) - nx * Mathf.sin(theta); objArray[obj_i][coord_i] = x1; - objArray[obj_i][coord_i+2] = z1; + objArray[obj_i][coord_i + 2] = z1; - objArray[obj_i][coord_i+5] = nx1; - objArray[obj_i][coord_i+7] = nz1; + objArray[obj_i][coord_i + 5] = nx1; + objArray[obj_i][coord_i + 7] = nz1; } } return; } - var vGroup: VertGroup; - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - if( image_ready == false ) { - if( imageReady(image_id) == false || imageReady(norm_image_id) == false ) { - return; - } - - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); - - activeTexture(gl, TEXTURE1); - bindTexture(gl, TEXTURE_2D, texture_n); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, LINEAR); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, norm_image_id); - - uniform1i(gl, sampler, 0); - image_ready = true; - } +var vGroup: VertGroup; +export function displayLoop(delta: i32): void { + let r: f32 = delta / 10000.0; + rotate(r); - for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { - vGroup = groupArray[g_i]; - bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); -/* - let diffuse_r: f32 = matArray[vGroup.mat_index][4]; - let diffuse_g: f32 = matArray[vGroup.mat_index][5]; - let diffuse_b: f32 = matArray[vGroup.mat_index][6]; - uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); -*/ - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); - vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); - drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); + + if (image_ready == false) { + if (gl.imageReady(image_id) == false || gl.imageReady(norm_image_id) == false) { + return; } - } \ No newline at end of file + + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1); + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, image_id); + + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, texture_n); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, norm_image_id); + + gl.uniform1i(sampler, 0); + image_ready = true; + } + + for (var g_i: i32 = 0; g_i < groupArray.length; g_i++) { + vGroup = groupArray[g_i]; + gl.bufferData(gl.ARRAY_BUFFER, objArray[vGroup.obj_index], gl.DYNAMIC_DRAW); + + // dimensions | data_type | normalize | stride | offset + gl.vertexAttribPointer(position_al, 3, gl.FLOAT, false, 32, 0); + gl.vertexAttribPointer(tex_uv_al, 2, gl.FLOAT, false, 32, 12); + gl.vertexAttribPointer(normal_al, 3, gl.FLOAT, false, 32, 20); + gl.drawArrays(gl.TRIANGLES, vGroup.start_face, vGroup.length); + } +} \ No newline at end of file diff --git a/src/examples/Obj/obj.ts b/src/examples/Obj/obj.ts index b365720..7ab83de 100644 --- a/src/examples/Obj/obj.ts +++ b/src/examples/Obj/obj.ts @@ -3,22 +3,16 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER -} from '../../webgl' + WebGLRenderingContext, WebGLShader, WebGLProgram, ImageData, + WebGLBuffer, GLint, WebGLUniformLocation, +} from '../../WebGL' + import { Suzanne_data } from './Suzanne' -const VERTEX_SHADER_CODE:string = `#version 300 es +const VERTEX_SHADER_CODE: string = `#version 300 es precision mediump float; in vec3 position; @@ -43,7 +37,7 @@ const VERTEX_SHADER_CODE:string = `#version 300 es `; // THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es +const FRAGMENT_SHADER_CODE: string = `#version 300 es precision highp float; in vec4 c; out vec4 color; @@ -53,76 +47,76 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es } `; - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); +// initialize webgl +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); - let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); - linkProgram( gl, program ); +gl.linkProgram(program); - useProgram( gl, program ); +gl.useProgram(program); - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); +let normal_al: GLint = gl.getAttribLocation(program, 'normal'); +gl.enableVertexAttribArray(normal_al); - enable(gl, DEPTH_TEST); +gl.enable(gl.DEPTH_TEST); - // I'M DUPLICATING A LOT OF VERTICES HERE. - // INDEXES WOULD BE BETTER +// I'M DUPLICATING A LOT OF VERTICES HERE. +// INDEXES WOULD BE BETTER -function rotate(theta: f32) : void { //u32 { - for( var coord_i: i32 = 0; coord_i < Suzanne_data.length; coord_i += 6 ) { - let x:f32 = Suzanne_data[coord_i]; - let z:f32 = Suzanne_data[coord_i+2]; +function rotate(theta: f32): void { //u32 { + for (var coord_i: i32 = 0; coord_i < Suzanne_data.length; coord_i += 6) { + let x: f32 = Suzanne_data[coord_i]; + let z: f32 = Suzanne_data[coord_i + 2]; - let nx:f32 = Suzanne_data[coord_i+3]; - let nz:f32 = Suzanne_data[coord_i+5]; + let nx: f32 = Suzanne_data[coord_i + 3]; + let nz: f32 = Suzanne_data[coord_i + 5]; - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + let x1: f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1: f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); - let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + let nx1: f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1: f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); Suzanne_data[coord_i] = x1; - Suzanne_data[coord_i+2] = z1; + Suzanne_data[coord_i + 2] = z1; - Suzanne_data[coord_i+3] = nx1; - Suzanne_data[coord_i+5] = nz1; + Suzanne_data[coord_i + 3] = nx1; + Suzanne_data[coord_i + 5] = nz1; } return; } - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); +export function displayLoop(delta: i32): void { + let r: f32 = delta / 10000.0; + rotate(r); - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, Suzanne_data, DYNAMIC_DRAW); - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); - drawArrays(gl, TRIANGLES, 0, Suzanne_data.length / 6); + gl.bufferData(gl.ARRAY_BUFFER, Suzanne_data, gl.DYNAMIC_DRAW); + // dimensions | data_type | normalize | stride | offset + gl.vertexAttribPointer(position_al, 3, gl.FLOAT, false, 24, 0); + gl.vertexAttribPointer(normal_al, 3, gl.FLOAT, false, 24, 12); + gl.drawArrays(gl.TRIANGLES, 0, Suzanne_data.length / 6); - } \ No newline at end of file +} \ No newline at end of file diff --git a/src/examples/Quad/quad.ts b/src/examples/Quad/quad.ts index 736a8b8..3a80af1 100644 --- a/src/examples/Quad/quad.ts +++ b/src/examples/Quad/quad.ts @@ -3,16 +3,10 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, -} from '../../webgl' + WebGLRenderingContext, WebGLShader, WebGLProgram, ImageData, + WebGLBuffer, GLint, WebGLUniformLocation, +} from '../../WebGL' + const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; @@ -34,30 +28,30 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); let quad_data: StaticArray = [-0.5, -0.5, -0.5, 0.5, @@ -65,18 +59,18 @@ let quad_data: StaticArray = [-0.5, -0.5, 0.5, 0.5,]; export function displayLoop(delta: i32): void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, quad_data, gl.STATIC_DRAW); const dimensions: i32 = 2; - const data_type: i32 = FLOAT; + const data_type: i32 = gl.FLOAT; const normalize: i32 = false; const stride: i32 = 0; const offset: i32 = 0; - vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + gl.vertexAttribPointer(position_al, dimensions, data_type, normalize, stride, offset); - drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length / 2); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, quad_data.length / 2); } \ No newline at end of file diff --git a/src/examples/QuadFollowMouse/quad_follow_mouse.ts b/src/examples/QuadFollowMouse/quad_follow_mouse.ts index d431908..e7fec44 100644 --- a/src/examples/QuadFollowMouse/quad_follow_mouse.ts +++ b/src/examples/QuadFollowMouse/quad_follow_mouse.ts @@ -1,16 +1,10 @@ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, uniform2f, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = `#version 300 es + WebGLRenderingContext, WebGLShader, WebGLProgram, ImageData, + WebGLBuffer, GLint, WebGLUniformLocation, +} from '../../WebGL' + + +const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; uniform vec2 quad_pos; @@ -22,7 +16,7 @@ const VERTEX_SHADER_CODE:string = `#version 300 es } `; // THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es +const FRAGMENT_SHADER_CODE: string = `#version 300 es precision highp float; out vec4 color; @@ -31,53 +25,53 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es } `; - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); +// initialize webgl +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); - let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); - linkProgram( gl, program ); +gl.linkProgram(program); - useProgram( gl, program ); +gl.useProgram(program); - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); +let position_al = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); - let quad_data: StaticArray = [-0.2,-0.2, - -0.2, 0.2, - 0.2,-0.2, - 0.2, 0.2,]; +let quad_data: StaticArray = [-0.2, -0.2, +-0.2, 0.2, + 0.2, -0.2, + 0.2, 0.2,]; - let quad_pos:WebGLUniformLocation = getUniformLocation(gl, program, "quad_pos"); +let quad_pos: WebGLUniformLocation = gl.getUniformLocation(program, "quad_pos"); - export function moveMouse(mouse_x: f32, mouse_y: f32 ):void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); +export function moveMouse(mouse_x: f32, mouse_y: f32): void { + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, quad_data, gl.STATIC_DRAW); - const dimensions:i32 = 2; - const data_type: i32 = FLOAT; - const normalize: i32 = false; - const stride:i32 = 0; - const offset:i32 = 0; + const dimensions: i32 = 2; + const data_type: i32 = gl.FLOAT; + const normalize: i32 = false; + const stride: i32 = 0; + const offset: i32 = 0; - vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); - uniform2f(gl, quad_pos, mouse_x, mouse_y); + gl.vertexAttribPointer(position_al, dimensions, data_type, normalize, stride, offset); + gl.uniform2f(quad_pos, mouse_x, mouse_y); - drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length/2); - } \ No newline at end of file + gl.drawArrays(gl.TRIANGLE_STRIP, 0, quad_data.length / 2); +} \ No newline at end of file diff --git a/src/examples/SimpleLighting/simple_lighting.ts b/src/examples/SimpleLighting/simple_lighting.ts index 8c9a83b..06f931c 100644 --- a/src/examples/SimpleLighting/simple_lighting.ts +++ b/src/examples/SimpleLighting/simple_lighting.ts @@ -3,16 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER -} from '../../webgl' + WebGLRenderingContext, WebGLShader, + WebGLBuffer, GLint, WebGLProgram, +} from '../../WebGL' const VERTEX_SHADER_CODE: string = `#version 300 es precision mediump float; @@ -50,35 +43,35 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); -let normal_al = getAttribLocation(gl, program, 'normal'); -enableVertexAttribArray(gl, normal_al); +let normal_al: GLint = gl.getAttribLocation(program, 'normal'); +gl.enableVertexAttribArray(normal_al); -enable(gl, DEPTH_TEST); +gl.enable(gl.DEPTH_TEST); // I'M DUPLICATING A LOT OF VERTICES HERE. // INDEXES WOULD BE BETTER @@ -167,14 +160,14 @@ export function displayLoop(delta: i32): void { let r: f32 = delta / 10000.0; rotate(r); - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, cube_data, DYNAMIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, cube_data, gl.DYNAMIC_DRAW); // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 24, 0); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 24, 12); - drawArrays(gl, TRIANGLES, 0, cube_data.length / 6); + gl.vertexAttribPointer(position_al, 3, gl.FLOAT, false, 24, 0); + gl.vertexAttribPointer(normal_al, 3, gl.FLOAT, false, 24, 12); + gl.drawArrays(gl.TRIANGLES, 0, cube_data.length / 6); } \ No newline at end of file diff --git a/src/examples/SpriteLighting/sprite_lighting.ts b/src/examples/SpriteLighting/sprite_lighting.ts index 0791d6e..505f7e6 100644 --- a/src/examples/SpriteLighting/sprite_lighting.ts +++ b/src/examples/SpriteLighting/sprite_lighting.ts @@ -3,25 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, uniform1i, uniform3f, - createTexture, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, - ImageData, createImage, imageReady, - pixelStorei, activeTexture, bindTexture, - texParameteri, texImage2D, TEXTURE0, TEXTURE1, TEXTURE_2D, - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, DEPTH_TEST, - enable, blendFunc, - TEXTURE_MIN_FILTER, TEXTURE_MAG_FILTER, NEAREST, RGB, - UNSIGNED_BYTE, UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, - POINTS, - logi32, logf32, -} from '../../webgl' + WebGLRenderingContext, WebGLShader, ImageData, WebGLUniformLocation, + WebGLBuffer, GLint, WebGLProgram, WebGLTexture, +} from '../../WebGL' const VS_POINT_CODE: string = `#version 300 es in vec2 position; @@ -87,65 +71,65 @@ var light_y: f32 = 0.0; var light_z: f32 = 0.5; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); // ImageData, createImage, imageReady, -var image_id: ImageData = createImage('SpaceShip.png'); -var normal_image_id: ImageData = createImage('SpaceShipN.png'); +var image_id: ImageData = gl.createImage('SpaceShip.png'); +var normal_image_id: ImageData = gl.createImage('SpaceShipN.png'); var image_ready: bool = false; -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); -let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); -enableVertexAttribArray(gl, tex_coord_al); +let tex_coord_al: GLint = gl.getAttribLocation(program, 'tex_coord'); +gl.enableVertexAttribArray(tex_coord_al); -enable(gl, BLEND); -blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); +gl.enable(gl.BLEND); +gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); -let vertex_shader2: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader2, VS_POINT_CODE); -compileShader(gl, vertex_shader2); +let vertex_shader2: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader2, VS_POINT_CODE); +gl.compileShader(vertex_shader2); -let fragment_shader2: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader2, FS_POINT_CODE); -compileShader(gl, fragment_shader2); +let fragment_shader2: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader2, FS_POINT_CODE); +gl.compileShader(fragment_shader2); -let program2 = createProgram(gl); +let program2: WebGLProgram = gl.createProgram(); -attachShader(gl, program2, vertex_shader2); -attachShader(gl, program2, fragment_shader2); +gl.attachShader(program2, vertex_shader2); +gl.attachShader(program2, fragment_shader2); -linkProgram(gl, program2); +gl.linkProgram(program2); -useProgram(gl, program2); +gl.useProgram(program2); -let buffer2 = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer2); +let buffer2: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer2); -let position2_al = getAttribLocation(gl, program2, 'position'); -enableVertexAttribArray(gl, position2_al); +let position2_al: GLint = gl.getAttribLocation(program2, 'position'); +gl.enableVertexAttribArray(position2_al); let quad_data: StaticArray = [ @@ -159,11 +143,11 @@ let light_point: StaticArray = [ 0.0, 0.0, ]; -let texture = createTexture(gl); -let normal_texture = createTexture(gl); -let sampler = getUniformLocation(gl, program, 'sampler'); -let normal_map = getUniformLocation(gl, program, 'normal_map'); -let light_source = getUniformLocation(gl, program, 'light_source'); +let texture: WebGLTexture = gl.createTexture(); +let normal_texture: WebGLTexture = gl.createTexture(); +let sampler: WebGLUniformLocation = gl.getUniformLocation(program, 'sampler'); +let normal_map: WebGLUniformLocation = gl.getUniformLocation(program, 'normal_map'); +let light_source: WebGLUniformLocation = gl.getUniformLocation(program, 'light_source'); function rotateLight(theta: f32): void { //u32 { @@ -183,56 +167,49 @@ export function displayLoop(delta: i32): void { let r: f32 = delta / 1000.0; rotateLight(r); - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); if (image_ready == false) { - if (imageReady(image_id) == false || - imageReady(normal_image_id) == false) { + if (gl.imageReady(image_id) == false || + gl.imageReady(normal_image_id) == false) { return; } - useProgram(gl, program); + gl.useProgram(program); - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1); + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, image_id); - uniform1i(gl, sampler, 0); + gl.uniform1i(sampler, 0); - activeTexture(gl, TEXTURE1); - bindTexture(gl, TEXTURE_2D, normal_texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, normal_image_id); + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, normal_texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, normal_image_id); - uniform1i(gl, normal_map, 1); + gl.uniform1i(normal_map, 1); image_ready = true; } - /* - logi32(11111111); - logf32(light_x); - logf32(light_y); - logf32(light_z); - */ - useProgram(gl, program); + gl.useProgram(program); - uniform3f(gl, light_source, light_x, light_y, light_z); - bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + gl.uniform3f(light_source, light_x, light_y, light_z); + gl.bufferData(gl.ARRAY_BUFFER, quad_data, gl.STATIC_DRAW); //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0); - vertexAttribPointer(gl, tex_coord_al, 2, FLOAT, false, 16, 8); + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 16, 0); + gl.vertexAttribPointer(tex_coord_al, 2, gl.FLOAT, false, 16, 8); - drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length / 4); - - useProgram(gl, program2); - bufferData(gl, ARRAY_BUFFER, light_point, STATIC_DRAW); - vertexAttribPointer(gl, position2_al, 2, FLOAT, false, 8, 0); - drawArrays(gl, POINTS, 0, 1); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, quad_data.length / 4); + gl.useProgram(program2); + gl.bufferData(gl.ARRAY_BUFFER, light_point, gl.STATIC_DRAW); + gl.vertexAttribPointer(position2_al, 2, gl.FLOAT, false, 8, 0); + gl.drawArrays(gl.POINTS, 0, 1); } \ No newline at end of file diff --git a/src/examples/TextureModel/obj_tex.ts b/src/examples/TextureModel/obj_tex.ts index fa92e2b..432a3fa 100644 --- a/src/examples/TextureModel/obj_tex.ts +++ b/src/examples/TextureModel/obj_tex.ts @@ -3,20 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, imageReady, - createBuffer, ARRAY_BUFFER, - createTexture, createImage, ImageData, pixelStorei, activeTexture, - bindTexture, texParameteri, texImage2D, uniform1i, - DYNAMIC_DRAW, FLOAT, COLOR_BUFFER_BIT, DEPTH_TEST, DEPTH_BUFFER_BIT, - UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, TEXTURE0, - TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST, TEXTURE_MAG_FILTER, RGB, UNSIGNED_BYTE, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, enable, depthFunc, - vertexAttribPointer, TRIANGLES, GREATER, uniform3f, -} from '../../webgl' + WebGLRenderingContext, WebGLShader, ImageData, WebGLUniformLocation, + WebGLBuffer, GLint, WebGLProgram, WebGLTexture, +} from '../../WebGL' import { @@ -25,7 +14,7 @@ import { -const VERTEX_SHADER_CODE:string = `#version 300 es +const VERTEX_SHADER_CODE: string = `#version 300 es precision mediump float; in vec3 position; @@ -57,7 +46,7 @@ const VERTEX_SHADER_CODE:string = `#version 300 es `; // THIS IS THE FRAGMENT SHADER -const FRAGMENT_SHADER_CODE:string = `#version 300 es +const FRAGMENT_SHADER_CODE: string = `#version 300 es precision highp float; in vec4 c; in vec2 tc; @@ -69,113 +58,113 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es } `; - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); +// initialize webgl +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); - let vertex_shader: WebGLShader = createShader(this.gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); - let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); - linkProgram( gl, program ); +gl.linkProgram(program); - useProgram( gl, program ); +gl.useProgram(program); - let buffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - let position_al = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); - let tex_uv_al = getAttribLocation(gl, program, 'tex_uv'); - enableVertexAttribArray(gl, tex_uv_al); +let tex_uv_al: GLint = gl.getAttribLocation(program, 'tex_uv'); +gl.enableVertexAttribArray(tex_uv_al); - let normal_al = getAttribLocation(gl, program, 'normal'); - enableVertexAttribArray(gl, normal_al); +let normal_al: GLint = gl.getAttribLocation(program, 'normal'); +gl.enableVertexAttribArray(normal_al); - let diffuse = getUniformLocation( gl, program, 'diffuse' ); +let diffuse: WebGLUniformLocation = gl.getUniformLocation(program, 'diffuse'); - let texture = createTexture(gl); - let sampler = getUniformLocation( gl, program, 'sampler' ); +let texture: WebGLTexture = gl.createTexture(); +let sampler: WebGLUniformLocation = gl.getUniformLocation(program, 'sampler'); - var image_id: ImageData = createImage(matMapArray[0].diffuse); - var image_ready: bool = false; +var image_id: ImageData = gl.createImage(matMapArray[0].diffuse); +var image_ready: bool = false; //diffuse - enable(gl, DEPTH_TEST); +gl.enable(gl.DEPTH_TEST); -function rotate(theta: f32) : void { //u32 { - for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { - for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { +function rotate(theta: f32): void { //u32 { + for (var obj_i: i32 = 0; obj_i < objArray.length; obj_i++) { + for (var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8) { - let x:f32 = objArray[obj_i][coord_i]; - let z:f32 = objArray[obj_i][coord_i+2]; + let x: f32 = objArray[obj_i][coord_i]; + let z: f32 = objArray[obj_i][coord_i + 2]; - let nx:f32 = objArray[obj_i][coord_i+5]; - let nz:f32 = objArray[obj_i][coord_i+7]; + let nx: f32 = objArray[obj_i][coord_i + 5]; + let nz: f32 = objArray[obj_i][coord_i + 7]; - let x1:f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); - let z1:f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); + let x1: f32 = x * Mathf.cos(theta) - z * Mathf.sin(theta); + let z1: f32 = z * Mathf.cos(theta) + x * Mathf.sin(theta); - let nx1:f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); - let nz1:f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); + let nx1: f32 = nx * Mathf.cos(theta) - nz * Mathf.sin(theta); + let nz1: f32 = nz * Mathf.cos(theta) + nx * Mathf.sin(theta); objArray[obj_i][coord_i] = x1; - objArray[obj_i][coord_i+2] = z1; + objArray[obj_i][coord_i + 2] = z1; - objArray[obj_i][coord_i+5] = nx1; - objArray[obj_i][coord_i+7] = nz1; + objArray[obj_i][coord_i + 5] = nx1; + objArray[obj_i][coord_i + 7] = nz1; } } return; } - var vGroup: VertGroup; - export function displayLoop(delta:i32):void { - let r: f32 = delta / 10000.0; - rotate(r); - - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT | DEPTH_BUFFER_BIT); - - if( image_ready == false ) { - if( imageReady(image_id) == false ) { - return; - } - - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); - - uniform1i(gl, sampler, 0); - image_ready = true; - } +var vGroup: VertGroup; +export function displayLoop(delta: i32): void { + let r: f32 = delta / 10000.0; + rotate(r); + + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); - for( var g_i: i32 = 0; g_i < groupArray.length; g_i++ ) { - vGroup = groupArray[g_i]; - bufferData(gl, ARRAY_BUFFER, objArray[vGroup.obj_index], DYNAMIC_DRAW); - let diffuse_r: f32 = matArray[vGroup.mat_index][4]; - let diffuse_g: f32 = matArray[vGroup.mat_index][5]; - let diffuse_b: f32 = matArray[vGroup.mat_index][6]; - uniform3f(gl, diffuse, diffuse_r, diffuse_g, diffuse_b); - - // dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 3, FLOAT, false, 32, 0); - vertexAttribPointer(gl, tex_uv_al, 2, FLOAT, false, 32, 12); - vertexAttribPointer(gl, normal_al, 3, FLOAT, false, 32, 20); - drawArrays(gl, TRIANGLES, vGroup.start_face, vGroup.length); + if (image_ready == false) { + if (gl.imageReady(image_id) == false) { + return; } - } \ No newline at end of file + + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1); + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, image_id); + + gl.uniform1i(sampler, 0); + image_ready = true; + } + + for (var g_i: i32 = 0; g_i < groupArray.length; g_i++) { + vGroup = groupArray[g_i]; + gl.bufferData(gl.ARRAY_BUFFER, objArray[vGroup.obj_index], gl.DYNAMIC_DRAW); + let diffuse_r: f32 = matArray[vGroup.mat_index][4]; + let diffuse_g: f32 = matArray[vGroup.mat_index][5]; + let diffuse_b: f32 = matArray[vGroup.mat_index][6]; + gl.uniform3f(diffuse, diffuse_r, diffuse_g, diffuse_b); + + // dimensions | data_type | normalize | stride | offset + gl.vertexAttribPointer(position_al, 3, gl.FLOAT, false, 32, 0); + gl.vertexAttribPointer(tex_uv_al, 2, gl.FLOAT, false, 32, 12); + gl.vertexAttribPointer(normal_al, 3, gl.FLOAT, false, 32, 20); + gl.drawArrays(gl.TRIANGLES, vGroup.start_face, vGroup.length); + } +} \ No newline at end of file diff --git a/src/examples/TextureQuad/texture_quad.ts b/src/examples/TextureQuad/texture_quad.ts index 6761716..9233eec 100644 --- a/src/examples/TextureQuad/texture_quad.ts +++ b/src/examples/TextureQuad/texture_quad.ts @@ -3,23 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, uniform1i, - createTexture, createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, - ImageData, createImage, imageReady, - pixelStorei, activeTexture, bindTexture, - texParameteri, texImage2D, TEXTURE0, TEXTURE_2D, - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, BLEND, DEPTH_TEST, - enable, blendFunc, - TEXTURE_MIN_FILTER, TEXTURE_MAG_FILTER, NEAREST, RGB, - UNSIGNED_BYTE, UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, -} from '../../webgl' + WebGLRenderingContext, WebGLShader, ImageData, WebGLUniformLocation, + WebGLBuffer, GLint, WebGLProgram, WebGLTexture, +} from '../../WebGL' const VERTEX_SHADER_CODE: string = `#version 300 es precision highp float; @@ -50,41 +36,41 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); // ImageData, createImage, imageReady, -var image_id: ImageData = createImage('kaijunicorn.png'); +var image_id: ImageData = gl.createImage('kaijunicorn.png'); var image_ready: bool = false; -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); -let tex_coord_al = getAttribLocation(gl, program, 'tex_coord'); -enableVertexAttribArray(gl, tex_coord_al); +let tex_coord_al: GLint = gl.getAttribLocation(program, 'tex_coord'); +gl.enableVertexAttribArray(tex_coord_al); -enable(gl, BLEND); -blendFunc(gl, SRC_ALPHA, ONE_MINUS_SRC_ALPHA); +gl.enable(gl.BLEND); +gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); let quad_data: StaticArray = [ // x y u v @@ -93,35 +79,35 @@ let quad_data: StaticArray = [ 0.15, -0.2, 0.95, 0.0, 0.15, 0.2, 0.95, 0.99,]; -let texture = createTexture(gl); -let sampler = getUniformLocation(gl, program, 'sampler'); +let texture: WebGLTexture = gl.createTexture(); +let sampler: WebGLUniformLocation = gl.getUniformLocation(program, 'sampler'); export function displayLoop(): void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); if (image_ready == false) { - if (imageReady(image_id) == false) { + if (gl.imageReady(image_id) == false) { return; } - pixelStorei(gl, UNPACK_FLIP_Y_WEBGL, 1); - pixelStorei(gl, UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); - activeTexture(gl, TEXTURE0); - bindTexture(gl, TEXTURE_2D, texture); - texParameteri(gl, TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST); - texParameteri(gl, TEXTURE_2D, TEXTURE_MAG_FILTER, NEAREST); - texImage2D(gl, TEXTURE_2D, 0, RGB, RGB, UNSIGNED_BYTE, image_id); + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1); + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, image_id); - uniform1i(gl, sampler, 0); + gl.uniform1i(sampler, 0); image_ready = true; } - bufferData(gl, ARRAY_BUFFER, quad_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, quad_data, gl.STATIC_DRAW); //vertexAttribPointer attribute | dimensions | data type | normalize | stride bytes | offset bytes - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 16, 0); - vertexAttribPointer(gl, tex_coord_al, 2, FLOAT, false, 16, 8); + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 16, 0); + gl.vertexAttribPointer(tex_coord_al, 2, gl.FLOAT, false, 16, 8); - drawArrays(gl, TRIANGLE_STRIP, 0, quad_data.length / 4); + gl.drawArrays(gl.TRIANGLE_STRIP, 0, quad_data.length / 4); } \ No newline at end of file diff --git a/src/examples/WarpSpeed/warp_speed.ts b/src/examples/WarpSpeed/warp_speed.ts index f43dc4a..c115be9 100644 --- a/src/examples/WarpSpeed/warp_speed.ts +++ b/src/examples/WarpSpeed/warp_speed.ts @@ -3,16 +3,9 @@ */ import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, - createBuffer, ARRAY_BUFFER, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, POINTS, -} from '../../webgl' + WebGLRenderingContext, WebGLShader, ImageData, WebGLUniformLocation, + WebGLBuffer, GLint, WebGLProgram, WebGLTexture, +} from '../../WebGL' class Point { public x: f32 = 0.0; @@ -69,30 +62,30 @@ const FRAGMENT_SHADER_CODE: string = `#version 300 es `; // initialize webgl -var gl = createContextFromCanvas('cnvs', 'webgl2'); +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); -let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); -shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); -compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); -let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); -shaderSource(gl, fragment_shader, FRAGMENT_SHADER_CODE); -compileShader(gl, fragment_shader); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); -let program = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); -attachShader(gl, program, vertex_shader); -attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); -linkProgram(gl, program); +gl.linkProgram(program); -useProgram(gl, program); +gl.useProgram(program); -let buffer = createBuffer(gl); -bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); -let position_al = getAttribLocation(gl, program, 'position'); -enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); let point_list: StaticArray = [new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), @@ -187,8 +180,8 @@ let point_data: StaticArray = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,]; export function displayLoop(delta: i32): void { - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); for (let i: i32 = 0; i < point_list.length; i++) { point_list[i].move(); @@ -196,16 +189,16 @@ export function displayLoop(delta: i32): void { point_data[i * 2 + 1] = point_list[i].y; } - bufferData(gl, ARRAY_BUFFER, point_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, point_data, gl.STATIC_DRAW); const dimensions: i32 = 2; - const data_type: i32 = FLOAT; + const data_type: i32 = gl.FLOAT; const normalize: i32 = false; const stride: i32 = 0; const offset: i32 = 0; - vertexAttribPointer(gl, position_al, dimensions, data_type, normalize, stride, offset); + gl.vertexAttribPointer(position_al, dimensions, data_type, normalize, stride, offset); - drawArrays(gl, POINTS, 0, point_list.length); + gl.drawArrays(gl.POINTS, 0, point_list.length); } \ No newline at end of file diff --git a/src/webgl.ts b/src/webgl.ts index ef0da24..5e6d287 100644 --- a/src/webgl.ts +++ b/src/webgl.ts @@ -85,9 +85,9 @@ export declare function getRangeMin(gl: WebGLShaderPrecisionFormat): GLint; export declare function getRangeMax(gl: WebGLShaderPrecisionFormat): GLint; export declare function getPrecision(gl: WebGLShaderPrecisionFormat): GLint; -// === WebGLRenderingContext === +// === WebGLRenderingContextId === -export type WebGLRenderingContext = i32; +export type WebGLRenderingContextId = i32; /* ClearBufferMask */ export const DEPTH_BUFFER_BIT: GLenum = 0x00000100; @@ -506,20 +506,20 @@ export const BROWSER_DEFAULT_WEBGL: GLenum = 0x9244; //type HTMLCanvasElement = externref; -//export declare function getCanvas(gl: WebGLRenderingContext): HTMLCanvasElement; -export declare function getDrawingBufferWidth(gl: WebGLRenderingContext): GLsizei; -export declare function getDrawingBufferHeight(gl: WebGLRenderingContext): GLsizei; +//export declare function getCanvas(gl: WebGLRenderingContextId): HTMLCanvasElement; +export declare function getDrawingBufferWidth(gl: WebGLRenderingContextId): GLsizei; +export declare function getDrawingBufferHeight(gl: WebGLRenderingContextId): GLsizei; -export declare function getContextAttributes(gl: WebGLRenderingContext): WebGLContextAttributes; -export declare function isContextLost(gl: WebGLRenderingContext): bool; +export declare function getContextAttributes(gl: WebGLRenderingContextId): WebGLContextAttributes; +export declare function isContextLost(gl: WebGLRenderingContextId): bool; type sequence = externref; -export declare function getSupportedExtensions(gl: WebGLRenderingContext): sequence; +export declare function getSupportedExtensions(gl: WebGLRenderingContextId): sequence; type object_ = externref; -export declare function getExtension(gl: WebGLRenderingContext, name: string): object_; +export declare function getExtension(gl: WebGLRenderingContextId, name: string): object_; // THIS WILL BE IN INDEX INTO A PROGRAM LIST KEPT IN THE JS export type WebGLProgram = i32; //externref; @@ -529,367 +529,2476 @@ export type WebGLFramebuffer = i32; export type WebGLRenderbuffer = i32; export type WebGLTexture = i32; -export declare function activeTexture(gl: WebGLRenderingContext, texture: GLenum): void; -export declare function createContextFromCanvas(canvas_id: string, context_type: string): WebGLRenderingContext; -export declare function attachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void; -// export declare function bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void; -export declare function bindBuffer(gl: WebGLRenderingContext, target: GLenum, buffer: WebGLBuffer): void; -export declare function bindFramebuffer(gl: WebGLRenderingContext, target: GLenum, framebuffer: WebGLFramebuffer): void; -export declare function bindRenderbuffer(gl: WebGLRenderingContext, target: GLenum, renderbuffer: WebGLRenderbuffer): void; -export declare function bindTexture(gl: WebGLRenderingContext, target: GLenum, texture: WebGLTexture): void; -export declare function blendColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; -export declare function blendEquation(gl: WebGLRenderingContext, mode: GLenum): void; -export declare function blendEquationSeparate(gl: WebGLRenderingContext, modeRGB: GLenum, modeAlpha: GLenum): void; -export declare function blendFunc(gl: WebGLRenderingContext, sfactor: GLenum, dfactor: GLenum): void; -export declare function blendFuncSeparate(gl: WebGLRenderingContext, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; -export declare function bufferData(gl: WebGLRenderingContext, target: GLenum, data: StaticArray, usage: GLenum): void; -export declare function bufferSubData(gl: WebGLRenderingContext, target: GLenum, offset: GLintptr, data: Array): void; - -export declare function checkFramebufferStatus(gl: WebGLRenderingContext, target: GLenum): GLenum; -export declare function clear(gl: WebGLRenderingContext, mask: GLbitfield): void; -export declare function clearColor(gl: WebGLRenderingContext, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; -export declare function clearDepth(gl: WebGLRenderingContext, depth: GLclampf): void; -export declare function clearStencil(gl: WebGLRenderingContext, s: GLint): void; -export declare function colorMask(gl: WebGLRenderingContext, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; -export declare function compileShader(gl: WebGLRenderingContext, shader: WebGLShader): void; - -export declare function compressedTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; -export declare function compressedTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; - -export declare function copyTexImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; -export declare function copyTexSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; - -export declare function createBuffer(gl: WebGLRenderingContext): WebGLBuffer; -export declare function createFramebuffer(gl: WebGLRenderingContext): WebGLFramebuffer; -export declare function createProgram(gl: WebGLRenderingContext): WebGLProgram; -export declare function createRenderbuffer(gl: WebGLRenderingContext): WebGLRenderbuffer; -export declare function createShader(gl: WebGLRenderingContext, typ: GLenum): WebGLShader; -export declare function createTexture(gl: WebGLRenderingContext): WebGLTexture; - -export declare function cullFace(gl: WebGLRenderingContext, mode: GLenum): void; +export declare function activeTexture(gl: WebGLRenderingContextId, texture: GLenum): void; +export declare function createContextFromCanvas(canvas_id: string, context_type: string): WebGLRenderingContextId; +export declare function attachShader(gl: WebGLRenderingContextId, program: WebGLProgram, shader: WebGLShader): void; +// export declare function bindAttribLocation(gl: WebGLRenderingContextId, program: WebGLProgram, index: GLuint, name: string): void; +export declare function bindBuffer(gl: WebGLRenderingContextId, target: GLenum, buffer: WebGLBuffer): void; +export declare function bindFramebuffer(gl: WebGLRenderingContextId, target: GLenum, framebuffer: WebGLFramebuffer): void; +export declare function bindRenderbuffer(gl: WebGLRenderingContextId, target: GLenum, renderbuffer: WebGLRenderbuffer): void; +export declare function bindTexture(gl: WebGLRenderingContextId, target: GLenum, texture: WebGLTexture): void; +export declare function blendColor(gl: WebGLRenderingContextId, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; +export declare function blendEquation(gl: WebGLRenderingContextId, mode: GLenum): void; +export declare function blendEquationSeparate(gl: WebGLRenderingContextId, modeRGB: GLenum, modeAlpha: GLenum): void; +export declare function blendFunc(gl: WebGLRenderingContextId, sfactor: GLenum, dfactor: GLenum): void; +export declare function blendFuncSeparate(gl: WebGLRenderingContextId, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; +export declare function bufferData(gl: WebGLRenderingContextId, target: GLenum, data: StaticArray, usage: GLenum): void; +export declare function bufferSubData(gl: WebGLRenderingContextId, target: GLenum, offset: GLintptr, data: Array): void; + +export declare function checkFramebufferStatus(gl: WebGLRenderingContextId, target: GLenum): GLenum; +export declare function clear(gl: WebGLRenderingContextId, mask: GLbitfield): void; +export declare function clearColor(gl: WebGLRenderingContextId, red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; +export declare function clearDepth(gl: WebGLRenderingContextId, depth: GLclampf): void; +export declare function clearStencil(gl: WebGLRenderingContextId, s: GLint): void; +export declare function colorMask(gl: WebGLRenderingContextId, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; +export declare function compileShader(gl: WebGLRenderingContextId, shader: WebGLShader): void; + +export declare function compressedTexImage2D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; +export declare function compressedTexSubImage2D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; + +export declare function copyTexImage2D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; +export declare function copyTexSubImage2D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; + +export declare function createBuffer(gl: WebGLRenderingContextId): WebGLBuffer; +export declare function createFramebuffer(gl: WebGLRenderingContextId): WebGLFramebuffer; +export declare function createProgram(gl: WebGLRenderingContextId): WebGLProgram; +export declare function createRenderbuffer(gl: WebGLRenderingContextId): WebGLRenderbuffer; +export declare function createShader(gl: WebGLRenderingContextId, typ: GLenum): WebGLShader; +export declare function createTexture(gl: WebGLRenderingContextId): WebGLTexture; + +export declare function cullFace(gl: WebGLRenderingContextId, mode: GLenum): void; //... -export declare function deleteBuffer(gl: WebGLRenderingContext, buffer: WebGLBuffer): void; -export declare function deleteFramebuffer(gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): void; -export declare function deleteProgram(gl: WebGLRenderingContext, program: WebGLProgram): void; -export declare function deleteRenderbuffer(gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): void; -export declare function deleteShader(gl: WebGLRenderingContext, shader: WebGLShader): void; -export declare function deleteTexture(gl: WebGLRenderingContext, texture: WebGLTexture): void; - -export declare function depthFunc(gl: WebGLRenderingContext, func: GLenum): void; -export declare function depthMask(gl: WebGLRenderingContext, flag: GLboolean): void; -export declare function depthRange(gl: WebGLRenderingContext, zNear: GLclampf, zFar: GLclampf): void; -export declare function detachShader(gl: WebGLRenderingContext, program: WebGLProgram, shader: WebGLShader): void; -export declare function disable(gl: WebGLRenderingContext, cap: GLenum): void; -export declare function disableVertexAttribArray(gl: WebGLRenderingContext, index: GLuint): void; -export declare function drawArrays(gl: WebGLRenderingContext, mode: GLenum, first: GLint, count: GLsizei): void; -export declare function drawElements(gl: WebGLRenderingContext, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void; +export declare function deleteBuffer(gl: WebGLRenderingContextId, buffer: WebGLBuffer): void; +export declare function deleteFramebuffer(gl: WebGLRenderingContextId, framebuffer: WebGLFramebuffer): void; +export declare function deleteProgram(gl: WebGLRenderingContextId, program: WebGLProgram): void; +export declare function deleteRenderbuffer(gl: WebGLRenderingContextId, renderbuffer: WebGLRenderbuffer): void; +export declare function deleteShader(gl: WebGLRenderingContextId, shader: WebGLShader): void; +export declare function deleteTexture(gl: WebGLRenderingContextId, texture: WebGLTexture): void; + +export declare function depthFunc(gl: WebGLRenderingContextId, func: GLenum): void; +export declare function depthMask(gl: WebGLRenderingContextId, flag: GLboolean): void; +export declare function depthRange(gl: WebGLRenderingContextId, zNear: GLclampf, zFar: GLclampf): void; +export declare function detachShader(gl: WebGLRenderingContextId, program: WebGLProgram, shader: WebGLShader): void; +export declare function disable(gl: WebGLRenderingContextId, cap: GLenum): void; +export declare function disableVertexAttribArray(gl: WebGLRenderingContextId, index: GLuint): void; +export declare function drawArrays(gl: WebGLRenderingContextId, mode: GLenum, first: GLint, count: GLsizei): void; +export declare function drawElements(gl: WebGLRenderingContextId, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void; -export declare function enable(gl: WebGLRenderingContext, cap: GLenum): void; -export declare function enableVertexAttribArray(gl: WebGLRenderingContext, index: GLuint): void; -export declare function finish(gl: WebGLRenderingContext): void; -export declare function flush(gl: WebGLRenderingContext): void; -export declare function framebufferRenderbuffer(gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, - renderbuffertarget: GLenum, - renderbuffer: WebGLRenderbuffer): void; -export declare function framebufferTexture2D(gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, textarget: GLenum, - texture: WebGLTexture, level: GLint): void; -export declare function frontFace(gl: WebGLRenderingContext, mode: GLenum): void; +export declare function enable(gl: WebGLRenderingContextId, cap: GLenum): void; +export declare function enableVertexAttribArray(gl: WebGLRenderingContextId, index: GLuint): void; +export declare function finish(gl: WebGLRenderingContextId): void; +export declare function flush(gl: WebGLRenderingContextId): void; +export declare function framebufferRenderbuffer(gl: WebGLRenderingContextId, target: GLenum, attachment: GLenum, + renderbuffertarget: GLenum, + renderbuffer: WebGLRenderbuffer): void; +export declare function framebufferTexture2D(gl: WebGLRenderingContextId, target: GLenum, attachment: GLenum, textarget: GLenum, + texture: WebGLTexture, level: GLint): void; +export declare function frontFace(gl: WebGLRenderingContextId, mode: GLenum): void; -export declare function generateMipmap(gl: WebGLRenderingContext, target: GLenum): void; +export declare function generateMipmap(gl: WebGLRenderingContextId, target: GLenum): void; -export declare function getActiveAttrib(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint): WebGLActiveInfo; -export declare function getActiveUniform(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint): WebGLActiveInfo; -export declare function getAttachedShaders(gl: WebGLRenderingContext, program: WebGLProgram): sequence; +export declare function getActiveAttrib(gl: WebGLRenderingContextId, program: WebGLProgram, index: GLuint): WebGLActiveInfo; +export declare function getActiveUniform(gl: WebGLRenderingContextId, program: WebGLProgram, index: GLuint): WebGLActiveInfo; +export declare function getAttachedShaders(gl: WebGLRenderingContextId, program: WebGLProgram): sequence; -export declare function getAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, name: string): GLint; +export declare function getAttribLocation(gl: WebGLRenderingContextId, program: WebGLProgram, name: string): GLint; -export declare function getBufferParameter(gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any -export declare function getParameter(gl: WebGLRenderingContext, pname: GLenum): externref; // any +export declare function getBufferParameter(gl: WebGLRenderingContextId, target: GLenum, pname: GLenum): externref; // any +export declare function getParameter(gl: WebGLRenderingContextId, pname: GLenum): externref; // any -export declare function getError(gl: WebGLRenderingContext): GLenum; +export declare function getError(gl: WebGLRenderingContextId): GLenum; -export declare function getFramebufferAttachmentParameter(gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, - pname: GLenum): externref; // any -export declare function getProgramParameter(gl: WebGLRenderingContext, program: WebGLProgram, pname: GLenum): bool; // any -export declare function getProgramInfoLog(gl: WebGLRenderingContext, program: WebGLProgram): DOMString; -export declare function getRenderbufferParameter(gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any -export declare function getShaderParameter(gl: WebGLRenderingContext, shader: WebGLShader, pname: GLenum): bool; // any -export declare function getShaderPrecisionFormat(gl: WebGLRenderingContext, shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat; -export declare function getShaderInfoLog(gl: WebGLRenderingContext, shader: WebGLShader): DOMString; +export declare function getFramebufferAttachmentParameter(gl: WebGLRenderingContextId, target: GLenum, attachment: GLenum, + pname: GLenum): externref; // any +export declare function getProgramParameter(gl: WebGLRenderingContextId, program: WebGLProgram, pname: GLenum): bool; // any +export declare function getProgramInfoLog(gl: WebGLRenderingContextId, program: WebGLProgram): DOMString; +export declare function getRenderbufferParameter(gl: WebGLRenderingContextId, target: GLenum, pname: GLenum): externref; // any +export declare function getShaderParameter(gl: WebGLRenderingContextId, shader: WebGLShader, pname: GLenum): bool; // any +export declare function getShaderPrecisionFormat(gl: WebGLRenderingContextId, shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat; +export declare function getShaderInfoLog(gl: WebGLRenderingContextId, shader: WebGLShader): DOMString; -export declare function getShaderSource(gl: WebGLRenderingContext, shader: WebGLShader): DOMString; +export declare function getShaderSource(gl: WebGLRenderingContextId, shader: WebGLShader): DOMString; -export declare function getTexParameter(gl: WebGLRenderingContext, target: GLenum, pname: GLenum): externref; // any +export declare function getTexParameter(gl: WebGLRenderingContextId, target: GLenum, pname: GLenum): externref; // any -export declare function getUniform(gl: WebGLRenderingContext, program: WebGLProgram, location: WebGLUniformLocation): externref; // any +export declare function getUniform(gl: WebGLRenderingContextId, program: WebGLProgram, location: WebGLUniformLocation): externref; // any -export declare function getUniformLocation(gl: WebGLRenderingContext, program: WebGLProgram, name: string): WebGLUniformLocation; +export declare function getUniformLocation(gl: WebGLRenderingContextId, program: WebGLProgram, name: string): WebGLUniformLocation; -export declare function getVertexAttrib(gl: WebGLRenderingContext, index: GLuint, pname: GLenum): externref; // any +export declare function getVertexAttrib(gl: WebGLRenderingContextId, index: GLuint, pname: GLenum): externref; // any -export declare function getVertexAttribOffset(gl: WebGLRenderingContext, index: GLuint, pname: GLenum): GLsizeiptr; +export declare function getVertexAttribOffset(gl: WebGLRenderingContextId, index: GLuint, pname: GLenum): GLsizeiptr; -export declare function hint(gl: WebGLRenderingContext, target: GLenum, mode: GLenum): void; -export declare function isBuffer(gl: WebGLRenderingContext, buffer: WebGLBuffer): GLboolean; -export declare function isEnabled(gl: WebGLRenderingContext, cap: GLenum): GLboolean; -export declare function isFramebuffer(gl: WebGLRenderingContext, framebuffer: WebGLFramebuffer): GLboolean; -export declare function isProgram(gl: WebGLRenderingContext, program: WebGLProgram): GLboolean; -export declare function isRenderbuffer(gl: WebGLRenderingContext, renderbuffer: WebGLRenderbuffer): GLboolean; -export declare function isShader(gl: WebGLRenderingContext, shader: WebGLShader): GLboolean; -export declare function isTexture(gl: WebGLRenderingContext, texture: WebGLTexture): GLboolean; -export declare function lineWidth(gl: WebGLRenderingContext, width: GLfloat): void; -export declare function linkProgram(gl: WebGLRenderingContext, program: WebGLProgram): void; -export declare function pixelStorei(gl: WebGLRenderingContext, pname: GLenum, param: GLint): void; -export declare function polygonOffset(gl: WebGLRenderingContext, factor: GLfloat, units: GLfloat): void; +export declare function hint(gl: WebGLRenderingContextId, target: GLenum, mode: GLenum): void; +export declare function isBuffer(gl: WebGLRenderingContextId, buffer: WebGLBuffer): GLboolean; +export declare function isEnabled(gl: WebGLRenderingContextId, cap: GLenum): GLboolean; +export declare function isFramebuffer(gl: WebGLRenderingContextId, framebuffer: WebGLFramebuffer): GLboolean; +export declare function isProgram(gl: WebGLRenderingContextId, program: WebGLProgram): GLboolean; +export declare function isRenderbuffer(gl: WebGLRenderingContextId, renderbuffer: WebGLRenderbuffer): GLboolean; +export declare function isShader(gl: WebGLRenderingContextId, shader: WebGLShader): GLboolean; +export declare function isTexture(gl: WebGLRenderingContextId, texture: WebGLTexture): GLboolean; +export declare function lineWidth(gl: WebGLRenderingContextId, width: GLfloat): void; +export declare function linkProgram(gl: WebGLRenderingContextId, program: WebGLProgram): void; +export declare function pixelStorei(gl: WebGLRenderingContextId, pname: GLenum, param: GLint): void; +export declare function polygonOffset(gl: WebGLRenderingContextId, factor: GLfloat, units: GLfloat): void; -export declare function readPixels(gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei, - format: GLenum, typ: GLenum, pixels: ArrayBufferView): void; +export declare function readPixels(gl: WebGLRenderingContextId, x: GLint, y: GLint, width: GLsizei, height: GLsizei, + format: GLenum, typ: GLenum, pixels: ArrayBufferView): void; -export declare function renderbufferStorage(gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, - width: GLsizei, height: GLsizei): void; -export declare function sampleCoverage(gl: WebGLRenderingContext, value: GLclampf, invert: GLboolean): void; -export declare function scissor(gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; +export declare function renderbufferStorage(gl: WebGLRenderingContextId, target: GLenum, internalformat: GLenum, + width: GLsizei, height: GLsizei): void; +export declare function sampleCoverage(gl: WebGLRenderingContextId, value: GLclampf, invert: GLboolean): void; +export declare function scissor(gl: WebGLRenderingContextId, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; -export declare function shaderSource(gl: WebGLRenderingContext, shader: WebGLShader, source: string): void; +export declare function shaderSource(gl: WebGLRenderingContextId, shader: WebGLShader, source: string): void; -export declare function stencilFunc(gl: WebGLRenderingContext, func: GLenum, ref: GLint, mask: GLuint): void; -export declare function stencilFuncSeparate(gl: WebGLRenderingContext, face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; -export declare function stencilMask(gl: WebGLRenderingContext, mask: GLuint): void; -export declare function stencilMaskSeparate(gl: WebGLRenderingContext, face: GLenum, mask: GLuint): void; -export declare function stencilOp(gl: WebGLRenderingContext, fail: GLenum, zfail: GLenum, zpass: GLenum): void; -export declare function stencilOpSeparate(gl: WebGLRenderingContext, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; +export declare function stencilFunc(gl: WebGLRenderingContextId, func: GLenum, ref: GLint, mask: GLuint): void; +export declare function stencilFuncSeparate(gl: WebGLRenderingContextId, face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; +export declare function stencilMask(gl: WebGLRenderingContextId, mask: GLuint): void; +export declare function stencilMaskSeparate(gl: WebGLRenderingContextId, face: GLenum, mask: GLuint): void; +export declare function stencilOp(gl: WebGLRenderingContextId, fail: GLenum, zfail: GLenum, zpass: GLenum): void; +export declare function stencilOpSeparate(gl: WebGLRenderingContextId, face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; -export declare function texImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, - format: GLenum, typ: GLenum, image: ImageData): void; +export declare function texImage2D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, internalformat: GLenum, + format: GLenum, typ: GLenum, image: ImageData): void; -export declare function texParameterf(gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLfloat): void; -export declare function texParameteri(gl: WebGLRenderingContext, target: GLenum, pname: GLenum, param: GLint): void; +export declare function texParameterf(gl: WebGLRenderingContextId, target: GLenum, pname: GLenum, param: GLfloat): void; +export declare function texParameteri(gl: WebGLRenderingContextId, target: GLenum, pname: GLenum, param: GLint): void; -export declare function texSubImage2D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, - format: GLenum, typ: GLenum, pixels: ImageData): void; +export declare function texSubImage2D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, + format: GLenum, typ: GLenum, pixels: ImageData): void; -export declare function uniform1f(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat): void; -export declare function uniform1fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; +export declare function uniform1f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat): void; +export declare function uniform1fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; -export declare function uniform1i(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint): void; -export declare function uniform1iv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; +export declare function uniform1i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint): void; +export declare function uniform1iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; -export declare function uniform2f(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void; -export declare function uniform2fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; +export declare function uniform2f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void; +export declare function uniform2fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; -export declare function uniform2i(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint): void; -export declare function uniform2iv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void; +export declare function uniform2i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint, y: GLint): void; +export declare function uniform2iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void; -export declare function uniform3f(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void; -export declare function uniform3fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; +export declare function uniform3f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void; +export declare function uniform3fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; -export declare function uniform3i(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void; -export declare function uniform3iv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; +export declare function uniform3i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void; +export declare function uniform3iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; -export declare function uniform4f(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; -export declare function uniform4fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void; +export declare function uniform4f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; +export declare function uniform4fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void; -export declare function uniform4i(gl: WebGLRenderingContext, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void; -export declare function uniform4iv(gl: WebGLRenderingContext, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void; +export declare function uniform4i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void; +export declare function uniform4iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void; -export declare function uniformMatrix2fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, - value: Float32Array): void; +export declare function uniformMatrix2fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, + value: Float32Array): void; /* -export declare function uniformMatrix2fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, - value: sequence): void; +export declare function uniformMatrix2fv( gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, + value: sequence): void; */ -export declare function uniformMatrix3fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, - value: Float32Array): void; +export declare function uniformMatrix3fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, + value: Float32Array): void; /* -export declare function uniformMatrix3fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, - value: sequence): void; +export declare function uniformMatrix3fv( gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, + value: sequence): void; */ -export declare function uniformMatrix4fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, - value: Float32Array): void; +export declare function uniformMatrix4fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, + value: Float32Array): void; /* -export declare function uniformMatrix4fv( gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, - value: sequence): void; +export declare function uniformMatrix4fv( gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, + value: sequence): void; */ -export declare function useProgram(gl: WebGLRenderingContext, program: WebGLProgram): void; -export declare function validateProgram(gl: WebGLRenderingContext, program: WebGLProgram): void; +export declare function useProgram(gl: WebGLRenderingContextId, program: WebGLProgram): void; +export declare function validateProgram(gl: WebGLRenderingContextId, program: WebGLProgram): void; -export declare function vertexAttrib1f(gl: WebGLRenderingContext, indx: GLuint, x: GLfloat): void; -export declare function vertexAttrib1fv(gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib1f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat): void; +export declare function vertexAttrib1fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; -export declare function vertexAttrib2f(gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat): void; -export declare function vertexAttrib2fv(gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib2f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat, y: GLfloat): void; +export declare function vertexAttrib2fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; -export declare function vertexAttrib3f(gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; -export declare function vertexAttrib3fv(gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib3f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; +export declare function vertexAttrib3fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; -export declare function vertexAttrib4f(gl: WebGLRenderingContext, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; -export declare function vertexAttrib4fv(gl: WebGLRenderingContext, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib4f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; +export declare function vertexAttrib4fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; -export declare function vertexAttribPointer(gl: WebGLRenderingContext, indx: GLint, size: GLint, typ: GLenum, - normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void; +export declare function vertexAttribPointer(gl: WebGLRenderingContextId, indx: GLint, size: GLint, typ: GLenum, + normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void; -export declare function viewport(gl: WebGLRenderingContext, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; +export declare function viewport(gl: WebGLRenderingContextId, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; // ... WEBGL 2 ... /* Buffer objects */ -export declare function copyBufferSubData(gl: WebGLRenderingContext, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, - writeOffset: GLintptr, size: GLsizeiptr): void; +export declare function copyBufferSubData(gl: WebGLRenderingContextId, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, + writeOffset: GLintptr, size: GLsizeiptr): void; -export declare function getBufferSubData(gl: WebGLRenderingContext, target: GLenum, srcByteOffset: GLintptr, /*[AllowShared]*/ dstBuffer: ArrayBufferView, - dstOffset: GLuint = 0, length: GLuint = 0): void; //@ts-ignore +export declare function getBufferSubData(gl: WebGLRenderingContextId, target: GLenum, srcByteOffset: GLintptr, /*[AllowShared]*/ dstBuffer: ArrayBufferView, + dstOffset: GLuint = 0, length: GLuint = 0): void; //@ts-ignore /* Framebuffer objects */ -export declare function blitFramebuffer(gl: WebGLRenderingContext, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, - dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void; -export declare function framebufferTextureLayer(gl: WebGLRenderingContext, target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint, - layer: GLint): void; -export declare function invalidateFramebuffer(gl: WebGLRenderingContext, target: GLenum, attachments: sequence): void; -export declare function invalidateSubFramebuffer(gl: WebGLRenderingContext, target: GLenum, attachments: sequence, - x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; -export declare function readBuffer(gl: WebGLRenderingContext, src: GLenum): void; +export declare function blitFramebuffer(gl: WebGLRenderingContextId, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, + dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void; +export declare function framebufferTextureLayer(gl: WebGLRenderingContextId, target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint, + layer: GLint): void; +export declare function invalidateFramebuffer(gl: WebGLRenderingContextId, target: GLenum, attachments: sequence): void; +export declare function invalidateSubFramebuffer(gl: WebGLRenderingContextId, target: GLenum, attachments: sequence, + x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; +export declare function readBuffer(gl: WebGLRenderingContextId, src: GLenum): void; /* Renderbuffer objects */ -export declare function getInternalformatParameter(gl: WebGLRenderingContext, target: GLenum, internalformat: GLenum, pname: GLenum): externref; // any -export declare function renderbufferStorageMultisample(gl: WebGLRenderingContext, target: GLenum, samples: GLsizei, internalformat: GLenum, - width: GLsizei, height: GLsizei): void; +export declare function getInternalformatParameter(gl: WebGLRenderingContextId, target: GLenum, internalformat: GLenum, pname: GLenum): externref; // any +export declare function renderbufferStorageMultisample(gl: WebGLRenderingContextId, target: GLenum, samples: GLsizei, internalformat: GLenum, + width: GLsizei, height: GLsizei): void; /* Texture objects */ -export declare function texStorage2D(gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, - height: GLsizei): void; -export declare function texStorage3D(gl: WebGLRenderingContext, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, - height: GLsizei, depth: GLsizei): void; +export declare function texStorage2D(gl: WebGLRenderingContextId, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, + height: GLsizei): void; +export declare function texStorage3D(gl: WebGLRenderingContextId, target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, + height: GLsizei, depth: GLsizei): void; -export declare function texImage3D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, - depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void; +export declare function texImage3D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, + depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void; -export declare function texSubImage3D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, - width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum, - pboOffset: GLintptr): void; +export declare function texSubImage3D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, + width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum, + pboOffset: GLintptr): void; -export declare function copyTexSubImage3D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, - x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; +export declare function copyTexSubImage3D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, + x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; -export declare function compressedTexImage3D(gl: WebGLRenderingContext, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, - height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void; +export declare function compressedTexImage3D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, + height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void; -export declare function compressedTexSubImage3D(gl: WebGLRenderingContext, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, - zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, - format: GLenum, imageSize: GLsizei, offset: GLintptr): void; +export declare function compressedTexSubImage3D(gl: WebGLRenderingContextId, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, + zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, + format: GLenum, imageSize: GLsizei, offset: GLintptr): void; /* Programs and shaders */ -export declare function getFragDataLocation(gl: WebGLRenderingContext, program: WebGLProgram, name: DOMString): GLint; +export declare function getFragDataLocation(gl: WebGLRenderingContextId, program: WebGLProgram, name: DOMString): GLint; /* Uniforms */ -export declare function uniform1ui(gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint): void; -export declare function uniform2ui(gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void; -export declare function uniform3ui(gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void; -export declare function uniform4ui(gl: WebGLRenderingContext, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void; - -export declare function uniform1uiv(gl: WebGLRenderingContext, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, - srcLength: GLuint = 0): void; -export declare function uniform2uiv(gl: WebGLRenderingContext, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, - srcLength: GLuint = 0): void; -export declare function uniform3uiv(gl: WebGLRenderingContext, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, - srcLength: GLuint = 0): void; -export declare function uniform4uiv(gl: WebGLRenderingContext, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, - srcLength: GLuint = 0): void; -export declare function uniformMatrix3x2fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, - srcOffset: GLuint = 0, srcLength: GLuint = 0): void; -export declare function uniformMatrix4x2fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, - srcOffset: GLuint = 0, srcLength: GLuint = 0): void; - -export declare function uniformMatrix2x3fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, - srcOffset: GLuint = 0, srcLength: GLuint = 0): void; -export declare function uniformMatrix4x3fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, - srcOffset: GLuint = 0, srcLength: GLuint = 0): void; - -export declare function uniformMatrix2x4fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, - srcOffset: GLuint = 0, srcLength: GLuint = 0): void; -export declare function uniformMatrix3x4fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, - srcOffset: GLuint = 0, srcLength: GLuint = 0): void; +export declare function uniform1ui(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v0: GLuint): void; +export declare function uniform2ui(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void; +export declare function uniform3ui(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void; +export declare function uniform4ui(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void; + +export declare function uniform1uiv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, + srcLength: GLuint = 0): void; +export declare function uniform2uiv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, + srcLength: GLuint = 0): void; +export declare function uniform3uiv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, + srcLength: GLuint = 0): void; +export declare function uniform4uiv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, + srcLength: GLuint = 0): void; +export declare function uniformMatrix3x2fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void; +export declare function uniformMatrix4x2fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void; + +export declare function uniformMatrix2x3fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void; +export declare function uniformMatrix4x3fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void; + +export declare function uniformMatrix2x4fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void; +export declare function uniformMatrix3x4fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void; /* Vertex attribs */ -export declare function vertexAttribI4i(gl: WebGLRenderingContext, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void; -export declare function vertexAttribI4iv(gl: WebGLRenderingContext, index: GLuint, values: Int32List): void; -export declare function vertexAttribI4ui(gl: WebGLRenderingContext, index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void; -export declare function vertexAttribI4uiv(gl: WebGLRenderingContext, index: GLuint, values: Uint32List): void; -export declare function vertexAttribIPointer(gl: WebGLRenderingContext, index: GLuint, size: GLint, typ: GLenum, stride: GLsizei, offset: GLintptr): void; +export declare function vertexAttribI4i(gl: WebGLRenderingContextId, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void; +export declare function vertexAttribI4iv(gl: WebGLRenderingContextId, index: GLuint, values: Int32List): void; +export declare function vertexAttribI4ui(gl: WebGLRenderingContextId, index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void; +export declare function vertexAttribI4uiv(gl: WebGLRenderingContextId, index: GLuint, values: Uint32List): void; +export declare function vertexAttribIPointer(gl: WebGLRenderingContextId, index: GLuint, size: GLint, typ: GLenum, stride: GLsizei, offset: GLintptr): void; /* Writing to the drawing buffer */ -export declare function vertexAttribDivisor(gl: WebGLRenderingContext, index: GLuint, divisor: GLuint): void; -export declare function drawArraysInstanced(gl: WebGLRenderingContext, mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void; -export declare function drawElementsInstanced(gl: WebGLRenderingContext, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr, instanceCount: GLsizei): void; -export declare function drawRangeElements(gl: WebGLRenderingContext, mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, typ: GLenum, offset: GLintptr): void; +export declare function vertexAttribDivisor(gl: WebGLRenderingContextId, index: GLuint, divisor: GLuint): void; +export declare function drawArraysInstanced(gl: WebGLRenderingContextId, mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void; +export declare function drawElementsInstanced(gl: WebGLRenderingContextId, mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr, instanceCount: GLsizei): void; +export declare function drawRangeElements(gl: WebGLRenderingContextId, mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, typ: GLenum, offset: GLintptr): void; /* Multiple Render Targets */ -export declare function drawBuffers(gl: WebGLRenderingContext, buffers: sequence): void; +export declare function drawBuffers(gl: WebGLRenderingContextId, buffers: sequence): void; -export declare function clearBufferfv(gl: WebGLRenderingContext, buffer: GLenum, drawbuffer: GLint, values: Float32List, - srcOffset: GLuint = 0): void; -export declare function clearBufferiv(gl: WebGLRenderingContext, buffer: GLenum, drawbuffer: GLint, values: Int32List, - srcOffset: GLuint = 0): void; -export declare function clearBufferuiv(gl: WebGLRenderingContext, buffer: GLenum, drawbuffer: GLint, values: Uint32List, - srcOffset: GLuint = 0): void; +export declare function clearBufferfv(gl: WebGLRenderingContextId, buffer: GLenum, drawbuffer: GLint, values: Float32List, + srcOffset: GLuint = 0): void; +export declare function clearBufferiv(gl: WebGLRenderingContextId, buffer: GLenum, drawbuffer: GLint, values: Int32List, + srcOffset: GLuint = 0): void; +export declare function clearBufferuiv(gl: WebGLRenderingContextId, buffer: GLenum, drawbuffer: GLint, values: Uint32List, + srcOffset: GLuint = 0): void; -export declare function clearBufferfi(gl: WebGLRenderingContext, buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void; +export declare function clearBufferfi(gl: WebGLRenderingContextId, buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void; /* Query Objects */ -export declare function createQuery(gl: WebGLRenderingContext): WebGLQuery; -export declare function deleteQuery(gl: WebGLRenderingContext, query: WebGLQuery): void; +export declare function createQuery(gl: WebGLRenderingContextId): WebGLQuery; +export declare function deleteQuery(gl: WebGLRenderingContextId, query: WebGLQuery): void; /*[WebGLHandlesContextLoss]*/ -export declare function isQuery(gl: WebGLRenderingContext, query: WebGLQuery): GLboolean; -export declare function beginQuery(gl: WebGLRenderingContext, target: GLenum, query: WebGLQuery): void; -export declare function endQuery(gl: WebGLRenderingContext, target: GLenum): void; -export declare function getQuery(gl: WebGLRenderingContext, target: GLenum, pname: GLenum): WebGLQuery; -export declare function getQueryParameter(gl: WebGLRenderingContext, query: WebGLQuery, pname: GLenum): externref; // any +export declare function isQuery(gl: WebGLRenderingContextId, query: WebGLQuery): GLboolean; +export declare function beginQuery(gl: WebGLRenderingContextId, target: GLenum, query: WebGLQuery): void; +export declare function endQuery(gl: WebGLRenderingContextId, target: GLenum): void; +export declare function getQuery(gl: WebGLRenderingContextId, target: GLenum, pname: GLenum): WebGLQuery; +export declare function getQueryParameter(gl: WebGLRenderingContextId, query: WebGLQuery, pname: GLenum): externref; // any /* Sampler Objects */ -export declare function createSampler(gl: WebGLRenderingContext): WebGLSampler; -export declare function deleteSampler(gl: WebGLRenderingContext, sampler: WebGLSampler): void; +export declare function createSampler(gl: WebGLRenderingContextId): WebGLSampler; +export declare function deleteSampler(gl: WebGLRenderingContextId, sampler: WebGLSampler): void; /*[WebGLHandlesContextLoss]*/ -export declare function isSampler(gl: WebGLRenderingContext, sampler: WebGLSampler): GLboolean; -export declare function bindSampler(gl: WebGLRenderingContext, unit: GLuint, sampler: WebGLSampler): void; -export declare function samplerParameteri(gl: WebGLRenderingContext, sampler: WebGLSampler, pname: GLenum, param: GLint): void; -export declare function samplerParameterf(gl: WebGLRenderingContext, sampler: WebGLSampler, pname: GLenum, param: GLfloat): void; -export declare function getSamplerParameter(gl: WebGLRenderingContext, sampler: WebGLSampler, pname: GLenum): externref; // any +export declare function isSampler(gl: WebGLRenderingContextId, sampler: WebGLSampler): GLboolean; +export declare function bindSampler(gl: WebGLRenderingContextId, unit: GLuint, sampler: WebGLSampler): void; +export declare function samplerParameteri(gl: WebGLRenderingContextId, sampler: WebGLSampler, pname: GLenum, param: GLint): void; +export declare function samplerParameterf(gl: WebGLRenderingContextId, sampler: WebGLSampler, pname: GLenum, param: GLfloat): void; +export declare function getSamplerParameter(gl: WebGLRenderingContextId, sampler: WebGLSampler, pname: GLenum): externref; // any /* Sync objects */ -export declare function fenceSync(gl: WebGLRenderingContext, condition: GLenum, flags: GLbitfield): WebGLSync; +export declare function fenceSync(gl: WebGLRenderingContextId, condition: GLenum, flags: GLbitfield): WebGLSync; /*[WebGLHandlesContextLoss]*/ -export declare function isSync(gl: WebGLRenderingContext, sync: WebGLSync): GLboolean; -export declare function deleteSync(gl: WebGLRenderingContext, sync: WebGLSync): void; -export declare function clientWaitSync(gl: WebGLRenderingContext, sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum; -export declare function waitSync(gl: WebGLRenderingContext, sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void; -export declare function getSyncParameter(gl: WebGLRenderingContext, sync: WebGLSync, pname: GLenum): externref; // any +export declare function isSync(gl: WebGLRenderingContextId, sync: WebGLSync): GLboolean; +export declare function deleteSync(gl: WebGLRenderingContextId, sync: WebGLSync): void; +export declare function clientWaitSync(gl: WebGLRenderingContextId, sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum; +export declare function waitSync(gl: WebGLRenderingContextId, sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void; +export declare function getSyncParameter(gl: WebGLRenderingContextId, sync: WebGLSync, pname: GLenum): externref; // any /* Transform Feedback */ -export declare function createTransformFeedback(gl: WebGLRenderingContext): WebGLTransformFeedback; -export declare function deleteTransformFeedback(gl: WebGLRenderingContext, tf: WebGLTransformFeedback): void; +export declare function createTransformFeedback(gl: WebGLRenderingContextId): WebGLTransformFeedback; +export declare function deleteTransformFeedback(gl: WebGLRenderingContextId, tf: WebGLTransformFeedback): void; /*[WebGLHandlesContextLoss]*/ -export declare function isTransformFeedback(gl: WebGLRenderingContext, tf: WebGLTransformFeedback): GLboolean; -export declare function bindTransformFeedback(gl: WebGLRenderingContext, target: GLenum, tf: WebGLTransformFeedback): void; -export declare function beginTransformFeedback(gl: WebGLRenderingContext, primitiveMode: GLenum): void; -export declare function endTransformFeedback(gl: WebGLRenderingContext): void; -export declare function transformFeedbackVaryings(gl: WebGLRenderingContext, program: WebGLProgram, varyings: sequence, bufferMode: GLenum): void; -export declare function getTransformFeedbackVarying(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint): WebGLActiveInfo; -export declare function pauseTransformFeedback(gl: WebGLRenderingContext): void; -export declare function resumeTransformFeedback(gl: WebGLRenderingContext): void; +export declare function isTransformFeedback(gl: WebGLRenderingContextId, tf: WebGLTransformFeedback): GLboolean; +export declare function bindTransformFeedback(gl: WebGLRenderingContextId, target: GLenum, tf: WebGLTransformFeedback): void; +export declare function beginTransformFeedback(gl: WebGLRenderingContextId, primitiveMode: GLenum): void; +export declare function endTransformFeedback(gl: WebGLRenderingContextId): void; +export declare function transformFeedbackVaryings(gl: WebGLRenderingContextId, program: WebGLProgram, varyings: sequence, bufferMode: GLenum): void; +export declare function getTransformFeedbackVarying(gl: WebGLRenderingContextId, program: WebGLProgram, index: GLuint): WebGLActiveInfo; +export declare function pauseTransformFeedback(gl: WebGLRenderingContextId): void; +export declare function resumeTransformFeedback(gl: WebGLRenderingContextId): void; /* Uniform Buffer Objects and Transform Feedback Buffers */ -export declare function bindBufferBase(gl: WebGLRenderingContext, target: GLenum, index: GLuint, buffer: WebGLBuffer): void; -export declare function bindBufferRange(gl: WebGLRenderingContext, target: GLenum, index: GLuint, buffer: WebGLBuffer, offset: GLintptr, size: GLsizeiptr): void; -export declare function getIndexedParameter(gl: WebGLRenderingContext, target: GLenum, index: GLuint): externref; // any -export declare function getUniformIndices(gl: WebGLRenderingContext, program: WebGLProgram, uniformNames: sequence): sequence; -export declare function getActiveUniforms(gl: WebGLRenderingContext, program: WebGLProgram, uniformIndices: sequence, pname: GLenum): externref; // any -export declare function getUniformBlockIndex(gl: WebGLRenderingContext, program: WebGLProgram, uniformBlockName: DOMString): GLuint; -export declare function getActiveUniformBlockParameter(gl: WebGLRenderingContext, program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): externref; // any -export declare function getActiveUniformBlockName(gl: WebGLRenderingContext, program: WebGLProgram, uniformBlockIndex: GLuint): DOMString; -export declare function uniformBlockBinding(gl: WebGLRenderingContext, program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void; +export declare function bindBufferBase(gl: WebGLRenderingContextId, target: GLenum, index: GLuint, buffer: WebGLBuffer): void; +export declare function bindBufferRange(gl: WebGLRenderingContextId, target: GLenum, index: GLuint, buffer: WebGLBuffer, offset: GLintptr, size: GLsizeiptr): void; +export declare function getIndexedParameter(gl: WebGLRenderingContextId, target: GLenum, index: GLuint): externref; // any +export declare function getUniformIndices(gl: WebGLRenderingContextId, program: WebGLProgram, uniformNames: sequence): sequence; +export declare function getActiveUniforms(gl: WebGLRenderingContextId, program: WebGLProgram, uniformIndices: sequence, pname: GLenum): externref; // any +export declare function getUniformBlockIndex(gl: WebGLRenderingContextId, program: WebGLProgram, uniformBlockName: DOMString): GLuint; +export declare function getActiveUniformBlockParameter(gl: WebGLRenderingContextId, program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): externref; // any +export declare function getActiveUniformBlockName(gl: WebGLRenderingContextId, program: WebGLProgram, uniformBlockIndex: GLuint): DOMString; +export declare function uniformBlockBinding(gl: WebGLRenderingContextId, program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void; /* Vertex Array Objects */ -export declare function createVertexArray(gl: WebGLRenderingContext): WebGLVertexArrayObject; -export declare function deleteVertexArray(gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): void; +export declare function createVertexArray(gl: WebGLRenderingContextId): WebGLVertexArrayObject; +export declare function deleteVertexArray(gl: WebGLRenderingContextId, vertexArray: WebGLVertexArrayObject): void; /*[WebGLHandlesContextLoss]*/ -export declare function isVertexArray(gl: WebGLRenderingContext, vertexArray: WebGLVertexArrayObject): GLboolean; -export declare function bindVertexArray(gl: WebGLRenderingContext, array: WebGLVertexArrayObject): void; +export declare function isVertexArray(gl: WebGLRenderingContextId, vertexArray: WebGLVertexArrayObject): GLboolean; +export declare function bindVertexArray(gl: WebGLRenderingContextId, array: WebGLVertexArrayObject): void; + + +@final @unmanaged +export class WebGLRenderingContext { + gl_id: WebGLRenderingContextId; + @inline constructor(canvas_id: string, context_type: string) { + // constructor needs to create the gl_id + this.gl_id = createContextFromCanvas(canvas_id, context_type); + } + /* + @inline get ptr(): usize { + return changetype(this); + } + */ + @inline createImage(image_location: string): ImageData { + return createImage(image_location); + } + + @inline imageReady(image_id: ImageData): bool { + return imageReady(image_id); + } + + @inline get ALPHA_DEFAULT(): bool { + return ALPHA_DEFAULT; + } + + @inline get FALSE(): bool { + return FALSE; + } + + @inline getAlpha(): GLboolean { + return getAlpha(this.gl_id); + } + + @inline setAlpha(value: GLboolean): void { + setAlpha(this.gl_id, value); + } + + @inline get DEPTH_DEFAULT(): bool { + return DEPTH_DEFAULT; + } + + @inline getDepth(): GLboolean { + getDepth(this.gl_id); + } + + @inline setDepth(value: GLboolean): void { + setDepth(this.gl_id, value); + } + + @inline get STENCIL_DEFAULT(): bool { + return STENCIL_DEFAULT; + } + + @inline getStencil(): GLboolean { + getStencil(this.gl_id); + } + + @inline setStencil(value: GLboolean): void { + setStencil(this.gl_id, value); + } + + @inline get ANTIALIAS_DEFAULT(): bool { + return ANTIALIAS_DEFAULT; + } + + @inline getAntialias(): GLboolean { + getAntialias(this.gl_id); + } + + @inline setAntialias(value: GLboolean): void { + setAntialias(this.gl_id, value); + } + + @inline get PREMULTIPLIED_ALPHA_DEFAULT(): bool { + return PREMULTIPLIED_ALPHA_DEFAULT; + } + + @inline getPremultipliedAlpha(): GLboolean { + getPremultipliedAlpha(this.gl_id); + } + + @inline setPremultipliedAlpha(value: GLboolean): void { + setPremultipliedAlpha(this.gl_id, value); + } + + @inline get PRESERVE_DRAWING_BUFFER_DEFAULT(): bool { + return PRESERVE_DRAWING_BUFFER_DEFAULT; + } + + @inline getPreserveDrawingBuffer(): GLboolean { + getPreserveDrawingBuffer(this.gl_id); + } + + @inline setPreserveDrawingBuffer(value: GLboolean): void { + setPreserveDrawingBuffer(this.gl_id, value); + } + + @inline getSize(): GLint { + return getSize(this.gl_id); + } + + @inline getType(): GLenum { + return getType(this.gl_id); + } + + @inline getName(): string { + return getName(this.gl_id); + } + + @inline getRangeMin(): GLint { + return getRangeMin(this.gl_id); + } + + @inline getRangeMax(): GLint { + return getRangeMax(this.gl_id); + } + @inline getPrecision(): GLint { + getPrecision(this.gl_id) + } + + @inline get DEPTH_BUFFER_BIT(): GLenum { + return DEPTH_BUFFER_BIT; + } + + @inline get STENCIL_BUFFER_BIT(): GLenum { + return STENCIL_BUFFER_BIT; + } + + @inline get COLOR_BUFFER_BIT(): GLenum { + return COLOR_BUFFER_BIT; + } + + @inline get POINTS(): GLenum { + return POINTS; + } + + @inline get LINES(): GLenum { + return LINES; + } + + @inline get LINE_LOOP(): GLenum { + return LINE_LOOP; + } + + @inline get LINE_STRIP(): GLenum { + return LINE_STRIP; + } + + @inline get TRIANGLES(): GLenum { + return TRIANGLES; + } + + @inline get TRIANGLE_STRIP(): GLenum { + return TRIANGLE_STRIP; + } + + @inline get TRIANGLE_FAN(): GLenum { + return TRIANGLE_FAN; + } + + @inline get ZERO(): GLenum { + return ZERO; + } + + @inline get ONE(): GLenum { + return ONE; + } + + @inline get SRC_COLOR(): GLenum { + return SRC_COLOR; + } + + @inline get ONE_MINUS_SRC_COLOR(): GLenum { + return ONE_MINUS_SRC_COLOR; + } + + @inline get SRC_ALPHA(): GLenum { + return SRC_ALPHA; + } + + @inline get ONE_MINUS_SRC_ALPHA(): GLenum { + return ONE_MINUS_SRC_ALPHA; + } + + @inline get DST_ALPHA(): GLenum { + return DST_ALPHA; + } + + @inline get ONE_MINUS_DST_ALPHA(): GLenum { + return ONE_MINUS_DST_ALPHA; + } + + @inline get DST_COLOR(): GLenum { + return DST_COLOR; + } + + @inline get ONE_MINUS_DST_COLOR(): GLenum { + return ONE_MINUS_DST_COLOR; + } + + @inline get SRC_ALPHA_SATURATE(): GLenum { + return SRC_ALPHA_SATURATE; + } + + @inline get FUNC_ADD(): GLenum { + return FUNC_ADD; + } + + @inline get BLEND_EQUATION(): GLenum { + return BLEND_EQUATION; + } + + @inline get BLEND_EQUATION_RGB(): GLenum { + return BLEND_EQUATION_RGB; + } + + @inline get BLEND_EQUATION_ALPHA(): GLenum { + return BLEND_EQUATION_ALPHA; + } + + @inline get FUNC_SUBTRACT(): GLenum { + return FUNC_SUBTRACT; + } + + @inline get FUNC_REVERSE_SUBTRACT(): GLenum { + return FUNC_REVERSE_SUBTRACT; + } + + @inline get BLEND_DST_RGB(): GLenum { + return BLEND_DST_RGB; + } + + @inline get BLEND_SRC_RGB(): GLenum { + return BLEND_SRC_RGB; + } + + @inline get BLEND_DST_ALPHA(): GLenum { + return BLEND_DST_ALPHA; + } + + @inline get BLEND_SRC_ALPHA(): GLenum { + return BLEND_SRC_ALPHA; + } + + @inline get CONSTANT_COLOR(): GLenum { + return CONSTANT_COLOR; + } + + @inline get ONE_MINUS_CONSTANT_COLOR(): GLenum { + return ONE_MINUS_CONSTANT_COLOR; + } + + @inline get CONSTANT_ALPHA(): GLenum { + return CONSTANT_ALPHA; + } + + @inline get ONE_MINUS_CONSTANT_ALPHA(): GLenum { + return ONE_MINUS_CONSTANT_ALPHA; + } + + @inline get BLEND_COLOR(): GLenum { + return BLEND_COLOR; + } + + @inline get ARRAY_BUFFER(): GLenum { + return ARRAY_BUFFER; + } + + @inline get ELEMENT_ARRAY_BUFFER(): GLenum { + return ELEMENT_ARRAY_BUFFER; + } + + @inline get ARRAY_BUFFER_BINDING(): GLenum { + return ARRAY_BUFFER_BINDING; + } + + @inline get ELEMENT_ARRAY_BUFFER_BINDING(): GLenum { + return ELEMENT_ARRAY_BUFFER_BINDING; + } + + @inline get STREAM_DRAW(): GLenum { + return STREAM_DRAW; + } + + @inline get STATIC_DRAW(): GLenum { + return STATIC_DRAW; + } + + @inline get DYNAMIC_DRAW(): GLenum { + return DYNAMIC_DRAW; + } + + @inline get BUFFER_SIZE(): GLenum { + return BUFFER_SIZE; + } + + @inline get BUFFER_USAGE(): GLenum { + return BUFFER_USAGE; + } + + @inline get CURRENT_VERTEX_ATTRIB(): GLenum { + return CURRENT_VERTEX_ATTRIB; + } + + @inline get FRONT(): GLenum { + return FRONT; + } + + @inline get BACK(): GLenum { + return BACK; + } + + @inline get FRONT_AND_BACK(): GLenum { + return FRONT_AND_BACK; + } + + @inline get CULL_FACE(): GLenum { + return CULL_FACE; + } + + @inline get BLEND(): GLenum { + return BLEND; + } + + @inline get DITHER(): GLenum { + return DITHER; + } + + @inline get STENCIL_TEST(): GLenum { + return STENCIL_TEST; + } + + @inline get DEPTH_TEST(): GLenum { + return DEPTH_TEST; + } + + @inline get SCISSOR_TEST(): GLenum { + return SCISSOR_TEST; + } + + @inline get POLYGON_OFFSET_FILL(): GLenum { + return POLYGON_OFFSET_FILL; + } + + @inline get SAMPLE_ALPHA_TO_COVERAGE(): GLenum { + return SAMPLE_ALPHA_TO_COVERAGE; + } + + @inline get SAMPLE_COVERAGE(): GLenum { + return SAMPLE_COVERAGE; + } + + @inline get NO_ERROR(): GLenum { + return NO_ERROR; + } + + @inline get INVALID_ENUM(): GLenum { + return INVALID_ENUM; + } + + @inline get INVALID_VALUE(): GLenum { + return INVALID_VALUE; + } + + @inline get INVALID_OPERATION(): GLenum { + return INVALID_OPERATION; + } + + @inline get OUT_OF_MEMORY(): GLenum { + return OUT_OF_MEMORY; + } + + @inline get CW(): GLenum { + return CW; + } + + @inline get CCW(): GLenum { + return CCW; + } + + @inline get LINE_WIDTH(): GLenum { + return LINE_WIDTH; + } + + @inline get ALIASED_POINT_SIZE_RANGE(): GLenum { + return ALIASED_POINT_SIZE_RANGE; + } + + @inline get ALIASED_LINE_WIDTH_RANGE(): GLenum { + return ALIASED_LINE_WIDTH_RANGE; + } + + @inline get CULL_FACE_MODE(): GLenum { + return CULL_FACE_MODE; + } + + @inline get FRONT_FACE(): GLenum { + return FRONT_FACE; + } + + @inline get DEPTH_RANGE(): GLenum { + return DEPTH_RANGE; + } + + @inline get DEPTH_WRITEMASK(): GLenum { + return DEPTH_WRITEMASK; + } + + @inline get DEPTH_CLEAR_VALUE(): GLenum { + return DEPTH_CLEAR_VALUE; + } + + @inline get DEPTH_FUNC(): GLenum { + return DEPTH_FUNC; + } + + @inline get STENCIL_CLEAR_VALUE(): GLenum { + return STENCIL_CLEAR_VALUE; + } + + @inline get STENCIL_FUNC(): GLenum { + return STENCIL_FUNC; + } + + @inline get STENCIL_FAIL(): GLenum { + return STENCIL_FAIL; + } + + @inline get STENCIL_PASS_DEPTH_FAIL(): GLenum { + return STENCIL_PASS_DEPTH_FAIL; + } + + @inline get STENCIL_PASS_DEPTH_PASS(): GLenum { + return STENCIL_PASS_DEPTH_PASS; + } + + @inline get STENCIL_REF(): GLenum { + return STENCIL_REF; + } + + @inline get STENCIL_VALUE_MASK(): GLenum { + return STENCIL_VALUE_MASK; + } + + @inline get STENCIL_WRITEMASK(): GLenum { + return STENCIL_WRITEMASK; + } + + @inline get STENCIL_BACK_FUNC(): GLenum { + return STENCIL_BACK_FUNC; + } + + @inline get STENCIL_BACK_FAIL(): GLenum { + return STENCIL_BACK_FAIL; + } + + @inline get STENCIL_BACK_PASS_DEPTH_FAIL(): GLenum { + return STENCIL_BACK_PASS_DEPTH_FAIL; + } + + @inline get STENCIL_BACK_PASS_DEPTH_PASS(): GLenum { + return STENCIL_BACK_PASS_DEPTH_PASS; + } + + @inline get STENCIL_BACK_REF(): GLenum { + return STENCIL_BACK_REF; + } + + @inline get STENCIL_BACK_VALUE_MASK(): GLenum { + return STENCIL_BACK_VALUE_MASK; + } + + @inline get STENCIL_BACK_WRITEMASK(): GLenum { + return STENCIL_BACK_WRITEMASK; + } + + @inline get VIEWPORT(): GLenum { + return VIEWPORT; + } + + @inline get SCISSOR_BOX(): GLenum { + return SCISSOR_BOX; + } + + @inline get COLOR_CLEAR_VALUE(): GLenum { + return COLOR_CLEAR_VALUE; + } + + @inline get COLOR_WRITEMASK(): GLenum { + return COLOR_WRITEMASK; + } + + @inline get UNPACK_ALIGNMENT(): GLenum { + return UNPACK_ALIGNMENT; + } + + @inline get PACK_ALIGNMENT(): GLenum { + return PACK_ALIGNMENT; + } + + @inline get MAX_TEXTURE_SIZE(): GLenum { + return MAX_TEXTURE_SIZE; + } + + @inline get MAX_VIEWPORT_DIMS(): GLenum { + return MAX_VIEWPORT_DIMS; + } + + @inline get SUBPIXEL_BITS(): GLenum { + return SUBPIXEL_BITS; + } + + @inline get RED_BITS(): GLenum { + return RED_BITS; + } + + @inline get GREEN_BITS(): GLenum { + return GREEN_BITS; + } + + @inline get BLUE_BITS(): GLenum { + return BLUE_BITS; + } + + @inline get ALPHA_BITS(): GLenum { + return ALPHA_BITS; + } + + @inline get DEPTH_BITS(): GLenum { + return DEPTH_BITS; + } + + @inline get STENCIL_BITS(): GLenum { + return STENCIL_BITS; + } + + @inline get POLYGON_OFFSET_UNITS(): GLenum { + return POLYGON_OFFSET_UNITS; + } + + @inline get POLYGON_OFFSET_FACTOR(): GLenum { + return POLYGON_OFFSET_FACTOR; + } + + @inline get TEXTURE_BINDING_2D(): GLenum { + return TEXTURE_BINDING_2D; + } + + @inline get SAMPLE_BUFFERS(): GLenum { + return SAMPLE_BUFFERS; + } + + @inline get SAMPLES(): GLenum { + return SAMPLES; + } + + @inline get SAMPLE_COVERAGE_VALUE(): GLenum { + return SAMPLE_COVERAGE_VALUE; + } + + @inline get SAMPLE_COVERAGE_INVERT(): GLenum { + return SAMPLE_COVERAGE_INVERT; + } + + @inline get COMPRESSED_TEXTURE_FORMATS(): GLenum { + return COMPRESSED_TEXTURE_FORMATS; + } + + @inline get DONT_CARE(): GLenum { + return DONT_CARE; + } + + @inline get FASTEST(): GLenum { + return FASTEST; + } + + @inline get NICEST(): GLenum { + return NICEST; + } + + @inline get GENERATE_MIPMAP_HINT(): GLenum { + return GENERATE_MIPMAP_HINT; + } + + @inline get BYTE(): GLenum { + return BYTE; + } + + @inline get UNSIGNED_BYTE(): GLenum { + return UNSIGNED_BYTE; + } + + @inline get SHORT(): GLenum { + return SHORT; + } + + @inline get UNSIGNED_SHORT(): GLenum { + return UNSIGNED_SHORT; + } + + @inline get INT(): GLenum { + return INT; + } + + @inline get UNSIGNED_INT(): GLenum { + return UNSIGNED_INT; + } + + @inline get FLOAT(): GLenum { + return FLOAT; + } + + @inline get DEPTH_COMPONENT(): GLenum { + return DEPTH_COMPONENT; + } + + @inline get ALPHA(): GLenum { + return ALPHA; + } + + @inline get RGB(): GLenum { + return RGB; + } + + @inline get RGBA(): GLenum { + return RGBA; + } + + @inline get LUMINANCE(): GLenum { + return LUMINANCE; + } + + @inline get LUMINANCE_ALPHA(): GLenum { + return LUMINANCE_ALPHA; + } + + @inline get UNSIGNED_SHORT_4_4_4_4(): GLenum { + return UNSIGNED_SHORT_4_4_4_4; + } + + @inline get UNSIGNED_SHORT_5_5_5_1(): GLenum { + return UNSIGNED_SHORT_5_5_5_1; + } + + @inline get UNSIGNED_SHORT_5_6_5(): GLenum { + return UNSIGNED_SHORT_5_6_5; + } + + @inline get FRAGMENT_SHADER(): GLenum { + return FRAGMENT_SHADER; + } + + @inline get VERTEX_SHADER(): GLenum { + return VERTEX_SHADER; + } + + @inline get MAX_VERTEX_ATTRIBS(): GLenum { + return MAX_VERTEX_ATTRIBS; + } + + @inline get MAX_VERTEX_UNIFORM_VECTORS(): GLenum { + return MAX_VERTEX_UNIFORM_VECTORS; + } + + @inline get MAX_VARYING_VECTORS(): GLenum { + return MAX_VARYING_VECTORS; + } + + @inline get MAX_COMBINED_TEXTURE_IMAGE_UNITS(): GLenum { + return MAX_COMBINED_TEXTURE_IMAGE_UNITS; + } + + @inline get MAX_VERTEX_TEXTURE_IMAGE_UNITS(): GLenum { + return MAX_VERTEX_TEXTURE_IMAGE_UNITS; + } + + @inline get MAX_TEXTURE_IMAGE_UNITS(): GLenum { + return MAX_TEXTURE_IMAGE_UNITS; + } + + @inline get MAX_FRAGMENT_UNIFORM_VECTORS(): GLenum { + return MAX_FRAGMENT_UNIFORM_VECTORS; + } + + @inline get SHADER_TYPE(): GLenum { + return SHADER_TYPE; + } + + @inline get DELETE_STATUS(): GLenum { + return DELETE_STATUS; + } + + @inline get LINK_STATUS(): GLenum { + return LINK_STATUS; + } + + @inline get VALIDATE_STATUS(): GLenum { + return VALIDATE_STATUS; + } + + @inline get ATTACHED_SHADERS(): GLenum { + return ATTACHED_SHADERS; + } + + @inline get ACTIVE_UNIFORMS(): GLenum { + return ACTIVE_UNIFORMS; + } + + @inline get ACTIVE_ATTRIBUTES(): GLenum { + return ACTIVE_ATTRIBUTES; + } + + @inline get SHADING_LANGUAGE_VERSION(): GLenum { + return SHADING_LANGUAGE_VERSION; + } + + @inline get CURRENT_PROGRAM(): GLenum { + return CURRENT_PROGRAM; + } + + @inline get NEVER(): GLenum { + return NEVER; + } + + @inline get LESS(): GLenum { + return LESS; + } + + @inline get EQUAL(): GLenum { + return EQUAL; + } + + @inline get LEQUAL(): GLenum { + return LEQUAL; + } + + @inline get GREATER(): GLenum { + return GREATER; + } + + @inline get NOTEQUAL(): GLenum { + return NOTEQUAL; + } + + @inline get GEQUAL(): GLenum { + return GEQUAL; + } + + @inline get ALWAYS(): GLenum { + return ALWAYS; + } + + @inline get KEEP(): GLenum { + return KEEP; + } + + @inline get REPLACE(): GLenum { + return REPLACE; + } + + @inline get INCR(): GLenum { + return INCR; + } + + @inline get DECR(): GLenum { + return DECR; + } + + @inline get INVERT(): GLenum { + return INVERT; + } + + @inline get INCR_WRAP(): GLenum { + return INCR_WRAP; + } + + @inline get DECR_WRAP(): GLenum { + return DECR_WRAP; + } + + + @inline get VENDOR(): GLenum { + return VENDOR; + } + + @inline get RENDERER(): GLenum { + return RENDERER; + } + + @inline get VERSION(): GLenum { + return VERSION; + } + + @inline get NEAREST(): GLenum { + return NEAREST; + } + + @inline get LINEAR(): GLenum { + return LINEAR; + } + + @inline get NEAREST_MIPMAP_NEAREST(): GLenum { + return NEAREST_MIPMAP_NEAREST; + } + + @inline get LINEAR_MIPMAP_NEAREST(): GLenum { + return LINEAR_MIPMAP_NEAREST; + } + + @inline get NEAREST_MIPMAP_LINEAR(): GLenum { + return NEAREST_MIPMAP_LINEAR; + } + + @inline get LINEAR_MIPMAP_LINEAR(): GLenum { + return LINEAR_MIPMAP_LINEAR; + } + + @inline get TEXTURE_MAG_FILTER(): GLenum { + return TEXTURE_MAG_FILTER; + } + + @inline get TEXTURE_MIN_FILTER(): GLenum { + return TEXTURE_MIN_FILTER; + } + + @inline get TEXTURE_WRAP_S(): GLenum { + return LINEAR; + } + + @inline get TEXTURE_WRAP_T(): GLenum { + return TEXTURE_WRAP_T; + } + + @inline get TEXTURE_2D(): GLenum { + return TEXTURE_2D; + } + + @inline get TEXTURE(): GLenum { + return TEXTURE; + } + + @inline get TEXTURE_CUBE_MAP(): GLenum { + return TEXTURE_CUBE_MAP; + } + + @inline get TEXTURE_BINDING_CUBE_MAP(): GLenum { + return TEXTURE_BINDING_CUBE_MAP; + } + + @inline get TEXTURE_CUBE_MAP_POSITIVE_X(): GLenum { + return TEXTURE_CUBE_MAP_POSITIVE_X; + } + + @inline get TEXTURE_CUBE_MAP_NEGATIVE_X(): GLenum { + return TEXTURE_CUBE_MAP_NEGATIVE_X; + } + + @inline get TEXTURE_CUBE_MAP_POSITIVE_Y(): GLenum { + return TEXTURE_CUBE_MAP_POSITIVE_Y; + } + + @inline get TEXTURE_CUBE_MAP_NEGATIVE_Y(): GLenum { + return TEXTURE_CUBE_MAP_NEGATIVE_Y; + } + + @inline get TEXTURE_CUBE_MAP_POSITIVE_Z(): GLenum { + return TEXTURE_CUBE_MAP_POSITIVE_Z; + } + + @inline get TEXTURE_CUBE_MAP_NEGATIVE_Z(): GLenum { + return TEXTURE_CUBE_MAP_NEGATIVE_Z; + } + + @inline get MAX_CUBE_MAP_TEXTURE_SIZE(): GLenum { + return MAX_CUBE_MAP_TEXTURE_SIZE; + } + + @inline get TEXTURE0(): GLenum { + return TEXTURE0; + } + @inline get TEXTURE1(): GLenum { + return TEXTURE1; + } + @inline get TEXTURE2(): GLenum { + return TEXTURE2; + } + @inline get TEXTURE3(): GLenum { + return TEXTURE3; + } + @inline get TEXTURE4(): GLenum { + return TEXTURE4; + } + @inline get TEXTURE5(): GLenum { + return TEXTURE5; + } + @inline get TEXTURE6(): GLenum { + return TEXTURE6; + } + @inline get TEXTURE7(): GLenum { + return TEXTURE7; + } + @inline get TEXTURE8(): GLenum { + return TEXTURE8; + } + @inline get TEXTURE9(): GLenum { + return TEXTURE9; + } + //--- + + @inline get TEXTURE10(): GLenum { + return TEXTURE10; + } + @inline get TEXTURE11(): GLenum { + return TEXTURE11; + } + @inline get TEXTURE12(): GLenum { + return TEXTURE12; + } + @inline get TEXTURE13(): GLenum { + return TEXTURE13; + } + @inline get TEXTURE14(): GLenum { + return TEXTURE14; + } + @inline get TEXTURE15(): GLenum { + return TEXTURE15; + } + @inline get TEXTURE16(): GLenum { + return TEXTURE16; + } + @inline get TEXTURE17(): GLenum { + return TEXTURE17; + } + @inline get TEXTURE18(): GLenum { + return TEXTURE18; + } + @inline get TEXTURE19(): GLenum { + return TEXTURE19; + } + // -- + @inline get TEXTURE20(): GLenum { + return TEXTURE20; + } + @inline get TEXTURE21(): GLenum { + return TEXTURE21; + } + @inline get TEXTURE22(): GLenum { + return TEXTURE22; + } + @inline get TEXTURE23(): GLenum { + return TEXTURE23; + } + @inline get TEXTURE24(): GLenum { + return TEXTURE24; + } + @inline get TEXTURE25(): GLenum { + return TEXTURE25; + } + @inline get TEXTURE26(): GLenum { + return TEXTURE26; + } + @inline get TEXTURE27(): GLenum { + return TEXTURE27; + } + @inline get TEXTURE28(): GLenum { + return TEXTURE28; + } + @inline get TEXTURE29(): GLenum { + return TEXTURE29; + } + + @inline get TEXTURE30(): GLenum { + return TEXTURE30; + } + @inline get TEXTURE31(): GLenum { + return TEXTURE31; + } + + @inline get ACTIVE_TEXTURE(): GLenum { + return ACTIVE_TEXTURE; + } + + @inline get REPEAT(): GLenum { + return REPEAT; + } + + @inline get CLAMP_TO_EDGE(): GLenum { + return CLAMP_TO_EDGE; + } + + @inline get MIRRORED_REPEAT(): GLenum { + return MIRRORED_REPEAT; + } + + @inline get FLOAT_VEC2(): GLenum { + return FLOAT_VEC2; + } + + @inline get FLOAT_VEC3(): GLenum { + return FLOAT_VEC3; + } + + @inline get FLOAT_VEC4(): GLenum { + return FLOAT_VEC4; + } + + @inline get INT_VEC2(): GLenum { + return INT_VEC2; + } + + @inline get INT_VEC3(): GLenum { + return INT_VEC3; + } + + @inline get INT_VEC4(): GLenum { + return INT_VEC4; + } + + @inline get BOOL(): GLenum { + return BOOL; + } + + @inline get BOOL_VEC2(): GLenum { + return BOOL_VEC2; + } + + @inline get BOOL_VEC3(): GLenum { + return REPEAT; + } + + @inline get BOOL_VEC4(): GLenum { + return BOOL_VEC4; + } + + @inline get FLOAT_MAT2(): GLenum { + return FLOAT_MAT2; + } + + @inline get FLOAT_MAT3(): GLenum { + return FLOAT_MAT3; + } + + @inline get FLOAT_MAT4(): GLenum { + return FLOAT_MAT4; + } + + @inline get SAMPLER_2D(): GLenum { + return SAMPLER_2D; + } + + @inline get SAMPLER_CUBE(): GLenum { + return SAMPLER_CUBE; + } + + @inline get VERTEX_ATTRIB_ARRAY_ENABLED(): GLenum { + return VERTEX_ATTRIB_ARRAY_ENABLED; + } + + @inline get VERTEX_ATTRIB_ARRAY_SIZE(): GLenum { + return VERTEX_ATTRIB_ARRAY_SIZE; + } + + @inline get VERTEX_ATTRIB_ARRAY_STRIDE(): GLenum { + return VERTEX_ATTRIB_ARRAY_STRIDE; + } + + @inline get VERTEX_ATTRIB_ARRAY_TYPE(): GLenum { + return VERTEX_ATTRIB_ARRAY_TYPE; + } + + @inline get VERTEX_ATTRIB_ARRAY_NORMALIZED(): GLenum { + return VERTEX_ATTRIB_ARRAY_NORMALIZED; + } + + @inline get VERTEX_ATTRIB_ARRAY_POINTER(): GLenum { + return VERTEX_ATTRIB_ARRAY_POINTER; + } + + @inline get VERTEX_ATTRIB_ARRAY_BUFFER_BINDING(): GLenum { + return VERTEX_ATTRIB_ARRAY_BUFFER_BINDING; + } + + @inline get COMPILE_STATUS(): GLenum { + return COMPILE_STATUS; + } + + @inline get LOW_FLOAT(): GLenum { + return LOW_FLOAT; + } + + @inline get MEDIUM_FLOAT(): GLenum { + return MEDIUM_FLOAT; + } + + @inline get HIGH_FLOAT(): GLenum { + return HIGH_FLOAT; + } + + @inline get LOW_INT(): GLenum { + return LOW_INT; + } + + @inline get MEDIUM_INT(): GLenum { + return MEDIUM_INT; + } + + @inline get HIGH_INT(): GLenum { + return HIGH_INT; + } + + @inline get FRAMEBUFFER(): GLenum { + return FRAMEBUFFER; + } + + @inline get RENDERBUFFER(): GLenum { + return RENDERBUFFER; + } + + @inline get RGBA4(): GLenum { + return RGBA4; + } + + @inline get RGB5_A1(): GLenum { + return RGB5_A1; + } + + @inline get RGB565(): GLenum { + return RGB565; + } + + @inline get DEPTH_COMPONENT16(): GLenum { + return DEPTH_COMPONENT16; + } + + @inline get STENCIL_INDEX(): GLenum { + return STENCIL_INDEX; + } + + @inline get STENCIL_INDEX8(): GLenum { + return STENCIL_INDEX8; + } + + @inline get DEPTH_STENCIL(): GLenum { + return DEPTH_STENCIL; + } + + @inline get RENDERBUFFER_WIDTH(): GLenum { + return RENDERBUFFER_WIDTH; + } + + @inline get RENDERBUFFER_HEIGHT(): GLenum { + return RENDERBUFFER_HEIGHT; + } + + @inline get RENDERBUFFER_INTERNAL_FORMAT(): GLenum { + return RENDERBUFFER_INTERNAL_FORMAT; + } + + @inline get RENDERBUFFER_RED_SIZE(): GLenum { + return RENDERBUFFER_RED_SIZE; + } + + @inline get RENDERBUFFER_GREEN_SIZE(): GLenum { + return RENDERBUFFER_GREEN_SIZE; + } + + @inline get RENDERBUFFER_BLUE_SIZE(): GLenum { + return RENDERBUFFER_BLUE_SIZE; + } + + @inline get RENDERBUFFER_ALPHA_SIZE(): GLenum { + return RENDERBUFFER_ALPHA_SIZE; + } + + @inline get RENDERBUFFER_DEPTH_SIZE(): GLenum { + return RENDERBUFFER_DEPTH_SIZE; + } + + @inline get RENDERBUFFER_STENCIL_SIZE(): GLenum { + return RENDERBUFFER_STENCIL_SIZE; + } + + @inline get FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE(): GLenum { + return FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE; + } + + @inline get FRAMEBUFFER_ATTACHMENT_OBJECT_NAME(): GLenum { + return FRAMEBUFFER_ATTACHMENT_OBJECT_NAME; + } + + @inline get FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL(): GLenum { + return FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL; + } + + @inline get FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE(): GLenum { + return FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE; + } + + @inline get COLOR_ATTACHMENT0(): GLenum { + return COLOR_ATTACHMENT0; + } + + @inline get DEPTH_ATTACHMENT(): GLenum { + return DEPTH_ATTACHMENT; + } + + @inline get STENCIL_ATTACHMENT(): GLenum { + return STENCIL_ATTACHMENT; + } + + @inline get DEPTH_STENCIL_ATTACHMENT(): GLenum { + return DEPTH_STENCIL_ATTACHMENT; + } + + @inline get NONE(): GLenum { + return NONE; + } + + @inline get FRAMEBUFFER_COMPLETE(): GLenum { + return FRAMEBUFFER_COMPLETE; + } + + @inline get FRAMEBUFFER_INCOMPLETE_ATTACHMENT(): GLenum { + return FRAMEBUFFER_INCOMPLETE_ATTACHMENT; + } + + @inline get FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT(): GLenum { + return FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT; + } + + @inline get FRAMEBUFFER_INCOMPLETE_DIMENSIONS(): GLenum { + return FRAMEBUFFER_INCOMPLETE_DIMENSIONS; + } + + @inline get FRAMEBUFFER_UNSUPPORTED(): GLenum { + return FRAMEBUFFER_UNSUPPORTED; + } + + @inline get FRAMEBUFFER_BINDING(): GLenum { + return FRAMEBUFFER_BINDING; + } + + @inline get RENDERBUFFER_BINDING(): GLenum { + return RENDERBUFFER_BINDING; + } + + @inline get MAX_RENDERBUFFER_SIZE(): GLenum { + return MAX_RENDERBUFFER_SIZE; + } + + @inline get INVALID_FRAMEBUFFER_OPERATION(): GLenum { + return INVALID_FRAMEBUFFER_OPERATION; + } + + @inline get UNPACK_FLIP_Y_WEBGL(): GLenum { + return UNPACK_FLIP_Y_WEBGL; + } + + @inline get UNPACK_PREMULTIPLY_ALPHA_WEBGL(): GLenum { + return UNPACK_PREMULTIPLY_ALPHA_WEBGL; + } + + @inline get CONTEXT_LOST_WEBGL(): GLenum { + return CONTEXT_LOST_WEBGL; + } + + @inline get UNPACK_COLORSPACE_CONVERSION_WEBGL(): GLenum { + return UNPACK_COLORSPACE_CONVERSION_WEBGL; + } + + @inline get BROWSER_DEFAULT_WEBGL(): GLenum { + return BROWSER_DEFAULT_WEBGL; + } + + /* + @inline getDepth(): GLboolean { + getDepth(this.gl_id); + } + */ + + @inline getDrawingBufferWidth(): GLsizei { + return getDrawingBufferWidth(this.gl_id); + } + @inline getDrawingBufferHeight(): GLsizei { + return getDrawingBufferHeight(this.gl_id); + } + + @inline getContextAttributes(gl: WebGLRenderingContext): WebGLContextAttributes { + return getContextAttributes(); + } + @inline isContextLost(): bool { + return isContextLost(this.gl_id); + } + + @inline getSupportedExtensions(): sequence { + return getSupportedExtensions(this.gl_id); + } + + @inline getExtension(name: string): object_ { + return getExtension(this.gl_id, name); + } + + @inline activeTexture(texture: GLenum): void { + activeTexture(this.gl_id, texture); + } + @inline createContextFromCanvas(canvas_id: string, context_type: string): WebGLRenderingContext { + this.gl_id = createContextFromCanvas(canvas_id, context_type); + return this.gl_id; + } + + @inline attachShader(program: WebGLProgram, shader: WebGLShader): void { + attachShader(this.gl_id, program, shader); + } + + // @inline bindAttribLocation(gl: WebGLRenderingContext, program: WebGLProgram, index: GLuint, name: string): void; + @inline bindBuffer(target: GLenum, buffer: WebGLBuffer): void { + bindBuffer(this.gl_id, target, buffer); + } + @inline bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer): void { + bindFramebuffer(this.gl_id, target, framebuffer); + } + @inline bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer): void { + bindRenderbuffer(this.gl_id, target, renderbuffer); + } + @inline bindTexture(target: GLenum, texture: WebGLTexture): void { + bindTexture(this.gl_id, target, texture); + } + @inline blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void { + blendColor(this.gl_id, red, green, blue, alpha); + } + @inline blendEquation(mode: GLenum): void { + blendEquation(this.gl_id, mode); + } + @inline blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void { + blendEquationSeparate(this.gl_id, modeRGB, modeAlpha); + } + @inline blendFunc(sfactor: GLenum, dfactor: GLenum): void { + blendFunc(this.gl_id, sfactor, dfactor); + } + @inline blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void { + blendFuncSeparate(this.gl_id, srcRGB, dstRGB, srcAlpha, dstAlpha); + } + @inline bufferData(target: GLenum, data: StaticArray, usage: GLenum): void { + bufferData(this.gl_id, target, data, usage); + } + @inline bufferSubData(target: GLenum, offset: GLintptr, data: Array): void { + bufferSubData(this.gl_id, target, offset, data) + } + + @inline checkFramebufferStatus(target: GLenum): GLenum { + return checkFramebufferStatus(this.gl_id, target); + } + @inline clear(mask: GLbitfield): void { + clear(this.gl_id, mask) + } + + @inline clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void { + clearColor(this.gl_id, red, green, blue, alpha); + } + @inline clearDepth(depth: GLclampf): void { + clearDepth(this.gl_id, depth); + } + @inline clearStencil(s: GLint): void { + clearStencil(this.gl_id, s); + } + @inline colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void { + colorMask(this.gl_id, red, green, blue, alpha); + } + @inline compileShader(shader: WebGLShader): void { + compileShader(this.gl_id, shader); + } + + @inline compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void { + compressedTexImage2D(this.gl_id, target, level, internalformat, width, height, border, data); + } + @inline compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void { + compressedTexSubImage2D(this.gl_id, target, level, xoffset, yoffset, width, height, format, data); + } + + @inline copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void { + copyTexImage2D(this.gl_id, target, level, internalformat, x, y, width, height, border); + } + @inline copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void { + copyTexSubImage2D(this.gl_id, target, level, xoffset, yoffset, x, y, width, height); + } + + @inline createBuffer(): WebGLBuffer { + return createBuffer(this.gl_id); + } + + @inline createFramebuffer(): WebGLFramebuffer { + return createFramebuffer(this.gl_id); + } + + @inline createProgram(): WebGLProgram { + return createProgram(this.gl_id); + } + @inline createRenderbuffer(): WebGLRenderbuffer { + return createRenderbuffer(this.gl_id); + } + @inline createShader(typ: GLenum): WebGLShader { + return createShader(this.gl_id, typ); + } + + @inline createTexture(): WebGLTexture { + return createTexture(this.gl_id) + } + + @inline cullFace(mode: GLenum): void { + cullFace(this.gl_id, mode); + } + + @inline deleteBuffer(buffer: WebGLBuffer): void { + deleteBuffer(this.gl_id, buffer); + } + + @inline deleteFramebuffer(framebuffer: WebGLFramebuffer): void { + deleteFramebuffer(this.gl_id, framebuffer); + } + + @inline deleteProgram(program: WebGLProgram): void { + deleteProgram(this.gl_id, program); + } + + @inline deleteRenderbuffer(renderbuffer: WebGLRenderbuffer): void { + deleteRenderbuffer(this.gl_id, renderbuffer); + } + @inline deleteShader(shader: WebGLShader): void { + deleteShader(this.gl_id, shader); + } + @inline deleteTexture(texture: WebGLTexture): void { + deleteTexture(this.gl_id, texture); + } + + @inline depthFunc(func: GLenum): void { + depthFunc(this.gl_id, func); + } + @inline depthMask(flag: GLboolean): void { + depthMask(this.gl_id, flag); + } + @inline depthRange(zNear: GLclampf, zFar: GLclampf): void { + depthRange(this.gl_id, zNear, zFar); + } + + @inline detachShader(program: WebGLProgram, shader: WebGLShader): void { + detachShader(this.gl_id, program, shader); + } + @inline disable(cap: GLenum): void { + disable(this.gl_id, cap); + } + @inline disableVertexAttribArray(index: GLuint): void { + disableVertexAttribArray(this.gl_id, index); + } + @inline drawArrays(mode: GLenum, first: GLint, count: GLsizei): void { + drawArrays(this.gl_id, mode, first, count) + } + @inline drawElements(mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr): void { + drawElements(this.gl_id, mode, count, typ, offset); + } + + @inline enable(cap: GLenum): void { + enable(this.gl_id, cap); + } + + @inline enableVertexAttribArray(index: GLuint): void { + enableVertexAttribArray(this.gl_id, index); + } + @inline finish(): void { + finish(this.gl_id); + } + @inline flush(): void { + flush(this.gl_id); + } + @inline framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer): void { + framebufferRenderbuffer(this.gl_id, target, attachment, renderbuffertarget, renderbuffer); + } + @inline framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture, level: GLint): void { + framebufferTexture2D(this.gl_id, target, attachment, textarget, texture, level); + } + @inline frontFace(mode: GLenum): void { + frontFace(this.gl_id, mode); + } + + @inline generateMipmap(target: GLenum): void { + generateMipmap(this.gl_id, target) + } + + @inline getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo { + return getActiveAttrib(this.gl_id, program, index); + } + @inline getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo { + getActiveUniform(this.gl_id, program, index); + } + @inline getAttachedShaders(program: WebGLProgram): sequence { + return getAttachedShaders(this.gl_id, program); + } + + @inline getAttribLocation(program: WebGLProgram, name: string): GLint { + return getAttribLocation(this.gl_id, program, name); + } + + @inline getBufferParameter(target: GLenum, pname: GLenum): externref { + return getBufferParameter(this.gl_id, target, pname); + } + @inline getParameter(pname: GLenum): externref { + return getParameter(this.gl_id, pname); + } + + @inline getError(): GLenum { + return getError(this.gl_id); + } + + @inline getFramebufferAttachmentParameter(target, attachment, pname): externref { + return getFramebufferAttachmentParameter(this.gl_id, target, attachment, pname); + } + @inline getProgramParameter(program: WebGLProgram, pname: GLenum): bool { + return getProgramParameter(this.gl_id, program, pname); + } + @inline getProgramInfoLog(program: WebGLProgram): DOMString { + return getProgramInfoLog(this.gl_id, program); + } + @inline getRenderbufferParameter(target: GLenum, pname: GLenum): externref { + return getRenderbufferParameter(this.gl_id, target, pname); + } + @inline getShaderParameter(shader: WebGLShader, pname: GLenum): bool { + return getShaderParameter(this.gl_id, shader, pname); + } + @inline getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat { + return getShaderPrecisionFormat(this.gl_id, shadertype, precisiontype); + } + + @inline getShaderInfoLog(shader: WebGLShader): DOMString { + return getShaderInfoLog(this.gl_id, shader); + } + + @inline getShaderSource(shader: WebGLShader): DOMString { + return getShaderSource(this.gl_id, shader); + } + + @inline getTexParameter(target: GLenum, pname: GLenum): externref { + return getTexParameter(this.gl_id, target, pname); + } + + @inline getUniform(program: WebGLProgram, location: WebGLUniformLocation): externref { + return getUniform(this.gl_id, program, location); + } + + @inline getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation { + return getUniformLocation(this.gl_id, program, name); + } + + @inline getVertexAttrib(index: GLuint, pname: GLenum): externref { + return getVertexAttrib(this.gl_id, index, pname); + } + + @inline getVertexAttribOffset(index: GLuint, pname: GLenum): GLsizeiptr { + return getVertexAttribOffset(this.gl_id, index, pname); + } + + @inline hint(target: GLenum, mode: GLenum): void { + hint(this.gl_id, target, mode); + } + + @inline isBuffer(buffer: WebGLBuffer): GLboolean { + return isBuffer(this.gl_id, buffer); + } + @inline isEnabled(cap: GLenum): GLboolean { + return isEnabled(this.gl_id, cap); + } + @inline isFramebuffer(framebuffer: WebGLFramebuffer): GLboolean { + return isFramebuffer(this.gl_id, framebuffer); + } + @inline isProgram(program: WebGLProgram): GLboolean { + return isProgram(this.gl_id, program); + } + @inline isRenderbuffer(renderbuffer: WebGLRenderbuffer): GLboolean { + isRenderbuffer(this.gl_id, renderbuffer); + } + @inline isShader(shader: WebGLShader): GLboolean { + return isShader(this.gl_id, shader); + } + @inline isTexture(texture: WebGLTexture): GLboolean { + return isTexture(this.gl_id, texture); + } + @inline lineWidth(width: GLfloat): void { + lineWidth(this.gl_id, width); + } + @inline linkProgram(program: WebGLProgram): void { + linkProgram(this.gl_id, program); + } + @inline pixelStorei(pname: GLenum, param: GLint): void { + pixelStorei(this.gl_id, pname, param); + } + @inline polygonOffset(factor: GLfloat, units: GLfloat): void { + polygonOffset(this.gl_id, factor, units); + } + + @inline readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, + format: GLenum, typ: GLenum, pixels: ArrayBufferView): void { + readPixels(this.gl_id, x, y, width, height, format, typ, pixels); + } + + @inline renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void { + renderbufferStorage(this.gl_id, target, internalformat, width, height); + } + @inline sampleCoverage(value: GLclampf, invert: GLboolean): void { + sampleCoverage(this.gl_id, value, invert); + } + @inline scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void { + scissor(this.gl_id, x, y, width, height); + } + + @inline shaderSource(shader: WebGLShader, source: string): void { + shaderSource(this.gl_id, shader, source); + } + + @inline stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void { + stencilFunc(this.gl_id, func, ref, mask); + } + @inline stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void { + stencilFuncSeparate(this.gl_id, face, func, ref, mask); + } + @inline stencilMask(mask: GLuint): void { + stencilMask(this.gl_id, mask); + } + @inline stencilMaskSeparate(face: GLenum, mask: GLuint): void { + stencilMaskSeparate(this.gl_id, face, mask); + } + @inline stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void { + stencilOp(this.gl_id, fail, zfail, zpass); + } + @inline stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void { + stencilOpSeparate(this.gl_id, face, fail, zfail, zpass); + } + + @inline texImage2D(target: GLenum, level: GLint, internalformat: GLenum, + format: GLenum, typ: GLenum, image: ImageData): void { + texImage2D(this.gl_id, target, level, internalformat, format, typ, image); + } + + @inline texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void { + texParameterf(this.gl_id, target, pname, param); + } + @inline texParameteri(target: GLenum, pname: GLenum, param: GLint): void { + texParameteri(this.gl_id, target, pname, param); + } + + @inline texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, + format: GLenum, typ: GLenum, pixels: ImageData): void { + texSubImage2D(this.gl_id, target, level, xoffset, yoffset, format, typ, pixels); + } + + @inline uniform1f(location: WebGLUniformLocation, x: GLfloat): void { + uniform1f(this.gl_id, location, x); + } + @inline uniform1fv(location: WebGLUniformLocation, v: StaticArray): void { + uniform1fv(this.gl_id, location, v); + } + + @inline uniform1i(location: WebGLUniformLocation, x: GLint): void { + uniform1i(this.gl_id, location, x); + } + @inline uniform1iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform1iv(this.gl_id, location, v); + } + + @inline uniform2f(location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void { + uniform2f(this.gl_id, location, x, y); + } + @inline uniform2fv(location: WebGLUniformLocation, v: StaticArray): void { + uniform2fv(this.gl_id, location, v); + } + + @inline uniform2i(location: WebGLUniformLocation, x: GLint, y: GLint): void { + uniform2i(this.gl_id, location, x, y); + } + @inline uniform2iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform2iv(this.gl_id, location, v); + } + + @inline uniform3f(location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void { + uniform3f(this.gl_id, location, x, y, z); + } + @inline uniform3fv(location: WebGLUniformLocation, v: StaticArray): void { + uniform3fv(gl, location, v); + } + + @inline uniform3i(location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void { + uniform3i(this.gl_id, location, x, y, z); + } + @inline uniform3iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform3iv(this.gl_id, location, v); + } + + @inline uniform4f(location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void { + uniform4f(this.gl_id, location, x, y, z, w); + } + + @inline uniform4fv(location: WebGLUniformLocation, v: StaticArray): void { + uniform4fv(this.gl_id, location, v); + } + + @inline uniform4i(location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void { + uniform4i(this.gl_id, location, x, y, z, w); + } + + @inline uniform4iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform4iv(this.gl_id, location, v); + } + + @inline uniformMatrix2fv(location: WebGLUniformLocation, transpose: GLboolean, value: Float32Array): void { + uniformMatrix2fv(this.gl_id, location, transpose, value); + } + + @inline uniformMatrix3fv(location: WebGLUniformLocation, transpose: GLboolean, value: Float32Array): void { + uniformMatrix3fv(this.gl_id, location, transpose, value); + } + + @inline uniformMatrix4fv(location: WebGLUniformLocation, transpose: GLboolean, value: Float32Array): void { + uniformMatrix4fv(this.gl_id, location, transpose, value); + } + @inline useProgram(program: WebGLProgram): void { + useProgram(this.gl_id, program); + } + @inline validateProgram(program: WebGLProgram): void { + validateProgram(this.gl_id, program); + } + + @inline vertexAttrib1f(indx: GLuint, x: GLfloat): void { + vertexAttrib1f(this.gl_id, indx, x); + } + + @inline vertexAttrib1fv(indx: GLuint, values: Float32Array): void { + vertexAttrib1fv(this.gl_id, indx, values); + } + + @inline vertexAttrib2f(indx: GLuint, x: GLfloat, y: GLfloat): void { + vertexAttrib2f(this.gl_id, indx, x, y); + } + + @inline vertexAttrib2fv(indx: GLuint, values: Float32Array): void { + vertexAttrib2fv(this.gl_id, indx, values); + } + + @inline vertexAttrib3f(indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void { + vertexAttrib3f(this.gl_id, indx, x, y, z); + } + @inline vertexAttrib3fv(indx: GLuint, values: Float32Array): void { + vertexAttrib3fv(this.gl_id, indx, values); + } + + @inline vertexAttrib4f(indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void { + vertexAttrib4f(this.gl_id, indx, x, y, z, w) + } + @inline vertexAttrib4fv(indx: GLuint, values: Float32Array): void { + vertexAttrib4fv(this.gl_id, indx, values) + } + + @inline vertexAttribPointer(indx: GLint, size: GLint, typ: GLenum, + normalized: GLint, stride: GLsizei, offset: GLintptr): void { + vertexAttribPointer(this.gl_id, indx, size, typ, normalized, stride, offset); + } + + @inline viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void { + viewport(this.gl_id, x, y, width, height); + } + + @inline copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, + writeOffset: GLintptr, size: GLsizeiptr): void { + copyBufferSubData(this.gl_id, readTarget, writeTarget, readOffset, writeOffset, size); + } + + @inline getBufferSubData(gl: WebGLRenderingContext, target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, + dstOffset: GLuint = 0, length: GLuint = 0): void { + getBufferSubData(this.gl_id, target, srcByteOffset, dstBuffer, dstOffset, length); + } + + @inline blitFramebuffer(gl: WebGLRenderingContext, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, + dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, + mask: GLbitfield, filter: GLenum): void { + blitFramebuffer(this.gl_id, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } + @inline framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture, level: GLint, layer: GLint): void { + framebufferTextureLayer(this.gl_id, target, attachment, texture, level, layer); + } + @inline invalidateFramebuffer(target: GLenum, attachments: sequence): void { + invalidateFramebuffer(this.gl_id, target, attachments); + } + + @inline invalidateSubFramebuffer(target: GLenum, attachments: sequence, + x: GLint, y: GLint, width: GLsizei, height: GLsizei): void { + invalidateSubFramebuffer(this.gl_id, target, attachments, x, y, width, height); + } + @inline readBuffer(src: GLenum): void { + readBuffer(this.gl_id, src); + } + + @inline getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): externref { + getInternalformatParameter(this.gl_id, target, internalformat, pname); + } + @inline renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, + width: GLsizei, height: GLsizei): void { + renderbufferStorageMultisample(this.gl_id, target, samples, internalformat, width, height); + } + + @inline texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void { + texStorage2D(this.gl_id, target, levels, internalformat, width, height); + } + @inline texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, + height: GLsizei, depth: GLsizei): void { + texStorage3D(this.gl_id, target, levels, internalformat, width, height, depth); + } + + @inline texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, + depth: GLsizei, border: GLint, format: GLenum, typ: GLenum, pboOffset: GLintptr): void { + texImage3D(this.gl_id, target, level, internalformat, width, height, depth, border, format, typ, pboOffset); + } + + @inline texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, + width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, typ: GLenum, + pboOffset: GLintptr): void { + texSubImage3D(this.gl_id, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, typ, pboOffset); + } + + @inline copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, + x: GLint, y: GLint, width: GLsizei, height: GLsizei): void { + copyTexSubImage3D(this.gl_id, target, level, xoffset, yoffset, zoffset, x, y, width, height); + } + + @inline compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, + height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void { + compressedTexImage3D(this.gl_id, target, level, internalformat, width, height, + depth, border, imageSize, offset); + } + + @inline compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, + zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, + format: GLenum, imageSize: GLsizei, offset: GLintptr): void { + compressedTexSubImage3D(this.gl_id, target, level, xoffset, yoffset, zoffset, width, height, depth, + format, imageSize, offset); + } + + @inline getFragDataLocation(program: WebGLProgram, name: DOMString): GLint { + getFragDataLocation(this.gl_id, program, name); + } + + @inline uniform1ui(location: WebGLUniformLocation, v0: GLuint): void { + uniform1ui(this.gl_id, location, v0); + } + @inline uniform2ui(location: WebGLUniformLocation, v0: GLuint, v1: GLuint): void { + uniform2ui(this.gl_id, location, v0, v1); + } + @inline uniform3ui(location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint): void { + uniform3ui(this.gl_id, location, v0, v1, v2); + } + @inline uniform4ui(location: WebGLUniformLocation, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void { + uniform4ui(this.gl_id, location, v0, v1, v2, v3); + } + + @inline uniform1uiv(location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, + srcLength: GLuint = 0): void { + uniform1uiv(this.gl_id, location, data, srcOffset, srcLength); + } + + @inline uniform2uiv(location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniform2uiv(this.gl_id, location, data, srcOffset, srcLength); + } + @inline uniform3uiv(location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniform3uiv(this.gl_id, location, data, srcOffset, srcLength); + } + @inline uniform4uiv(location: WebGLUniformLocation, data: Uint32List, srcOffset: GLuint = 0, + srcLength: GLuint = 0): void { + uniform4uiv(this.gl_id, location, data, srcOffset, srcLength); + } + @inline uniformMatrix3x2fv(location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniformMatrix3x2fv(this.gl_id, location, transpose, data, srcOffset, srcLength); + } + @inline uniformMatrix4x2fv(location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniformMatrix4x2fv(this.gl_id, location, transpose, data, srcOffset, srcLength); + } + + @inline uniformMatrix2x3fv(location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniformMatrix2x3fv(this.gl_id, location, transpose, data, srcOffset, srcLength); + } + @inline uniformMatrix4x3fv(gl: WebGLRenderingContext, location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniformMatrix4x3fv(this.gl_id, location, transpose, data, srcOffset, srcLength); + } + + @inline uniformMatrix2x4fv(location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniformMatrix2x4fv(this.gl_id, location, transpose, data, srcOffset, srcLength); + } + @inline uniformMatrix3x4fv(location: WebGLUniformLocation, transpose: GLboolean, data: Float32List, + srcOffset: GLuint = 0, srcLength: GLuint = 0): void { + uniformMatrix3x4fv(this.gl_id, location, transpose, data, + srcOffset, srcLength); + } + + /* Vertex attribs */ + @inline vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void { + vertexAttribI4i(this.gl_id, index, x, y, z, w) + } + @inline vertexAttribI4iv(index: GLuint, values: Int32List): void { + vertexAttribI4iv(this.gl_id, index, values); + } + @inline vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void { + vertexAttribI4ui(this.gl_id, index, x, y, z, w); + } + @inline vertexAttribI4uiv(index: GLuint, values: Uint32List): void { + vertexAttribI4uiv(this.gl_id, index, values); + } + @inline vertexAttribIPointer(index: GLuint, size: GLint, typ: GLenum, stride: GLsizei, offset: GLintptr): void { + vertexAttribIPointer(this.gl_id, index, size, typ, stride, offset) + } + + @inline vertexAttribDivisor(index: GLuint, divisor: GLuint): void { + vertexAttribDivisor(this.gl_id, index, divisor); + } + @inline drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void { + drawArraysInstanced(this.gl_id, mode, first, count, instanceCount); + } + @inline drawElementsInstanced(mode: GLenum, count: GLsizei, typ: GLenum, offset: GLintptr, instanceCount: GLsizei): void { + drawElementsInstanced(this.gl_id, mode, count, typ, offset, instanceCount); + } + @inline drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, typ: GLenum, offset: GLintptr): void { + drawRangeElements(this.gl_id, mode, start, end, count, typ, offset); + } + + @inline drawBuffers(gl: WebGLRenderingContext, buffers: sequence): void { + drawBuffers(this.gl_id, buffers); + } + + @inline clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset: GLuint = 0): void { + clearBufferfv(this.gl_id, buffer, drawbuffer, values, srcOffset); + } + @inline clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, + srcOffset: GLuint = 0): void { + clearBufferiv(this.gl_id, buffer, drawbuffer, values, srcOffset); + } + @inline clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, + srcOffset: GLuint = 0): void { + clearBufferuiv(this.gl_id, buffer, drawbuffer, values, srcOffset); + } + + @inline clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void { + clearBufferfi(this.gl_id, buffer, drawbuffer, depth, stencil); + } + + /* Query Objects */ + @inline createQuery(): WebGLQuery { + return createQuery(this.gl_id); + } + @inline deleteQuery(query: WebGLQuery): void { + deleteQuery(this.gl_id, query); + } + + @inline isQuery(query: WebGLQuery): GLboolean { + return isQuery(this.gl_id, query); + } + @inline beginQuery(target: GLenum, query: WebGLQuery): void { + beginQuery(this.gl_id, target, query); + } + @inline endQuery(target: GLenum): void { + endQuery(this.gl_id, target) + } + @inline getQuery(target: GLenum, pname: GLenum): WebGLQuery { + return getQuery(this.gl_id, target, pname); + } + @inline getQueryParameter(query: WebGLQuery, pname: GLenum): externref { + return getQueryParameter(this.gl_id, query, pname); + } + + @inline createSampler(): WebGLSampler { + return createSampler(this.gl_id); + } + + @inline deleteSampler(sampler: WebGLSampler): void { + deleteSampler(this.gl_id, sampler); + } + + @inline isSampler(sampler: WebGLSampler): GLboolean { + return isSampler(this.gl_id, sampler); + } + + @inline bindSampler(unit: GLuint, sampler: WebGLSampler): void { + bindSampler(this.gl_id, unit, sampler); + } + @inline samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void { + samplerParameteri(this.gl_id, sampler, pname, param); + } + @inline samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void { + samplerParameterf(this.gl_id, sampler, pname, param); + } + @inline getSamplerParameter(sampler: WebGLSampler, pname: GLenum): externref { + return getSamplerParameter(this.gl_id, sampler, pname); + } + + /* Sync objects */ + @inline fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync { + return fenceSync(this.gl_id, condition, flags); + } + /*[WebGLHandlesContextLoss]*/ + @inline isSync(sync: WebGLSync): GLboolean { + return isSync(this.gl_id, sync); + } + + @inline deleteSync(sync: WebGLSync): void { + deleteSync(this.gl_id, sync); + } + + @inline clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum { + return clientWaitSync(this.gl_id, sync, flags, timeout); + } + @inline waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void { + waitSync(this.gl_id, sync, flags, timeout); + } + @inline getSyncParameter(sync: WebGLSync, pname: GLenum): externref { + return getSyncParameter(this.gl_id, sync, pname); + } + + @inline createTransformFeedback(): WebGLTransformFeedback { + return createTransformFeedback(this.gl_id); + } + @inline deleteTransformFeedback(tf: WebGLTransformFeedback): void { + deleteTransformFeedback(this.gl_id, tf); + } + + @inline isTransformFeedback(tf: WebGLTransformFeedback): GLboolean { + return isTransformFeedback(this.gl_id, tf); + } + @inline bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback): void { + bindTransformFeedback(this.gl_id, target, tf); + } + @inline beginTransformFeedback(primitiveMode: GLenum): void { + beginTransformFeedback(this.gl_id, primitiveMode); + } + + @inline endTransformFeedback(): void { + endTransformFeedback(this.gl_id); + } + + @inline transformFeedbackVaryings(program: WebGLProgram, varyings: sequence, bufferMode: GLenum): void { + transformFeedbackVaryings(this.gl_id, program, varyings, bufferMode); + } + @inline getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo { + return getTransformFeedbackVarying(this.gl_id, program, index); + } + @inline pauseTransformFeedback(): void { + pauseTransformFeedback(this.gl_id); + } + + @inline resumeTransformFeedback(): void { + resumeTransformFeedback(this.gl_id); + } + + @inline bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer): void { + bindBufferBase(this.gl_id, target, index, buffer); + } + @inline bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer, + offset: GLintptr, size: GLsizeiptr): void { + bindBufferRange(this.gl_id, target, index, buffer, offset, size); + } + @inline getIndexedParameter(target: GLenum, index: GLuint): externref { + return getIndexedParameter(this.gl_id, target, index); + } + @inline getUniformIndices(program: WebGLProgram, uniformNames: sequence): sequence { + return getUniformIndices(this.gl_id, program, uniformNames); + } + @inline getActiveUniforms(program: WebGLProgram, uniformIndices: sequence, pname: GLenum): externref { + return getActiveUniforms(this.gl_id, program, uniformIndices, pname); + } + @inline getUniformBlockIndex(program: WebGLProgram, uniformBlockName: DOMString): GLuint { + return getUniformBlockIndex(this.gl_id, program, uniformBlockName); + } + @inline getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): externref { + return getActiveUniformBlockParameter(this.gl_id, program, uniformBlockIndex, pname); + } + @inline getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): DOMString { + return getActiveUniformBlockName(this.gl_id, program, uniformBlockIndex); + } + @inline uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void { + uniformBlockBinding(this.gl_id, program, uniformBlockIndex, uniformBlockBinding); + } + + @inline createVertexArray(): WebGLVertexArrayObject { + return createVertexArray(this.gl_id); + } + @inline deleteVertexArray(vertexArray: WebGLVertexArrayObject): void { + deleteVertexArray(this.gl_id, vertexArray); + } + + @inline isVertexArray(vertexArray: WebGLVertexArrayObject): GLboolean { + return isVertexArray(this.gl_id, vertexArray); + } + + @inline bindVertexArray(array: WebGLVertexArrayObject): void { + bindVertexArray(this.gl_id, array) + } + +} + +//const gl: WebGLRenderingContext = canvas.getContext("webgl"); +//gl.compileShader("....."); \ No newline at end of file From e8713f663fa234b0d489e13dfe69648838cdc001 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 27 Jan 2021 14:48:28 -0700 Subject: [PATCH 035/111] Added some performance test stuff and changed the Readme.md --- README.md | 106 ++++++++---------- package.json | 3 +- .../SpriteLighting/sprite_lighting.ts | 1 - src/performance-test/Readme.md | 22 ++++ src/performance-test/objTest.js | 94 ++++++++++++++++ src/performance-test/objTest.ts | 56 +++++++++ 6 files changed, 222 insertions(+), 60 deletions(-) create mode 100644 src/performance-test/Readme.md create mode 100644 src/performance-test/objTest.js create mode 100644 src/performance-test/objTest.ts diff --git a/README.md b/README.md index 39d0112..416fa0e 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,20 @@ ASWebGLue is a set of javascript bindings for AssemblyScript/WebGL. Currently is better assembly script compatibility. The primary goal of this project is to provide high level access to WebGL for AssemblyScript projects. The glue adds the webgl exports to your asc program. -**>>> THIS PROJECT IS IN ALPHA STATE <<<** -## Building +## Using -- First make sure to install the project dependecies with `npm install` -- Once the dependencies have been installed execute `npm run build` -- After the build completes, use `npm start` to launch the example code on your localhost -- Navigate your browser to `http://localhost:8080/examples/` for a simple example. +There are two files in this project to use in your project. These files are `ASWebGLue.js` which contains the JavaScript glue code and `WebGL.ts` that contains the AssemblyScript bindings. There are several examples in the `/src/examples` directory. A version of aswebglue is available on npm, but I didn't create it, so I am not sure how up to date it is. -## Using -Within your AssemblyScript project run `npm install aswebglue` to install the module. Basically there are two -main files to be concerned with. One. `webgl.ts` exposes the webgl bindings to your assembly script code. The -compiler will pull this into to make sure everything is happy within typescript. The other file is the `ASWebGLuejs` -which is used to iniatize the loader used by WebAssembly. This file also provides an initialization function -which will attach the webgl bindings to your instatiated WebGL AssemblyScript program. The js file contains all -of the high level WebGL functions which are contained in your browsers `lib.dom.js`. + +There are two main files to be concerned with. One. `WebGL.ts` exposes the webgl bindings to your assembly script code. The compiler will pull this into to make sure everything is happy within typescript. The other file is the `ASWebGLuejs` which is used to iniatize the loader used by WebAssembly. This file also provides an initialization function which will attach the webgl bindings to your instatiated WebGL AssemblyScript program. The js file contains all of the high level WebGL functions which are contained in your browsers `lib.dom.js`. Here is a simple example from **HelloTriangle** **< JavaScript >** ``` - import { initASWebGLue, ASWebGLReady } from '../../ASWebGLue.js'; + import { initASWebGLue, ASWebGLReady } from '../../ASWebGLue.js'; const wasm_file = 'triangle.wasm'; var exports; var w = window.innerWidth * 0.99; @@ -77,18 +68,10 @@ Here is a simple example from **HelloTriangle** **< AssemblyScript >** ``` import { - WebGLShader, shaderSource, createShader, compileShader, - VERTEX_SHADER, FRAGMENT_SHADER, createProgram, WebGLProgram, - attachShader, useProgram, WebGLUniformLocation, getUniformLocation, - linkProgram, clearColor, clear, WebGLBuffer, - createBuffer, ARRAY_BUFFER, GLint, - STATIC_DRAW, FLOAT, COLOR_BUFFER_BIT, - enableVertexAttribArray, bindBuffer, createContextFromCanvas, - bufferData, getAttribLocation, drawArrays, - vertexAttribPointer, TRIANGLE_STRIP, -} from '../../webgl' - -const VERTEX_SHADER_CODE:string = /*glsl*/ `#version 300 es + WebGLRenderingContext, WebGLShader, WebGLProgram, WebGLBuffer, GLint, +} from '../../WebGL' + +const VERTEX_SHADER_CODE: string = /*glsl*/ `#version 300 es precision highp float; in vec2 position; @@ -98,7 +81,7 @@ const VERTEX_SHADER_CODE:string = /*glsl*/ `#version 300 es } `; -const FRAGMENT_SHADER_CODE:string = /*glsl*/ `#version 300 es +const FRAGMENT_SHADER_CODE: string = /*glsl*/ `#version 300 es precision highp float; out vec4 color; @@ -107,48 +90,55 @@ const FRAGMENT_SHADER_CODE:string = /*glsl*/ `#version 300 es } `; - // initialize webgl - var gl = createContextFromCanvas('cnvs', 'webgl2'); +// initialize webgl +var gl = new WebGLRenderingContext('cnvs', 'webgl2'); - let vertex_shader: WebGLShader = createShader(gl, VERTEX_SHADER); - shaderSource(gl, vertex_shader, VERTEX_SHADER_CODE); - compileShader(gl, vertex_shader); +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); - let fragment_shader: WebGLShader = createShader(gl, FRAGMENT_SHADER); - shaderSource( gl, fragment_shader, FRAGMENT_SHADER_CODE); - compileShader( gl, fragment_shader ); +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); - let program:WebGLProgram = createProgram(gl); +let program: WebGLProgram = gl.createProgram(); - attachShader(gl, program, vertex_shader); - attachShader(gl, program, fragment_shader); +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); - linkProgram( gl, program ); +gl.linkProgram(program); - useProgram( gl, program ); +gl.useProgram(program); - let buffer:WebGLBuffer = createBuffer(gl); - bindBuffer(gl, ARRAY_BUFFER, buffer); +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - let position_al:GLint = getAttribLocation(gl, program, 'position'); - enableVertexAttribArray(gl, position_al); +let position_al: GLint = gl.getAttribLocation(program, 'position'); +gl.enableVertexAttribArray(position_al); - let triangle_data: StaticArray = [0.0,0.5, - -0.5,-0.5, - 0.5,-0.5,]; +let triangle_data: StaticArray = [0.0, 0.5, + -0.5, -0.5, + 0.5, -0.5,]; - export function displayLoop():void { - // R G B A - clearColor(gl, 0.0, 0.0, 0.0, 1.0); - clear(gl, COLOR_BUFFER_BIT); +export function displayLoop(): void { + // R G B A + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); - bufferData(gl, ARRAY_BUFFER, triangle_data, STATIC_DRAW); + gl.bufferData(gl.ARRAY_BUFFER, triangle_data, gl.STATIC_DRAW); - // attribute | dimensions | data_type | normalize | stride | offset - vertexAttribPointer(gl, position_al, 2, FLOAT, false, 0, 0 ); + // attribute | dimensions | data_type | normalize | stride | offset + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, false, 0, 0); - // mode | first vertex | count - drawArrays(gl, TRIANGLE_STRIP, 0, 3 ); - } + // mode | first vertex | count + gl.drawArrays(gl.TRIANGLE_STRIP, 0, 3); +} + +``` + +## Conact me +If you have any questions, please feel free to conatct me (Rick) on -``` \ No newline at end of file +Twitter: https://twitter.com/battagline @battagline +LinkeIn: https://www.linkedin.com/in/battagline +AssemblyScript Discord: https://discord.gg/mNPWbVT4 diff --git a/package.json b/package.json index c6f89e3..229b4fb 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "devDependencies": { "@assemblyscript/loader": "^0.17.7", "assemblyscript": "^0.17.7", + "benchmark": "^2.1.4", "child-process": "^1.0.2", "connect": "^3.7.0", "imagemin": "^7.0.1", @@ -32,4 +33,4 @@ "author": "Rick Battagline ", "license": "MIT", "dependencies": {} -} \ No newline at end of file +} diff --git a/src/examples/SpriteLighting/sprite_lighting.ts b/src/examples/SpriteLighting/sprite_lighting.ts index 505f7e6..5dc92c4 100644 --- a/src/examples/SpriteLighting/sprite_lighting.ts +++ b/src/examples/SpriteLighting/sprite_lighting.ts @@ -73,7 +73,6 @@ var light_z: f32 = 0.5; // initialize webgl var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); - // ImageData, createImage, imageReady, var image_id: ImageData = gl.createImage('SpaceShip.png'); var normal_image_id: ImageData = gl.createImage('SpaceShipN.png'); diff --git a/src/performance-test/Readme.md b/src/performance-test/Readme.md new file mode 100644 index 0000000..bf0d780 --- /dev/null +++ b/src/performance-test/Readme.md @@ -0,0 +1,22 @@ +# Performance tests + +I made this folder to test some performance hyptheses. + +## objTest.ts + +This test was based on a conversation I had with @decode on the AssemblyScript Discord: +https://discord.gg/mNPWbVT4 + +The calls to the WebGLContext object require a `global.get` and `load` Wasm call, where +using the direct calls only need a `global.get` call. @decode believed that this would +be a negligible performance cost, and as always, he was correct. When I wrote this test +I had the following outout: +``` +============ FASTEST ============ +#1 Direct call test 177 exec/sec +#2 Object inline test 161 exec/sec +#3 Object call test 161 exec/sec +============ SLOWEST ============ +``` +Each exec is really 1 Million calls. When you disassemble the code to WAT, the difference +is the single load call. There is a performance difference, but it is quite small. \ No newline at end of file diff --git a/src/performance-test/objTest.js b/src/performance-test/objTest.js new file mode 100644 index 0000000..c62f90b --- /dev/null +++ b/src/performance-test/objTest.js @@ -0,0 +1,94 @@ +// import benchmark.js +var Benchmark = require('benchmark'); +var suite = new Benchmark.Suite(); + +// use fs to read the pow2_test.wasm module into a byte array +const fs = require('fs'); +const bytes = fs.readFileSync('./objTest.wasm'); +const colors = require('colors'); // allow console logs with color + +// Variables for the WebAssembly functions +var inline_object_test; +var call_object_test; +var direct_test; + +console.log(` +================= RUNNING BENCHMARK ================= +`.rainbow); + +function init_benchmark() { + // adds the callbacks for the benchmarks + suite.add('#1 '.yellow + 'Direct call test', direct_test); + suite.add('#2 '.yellow + 'Object inline test', inline_object_test); + suite.add('#3 '.yellow + 'Object call test', call_object_test); + // add listeners + suite.on('cycle', function (event) { + console.log(String(event.target)); + }); + + suite.on('complete', function () { + // when the benchmark has finished, log the fastest and slowest functions + let fast_string = ('Fastest is ' + + this.filter('fastest').map('name')); + let slow_string = ('Slowest is ' + + this.filter('slowest').map('name')); + console.log(` + ------------------------------------------------------------ + ${fast_string.green} + ${slow_string.red} + ------------------------------------------------------------ + `); + + // create an array of all successful runs and sort fast to slow + var arr = this.filter('successful'); + arr.sort(function (a, b) { + return a.stats.mean - b.stats.mean; + }); + + console.log(` + + `); + console.log("============ FASTEST ============".green); + while (obj = arr.shift()) { + let extension = ''; + let count = Math.ceil(1 / obj.stats.mean); + + if (count > 1000) { + count /= 1000; + extension = 'K'.green.bold; + } + + if (count > 1000) { + count /= 1000; + extension = 'M'.green.bold; + } + + count = Math.ceil(count); + let count_string = count.toString().yellow + extension; + console.log( + `${obj.name.padEnd(45, ' ')} ${count_string} exec/sec` + ); + } + console.log("============ SLOWEST ============".red); + }); + // run async + suite.run({ 'async': false }); +} +var importObject = { + objTest: { + passInt: (i) => { + } + }, + env: { + abort: () => { }, + } +}; + +(async () => { + const obj = await WebAssembly.instantiate(new Uint8Array(bytes), importObject); + + inline_object_test = obj.instance.exports.inline_object_test; + call_object_test = obj.instance.exports.call_object_test; + direct_test = obj.instance.exports.direct_test; + init_benchmark(); +})(); diff --git a/src/performance-test/objTest.ts b/src/performance-test/objTest.ts new file mode 100644 index 0000000..259100c --- /dev/null +++ b/src/performance-test/objTest.ts @@ -0,0 +1,56 @@ +/* +This test was based on a conversation I had with @decode on the AssemblyScript Discord: +https://discord.gg/mNPWbVT4 + +The calls to the WebGLContext object require a global.get and load Wasm call, where +using the direct calls only need a global.get call. @decode believed that this would +be a negligible performance cost, and as always, he was correct. When I wrote this test +I had the following outout: + +============ FASTEST ============ +#1 Direct call test 177 exec/sec +#2 Object inline test 161 exec/sec +#3 Object call test 161 exec/sec +============ SLOWEST ============ + +Each exec is really 1 Million calls. When you disassemble the code to WAT, the difference +is the single load call. There is a performance difference, but it is quite small. +*/ +export declare function passInt(i: i32): void; +@final @unmanaged +class ObjTest { + obj_id: i32 = 1; + @inline constructor(obj_id: i32) { + this.obj_id = obj_id; + } + + @inline inlinePassInt(): void { + passInt(this.obj_id); + } + + callPassInt(): void { + passInt(this.obj_id); + } + +} +var obj = new ObjTest(123); + +export function inline_object_test(): void { + for (var i: i32 = 0; i < 1_000_000; i++) { + obj.inlinePassInt(); + } +} + +export function call_object_test(): void { + for (var i: i32 = 0; i < 1_000_000; i++) { + obj.callPassInt(); + } +} + +const id: i32 = 123; + +export function direct_test(): void { + for (var i: i32 = 0; i < 1_000_000; i++) { + passInt(id); + } +} From 7188b38ab7d336224db075b15ecd440cdff319e9 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 27 Jan 2021 14:51:37 -0700 Subject: [PATCH 036/111] Added br tags to Readme.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 416fa0e..13b8d84 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ export function displayLoop(): void { ## Conact me If you have any questions, please feel free to conatct me (Rick) on - -Twitter: https://twitter.com/battagline @battagline -LinkeIn: https://www.linkedin.com/in/battagline +

        +Twitter: https://twitter.com/battagline @battagline
        +LinkeIn: https://www.linkedin.com/in/battagline
        AssemblyScript Discord: https://discord.gg/mNPWbVT4 From 89bee5e433d2300a131bc2b4c2aac4609e2bee76 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 3 Feb 2021 18:36:56 -0700 Subject: [PATCH 037/111] Added an instanced sprite example that renders 100K sprites on screen... Which everyone immediately tells me is slower than bunnymark. So now I'm going to need to beat bunnymark's performance. ;-) --- .gitignore | 1 + asc.d.ts | 6 +- src/ASWebGLue.js | 94 +- src/ASWebGLue2.js | 2096 +++++++++++++++++ src/examples/AnimationTexture/index.html | 2 +- src/examples/ColorTriangle/index.html | 2 +- src/examples/Cube/index.html | 2 +- src/examples/HelloWorldTriangle/index.html | 2 +- src/examples/InstancedSprites/Asteroid.png | Bin 0 -> 2176 bytes src/examples/InstancedSprites/README.md | 3 + src/examples/InstancedSprites/index.html | 89 + .../InstancedSprites/instanced_sprites.ts | 212 ++ src/examples/InstancedSprites/kaijunicorn.png | Bin 0 -> 2388 bytes src/examples/Lines/index.html | 2 +- src/examples/MousePoint/index.html | 2 +- src/examples/NormalModel/index.html | 2 +- src/examples/Quad/index.html | 2 +- src/examples/QuadFollowMouse/index.html | 2 +- src/examples/SimpleLighting/index.html | 2 +- src/examples/SpriteLighting/index.html | 2 +- src/examples/TextureModel/index.html | 2 +- src/examples/TextureQuad/index.html | 2 +- src/examples/WarpSpeed/index.html | 2 +- src/webgl.ts | 78 +- tsconfig.json | 5 +- 25 files changed, 2536 insertions(+), 76 deletions(-) create mode 100644 src/ASWebGLue2.js create mode 100644 src/examples/InstancedSprites/Asteroid.png create mode 100644 src/examples/InstancedSprites/README.md create mode 100644 src/examples/InstancedSprites/index.html create mode 100644 src/examples/InstancedSprites/instanced_sprites.ts create mode 100644 src/examples/InstancedSprites/kaijunicorn.png diff --git a/.gitignore b/.gitignore index def2a5a..a6b5c6f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ package-lock.json images src/extended src/old +hidden *.sh \ No newline at end of file diff --git a/asc.d.ts b/asc.d.ts index fa89206..b49dd45 100644 --- a/asc.d.ts +++ b/asc.d.ts @@ -11,9 +11,9 @@ type u16 = any; type u32 = any; type u64 = any; type usize = any; -type StaticArray = { - value: T; -} | any; +declare class StaticArray { + constructor(x: number) +} declare function assert(isTrueish: Text, message?: string): Text; declare function instantiate(...args: any[]): T; diff --git a/src/ASWebGLue.js b/src/ASWebGLue.js index 5435e51..69fa6d8 100644 --- a/src/ASWebGLue.js +++ b/src/ASWebGLue.js @@ -3,6 +3,7 @@ export function print(str) { } export function ASWebGLReady(wasm_obj, importObject) { + console.log("ASWebGLReady"); if (wasm_obj == null) { console.error("ASWebGLReady requires the WebAssembly Instance as 1st parameter"); return; @@ -12,6 +13,9 @@ export function ASWebGLReady(wasm_obj, importObject) { return; } importObject.WebGL.WEBGL_READY = true; + console.log("========================="); + console.log(wasm_obj.instance.exports); + console.log(wasm_obj.instance.exports["__rtti_base"]); importObject.WebGL.RTTI_BASE = wasm_obj.instance.exports["__rtti_base"]; } @@ -44,6 +48,7 @@ export function initASWebGLue(importObject) { importObject.WebGL.frameBufferArray = []; importObject.WebGL.renderBufferArray = []; importObject.WebGL.uniformLocationArray = []; + importObject.WebGL.vaoArray = []; importObject.WebGL.SIZE_OFFSET = -4; importObject.WebGL.ID_OFFSET = -8; @@ -1327,7 +1332,9 @@ export function initASWebGLue(importObject) { importObject.WebGL.uniform3fv = (ctx, location, v) => { try { - return WebGL.contextArray[ctx].uniform3fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + //Float32Array + //return WebGL.contextArray[ctx].uniform3fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + return WebGL.contextArray[ctx].uniform3fv(WebGL.uniformLocationArray[location], new Float32Array(v)); } catch (err) { console.log("uniform3fv error"); console.error(err); @@ -1388,30 +1395,44 @@ export function initASWebGLue(importObject) { } // end catch } + // Assumes an f32 as GLfloat importObject.WebGL.uniformMatrix2fv = (ctx, location, transpose, value_arr) => { try { - return WebGL.contextArray[ctx].uniformMatrix2fv(WebGL.uniformLocationArray[location], transpose, - WebGL.getArrayView(value_arr)); + const buffer = WebGL.memory.buffer; + let start_pos = value_arr >> 2; + return WebGL.contextArray[ctx].uniformMatrix3fv(WebGL.uniformLocationArray[location], transpose, + new Float32Array(buffer).subarray(start_pos, start_pos + 4)); + } catch (err) { console.log("uniformMatrix2fv error"); console.error(err); } // end catch } + // this assumes f32 as GLfloat importObject.WebGL.uniformMatrix3fv = (ctx, location, transpose, value_arr) => { try { + const buffer = WebGL.memory.buffer; + let start_pos = value_arr >> 2; + //console.log(new Float32Array(buffer).subarray(start_pos, start_pos + 9)); return WebGL.contextArray[ctx].uniformMatrix3fv(WebGL.uniformLocationArray[location], transpose, - WebGL.getArrayView(value_arr)); + new Float32Array(buffer).subarray(start_pos, start_pos + 9)); + } catch (err) { console.log("uniformMatrix3fv error"); console.error(err); } // end catch } + // this assumes f32 as GLfloat + // I might do this for more functions importObject.WebGL.uniformMatrix4fv = (ctx, location, transpose, value_arr) => { try { - return WebGL.contextArray[ctx].uniformMatrix4fv(WebGL.uniformLocationArray[location], transpose, - WebGL.getArrayView(value_arr)); + const buffer = WebGL.memory.buffer; + let start_pos = value_arr >> 2; + return WebGL.contextArray[ctx].uniformMatrix3fv(WebGL.uniformLocationArray[location], transpose, + new Float32Array(buffer).subarray(start_pos, start_pos + 16)); + } catch (err) { console.log("uniformMatrix4fv error"); console.error(err); @@ -1686,61 +1707,76 @@ export function initASWebGLue(importObject) { // expiramental WebGL2 importObject.WebGL.uniformMatrix2x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + console.trace("uniformMatrix2x4fv"); alert("uniformMatrix2x4fv not implemented (expiramental)"); - } // expiramental WebGL2 importObject.WebGL.uniformMatrix3x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + console.trace("uniformMatrix3x4fv"); alert("uniformMatrix3x4fv not implemented (expiramental)"); - } // expiramental WebGL2 importObject.WebGL.vertexAttribI4i = (ctx, index, x, y, z, w) => { + console.trace("vertexAttribI4i"); alert("vertexAttribI4i not implemented (expiramental)"); - } // expiramental WebGL2 importObject.WebGL.vertexAttribI4iv = (ctx, index, value_arr) => { + console.trace("vertexAttribI4iv"); alert("vertexAttribI4iv not implemented (expiramental)"); } // expiramental WebGL2 importObject.WebGL.vertexAttribI4ui = (ctx, index, x, y, z, w) => { + console.trace("vertexAttribI4ui"); alert("vertexAttribI4ui not implemented (expiramental)"); } // expiramental WebGL2 importObject.WebGL.vertexAttribI4uiv = (ctx, index, value_arr) => { + console.trace("vertexAttribI4uiv"); alert("vertexAttribI4uiv not implemented (expiramental)"); - } // expiramental WebGL2 importObject.WebGL.vertexAttribIPointer = (ctx, index, size, typ, stride, offset) => { + console.trace("vertexAttribIPointer"); alert("vertexAttribIPointer not implemented (expiramental)"); - } // expiramental WebGL2 importObject.WebGL.vertexAttribDivisor = (ctx, index, divisor) => { - alert("vertexAttribIPointer not implemented (expiramental)"); - + try { + return WebGL.contextArray[ctx].vertexAttribDivisor(ctx, index, divisor); + } catch (err) { + console.trace("vertexAttribDivisor error"); + console.error(err); + } // end catch } // expiramental WebGL2 importObject.WebGL.drawArraysInstanced = (ctx, mode, first, count, instanceCount) => { - alert("drawArraysInstanced not implemented (expiramental)"); - + try { + return WebGL.contextArray[ctx].drawArraysInstanced(mode, first, count, instanceCount); + } catch (err) { + console.log("drawArraysInstanced error"); + console.error(err); + } // end catch } // expiramental WebGL2 importObject.WebGL.drawElementsInstanced = (ctx, mode, count, typ, offset, instanceCount) => { - alert("drawElementsInstanced not implemented (expiramental)"); + try { + return WebGL.contextArray[ctx].drawArraysInstanced(mode, count, typ, offset, instanceCount); + } catch (err) { + console.log("drawElementsInstanced error"); + console.error(err); + } // end catch } @@ -2016,7 +2052,22 @@ export function initASWebGLue(importObject) { // expiramental WebGL2 importObject.WebGL.createVertexArray = (ctx) => { - alert("createVertexArray not implemented (expiramental)"); + try { + let id = WebGL.vaoArray.findIndex((element) => element == null); + let vao = WebGL.contextArray[ctx].createVertexArray(); + + if (id == -1) { + id = WebGL.vaoArray.length; + WebGL.vaoArray.push(vao); + } + else { + WebGL.vaoArray[id] = vao; + } + return id; + } catch (err) { + console.log("renderBufferArray error"); + console.error(err); + } // end catch } @@ -2033,8 +2084,13 @@ export function initASWebGLue(importObject) { } // expiramental WebGL2 - importObject.WebGL.bindVertexArray = (ctx, vertexArray) => { - alert("bindVertexArray not implemented (expiramental)"); + importObject.WebGL.bindVertexArray = (ctx, vaoId) => { + try { + WebGL.contextArray[ctx].bindVertexArray(WebGL.vaoArray[vaoId]); + } catch (err) { + console.log("uniform2i error"); + console.error(err); + } // end catch } } diff --git a/src/ASWebGLue2.js b/src/ASWebGLue2.js new file mode 100644 index 0000000..69fa6d8 --- /dev/null +++ b/src/ASWebGLue2.js @@ -0,0 +1,2096 @@ +export function print(str) { + console.log(str) +} + +export function ASWebGLReady(wasm_obj, importObject) { + console.log("ASWebGLReady"); + if (wasm_obj == null) { + console.error("ASWebGLReady requires the WebAssembly Instance as 1st parameter"); + return; + } + if (wasm_obj == null) { + console.error("ASWebGLReady requires import object as 2nd parameter"); + return; + } + importObject.WebGL.WEBGL_READY = true; + console.log("========================="); + console.log(wasm_obj.instance.exports); + console.log(wasm_obj.instance.exports["__rtti_base"]); + importObject.WebGL.RTTI_BASE = wasm_obj.instance.exports["__rtti_base"]; +} + +export function initASWebGLue(importObject) { + if (importObject.env.memory == null) { + alert('You need to set memory in your importObject'); + } + + if (importObject.WebGL == null) { + importObject.WebGL = {}; + } + + const WebGL = importObject.WebGL; + + importObject.env.abort = (...args) => { + console.log("abort"); + console.log(WebGL.getString(args[0])); + } + + + importObject.WebGL.WEBGL_READY = false; + importObject.WebGL.memory = importObject.env.memory; + + importObject.WebGL.contextArray = []; + importObject.WebGL.textureArray = []; + importObject.WebGL.imageArray = []; + importObject.WebGL.programArray = []; + importObject.WebGL.shaderArray = []; + importObject.WebGL.bufferArray = []; + importObject.WebGL.frameBufferArray = []; + importObject.WebGL.renderBufferArray = []; + importObject.WebGL.uniformLocationArray = []; + importObject.WebGL.vaoArray = []; + + importObject.WebGL.SIZE_OFFSET = -4; + importObject.WebGL.ID_OFFSET = -8; + importObject.WebGL.CHUNKSIZE = 1024; + importObject.WebGL.STRING_ID = 1; + importObject.WebGL.RTTI_BASE = 0; + importObject.WebGL.VAL_ALIGN_OFFSET = 6; + + importObject.ARRAYBUFFERVIEW_DATASTART_OFFSET = 4; + importObject.ARRAY_LENGTH_OFFSET = 12; + + /** No specific flags. */ + importObject.WebGL.NONE = 0x00; + /** Type is an `ArrayBufferView`. */ + importObject.WebGL.ARRAYBUFFERVIEW = 0x01; + /** Type is an `Array`. */ + importObject.WebGL.ARRAY = 0x0002; + /** Type is a `StaticArray`. */ + importObject.WebGL.STATICARRAY = 0x0004; + /** Type is a `Set`. */ + importObject.WebGL.SET = 0x000008; + /** Type is a `Map`. */ + importObject.WebGL.MAP = 0x000010; + /** Type is inherently acyclic. */ + importObject.WebGL.ACYCLIC = 0x000020; + /** Value alignment of 1 byte. */ + importObject.WebGL.VALUE_ALIGN_0 = 0x000040; + /** Value alignment of 2 bytes. */ + importObject.WebGL.VALUE_ALIGN_1 = 0x000080; + /** Value alignment of 4 bytes. */ + importObject.WebGL.VALUE_ALIGN_2 = 0x000100; + /** Value alignment of 8 bytes. */ + importObject.WebGL.VALUE_ALIGN_3 = 0x000200; + /** Value alignment of 16 bytes. */ + importObject.WebGL.VALUE_ALIGN_4 = 0x000400; + /** Value is a signed type. */ + importObject.WebGL.VALUE_SIGNED = 0x000800; + /** Value is a float type. */ + importObject.WebGL.VALUE_FLOAT = 0x001000; + /** Value type is nullable. */ + importObject.WebGL.VALUE_NULLABLE = 0x002000; + /** Value type is managed. */ + importObject.WebGL.VALUE_MANAGED = 0x004000; + /** Key alignment of 1 byte. */ + importObject.WebGL.KEY_ALIGN_0 = 0x008000; + /** Key alignment of 2 bytes. */ + importObject.WebGL.KEY_ALIGN_1 = 0x010000; + /** Key alignment of 4 bytes. */ + importObject.WebGL.KEY_ALIGN_2 = 0x020000; + /** Key alignment of 8 bytes. */ + importObject.WebGL.KEY_ALIGN_3 = 0x040000; + /** Key alignment of 16 bytes. */ + importObject.WebGL.KEY_ALIGN_4 = 0x080000; + /** Key is a signed type. */ + importObject.WebGL.KEY_SIGNED = 0x100000; + /** Key is a float type. */ + importObject.WebGL.KEY_FLOAT = 0x200000; + /** Key type is nullable. */ + importObject.WebGL.KEY_NULLABLE = 0x400000; + /** Key type is managed. */ + importObject.WebGL.KEY_MANAGED = 0x800000; + + //imageArray + importObject.WebGL.createImage = (image_location) => { + console.log(`createImage(${image_location})`); + let image = new Image(); + image.ready = false; + image.onload = function () { + image.ready = true; + } + image.src = WebGL.getString(image_location); + console.log(`image.src=${image.src}`); + let image_id = WebGL.imageArray.length; + WebGL.imageArray.push(image); + return image_id; + } + + // DEBUG STUFF ----------- + + importObject.WebGL.logi32 = (arg) => { + console.log(`logi32=${arg}`); + } + + importObject.WebGL.logf32 = (arg) => { + console.log(`logf32=${arg}`); + } + + // END DEBUG STUFF -------- + + importObject.WebGL.imageReady = (image_id) => { + console.log("image ready check! image_id=" + image_id); + if (WebGL.imageArray.length <= image_id) { + return false; + } + return WebGL.imageArray[image_id].ready; + } + + importObject.WebGL.getView = (alignLog2, signed, float) => { + const buffer = WebGL.memory.buffer; + + if (float) { + switch (alignLog2) { + case 2: return new Float32Array(buffer); + case 3: return new Float64Array(buffer); + } + } else { + switch (alignLog2) { + case 0: return new (signed ? Int8Array : Uint8Array)(buffer); + case 1: return new (signed ? Int16Array : Uint16Array)(buffer); + case 2: return new (signed ? Int32Array : Uint32Array)(buffer); + case 3: return new (signed ? BigInt64Array : BigUint64Array)(buffer); + } + } + throw Error("unsupported align: " + alignLog2); + } + + importObject.WebGL.getArrayInfo = (id) => { + const info = WebGL.getInfo(id); + if (!(info & (ARRAYBUFFERVIEW | ARRAY | STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + return info; + } + + importObject.WebGL.getValueAlign = (info) => { + return 31 - Math.clz32((info >>> VAL_ALIGN_OFFSET) & 31); // -1 if none + } + + importObject.WebGL.getArrayView = (arr_ptr) => { + const U32 = new Uint32Array(WebGL.memory.buffer); + const id = U32[arr_ptr + WebGL.ID_OFFSET >>> 2]; + + const count = U32[WebGL.RTTI_BASE >>> 2]; + + if (id >= count) throw Error(`invalid id: ${id}`); + const info = U32[(WebGL.RTTI_BASE + 4 >>> 2) + id * 2]; + + if (!(info & (WebGL.ARRAYBUFFERVIEW | WebGL.ARRAY | WebGL.STATICARRAY))) throw Error(`not an array: ${id}, flags=${info}`); + const align = 31 - Math.clz32((info >>> WebGL.VAL_ALIGN_OFFSET) & 31); // -1 if none getValueAlign(info) + let buf = info & WebGL.STATICARRAY + ? arr_ptr + : U32[arr_ptr + WebGL.ARRAYBUFFERVIEW_DATASTART_OFFSET >>> 2]; + const length = info & WebGL.ARRAY + ? U32[arr_ptr + WebGL.ARRAY_LENGTH_OFFSET >>> 2] + : U32[buf + WebGL.SIZE_OFFSET >>> 2] >>> align; + return WebGL.getView(align, info & WebGL.VAL_SIGNED, info & WebGL.VAL_FLOAT) + .subarray(buf >>>= align, buf + length); + + } + + importObject.WebGL.getString = (string_index) => { + const buffer = WebGL.memory.buffer; + const U32 = new Uint32Array(buffer); + const id_addr = string_index / 4 - 2; + const id = U32[id_addr]; + if (id !== 0x01) throw Error(`not a string index=${string_index} id=${id}`); + const len = U32[id_addr + 1]; + const str = new TextDecoder('utf-16').decode(buffer.slice(string_index, string_index + len)); + return str; + } + + importObject.WebGL.createContextFromCanvas = (canvas_id, context_type) => { + try { + const canvas = document.getElementById(WebGL.getString(canvas_id)); + const gl = canvas.getContext(WebGL.getString(context_type)); + let id = WebGL.contextArray.findIndex((element) => element == null); + + if (id == -1) { + id = WebGL.contextArray.length; + WebGL.contextArray.push(gl); + } + else { + WebGL.contextArray[id] = gl; + } + return id; + } catch (err) { + console.log("createContextFromCanvas error"); + console.error(err); + } // end catch + } + /* + importObject.WebGL.activateTexture = (ctx, texture) => { + WebGL.contextArray[ctx].activateTexture(WebGL.textureArray[texture]); + } + */ + + importObject.WebGL.getSupportedExtensions = (ctx) => { + alert('getSupportedExtensions is not currently supported'); + } + + importObject.WebGL.getExtension = (ctx, name_string) => { + try { + WebGL.contextArray[ctx].getExtension(WebGL.getString(name)); + } catch (err) { + console.log("getExtension error"); + console.error(err); + } // end catch + } + + importObject.WebGL.activeTexture = (ctx, texture) => { + try { + WebGL.contextArray[ctx].activeTexture(texture); + } catch (err) { + console.log("activeTexture error"); + console.error(err); + } // end catch + } + + importObject.WebGL.attachShader = (ctx, program, shader) => { + try { + WebGL.contextArray[ctx].attachShader(WebGL.programArray[program], WebGL.shaderArray[shader]); + } catch (err) { + console.log("attachShader error"); + console.error(err); + } // end catch + } + + importObject.WebGL.bindAttribLocation = (ctx, program, index, name) => { + try { + WebGL.contextArray[ctx].bindAttribLocation(WebGL.programArray[program], index, WebGL.getString(name)); + } catch (err) { + console.log("bindAttribLocation error"); + console.error(err); + } // end catch + } + + importObject.WebGL.bindBuffer = (ctx, target, buffer) => { + try { + WebGL.contextArray[ctx].bindBuffer(target, WebGL.bufferArray[buffer]); + } catch (err) { + console.log("bindBuffer error"); + console.error(err); + } // end catch + } + + importObject.WebGL.bindFramebuffer = (ctx, target, framebuffer) => { + try { + WebGL.contextArray[ctx].bindFramebuffer(target, WebGL.framebufferArray[framebuffer]); + } catch (err) { + console.log("bindFramebuffer error"); + console.error(err); + } // end catch + } + + importObject.WebGL.bindRenderbuffer = (ctx, target, renderbuffer) => { + try { + WebGL.contextArray[ctx].bindRenderbuffer(target, WebGL.renderbufferArray[renderbuffer]); + } catch (err) { + console.log("renderbufferArray error"); + console.error(err); + } // end catch + } + + importObject.WebGL.bindTexture = (ctx, target, texture) => { + try { + WebGL.contextArray[ctx].bindTexture(target, WebGL.textureArray[texture]); + } catch (err) { + console.log("bindTexture error"); + console.error(err); + } // end catch + } + + importObject.WebGL.blendColor = (ctx, r, g, b, a) => { + try { + WebGL.contextArray[ctx].blendColor(r, g, b, a); + } catch (err) { + console.log("blendColor error"); + console.error(err); + } // end catch + } + + importObject.WebGL.blendEquation = (ctx, mode) => { + try { + WebGL.contextArray[ctx].blendEquation(mode); + } catch (err) { + console.log("blendEquation error"); + console.error(err); + } // end catch + } + + importObject.WebGL.blendEquationSeparate = (ctx, modeRGB, modeAlpha) => { + try { + WebGL.contextArray[ctx].blendEquationSeparate(modeRGB, modeAlpha); + } catch (err) { + console.log("blendEquationSeparate error"); + console.error(err); + } // end catch + } + + importObject.WebGL.blendFunc = (ctx, sfactor, dfactor) => { + try { + WebGL.contextArray[ctx].blendFunc(sfactor, dfactor); + } catch (err) { + console.log("blendFunc error"); + console.error(err); + } // end catch + } + + importObject.WebGL.blendFuncSeparate = (ctx, srcRGB, dstRGB, srcAlpha, dstAlpha) => { + try { + WebGL.contextArray[ctx].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); + } catch (err) { + console.log("blendFuncSeparate error"); + console.error(err); + } // end catch + } + + const bufferdata = (ctx, target, data, usage) => { + try { + WebGL.contextArray[ctx].bufferData(target, WebGL.getArrayView(data), usage); + } catch (err) { + console.log("bufferData error"); + console.log(WebGL.getArrayView(data)); + console.error(err); + } // end catch + } + + importObject.WebGL["bufferData"] = bufferdata; + importObject.WebGL["bufferData"] = bufferdata; + importObject.WebGL["bufferData"] = bufferdata; + + // LAST TWO PARAMETERS ARE IN WEBGL 2.0 + importObject.WebGL.bufferSubData = (target, dstByteOffset, srcData, srcOffset, length) => { + try { + WebGL.contextArray[ctx].bufferSubData(target, dstByteOffset, WebGL.getArrayView(srcData), srcOffset, length); + } catch (err) { + console.log("bufferSubData error"); + console.error(err); + } // end catch + } + + importObject.WebGL.checkFramebufferStatus = (ctx, target) => { + try { + return WebGL.contextArray[ctx].checkFramebufferStatus(target); + } catch (err) { + console.log("checkFramebufferStatus error"); + console.error(err); + } // end catch + } + + // Clears the color, depth and stencil buffers + importObject.WebGL.clear = (ctx, mask) => { + try { + WebGL.contextArray[ctx].clear(mask); + } catch (err) { + console.log("clear error"); + console.error(err); + } // end catch + } + + // Specify the color fill a cleared color buffer with + importObject.WebGL.clearColor = (ctx, r, g, b, a) => { + try { + WebGL.contextArray[ctx].clearColor(r, g, b, a); + } catch (err) { + console.log("clearColor error"); + console.error(err); + } // end catch + } + + // Specifies a depth value to fill the depth buffer when it is cleared + importObject.WebGL.clearDepth = (ctx, depth) => { + try { + WebGL.contextArray[ctx].clearDepth(depth); + } catch (err) { + console.log("clearDepth error"); + console.error(err); + } // end catch + } + + // Specifies a clear value for the stencil buffer + importObject.WebGL.clearStencil = (ctx, s) => { + try { + WebGL.contextArray[ctx].clearStencil(s); + } catch (err) { + console.log("clearStencil error"); + console.error(err); + } // end catch + } + + // Allows you to turn on and off colors when writing to a framebuffer + importObject.WebGL.colorMask = (ctx, r, g, b, a) => { + try { + WebGL.contextArray[ctx].colorMask(r, g, b, a); + } catch (err) { + console.log("colorMask error"); + console.error(err); + } // end catch + } + + // Compiles a GLSL shader to be used by a WebGL program. + importObject.WebGL.compileShader = (ctx, shader) => { + try { + WebGL.contextArray[ctx].compileShader(WebGL.shaderArray[shader]); + var compilationLog = WebGL.contextArray[ctx].getShaderInfoLog(WebGL.shaderArray[shader]); + console.log(compilationLog); + } catch (err) { + console.log("compileShader error"); + console.error(err); + } // end catch + } + + // NOTE: Requires extensions + // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions + // Secifies a 2D texture image in a compressed format + importObject.WebGL.compressedTexImage2D = (ctx, target, level, internalformat, width, height, border, data) => { + try { + // THIS DOES NOT LOOK RIGHT TO ME + WebGL.contextArray[ctx].compileShader(target, level, internalformat, + width, height, border, WebGL.getArrayView(data)); + } catch (err) { + console.log("compressedTexImage2D error"); + console.error(err); + } // end catch + } + + // NOTE: Requires extensions + // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions + // Specifies a 2D sub-image rectangle for a compressed format texture image. + importObject.WebGL.compressedTexSubImage2D = (ctx, target, level, xoffset, yoffset, width, height, format, data) => { + try { + WebGL.contextArray[ctx].compressedTexSubImage2D(target, xoffset, yoffset, width, height, format, + WebGL.getArrayView(data)); + } catch (err) { + console.log("compressedTexSubImage2D error"); + console.error(err); + } // end catch + } + + // Copies pixels from the current WebGLFramebuffer into a 2D texture image + importObject.WebGL.copyTexImage2D = (ctx, target, level, internalformat, x, y, width, height, border) => { + try { + WebGL.contextArray[ctx].copyTexImage2D(target, level, internalformat, x, y, width, height, border); + } catch (err) { + console.log("copyTexImage2D error"); + console.error(err); + } // end catch + } + + // Copies pixels from the current WebGLFramebuffer into an existing 2D texture sub-image + importObject.WebGL.copyTexSubImage2D = (ctx, target, level, xoffset, yoffset, x, y, width, height) => { + try { + WebGL.contextArray[ctx].copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + } catch (err) { + console.log("copyTexSubImage2D error"); + console.error(err); + } // end catch + } + + // Creates a buffer to hold vertex related data + importObject.WebGL.createBuffer = (ctx) => { + try { + let id = WebGL.bufferArray.findIndex((element) => element == null); + let buffer = WebGL.contextArray[ctx].createBuffer(); + + if (id == -1) { + id = WebGL.bufferArray.length; + WebGL.bufferArray.push(buffer); + } + else { + WebGL.bufferArray[id] = buffer; + } + return id; + } catch (err) { + console.log("createBuffer error"); + console.error(err); + } // end catch + } + + // Creates a frame buffer object to be used as a rendering destination + importObject.WebGL.createFramebuffer = (ctx) => { + alert(arguments.callee.toString()); + } + + // Creates a WebGL program that consists of a vertex and fragment shader + importObject.WebGL.createProgram = (ctx) => { + try { + let id = WebGL.programArray.findIndex((element) => element == null); + let program = WebGL.contextArray[ctx].createProgram(); + + if (id == -1) { + id = WebGL.programArray.length; + WebGL.programArray.push(program); + } + else { + WebGL.programArray[id] = program; + } + return id; + } catch (err) { + console.log("createProgram error"); + console.error(err); + } // end catch + } + + // Creates a render buffer object that can be used as a source or target for rendering + importObject.WebGL.createRenderbuffer = (ctx) => { + try { + let id = WebGL.renderBufferArray.findIndex((element) => element == null); + let renderbuffer = WebGL.contextArray[ctx].createRenderbuffer(); + + if (id == -1) { + id = WebGL.renderBufferArray.length; + WebGL.renderBufferArray.push(renderbuffer); + } + else { + WebGL.renderBufferArray[id] = renderbuffer; + } + return id; + } catch (err) { + console.log("renderBufferArray error"); + console.error(err); + } // end catch + } + + // Creates a vertex or fragment shader object to be used when compiling a WebGL program + importObject.WebGL.createShader = (ctx, type) => { + try { + let id = WebGL.shaderArray.findIndex((element) => element == null); + let shader = WebGL.contextArray[ctx].createShader(type); + + if (id == -1) { + id = WebGL.shaderArray.length; + WebGL.shaderArray.push(shader); + } + else { + WebGL.shaderArray[id] = shader; + } + return id; + } catch (err) { + console.log("createShader error"); + console.error(err); + } // end catch + } + + // Creates a texture object + importObject.WebGL.createTexture = (ctx) => { + try { + let id = WebGL.textureArray.findIndex((element) => element == null); + let texture = WebGL.contextArray[ctx].createTexture(); + + if (id == -1) { + id = WebGL.textureArray.length; + WebGL.textureArray.push(texture); + } + else { + WebGL.textureArray[id] = texture; + } + console.log('createTexture id=' + id); + return id; + } catch (err) { + console.log("createTexture error"); + console.error(err); + } // end catch + } + + // Sets the culling mode + importObject.WebGL.cullFace = (ctx, mode) => { + try { + WebGL.contextArray[ctx].cullFace(target, mode); + } catch (err) { + console.log("cullFace error"); + console.error(err); + } // end catch + } + + // delete the buffer object + importObject.WebGL.deleteBuffer = (ctx, buffer) => { + try { + WebGL.contextArray[ctx].deleteBuffer(this.bufferArray[buffer]); + this.bufferArray[buffer] = null; + } catch (err) { + console.log("deleteBuffer error"); + console.error(err); + } // end catch + } + + // delete the frame buffer object + importObject.WebGL.deleteFramebuffer = (ctx, frame_buffer) => { + try { + WebGL.contextArray[ctx].deleteFramebuffer(this.framebufferArray[frame_buffer]); + this.framebufferArray[frame_buffer] = null; + } catch (err) { + console.log("deleteFramebuffer error"); + console.error(err); + } // end catch + } + + // delete the render buffer object + importObject.WebGL.deleteRenderbuffer = (ctx, render_buffer) => { + try { + WebGL.contextArray[ctx].deleteRenderbuffer(this.renderBufferArray[render_buffer]); + this.renderBufferArray[render_buffer] = null; + } catch (err) { + console.log("deleteRenderbuffer error"); + console.error(err); + } // end catch + } + + // delete the program object + importObject.WebGL.deleteProgram = (ctx, program) => { + try { + WebGL.contextArray[ctx].deleteProgram(this.programArray[program]); + this.program[program] = null; + } catch (err) { + console.log("deleteProgram error"); + console.error(err); + } // end catch + } + + // delete the shader object + importObject.WebGL.deleteShader = (ctx, shader) => { + try { + WebGL.contextArray[ctx].deleteShader(this.shaderArray[shader]); + this.shaderArray[shader] = null; + } catch (err) { + console.log("deleteShader error"); + console.error(err); + } // end catch + } + + importObject.WebGL.deleteTexture = (ctx, texture) => { + try { + WebGL.contextArray[ctx].deleteShader(this.textureArray[texture]); + this.textureArray[texture] = null; + } catch (err) { + console.log("deleteTexture error"); + console.error(err); + } // end catch + } + + // Before calling depthFunc, you must enable DEPTH_TEST + // This sets the function that tests the incoming pixel depth against a pixel already in the buffer. + // The default value is LESS, meaning that if an incoming pixel depth is less than existing pixel depth + // (the new pixel is closer) then the new pixel is drawn. + importObject.WebGL.depthFunc = (ctx, func) => { // func is a depth function enumeration + try { + WebGL.contextArray[ctx].depthFunc(func); + } catch (err) { + console.log("depthFunc error"); + console.error(err); + } // end catch + } + + // enable or disable writing to the depth buffer + importObject.WebGL.depthMask = (ctx, flag) => { + try { + WebGL.contextArray[ctx].depthMask(flag); + } catch (err) { + console.log("depthMask error"); + console.error(err); + } // end catch + } + + // defines the near and far clipping plane in the depth buffer + importObject.WebGL.depthRange = (ctx, zNear, zFar) => { + try { + WebGL.contextArray[ctx].depthRange(zNear, zFar); + } catch (err) { + console.log("depthRange error"); + console.error(err); + } // end catch + } + + // detach the shader currently attached to the program + importObject.WebGL.detachShader = (ctx, program, shader) => { + try { + WebGL.contextArray[ctx].detachShader(program, shader); + } catch (err) { + console.log("detachShader error"); + console.error(err); + } // end catch + } + + // disable a specific WebGL capability + importObject.WebGL.disable = (ctx, cap) => { + try { + WebGL.contextArray[ctx].disable(cap); + } catch (err) { + console.log("disable error"); + console.error(err); + } // end catch + } + + // disables a vertex attribute array at the index loction passed in. + importObject.WebGL.disableVertexAttribArray = (ctx, index) => { + try { + WebGL.contextArray[ctx].disableVertexAttribArray(index); + } catch (err) { + console.log("disableVertexAttribArray error"); + console.error(err); + } // end catch + } + + // render primitive data from array + importObject.WebGL.drawArrays = (ctx, mode, first, count) => { + try { + WebGL.contextArray[ctx].drawArrays(mode, first, count); + } catch (err) { + console.log("drawArrays error"); + console.error(err); + } // end catch + } + + // uses index data to render elements from array data + importObject.WebGL.drawElements = (ctx, mode, count, typ, offset) => { + try { + WebGL.contextArray[ctx].drawElements(mode, count, typ, offset); + } catch (err) { + console.log("drawElements error"); + console.error(err); + } // end catch + } + + // enable a specific WebGL capability + importObject.WebGL.enable = (ctx, cap) => { + try { + WebGL.contextArray[ctx].enable(cap); + } catch (err) { + console.log("enable error"); + console.error(err); + } // end catch + } + + importObject.WebGL.enableVertexAttribArray = (ctx, index) => { + try { + WebGL.contextArray[ctx].enableVertexAttribArray(index); + } catch (err) { + console.log("enableVertexAttribArray error"); + console.error(err); + } // end catch + } + + // waits for all previously executed WebGL api calls to finish + importObject.WebGL.finish = (ctx) => { + try { + WebGL.contextArray[ctx].finish(); + } catch (err) { + console.log("finish error"); + console.error(err); + } // end catch + } + + // ??? + importObject.WebGL.flush = (ctx) => { + try { + WebGL.contextArray[ctx].flush(); + } catch (err) { + console.log("flush error"); + console.error(err); + } // end catch + } + + // attach a render buffer to a frame buffer + importObject.WebGL.framebufferRenderbuffer = (ctx, target, attachment, renderbuffertarget, renderbuffer) => { + try { + WebGL.contextArray[ctx].framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + } catch (err) { + console.log("framebufferRenderbuffer error"); + console.error(err); + } // end catch + } + + importObject.WebGL.framebufferTexture2D = (ctx, target, attachment, textarget, texture, level) => { + try { + WebGL.contextArray[ctx].framebufferTexture2D(target, attachment, textarget, texture, level); + } catch (err) { + console.log("framebufferTexture2D error"); + console.error(err); + } // end catch + } + + // set the winding direction of the verticies, which defines the front face + importObject.WebGL.frontFace = (ctx, mode) => { + try { + WebGL.contextArray[ctx].frontFace(mode); + } catch (err) { + console.log("frontFace error"); + console.error(err); + } // end catch + } + + // generates reduced resolution mipmap textures for rendering objects at a distance + importObject.WebGL.generateMipmap = (ctx, target) => { + try { + WebGL.contextArray[ctx].generateMipmap(target); + } catch (err) { + console.log("generateMipmap error"); + console.error(err); + } // end catch + } + + // query information about an attribute of a given program + importObject.WebGL.getActiveAttrib = (ctx, program, index) => { + // will this return an externref? How do I move in the data + alert("getActiveAttrib is not implemented"); + return 0; + } + + // query information about a uniform in a given program + importObject.WebGL.getActiveUniform = (ctx, program, index) => { + // will this return an externref? How do I move in the data + alert("getActiveUniform is not implemented"); + return 0; + } + + // needs to return an array of WebGL shaders to the AS + importObject.WebGL.getAttachedShaders = (ctx, program) => { + // this will need to return an array of shader indicies. + alert("getAttachedShaders is not implemented"); + return 0; + } + + // get an attribute location inside a program given a name + importObject.WebGL.getAttribLocation = (ctx, program, name) => { + try { + return WebGL.contextArray[ctx].getAttribLocation(WebGL.programArray[program], WebGL.getString(name)); + } catch (err) { + console.log("getAttribLocation error"); + console.error(err); + } // end catch + } + + // returns an int given a buffer parameter name + importObject.WebGL.getBufferParameter = (ctx, target, pname) => { + try { + return WebGL.contextArray[ctx].getBufferParameter(target, pname); + } catch (err) { + console.log("getBufferParameter error"); + console.error(err); + } // end catch + } + + importObject.WebGL.getParameter = (ctx, pname) => { + try { + return WebGL.contextArray[ctx].getParameter(pname); + } catch (err) { + console.log("getParameter error"); + console.error(err); + } // end catch + } + + importObject.WebGL.getError = (ctx) => { + try { + return WebGL.contextArray[ctx].getError(); + } catch (err) { + console.log("getError error"); + console.error(err); + } // end catch + } + + importObject.WebGL.getFramebufferAttachmentParameter = (ctx, target, attachment, pname) => { + try { + return WebGL.contextArray[ctx].getParameter(target, attachment, pname); + } catch (err) { + console.log("getFramebufferAttachmentParameter error"); + console.error(err); + } // end catch + } + + importObject.WebGL.getProgramInfoLog = (ctx, program) => { + // this needs to return a string to the AS + alert("getProgramInfoLog not implemented"); + return 0; + } + + // get information about the renderbuffer + importObject.WebGL.getRenderbufferParameter = (ctx, target, pname) => { + try { + return WebGL.contextArray[ctx].getRenderbufferParameter(target, pname); + } catch (err) { + console.log("getRenderbufferParameter error"); + console.error(err); + } // end catch + } + + importObject.WebGL.getShaderParameter = (ctx, shader, pname) => { + alert("getShaderParameter not implemented"); + return 0; + } + + importObject.WebGL.getShaderPrecisionFormat = (ctx, shadertype, precisiontype) => { + alert("getShaderPrecisionFormat not implemented"); + return 0; + } + + importObject.WebGL.getShaderInfoLog = (ctx, shader) => { + alert("getShaderInfoLog not implemented"); + return 0; + } + + importObject.WebGL.getShaderSource = (ctx, shader) => { + // this needs to return a string to AS + alert("getShaderInfoLog not implemented"); + return 0; + } + + importObject.WebGL.getTexParameter = (ctx, target, pname) => { + alert("getTexParameter not implemented"); + return 0; + } + + importObject.WebGL.getUniform = (ctx, program, location) => { + // this can return multiple types + alert("getUniform not implemented"); + return 0; + } + + importObject.WebGL.getUniformLocation = (ctx, program, name) => { + try { + let id = WebGL.uniformLocationArray.findIndex((element) => element == null); + let uniformLocation = WebGL.contextArray[ctx].getUniformLocation(WebGL.programArray[program], WebGL.getString(name)); + + if (id == -1) { + id = WebGL.uniformLocationArray.length; + WebGL.uniformLocationArray.push(uniformLocation); + } + else { + WebGL.uniformLocationArray[id] = uniformLocation; + } + + return id; + } catch (err) { + console.log("getUniformLocation error"); + console.error(err); + } // end catch + } + + importObject.WebGL.getVertexAttrib = (ctx, index, pname) => { + // this can return multiple types + alert("getVertexAttrib not implemented"); + return 0; + } + + // given a vertex attribute index, return the offset value + importObject.WebGL.getVertexAttribOffset = (ctx, index, pname) => { + try { + return WebGL.contextArray[ctx].getVertexAttribOffset(index, pname); + } catch (err) { + console.log("getVertexAttribOffset error"); + console.error(err); + } // end catch + } + + // sets shader behaviorial hints, which could potentially improve performance on some implementations + importObject.WebGL.hint = (ctx, target, mode) => { + try { + return WebGL.contextArray[ctx].hint(target, mode); + } catch (err) { + console.log("hint error"); + console.error(err); + } // end catch + } + + // THIS MAY JUST NEED TO CHECK TO SEE IF THE NUMBER IS IN THE RENDERBUFFER ARRAY + // THERE ARE SEVERAL OF THESE isX FUNCTIONS. I'M NOT SURE IF ANY OF THEM ARE USEFUL + // IN THE AS CODE + importObject.WebGL.isBuffer = (ctx, buffer) => { + try { + return WebGL.contextArray[ctx].isBuffer(WebGL.bufferArray[buffer]); + } catch (err) { + console.log("isBuffer error"); + console.error(err); + } // end catch + } + + // tests a WebGL capability to see if it is enabled + importObject.WebGL.isEnabled = (ctx, cap) => { + try { + return WebGL.contextArray[ctx].isEnabled(cap); + } catch (err) { + console.log("isEnabled error"); + console.error(err); + } // end catch + } + + importObject.WebGL.isFramebuffer = (ctx, framebuffer) => { + try { + return WebGL.contextArray[ctx].isFramebuffer(WebGL.frameBufferArray[framebuffer]); + } catch (err) { + console.log("isFramebuffer error"); + console.error(err); + } // end catch + } + + importObject.WebGL.isProgram = (ctx, program) => { + try { + return WebGL.contextArray[ctx].isProgram(WebGL.programArray[program]); + } catch (err) { + console.log("isProgram error"); + console.error(err); + } // end catch + } + + importObject.WebGL.isRenderbuffer = (ctx, renderbuffer) => { + try { + return WebGL.contextArray[ctx].isRenderbuffer(WebGL.renderBufferArray[renderbuffer]); + } catch (err) { + console.log("isRenderbuffer error"); + console.error(err); + } // end catch + } + + importObject.WebGL.isShader = (ctx, shader) => { + try { + return WebGL.contextArray[ctx].isShader(WebGL.shaderArray[shader]); + } catch (err) { + console.log("isShader error"); + console.error(err); + } // end catch + } + + importObject.WebGL.isTexture = (ctx, texture) => { + try { + return WebGL.contextArray[ctx].isTexture(WebGL.textureArray[texture]); + } catch (err) { + console.log("isTexture error"); + console.error(err); + } // end catch + } + + importObject.WebGL.lineWidth = (ctx, width) => { + try { + return WebGL.contextArray[ctx].lineWidth(width); + } catch (err) { + console.log("lineWidth error"); + console.error(err); + } // end catch + } + + importObject.WebGL.linkProgram = (ctx, program) => { + try { + WebGL.contextArray[ctx].linkProgram(WebGL.programArray[program]); + + if (!WebGL.contextArray[ctx].getProgramParameter(WebGL.programArray[program], + WebGL.contextArray[ctx].LINK_STATUS)) { + console.log(WebGL.contextArray[ctx].getProgramInfoLog(WebGL.programArray[program])); + } + } catch (err) { + console.log("linkProgram error"); + console.error(err); + } // end catch + } + + // set pixel storage mode + importObject.WebGL.pixelStorei = (ctx, pname, param) => { + try { + WebGL.contextArray[ctx].pixelStorei(pname, param); + } catch (err) { + console.log("pixelStorei error"); + console.log(err); + } // end catch + } + + // ??? + importObject.WebGL.polygonOffset = (ctx, factor, units) => { + try { + WebGL.contextArray[ctx].polygonOffset(factor, units); + } catch (err) { + console.log("polygonOffset error"); + console.error(err); + } // end catch + } + + // read a block of pixels into an array buffer view + importObject.WebGL.readPixels = (ctx, x, y, width, height, format, typ, pixels) => { + alert("readPixels not implemented"); + } + + // create and initialize a renderbuffer object's data store + importObject.WebGL.renderbufferStorage = (ctx, target, internalformat, width, height) => { + try { + WebGL.contextArray[ctx].renderbufferStorage(target, internalformat, width, height); + } catch (err) { + console.log("renderbufferStorage error"); + console.error(err); + } // end catch + } + + // sampling for anti-aliasing. SAMPLE_COVERAGE must be enabled. + importObject.WebGL.sampleCoverage = (ctx, value, invert) => { + try { + WebGL.contextArray[ctx].sampleCoverage(value, invert); + } catch (err) { + console.log("sampleCoverage error"); + console.error(err); + } // end catch + } + + // create a scissor box to draw inside. SCISSOR_TEST must be enabled. + importObject.WebGL.scissor = (ctx, x, y, width, height) => { + try { + WebGL.contextArray[ctx].scissor(x, y, width, height); + } catch (err) { + console.log("scissor error"); + console.error(err); + } // end catch + } + + importObject.WebGL.shaderSource = (ctx, shader, source) => { + try { + WebGL.contextArray[ctx].shaderSource(WebGL.shaderArray[shader], WebGL.getString(source)); + } catch (err) { + console.log("shaderSource error"); + console.error(err); + } // end catch + } + + // sets a function for allowing pixels to pass through a stencil. STENCIL_TEST must be set. + importObject.WebGL.stencilFunc = (ctx, func, ref, mask) => { + try { + WebGL.contextArray[ctx].stencilFunc(func, ref, mask); + } catch (err) { + console.log("stencilFunc error"); + console.error(err); + } // end catch + } + + // allows you to set different stencils for front and back faces. + importObject.WebGL.stencilFuncSeparate = (ctx, face, func, ref, mask) => { + try { + WebGL.contextArray[ctx].stencilFuncSeparate(face, func, ref, mask); + } catch (err) { + console.log("stencilFuncSeparate error"); + console.error(err); + } // end catch + } + + // defines stencil masking bits + importObject.WebGL.stencilMask = (ctx, mask) => { + try { + WebGL.contextArray[ctx].stencilMask(mask); + } catch (err) { + console.log("stencilMask error"); + console.error(err); + } // end catch + } + + // use different stencil mask for front and back faces + importObject.WebGL.stencilMaskSeparate = (ctx, face, mask) => { + try { + WebGL.contextArray[ctx].stencilMaskSeparate(face, mask); + } catch (err) { + console.log("stencilMaskSeparate error"); + console.error(err); + } // end catch + } + + // PROBLEM: zfail is a function + importObject.WebGL.stencilOp = (ctx, fail, zfail, zpass) => { + alert("stencilOp is not implemented"); + } + + // PROBLEM: zfail is a function + importObject.WebGL.stencilOpSeparate = (ctx, face, fail, zfail, zpass) => { + alert("stencilOpSeparate is not implemented"); + } + + // specify a two-dimensional texture image + importObject.WebGL.texImage2D = (ctx, target, level, internalformat, format, typ, image_id) => { + try { + console.log(` + image_id=${image_id} + WebGL.imageArray.length=${WebGL.imageArray.length} + `); + WebGL.contextArray[ctx].texImage2D(target, level, internalformat, + format, typ, WebGL.imageArray[image_id]);//WebGL.getArrayView(pixels)); + } catch (err) { + console.log("texImage2D error"); + console.error(err); + } // end catch + } + + importObject.WebGL.texParameterf = (ctx, target, pname, param) => { + try { + WebGL.contextArray[ctx].texParameterf(target, pname, param); + } catch (err) { + console.log("texParameterf error"); + console.error(err); + } // end catch + } + + importObject.WebGL.texParameteri = (ctx, target, pname, param) => { + try { + WebGL.contextArray[ctx].texParameteri(target, pname, param); + } catch (err) { + console.log("texParameteri error"); + console.error(err); + } // end catch + } + + importObject.WebGL.texSubImage2D = (ctx, target, level, xoffset, yoffset, + width, height, + format, typ, pixels) => { + try { + WebGL.contextArray[ctx].texSubImage2D(target, level, xoffset, yoffset, + width, height, format, typ, WebGL.getArrayView(pixels)); + } catch (err) { + console.log("texSubImage2D error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform1f = (ctx, location, x) => { + try { + return WebGL.contextArray[ctx].uniform1f(WebGL.uniformLocationArray[location], x); + } catch (err) { + console.log("uniform1f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform1fv = (ctx, location, v) => { + try { + return WebGL.contextArray[ctx].uniform1fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + } catch (err) { + console.log("uniform1fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform1i = (ctx, location, x) => { + try { + return WebGL.contextArray[ctx].uniform1i(WebGL.uniformLocationArray[location], x); + } catch (err) { + console.log("uniform1i error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform1iv = (ctx, location, v) => { + try { + return WebGL.contextArray[ctx].uniform1iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + } catch (err) { + console.log("uniform1iv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform2f = (ctx, location, x, y) => { + try { + return WebGL.contextArray[ctx].uniform2f(WebGL.uniformLocationArray[location], x, y); + } catch (err) { + console.log("uniform2f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform2fv = (ctx, location, v) => { + try { + return WebGL.contextArray[ctx].uniform2fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + } catch (err) { + console.log("uniform2fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform2i = (ctx, location, x, y) => { + try { + return WebGL.contextArray[ctx].uniform2i(WebGL.uniformLocationArray[location], x, y); + } catch (err) { + console.log("uniform2i error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform2iv = (ctx, location, v) => { + try { + return WebGL.contextArray[ctx].uniform2iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + } catch (err) { + console.log("uniform2iv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform3f = (ctx, location, x, y, z) => { + try { + return WebGL.contextArray[ctx].uniform3f(WebGL.uniformLocationArray[location], x, y, z); + } catch (err) { + console.log("uniform3f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform3fv = (ctx, location, v) => { + try { + //Float32Array + //return WebGL.contextArray[ctx].uniform3fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + return WebGL.contextArray[ctx].uniform3fv(WebGL.uniformLocationArray[location], new Float32Array(v)); + } catch (err) { + console.log("uniform3fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform3i = (ctx, location, x, y, z) => { + try { + return WebGL.contextArray[ctx].uniform3i(WebGL.uniformLocationArray[location], x, y, z); + } catch (err) { + console.log("uniform3i error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform3iv = (ctx, location, v) => { + try { + return WebGL.contextArray[ctx].uniform3iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + } catch (err) { + console.log("uniform3iv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform4f = (ctx, location, x, y, z, w) => { + try { + return WebGL.contextArray[ctx].uniform4f(WebGL.uniformLocationArray[location], x, y, z, w); + } catch (err) { + console.log("uniform4f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform4fv = (ctx, location, v) => { + try { + return WebGL.contextArray[ctx].uniform4fv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + } catch (err) { + console.log("uniform4fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform4i = (ctx, location, x, y, z, w) => { + try { + return WebGL.contextArray[ctx].uniform4i(WebGL.uniformLocationArray[location], x, y, z, w); + } catch (err) { + console.log("uniform4i error"); + console.error(err); + } // end catch + } + + importObject.WebGL.uniform4iv = (ctx, location, v) => { + try { + return WebGL.contextArray[ctx].uniform4iv(WebGL.uniformLocationArray[location], WebGL.getArrayView(v)); + } catch (err) { + console.log("uniform4iv error"); + console.error(err); + } // end catch + } + + // Assumes an f32 as GLfloat + importObject.WebGL.uniformMatrix2fv = (ctx, location, transpose, value_arr) => { + try { + const buffer = WebGL.memory.buffer; + let start_pos = value_arr >> 2; + return WebGL.contextArray[ctx].uniformMatrix3fv(WebGL.uniformLocationArray[location], transpose, + new Float32Array(buffer).subarray(start_pos, start_pos + 4)); + + } catch (err) { + console.log("uniformMatrix2fv error"); + console.error(err); + } // end catch + } + + // this assumes f32 as GLfloat + importObject.WebGL.uniformMatrix3fv = (ctx, location, transpose, value_arr) => { + try { + const buffer = WebGL.memory.buffer; + let start_pos = value_arr >> 2; + //console.log(new Float32Array(buffer).subarray(start_pos, start_pos + 9)); + return WebGL.contextArray[ctx].uniformMatrix3fv(WebGL.uniformLocationArray[location], transpose, + new Float32Array(buffer).subarray(start_pos, start_pos + 9)); + + } catch (err) { + console.log("uniformMatrix3fv error"); + console.error(err); + } // end catch + } + + // this assumes f32 as GLfloat + // I might do this for more functions + importObject.WebGL.uniformMatrix4fv = (ctx, location, transpose, value_arr) => { + try { + const buffer = WebGL.memory.buffer; + let start_pos = value_arr >> 2; + return WebGL.contextArray[ctx].uniformMatrix3fv(WebGL.uniformLocationArray[location], transpose, + new Float32Array(buffer).subarray(start_pos, start_pos + 16)); + + } catch (err) { + console.log("uniformMatrix4fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.useProgram = (ctx, program) => { + try { + WebGL.contextArray[ctx].useProgram(WebGL.programArray[program]); + } catch (err) { + console.log("useProgram error"); + console.error(err); + } // end catch + } + + importObject.WebGL.validateProgram = (ctx, program) => { + try { + WebGL.contextArray[ctx].validateProgram(WebGL.programArray[program]); + } catch (err) { + console.log("validateProgram error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib1f = (ctx, indx, x) => { + try { + return WebGL.contextArray[ctx].vertexAttrib1f(indx, x); + } catch (err) { + console.log("vertexAttrib1f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib1fv = (ctx, indx, v) => { + try { + return WebGL.contextArray[ctx].vertexAttrib1fv(indx, WebGL.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib1fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib2f = (ctx, indx, x, y) => { + try { + return WebGL.contextArray[ctx].vertexAttrib2f(indx, x, y); + } catch (err) { + console.log("vertexAttrib2f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib2fv = (ctx, indx, v) => { + try { + return WebGL.contextArray[ctx].vertexAttrib2fv(indx, WebGL.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib2fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib3f = (ctx, indx, x, y, z) => { + try { + return WebGL.contextArray[ctx].vertexAttrib3f(indx, x, y, z); + } catch (err) { + console.log("vertexAttrib3f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib3fv = (ctx, indx, v) => { + try { + return WebGL.contextArray[ctx].vertexAttrib3fv(indx, WebGL.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib3fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib4f = (ctx, indx, x, y, z, w) => { + try { + return WebGL.contextArray[ctx].vertexAttrib4f(indx, x, y, z, w); + } catch (err) { + console.log("vertexAttrib4f error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttrib4fv = (ctx, indx, v) => { + try { + return WebGL.contextArray[ctx].vertexAttrib4fv(indx, WebGL.getArrayView(v)); + } catch (err) { + console.log("vertexAttrib4fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.vertexAttribPointer = (ctx, indx, size, typ, normalized, stride, offset) => { + try { + WebGL.contextArray[ctx].vertexAttribPointer(indx, size, typ, normalized, stride, offset); + } catch (err) { + console.log("vertexAttrib4fv error"); + console.error(err); + } // end catch + } + + importObject.WebGL.viewport = (ctx, indx, x, y, width, height) => { + try { + WebGL.contextArray[ctx].viewport(indx, x, y, width, height); + } catch (err) { + console.log("viewport error"); + console.error(err); + } // end catch + } + + // expiramental WebGL2 + importObject.WebGL.copyBufferSubData = (ctx, readTarget, writeTarget, readOffset, writeOffset, size) => { + alert("copyBufferSubData not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.getBufferSubData = (ctx, target, srcByteOffset, dstBuffer, dstOffset, length) => { + alert("getBufferSubData not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.blitFramebuffer = (ctx, srcX0, srcY0, srcX1, srcY1, + dstX0, dstY0, dstX1, dstY1, + mask, filter) => { + alert("blitFramebuffer not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.framebufferTextureLayer = (ctx, target, attachment, texture, level, layer) => { + alert("framebufferTextureLayer not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.invalidateFramebuffer = (ctx, target, attachments) => { + alert("invalidateFramebuffer not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.invalidateSubFramebuffer = (ctx, target, attachments, x, y, width, height) => { + alert("invalidateSubFramebuffer not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.readBuffer = (ctx, src) => { + alert("readBuffer not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.getInternalformatParameter = (ctx, target, internalformat, pname) => { + alert("getInternalformatParameter not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.renderbufferStorageMultisample = (ctx, target, samples, internalformat, width, height) => { + alert("renderbufferStorageMultisample not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.texStorage2D = (ctx, target, levels, internalformat, width, height) => { + alert("texStorage2D not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.texStorage3D = (ctx, target, levels, internalformat, width, height, depth) => { + alert("texStorage3D not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.texSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, typ, pboOffset) => { + alert("texSubImage3D not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.copyTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, x, y, width, height) => { + alert("copyTexSubImage3D not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.compressedTexImage3D = (ctx, target, level, internalformat, width, + height, depth, border, imageSize, offset) => { + alert("compressedTexImage3D not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.compressedTexSubImage3D = (ctx, target, level, xoffset, yoffset, zoffset, + width, height, depth, format, imageSize, offset) => { + alert("compressedTexSubImage3D not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getFragDataLocation = (ctx, program, name) => { + alert("getFragDataLocation not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform1ui = (ctx, location, v0) => { + alert("uniform1ui not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform2ui = (ctx, location, v0, v1) => { + alert("uniform2ui not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform3ui = (ctx, location, v0, v1, v3) => { + alert("uniform3ui not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform4ui = (ctx, location, v0, v1, v3, v4) => { + alert("uniform4ui not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform1uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform1uiv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform2uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform2uiv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform3uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform3uiv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniform4uiv = (ctx, location, data, srcOffset, srcLength) => { + alert("uniform4uiv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniformMatrix3x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix3x2fv not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.uniformMatrix4x2fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix4x2fv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniformMatrix2x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix2x3fv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniformMatrix4x3fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + alert("uniformMatrix4x3fv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniformMatrix2x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + console.trace("uniformMatrix2x4fv"); + alert("uniformMatrix2x4fv not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.uniformMatrix3x4fv = (ctx, location, transpose, data, srcOffset, srcLength) => { + console.trace("uniformMatrix3x4fv"); + alert("uniformMatrix3x4fv not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4i = (ctx, index, x, y, z, w) => { + console.trace("vertexAttribI4i"); + alert("vertexAttribI4i not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4iv = (ctx, index, value_arr) => { + console.trace("vertexAttribI4iv"); + alert("vertexAttribI4iv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4ui = (ctx, index, x, y, z, w) => { + console.trace("vertexAttribI4ui"); + alert("vertexAttribI4ui not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.vertexAttribI4uiv = (ctx, index, value_arr) => { + console.trace("vertexAttribI4uiv"); + alert("vertexAttribI4uiv not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.vertexAttribIPointer = (ctx, index, size, typ, stride, offset) => { + console.trace("vertexAttribIPointer"); + alert("vertexAttribIPointer not implemented (expiramental)"); + } + + // expiramental WebGL2 + importObject.WebGL.vertexAttribDivisor = (ctx, index, divisor) => { + try { + return WebGL.contextArray[ctx].vertexAttribDivisor(ctx, index, divisor); + } catch (err) { + console.trace("vertexAttribDivisor error"); + console.error(err); + } // end catch + } + + // expiramental WebGL2 + importObject.WebGL.drawArraysInstanced = (ctx, mode, first, count, instanceCount) => { + try { + return WebGL.contextArray[ctx].drawArraysInstanced(mode, first, count, instanceCount); + } catch (err) { + console.log("drawArraysInstanced error"); + console.error(err); + } // end catch + } + + // expiramental WebGL2 + importObject.WebGL.drawElementsInstanced = (ctx, mode, count, typ, offset, instanceCount) => { + try { + return WebGL.contextArray[ctx].drawArraysInstanced(mode, count, typ, offset, instanceCount); + } catch (err) { + console.log("drawElementsInstanced error"); + console.error(err); + } // end catch + + } + + // expiramental WebGL2 + importObject.WebGL.drawRangeElements = (ctx, mode, start, end, count, typ, offset) => { + alert("drawRangeElements not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.drawBuffers = (ctx, buffers) => { + alert("drawBuffers not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.clearBufferfv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferfv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.clearBufferiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferiv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.clearBufferuiv = (ctx, buffer, drawbuffer, values, srcOffset) => { + alert("clearBufferuiv not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.clearBufferfi = (ctx, buffer, drawbuffer, depth, stencil) => { + alert("clearBufferfi not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.createQuery = (ctx) => { + alert("createQuery not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.deleteQuery = (ctx, query) => { + alert("deleteQuery not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.isQuery = (ctx, query) => { + alert("isQuery not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.beginQuery = (ctx, target, query) => { + alert("beginQuery not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.endQuery = (ctx, query) => { + alert("endQuery not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getQuery = (ctx, query, pname) => { + alert("getQuery not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getQueryParameter = (ctx, query, pname) => { + alert("getQueryParameter not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.createSampler = (ctx) => { + alert("createSampler not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.deleteSampler = (ctx, sampler) => { + alert("deleteSampler not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.isSampler = (ctx, sampler) => { + alert("isSampler not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.bindSampler = (ctx, uint, sampler) => { + alert("bindSampler not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.samplerParameteri = (ctx, sampler, pname, param) => { + alert("samplerParameteri not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.samplerParameterf = (ctx, sampler, pname, param) => { + alert("samplerParameterf not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getSamplerParameter = (ctx, sampler, pname) => { + alert("getSamplerParameter not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.fenceSync = (ctx, condition, flags) => { + alert("fenceSync not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.isSync = (ctx, sync) => { + alert("isSync not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.deleteSync = (ctx, sync) => { + alert("deleteSync not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.clientWaitSync = (ctx, sync, flags, timeout) => { + alert("clientWaitSync not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.waitSync = (ctx, sync, flags, timeout) => { + alert("waitSync not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getSyncParameter = (ctx, sync, pname) => { + alert("getSyncParameter not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.createTransformFeedback = (ctx) => { + alert("createTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.deleteTransformFeedback = (ctx, tf) => { + alert("deleteTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.isTransformFeedback = (ctx, tf) => { + alert("isTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.bindTransformFeedback = (ctx, target, tf) => { + alert("bindTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.beginTransformFeedback = (ctx, primitiveMode) => { + alert("beginTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.endTransformFeedback = (ctx) => { + alert("endTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.transformFeedbackVaryings = (ctx, program, varyings, bufferMode) => { + alert("transformFeedbackVaryings not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getTransformFeedbackVarying = (ctx, program, index) => { + alert("getTransformFeedbackVarying not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.pauseTransformFeedback = (ctx) => { + alert("pauseTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.resumeTransformFeedback = (ctx) => { + alert("resumeTransformFeedback not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.bindBufferBase = (ctx, target, index, buffer) => { + alert("bindBufferBase not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.bindBufferRange = (ctx, target, index, buffer, offset, size) => { + alert("bindBufferRange not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getIndexedParameter = (ctx, target, index) => { + alert("getIndexedParameter not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getUniformIndices = (ctx, program, uniformNames) => { + alert("getUniformIndices not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getActiveUniforms = (ctx, program, uniformIndices, pname) => { + alert("getActiveUniforms not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getUniformBlockIndex = (ctx, program, uniformBlockName) => { + alert("getUniformBlockIndex not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getActiveUniformBlockParameter = (ctx, program, uniformBlockIndex, pname) => { + alert("getActiveUniformBlockParameter not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.getActiveUniformBlockName = (ctx, program, uniformBlockIndex) => { + alert("getActiveUniformBlockName not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.uniformBlockBinding = (ctx, program, uniformBlockIndex, uniformBlockBinding) => { + alert("uniformBlockBinding not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.createVertexArray = (ctx) => { + try { + let id = WebGL.vaoArray.findIndex((element) => element == null); + let vao = WebGL.contextArray[ctx].createVertexArray(); + + if (id == -1) { + id = WebGL.vaoArray.length; + WebGL.vaoArray.push(vao); + } + else { + WebGL.vaoArray[id] = vao; + } + return id; + } catch (err) { + console.log("renderBufferArray error"); + console.error(err); + } // end catch + + } + + // expiramental WebGL2 + importObject.WebGL.deleteVertexArray = (ctx, vertexArray) => { + alert("deleteVertexArray not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.isVertexArray = (ctx, vertexArray) => { + alert("isVertexArray not implemented (expiramental)"); + + } + + // expiramental WebGL2 + importObject.WebGL.bindVertexArray = (ctx, vaoId) => { + try { + WebGL.contextArray[ctx].bindVertexArray(WebGL.vaoArray[vaoId]); + } catch (err) { + console.log("uniform2i error"); + console.error(err); + } // end catch + } + +} diff --git a/src/examples/AnimationTexture/index.html b/src/examples/AnimationTexture/index.html index ea070b8..bfc42dc 100644 --- a/src/examples/AnimationTexture/index.html +++ b/src/examples/AnimationTexture/index.html @@ -4,7 +4,7 @@ - Document + Animation Texture Example diff --git a/src/examples/ColorTriangle/index.html b/src/examples/ColorTriangle/index.html index ae3e60a..56fce24 100644 --- a/src/examples/ColorTriangle/index.html +++ b/src/examples/ColorTriangle/index.html @@ -4,7 +4,7 @@ - Document + Color Triangle Demo diff --git a/src/examples/Cube/index.html b/src/examples/Cube/index.html index fc99323..7f57cb2 100644 --- a/src/examples/Cube/index.html +++ b/src/examples/Cube/index.html @@ -4,7 +4,7 @@ - Document + Cube Example diff --git a/src/examples/HelloWorldTriangle/index.html b/src/examples/HelloWorldTriangle/index.html index de5c33d..434ec6a 100644 --- a/src/examples/HelloWorldTriangle/index.html +++ b/src/examples/HelloWorldTriangle/index.html @@ -4,7 +4,7 @@ - Document + Hello World Triangle Example diff --git a/src/examples/InstancedSprites/Asteroid.png b/src/examples/InstancedSprites/Asteroid.png new file mode 100644 index 0000000000000000000000000000000000000000..43ac846d4568d39b62ec5f328c8544f2bcd1a511 GIT binary patch literal 2176 zcmcImdr%a09RD4lqM(E3gUoVSbn?-%yZ3@y@8Wf!C`TufNDp;y_jlY1ce~y$+`(j? zd8IR=!G8OvQc+$K^C>{?pF|%S)_`ZFH_5lF&&6;4%Mb8vIrpdK=qnf0D2q| z@}?=%Y}pJax)WGlbif3^TS906%*lR<<%*z!IbfmSvEWx5n{Z6vEqK1cM%kov=n^KB zd*PJwoII|)h%@nc^7EM4&maOfR9MXKF80Wb--37YGH9;8CULA2q7+&1RMj9h&1T2a zMK8n*2}XjW^+{NwDSJASn$G;H81aEa;=#`TWDp$ zU5X+xBk4=tWf5>f}{wd2U8hYhghOm zaHO=$1-BHU^~k|6p@5NoRwC&HN_D9lXtO;U>UM|FvXW7XtOWJ`E3uqcCP6Y6%3_I^ zgBhjJqr`U`BphbwO>Y z4tQ2!9}g_@g0t*#pf($m<&hQE!@(@81xKP11c7IumWC|k9fVV_V+krrpG2^<(@1D} zXOcq?4GyP)>(qtLTScx!4WD|xt896ZLmZ(9F%BJTOoR@e;7pJwOe|tcf;t01>k@UG z(dg7emhEPH!7HFIhb?}PRaM0!MvBwZ6wm7jtxj(sv<^K>uzF5U@Q_b5IBDqAs;YR7 zaf)6yi|RyhvxSh9JcT&+x0-aZSoGRN9>rXzRx@HpUQ7^Vl)AFu_b~;|4$g`Nth4AC zmQ!opf^%w;A&&=N3;zvKUw`iSIr!DP{?_*gGYEku$2&*CBAfdsT|GWWbLmb$!Sv&&SC36iPhDHnk_|FHYZz5UNxs6#zcp6rO8xwtZ}N^>xFQQLOS zOOdm{#CENJtT}9b$6&kl?j3@+@D`;YJq*Hl)}5h+WrUq5uJW8;XX zdjiYj#^-Ub#~7b;_i5Q#0NL*dm2iPZ(G|dEbwRY zH^(*(sju7sTH*v#&aT&Vmj*b!a0U{RR8ain)iYxK-g^6ZM{TyRrsvXPY$6^QU4d>ooa+I*VA>_TtzK%gx9u6Mq{$3C?|{dE5clsUsg+ z(%-&JO!@r1OG7v9J#mZJ_vI>ajrEH8GDs_}NWImsX-3_y>T`|X%{j9DJbBtY=gyh) b`NG^&8{_fXlNax({|H$bIo2I%GvD|Nqr3a2 literal 0 HcmV?d00001 diff --git a/src/examples/InstancedSprites/README.md b/src/examples/InstancedSprites/README.md new file mode 100644 index 0000000..691d179 --- /dev/null +++ b/src/examples/InstancedSprites/README.md @@ -0,0 +1,3 @@ +# Instanced Sprites + +# This thing is not working. \ No newline at end of file diff --git a/src/examples/InstancedSprites/index.html b/src/examples/InstancedSprites/index.html new file mode 100644 index 0000000..3544136 --- /dev/null +++ b/src/examples/InstancedSprites/index.html @@ -0,0 +1,89 @@ + + + + + + + Textured Quad Example + + + +
        fps:
        +
        + +
        + + + + \ No newline at end of file diff --git a/src/examples/InstancedSprites/instanced_sprites.ts b/src/examples/InstancedSprites/instanced_sprites.ts new file mode 100644 index 0000000..745bf42 --- /dev/null +++ b/src/examples/InstancedSprites/instanced_sprites.ts @@ -0,0 +1,212 @@ +/** + * @author Rick Battagline / https://embed.com + */ + +import { + WebGLRenderingContext, WebGLShader, ImageData, WebGLUniformLocation, + WebGLBuffer, GLint, WebGLProgram, WebGLTexture, WebGLVertexArrayObject, +} from '../../WebGL'; + +const VERTEX_SHADER_CODE: string = `#version 300 es +precision mediump float; +layout (location = 0) in vec2 objPosition; +layout (location = 1) in vec2 position; +layout (location = 2) in vec2 tex_coord; + +out vec2 tc; + +void main() { + gl_Position = vec4(position+objPosition, 0.0, 1.0); + tc = tex_coord; +} +`; + +const FRAGMENT_SHADER_CODE: string = `#version 300 es +precision mediump float; +in vec2 tc; + +uniform sampler2D sampler; + +out vec4 color; + +void main() { + color = texture( sampler, tc ); +} +`; + +// initialize webgl +const asteroidCount: i32 = 100000; + +var gl: WebGLRenderingContext = new WebGLRenderingContext('cnvs', 'webgl2'); + +var image_id: ImageData = gl.createImage('kaijunicorn.png'); +var image_ready: bool = false; + +let vertex_shader: WebGLShader = gl.createShader(gl.VERTEX_SHADER); +gl.shaderSource(vertex_shader, VERTEX_SHADER_CODE); +gl.compileShader(vertex_shader); + +let fragment_shader: WebGLShader = gl.createShader(gl.FRAGMENT_SHADER); +gl.shaderSource(fragment_shader, FRAGMENT_SHADER_CODE); +gl.compileShader(fragment_shader); + +let program: WebGLProgram = gl.createProgram(); + +gl.attachShader(program, vertex_shader); +gl.attachShader(program, fragment_shader); + +gl.linkProgram(program); + +gl.useProgram(program); + +let buffer: WebGLBuffer = gl.createBuffer(); +gl.bindBuffer(gl.ARRAY_BUFFER, buffer); + +let position_al: GLint = gl.getAttribLocation(program, 'position'); +let obj_position_al: GLint = gl.getAttribLocation(program, 'objPosition'); +let tex_coord_al: GLint = gl.getAttribLocation(program, 'tex_coord'); + +let quad_data: StaticArray = [ + // x y u v + -0.04, 0.05, 0.0, 1.0, + 0.04, -0.05, 1.0, 0.0, + -0.04, -0.05, 0.0, 0.0, + + -0.04, 0.05, 0.0, 1.0, + 0.04, -0.05, 1.0, 0.0, + 0.04, 0.05, 1.0, 1.0, +]; + +let translation: StaticArray = new StaticArray(asteroidCount * 2); + +class Asteroid { + static COUNT: i32 = 0; + public index: i32 = 0; + public dx: f32; + public dy: f32; + + @inline set x(val: f32) { + translation[this.index << 1] = val; + } + + @inline get x(): f32 { + return translation[this.index << 1]; + } + + set y(val: f32) { + translation[(this.index << 1) + 1] = val; + } + + get y(): f32 { + return translation[(this.index << 1) + 1]; + } + + + constructor() { + this.index = Asteroid.COUNT++; + this.x = Mathf.random() * 2.0 - 1.0; + this.y = Mathf.random() * 2.0 - 1.0; + + this.dx = Mathf.random() / 50.0 - 0.01; + this.dy = Mathf.random() / 50.0 - 0.01; + } + + public Move(): void { + this.x += this.dx; + this.y += this.dy; + + if (this.x > 1.0) { + this.x = -1.0; + } + else if (this.x < -1.0) { + this.x = 1.0; + } + + if (this.y > 1.0) { + this.y = -1.0; + } + else if (this.y < -1.0) { + this.y = 1.0; + } + } + +} + +var asteroidArray: StaticArray = new StaticArray(asteroidCount); + +for (var i: i32 = 0; i < asteroidCount; i++) { + asteroidArray[i] = new Asteroid(); +} + +let texture: WebGLTexture = gl.createTexture(); +let sampler: WebGLUniformLocation = gl.getUniformLocation(program, 'sampler'); + +var quadVAO: WebGLVertexArrayObject; +var quadVBO: WebGLBuffer; +var instanceVBO: WebGLBuffer; + +export function init(): void { + instanceVBO = gl.createBuffer(); + + gl.bindBuffer(gl.ARRAY_BUFFER, instanceVBO); + gl.bufferData(gl.ARRAY_BUFFER, translation, gl.DYNAMIC_DRAW); + + quadVAO = gl.createVertexArray(); + quadVBO = gl.createBuffer(); + + gl.bindVertexArray(quadVAO); + gl.bindBuffer(gl.ARRAY_BUFFER, quadVBO); + gl.bufferData(gl.ARRAY_BUFFER, quad_data, gl.STATIC_DRAW); + + gl.enableVertexAttribArray(position_al); + gl.vertexAttribPointer(position_al, 2, gl.FLOAT, gl.FALSE, 16, 0); + + gl.enableVertexAttribArray(tex_coord_al); + gl.vertexAttribPointer(tex_coord_al, 2, gl.FLOAT, gl.FALSE, 16, 8); + + + gl.bindBuffer(gl.ARRAY_BUFFER, instanceVBO); + + gl.enableVertexAttribArray(obj_position_al); + gl.vertexAttribPointer(obj_position_al, 2, gl.FLOAT, gl.FALSE, 0, 0); + + gl.bindBuffer(gl.ARRAY_BUFFER, 0); + + gl.vertexAttribDivisor(1, 2); +} + +export function displayLoop(): void { + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); + + if (image_ready == false) { + if (gl.imageReady(image_id) == false) { + return; + } + + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1); + gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true); + gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA); + gl.disable(gl.DEPTH_TEST); + gl.enable(gl.BLEND); + + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image_id); + + gl.uniform1i(sampler, 0); + image_ready = true; + } + + for (var i: i32 = 0; i < asteroidCount; i++) { + asteroidArray[i].Move(); + } + + gl.bindBuffer(gl.ARRAY_BUFFER, instanceVBO); + gl.bufferData(gl.ARRAY_BUFFER, translation, gl.DYNAMIC_DRAW); + + gl.bindVertexArray(quadVAO); + gl.drawArraysInstanced(gl.TRIANGLES, 0, 6, asteroidCount); +} \ No newline at end of file diff --git a/src/examples/InstancedSprites/kaijunicorn.png b/src/examples/InstancedSprites/kaijunicorn.png new file mode 100644 index 0000000000000000000000000000000000000000..c117d8348368ffa75cc2e4f6b8f8795f2565d3c4 GIT binary patch literal 2388 zcmb_e3rrJd9KV)P6u=-QKb?A2t=rKi=+>63yH%TOpHKzSYBi~HyqGN zTDfvjF9%EqU2yRswQgZ3Odw#WkK|EYfdyO&0%ILTj;vY&@5X%M~&qh}jjujiG=%7cCT5@(fzY2wb^`VzMg$&BTB= zJYn=Oq{w-SInFtpsDfe2uo8F;Cof{%H0Kp&JSD)GNRiRYm6#GkaPY^AaSeef2{n#@ z++o-t)WXrMt@6LnR07ix>eOeTpk!!LBwq=pDZ<8iTqJOqb&+-k<=u8U910_0wH2}2R1~7dDWzJcwWTRFwqbb_N0kRkU|608@)}0Vs4-lNFe)q! zvC<$!X`~uMv}smKqtmF>G))i7&-buk3zE(^))Uy6f!ZN*Spj6Va%k%mG4BtJoGctH z7lNb$+dwa;0{LeEgTZO`IT3h04+iDE4hATFNnH%W1kNUUNe^SNgJ`|7?$8&J7s!g2 zQ^!;ql}>}}5Q@}Lh)M~PmljAK1^P`IM$r_d2FZI7bx@}mfq{-RSkiAoeMmRuAl-Hb z^i)*-=FYrcCBDR&r#IdI=L{NXrGpiQ{=4{sYfrUZkjUT^=;eW7=nw%fp<{?~gE)D> zAu}#=mj;5QbIm40vE$~idkvm8cyxAoeQ#A`@9G_QWXr`K*RlGOx1~vSF%g(@{Pxjb zKHT(9eQWgJ(-RYlqrTPc{;^Ah5=-3ScNg*yHq{^77yrezLz+xq*Zz+7b3fNimB`|6 zBh|O0u5?acqwSuTvp%^pW7867YkPD8c6qO);On+O*2T5szi+6nFb8^W%b zrg!%=9m_jug!Z&|G;TTApvxRU*z0KD>LNe-^IsFTHDsT3M1mAU%Iw(I#ELIlU8|ByGC- zY4e&D)t`8irb+UucSpbv7IxU8nik}HtHLJz@QV!EUMf!XUo91r{X0t^O@{O*x1Nf7 zGPZl|{+vTA&gYM6Ig&GSiDUkmdyNy<9p2gbUEJZ?)C*Z9YuKW!jOt7oI_r?I`bKWE zV*Fb@aAX`*<$E+oS2()Y@CfSatt>O-eVCErzw~=eHLvyaf7MIomh2LzXls@kA18!4 z>d>>{w(yzKrpTV1-=E-%pd;A*s-#=@!B@+^g - WebGL Test + WebGL Line Drawing Example diff --git a/src/examples/MousePoint/index.html b/src/examples/MousePoint/index.html index 5aaf72b..f4e6c13 100644 --- a/src/examples/MousePoint/index.html +++ b/src/examples/MousePoint/index.html @@ -4,7 +4,7 @@ - Document + Mouse Point Example diff --git a/src/examples/NormalModel/index.html b/src/examples/NormalModel/index.html index 99f4b8b..ce203f3 100644 --- a/src/examples/NormalModel/index.html +++ b/src/examples/NormalModel/index.html @@ -4,7 +4,7 @@ - Wavefront Object converted to AssemblyScript + Normal Mapped Wavefront Object converted to AssemblyScript diff --git a/src/examples/Quad/index.html b/src/examples/Quad/index.html index 05da000..cbeba36 100644 --- a/src/examples/Quad/index.html +++ b/src/examples/Quad/index.html @@ -4,7 +4,7 @@ - Document + Quad Drawing Example diff --git a/src/examples/QuadFollowMouse/index.html b/src/examples/QuadFollowMouse/index.html index fab998b..23844b5 100644 --- a/src/examples/QuadFollowMouse/index.html +++ b/src/examples/QuadFollowMouse/index.html @@ -4,7 +4,7 @@ - Document + Quad Following The Mouse Example diff --git a/src/examples/SimpleLighting/index.html b/src/examples/SimpleLighting/index.html index 7a3dc26..89744a1 100644 --- a/src/examples/SimpleLighting/index.html +++ b/src/examples/SimpleLighting/index.html @@ -4,7 +4,7 @@ - Document + Simple Lighting Model Example diff --git a/src/examples/SpriteLighting/index.html b/src/examples/SpriteLighting/index.html index 34f0115..f8cd09e 100644 --- a/src/examples/SpriteLighting/index.html +++ b/src/examples/SpriteLighting/index.html @@ -4,7 +4,7 @@ - Sprite Lighting + Sprite Lighting Example diff --git a/src/examples/TextureModel/index.html b/src/examples/TextureModel/index.html index 5320eaa..b36926d 100644 --- a/src/examples/TextureModel/index.html +++ b/src/examples/TextureModel/index.html @@ -4,7 +4,7 @@ - Wavefront Object converted to AssemblyScript + Textured Wavefront Object converted to AssemblyScript diff --git a/src/examples/TextureQuad/index.html b/src/examples/TextureQuad/index.html index bc5122e..cdab61c 100644 --- a/src/examples/TextureQuad/index.html +++ b/src/examples/TextureQuad/index.html @@ -4,7 +4,7 @@ - Document + Textured Quad Example diff --git a/src/examples/WarpSpeed/index.html b/src/examples/WarpSpeed/index.html index 092a587..ebdb377 100644 --- a/src/examples/WarpSpeed/index.html +++ b/src/examples/WarpSpeed/index.html @@ -4,7 +4,7 @@ - WebGL/AssemblyScript - Simple Lighting + Starfield Point Rendering Demo diff --git a/src/webgl.ts b/src/webgl.ts index 5e6d287..5bea4eb 100644 --- a/src/webgl.ts +++ b/src/webgl.ts @@ -42,7 +42,7 @@ export declare function imageReady(image_id: ImageData): bool; // === WebGLContextAttributes === export const ALPHA_DEFAULT = true; -export const FALSE: i32 = false; +export const FALSE: GLboolean = false; //export declare function activateTexture(gl: WebGLContextAttributes, texture: WebGLTexture): void; @@ -670,43 +670,43 @@ export declare function texSubImage2D(gl: WebGLRenderingContextId, target: GLenu format: GLenum, typ: GLenum, pixels: ImageData): void; export declare function uniform1f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat): void; -export declare function uniform1fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; +export declare function uniform1fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; export declare function uniform1i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint): void; -export declare function uniform1iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; +export declare function uniform1iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; export declare function uniform2f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void; -export declare function uniform2fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; +export declare function uniform2fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; export declare function uniform2i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint, y: GLint): void; -export declare function uniform2iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void; +export declare function uniform2iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray /*Int32Array*/): void; export declare function uniform3f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void; -export declare function uniform3fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; +export declare function uniform3fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Float32Array*/): void; export declare function uniform3i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void; -export declare function uniform3iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; +export declare function uniform3iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*Int32Array*/): void; export declare function uniform4f(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; -export declare function uniform4fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void; +export declare function uniform4fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*JSFloat32Array*/): void; export declare function uniform4i(gl: WebGLRenderingContextId, location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint): void; -export declare function uniform4iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void; +export declare function uniform4iv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, v: StaticArray/*JSInt32Array*/): void; export declare function uniformMatrix2fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, - value: Float32Array): void; + value: StaticArray): void; /* export declare function uniformMatrix2fv( gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, value: sequence): void; */ export declare function uniformMatrix3fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, - value: Float32Array): void; + value: StaticArray): void; /* export declare function uniformMatrix3fv( gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, value: sequence): void; */ export declare function uniformMatrix4fv(gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, - value: Float32Array): void; + value: StaticArray): void; /* export declare function uniformMatrix4fv( gl: WebGLRenderingContextId, location: WebGLUniformLocation, transpose: GLboolean, value: sequence): void; @@ -715,16 +715,16 @@ export declare function useProgram(gl: WebGLRenderingContextId, program: WebGLPr export declare function validateProgram(gl: WebGLRenderingContextId, program: WebGLProgram): void; export declare function vertexAttrib1f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat): void; -export declare function vertexAttrib1fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib1fv(gl: WebGLRenderingContextId, indx: GLuint, values: StaticArray): void; export declare function vertexAttrib2f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat, y: GLfloat): void; -export declare function vertexAttrib2fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib2fv(gl: WebGLRenderingContextId, indx: GLuint, values: StaticArray): void; export declare function vertexAttrib3f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; -export declare function vertexAttrib3fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib3fv(gl: WebGLRenderingContextId, indx: GLuint, values: StaticArray): void; export declare function vertexAttrib4f(gl: WebGLRenderingContextId, indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; -export declare function vertexAttrib4fv(gl: WebGLRenderingContextId, indx: GLuint, values: Float32Array): void; +export declare function vertexAttrib4fv(gl: WebGLRenderingContextId, indx: GLuint, values: StaticArray): void; export declare function vertexAttribPointer(gl: WebGLRenderingContextId, indx: GLint, size: GLint, typ: GLenum, normalized: /*GLboolean*/GLint, stride: GLsizei, offset: GLintptr): void; @@ -919,7 +919,7 @@ export class WebGLRenderingContext { return ALPHA_DEFAULT; } - @inline get FALSE(): bool { + @inline get FALSE(): GLboolean { return FALSE; } @@ -2549,50 +2549,50 @@ export class WebGLRenderingContext { @inline uniform1f(location: WebGLUniformLocation, x: GLfloat): void { uniform1f(this.gl_id, location, x); } - @inline uniform1fv(location: WebGLUniformLocation, v: StaticArray): void { - uniform1fv(this.gl_id, location, v); + @inline uniform1fv(location: WebGLUniformLocation, v: StaticArray): void { + uniform1fv(this.gl_id, location, v); } @inline uniform1i(location: WebGLUniformLocation, x: GLint): void { uniform1i(this.gl_id, location, x); } - @inline uniform1iv(location: WebGLUniformLocation, v: StaticArray): void { - uniform1iv(this.gl_id, location, v); + @inline uniform1iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform1iv(this.gl_id, location, v); } @inline uniform2f(location: WebGLUniformLocation, x: GLfloat, y: GLfloat): void { uniform2f(this.gl_id, location, x, y); } - @inline uniform2fv(location: WebGLUniformLocation, v: StaticArray): void { - uniform2fv(this.gl_id, location, v); + @inline uniform2fv(location: WebGLUniformLocation, v: StaticArray): void { + uniform2fv(this.gl_id, location, v); } @inline uniform2i(location: WebGLUniformLocation, x: GLint, y: GLint): void { uniform2i(this.gl_id, location, x, y); } - @inline uniform2iv(location: WebGLUniformLocation, v: StaticArray): void { - uniform2iv(this.gl_id, location, v); + @inline uniform2iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform2iv(this.gl_id, location, v); } @inline uniform3f(location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat): void { uniform3f(this.gl_id, location, x, y, z); } - @inline uniform3fv(location: WebGLUniformLocation, v: StaticArray): void { - uniform3fv(gl, location, v); + @inline uniform3fv(location: WebGLUniformLocation, v: StaticArray): void { + uniform3fv(gl, location, v); } @inline uniform3i(location: WebGLUniformLocation, x: GLint, y: GLint, z: GLint): void { uniform3i(this.gl_id, location, x, y, z); } - @inline uniform3iv(location: WebGLUniformLocation, v: StaticArray): void { - uniform3iv(this.gl_id, location, v); + @inline uniform3iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform3iv(this.gl_id, location, v); } @inline uniform4f(location: WebGLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void { uniform4f(this.gl_id, location, x, y, z, w); } - @inline uniform4fv(location: WebGLUniformLocation, v: StaticArray): void { + @inline uniform4fv(location: WebGLUniformLocation, v: StaticArray): void { uniform4fv(this.gl_id, location, v); } @@ -2600,19 +2600,19 @@ export class WebGLRenderingContext { uniform4i(this.gl_id, location, x, y, z, w); } - @inline uniform4iv(location: WebGLUniformLocation, v: StaticArray): void { - uniform4iv(this.gl_id, location, v); + @inline uniform4iv(location: WebGLUniformLocation, v: StaticArray): void { + uniform4iv(this.gl_id, location, v); } - @inline uniformMatrix2fv(location: WebGLUniformLocation, transpose: GLboolean, value: Float32Array): void { + @inline uniformMatrix2fv(location: WebGLUniformLocation, transpose: GLboolean, value: StaticArray): void { uniformMatrix2fv(this.gl_id, location, transpose, value); } - @inline uniformMatrix3fv(location: WebGLUniformLocation, transpose: GLboolean, value: Float32Array): void { + @inline uniformMatrix3fv(location: WebGLUniformLocation, transpose: GLboolean, value: StaticArray): void { uniformMatrix3fv(this.gl_id, location, transpose, value); } - @inline uniformMatrix4fv(location: WebGLUniformLocation, transpose: GLboolean, value: Float32Array): void { + @inline uniformMatrix4fv(location: WebGLUniformLocation, transpose: GLboolean, value: StaticArray): void { uniformMatrix4fv(this.gl_id, location, transpose, value); } @inline useProgram(program: WebGLProgram): void { @@ -2626,7 +2626,7 @@ export class WebGLRenderingContext { vertexAttrib1f(this.gl_id, indx, x); } - @inline vertexAttrib1fv(indx: GLuint, values: Float32Array): void { + @inline vertexAttrib1fv(indx: GLuint, values: StaticArray): void { vertexAttrib1fv(this.gl_id, indx, values); } @@ -2634,21 +2634,21 @@ export class WebGLRenderingContext { vertexAttrib2f(this.gl_id, indx, x, y); } - @inline vertexAttrib2fv(indx: GLuint, values: Float32Array): void { + @inline vertexAttrib2fv(indx: GLuint, values: StaticArray): void { vertexAttrib2fv(this.gl_id, indx, values); } @inline vertexAttrib3f(indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void { vertexAttrib3f(this.gl_id, indx, x, y, z); } - @inline vertexAttrib3fv(indx: GLuint, values: Float32Array): void { + @inline vertexAttrib3fv(indx: GLuint, values: StaticArray): void { vertexAttrib3fv(this.gl_id, indx, values); } @inline vertexAttrib4f(indx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void { vertexAttrib4f(this.gl_id, indx, x, y, z, w) } - @inline vertexAttrib4fv(indx: GLuint, values: Float32Array): void { + @inline vertexAttrib4fv(indx: GLuint, values: StaticArray): void { vertexAttrib4fv(this.gl_id, indx, values) } diff --git a/tsconfig.json b/tsconfig.json index 3523f01..9fcb101 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,5 +5,8 @@ ], "lib": [ "asc.d.ts" - ] + ], + "compilerOptions": { + "target": "es2020" + } } \ No newline at end of file From 0c240d48309e3b9bf74b139150b06e74d9568992 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Wed, 3 Feb 2021 19:51:37 -0700 Subject: [PATCH 038/111] Updated the InstancedSprites demo to render 500,000 sprites. --- src/ASWebGLue2.js | 477 +++++------------- src/examples/InstancedSprites/Asteroid.png | Bin 2176 -> 0 bytes src/examples/InstancedSprites/README.md | 4 +- src/examples/InstancedSprites/index.html | 13 +- .../InstancedSprites/instanced_sprites.ts | 150 +++--- .../InstancedSprites/kaijunicorn-mini.png | Bin 0 -> 2147 bytes 6 files changed, 209 insertions(+), 435 deletions(-) delete mode 100644 src/examples/InstancedSprites/Asteroid.png create mode 100644 src/examples/InstancedSprites/kaijunicorn-mini.png diff --git a/src/ASWebGLue2.js b/src/ASWebGLue2.js index 69fa6d8..0373392 100644 --- a/src/ASWebGLue2.js +++ b/src/ASWebGLue2.js @@ -209,23 +209,18 @@ export function initASWebGLue(importObject) { } importObject.WebGL.createContextFromCanvas = (canvas_id, context_type) => { - try { - const canvas = document.getElementById(WebGL.getString(canvas_id)); - const gl = canvas.getContext(WebGL.getString(context_type)); - let id = WebGL.contextArray.findIndex((element) => element == null); + const canvas = document.getElementById(WebGL.getString(canvas_id)); + const gl = canvas.getContext(WebGL.getString(context_type)); + let id = WebGL.contextArray.findIndex((element) => element == null); - if (id == -1) { - id = WebGL.contextArray.length; - WebGL.contextArray.push(gl); - } - else { - WebGL.contextArray[id] = gl; - } - return id; - } catch (err) { - console.log("createContextFromCanvas error"); - console.error(err); - } // end catch + if (id == -1) { + id = WebGL.contextArray.length; + WebGL.contextArray.push(gl); + } + else { + WebGL.contextArray[id] = gl; + } + return id; } /* importObject.WebGL.activateTexture = (ctx, texture) => { @@ -238,130 +233,59 @@ export function initASWebGLue(importObject) { } importObject.WebGL.getExtension = (ctx, name_string) => { - try { - WebGL.contextArray[ctx].getExtension(WebGL.getString(name)); - } catch (err) { - console.log("getExtension error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].getExtension(WebGL.getString(name)); } importObject.WebGL.activeTexture = (ctx, texture) => { - try { - WebGL.contextArray[ctx].activeTexture(texture); - } catch (err) { - console.log("activeTexture error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].activeTexture(texture); } importObject.WebGL.attachShader = (ctx, program, shader) => { - try { - WebGL.contextArray[ctx].attachShader(WebGL.programArray[program], WebGL.shaderArray[shader]); - } catch (err) { - console.log("attachShader error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].attachShader(WebGL.programArray[program], WebGL.shaderArray[shader]); } importObject.WebGL.bindAttribLocation = (ctx, program, index, name) => { - try { - WebGL.contextArray[ctx].bindAttribLocation(WebGL.programArray[program], index, WebGL.getString(name)); - } catch (err) { - console.log("bindAttribLocation error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bindAttribLocation(WebGL.programArray[program], index, WebGL.getString(name)); } importObject.WebGL.bindBuffer = (ctx, target, buffer) => { - try { - WebGL.contextArray[ctx].bindBuffer(target, WebGL.bufferArray[buffer]); - } catch (err) { - console.log("bindBuffer error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bindBuffer(target, WebGL.bufferArray[buffer]); } importObject.WebGL.bindFramebuffer = (ctx, target, framebuffer) => { - try { - WebGL.contextArray[ctx].bindFramebuffer(target, WebGL.framebufferArray[framebuffer]); - } catch (err) { - console.log("bindFramebuffer error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bindFramebuffer(target, WebGL.framebufferArray[framebuffer]); } importObject.WebGL.bindRenderbuffer = (ctx, target, renderbuffer) => { - try { - WebGL.contextArray[ctx].bindRenderbuffer(target, WebGL.renderbufferArray[renderbuffer]); - } catch (err) { - console.log("renderbufferArray error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bindRenderbuffer(target, WebGL.renderbufferArray[renderbuffer]); } importObject.WebGL.bindTexture = (ctx, target, texture) => { - try { - WebGL.contextArray[ctx].bindTexture(target, WebGL.textureArray[texture]); - } catch (err) { - console.log("bindTexture error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bindTexture(target, WebGL.textureArray[texture]); } importObject.WebGL.blendColor = (ctx, r, g, b, a) => { - try { - WebGL.contextArray[ctx].blendColor(r, g, b, a); - } catch (err) { - console.log("blendColor error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].blendColor(r, g, b, a); } importObject.WebGL.blendEquation = (ctx, mode) => { - try { - WebGL.contextArray[ctx].blendEquation(mode); - } catch (err) { - console.log("blendEquation error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].blendEquation(mode); } importObject.WebGL.blendEquationSeparate = (ctx, modeRGB, modeAlpha) => { - try { - WebGL.contextArray[ctx].blendEquationSeparate(modeRGB, modeAlpha); - } catch (err) { - console.log("blendEquationSeparate error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].blendEquationSeparate(modeRGB, modeAlpha); } importObject.WebGL.blendFunc = (ctx, sfactor, dfactor) => { - try { - WebGL.contextArray[ctx].blendFunc(sfactor, dfactor); - } catch (err) { - console.log("blendFunc error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].blendFunc(sfactor, dfactor); } importObject.WebGL.blendFuncSeparate = (ctx, srcRGB, dstRGB, srcAlpha, dstAlpha) => { - try { - WebGL.contextArray[ctx].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); - } catch (err) { - console.log("blendFuncSeparate error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); } const bufferdata = (ctx, target, data, usage) => { - try { - WebGL.contextArray[ctx].bufferData(target, WebGL.getArrayView(data), usage); - } catch (err) { - console.log("bufferData error"); - console.log(WebGL.getArrayView(data)); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bufferData(target, WebGL.getArrayView(data), usage); } importObject.WebGL["bufferData"] = bufferdata; @@ -370,150 +294,85 @@ export function initASWebGLue(importObject) { // LAST TWO PARAMETERS ARE IN WEBGL 2.0 importObject.WebGL.bufferSubData = (target, dstByteOffset, srcData, srcOffset, length) => { - try { - WebGL.contextArray[ctx].bufferSubData(target, dstByteOffset, WebGL.getArrayView(srcData), srcOffset, length); - } catch (err) { - console.log("bufferSubData error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bufferSubData(target, dstByteOffset, WebGL.getArrayView(srcData), srcOffset, length); } importObject.WebGL.checkFramebufferStatus = (ctx, target) => { - try { - return WebGL.contextArray[ctx].checkFramebufferStatus(target); - } catch (err) { - console.log("checkFramebufferStatus error"); - console.error(err); - } // end catch + return WebGL.contextArray[ctx].checkFramebufferStatus(target); } // Clears the color, depth and stencil buffers importObject.WebGL.clear = (ctx, mask) => { - try { - WebGL.contextArray[ctx].clear(mask); - } catch (err) { - console.log("clear error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].clear(mask); } // Specify the color fill a cleared color buffer with importObject.WebGL.clearColor = (ctx, r, g, b, a) => { - try { - WebGL.contextArray[ctx].clearColor(r, g, b, a); - } catch (err) { - console.log("clearColor error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].clearColor(r, g, b, a); } // Specifies a depth value to fill the depth buffer when it is cleared importObject.WebGL.clearDepth = (ctx, depth) => { - try { - WebGL.contextArray[ctx].clearDepth(depth); - } catch (err) { - console.log("clearDepth error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].clearDepth(depth); } // Specifies a clear value for the stencil buffer importObject.WebGL.clearStencil = (ctx, s) => { - try { - WebGL.contextArray[ctx].clearStencil(s); - } catch (err) { - console.log("clearStencil error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].clearStencil(s); } // Allows you to turn on and off colors when writing to a framebuffer importObject.WebGL.colorMask = (ctx, r, g, b, a) => { - try { - WebGL.contextArray[ctx].colorMask(r, g, b, a); - } catch (err) { - console.log("colorMask error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].colorMask(r, g, b, a); } // Compiles a GLSL shader to be used by a WebGL program. importObject.WebGL.compileShader = (ctx, shader) => { - try { - WebGL.contextArray[ctx].compileShader(WebGL.shaderArray[shader]); - var compilationLog = WebGL.contextArray[ctx].getShaderInfoLog(WebGL.shaderArray[shader]); - console.log(compilationLog); - } catch (err) { - console.log("compileShader error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].compileShader(WebGL.shaderArray[shader]); + var compilationLog = WebGL.contextArray[ctx].getShaderInfoLog(WebGL.shaderArray[shader]); + console.log(compilationLog); } // NOTE: Requires extensions // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions // Secifies a 2D texture image in a compressed format importObject.WebGL.compressedTexImage2D = (ctx, target, level, internalformat, width, height, border, data) => { - try { - // THIS DOES NOT LOOK RIGHT TO ME - WebGL.contextArray[ctx].compileShader(target, level, internalformat, - width, height, border, WebGL.getArrayView(data)); - } catch (err) { - console.log("compressedTexImage2D error"); - console.error(err); - } // end catch + // THIS DOES NOT LOOK RIGHT TO ME + WebGL.contextArray[ctx].compileShader(target, level, internalformat, + width, height, border, WebGL.getArrayView(data)); } // NOTE: Requires extensions // see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Using_Extensions // Specifies a 2D sub-image rectangle for a compressed format texture image. importObject.WebGL.compressedTexSubImage2D = (ctx, target, level, xoffset, yoffset, width, height, format, data) => { - try { - WebGL.contextArray[ctx].compressedTexSubImage2D(target, xoffset, yoffset, width, height, format, - WebGL.getArrayView(data)); - } catch (err) { - console.log("compressedTexSubImage2D error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].compressedTexSubImage2D(target, xoffset, yoffset, width, height, format, + WebGL.getArrayView(data)); } // Copies pixels from the current WebGLFramebuffer into a 2D texture image importObject.WebGL.copyTexImage2D = (ctx, target, level, internalformat, x, y, width, height, border) => { - try { - WebGL.contextArray[ctx].copyTexImage2D(target, level, internalformat, x, y, width, height, border); - } catch (err) { - console.log("copyTexImage2D error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].copyTexImage2D(target, level, internalformat, x, y, width, height, border); } // Copies pixels from the current WebGLFramebuffer into an existing 2D texture sub-image importObject.WebGL.copyTexSubImage2D = (ctx, target, level, xoffset, yoffset, x, y, width, height) => { - try { - WebGL.contextArray[ctx].copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); - } catch (err) { - console.log("copyTexSubImage2D error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } // Creates a buffer to hold vertex related data importObject.WebGL.createBuffer = (ctx) => { - try { - let id = WebGL.bufferArray.findIndex((element) => element == null); - let buffer = WebGL.contextArray[ctx].createBuffer(); + let id = WebGL.bufferArray.findIndex((element) => element == null); + let buffer = WebGL.contextArray[ctx].createBuffer(); - if (id == -1) { - id = WebGL.bufferArray.length; - WebGL.bufferArray.push(buffer); - } - else { - WebGL.bufferArray[id] = buffer; - } - return id; - } catch (err) { - console.log("createBuffer error"); - console.error(err); - } // end catch + if (id == -1) { + id = WebGL.bufferArray.length; + WebGL.bufferArray.push(buffer); + } + else { + WebGL.bufferArray[id] = buffer; + } + return id; } // Creates a frame buffer object to be used as a rendering destination @@ -523,22 +382,17 @@ export function initASWebGLue(importObject) { // Creates a WebGL program that consists of a vertex and fragment shader importObject.WebGL.createProgram = (ctx) => { - try { - let id = WebGL.programArray.findIndex((element) => element == null); - let program = WebGL.contextArray[ctx].createProgram(); + let id = WebGL.programArray.findIndex((element) => element == null); + let program = WebGL.contextArray[ctx].createProgram(); - if (id == -1) { - id = WebGL.programArray.length; - WebGL.programArray.push(program); - } - else { - WebGL.programArray[id] = program; - } - return id; - } catch (err) { - console.log("createProgram error"); - console.error(err); - } // end catch + if (id == -1) { + id = WebGL.programArray.length; + WebGL.programArray.push(program); + } + else { + WebGL.programArray[id] = program; + } + return id; } // Creates a render buffer object that can be used as a source or target for rendering @@ -563,43 +417,32 @@ export function initASWebGLue(importObject) { // Creates a vertex or fragment shader object to be used when compiling a WebGL program importObject.WebGL.createShader = (ctx, type) => { - try { - let id = WebGL.shaderArray.findIndex((element) => element == null); - let shader = WebGL.contextArray[ctx].createShader(type); + let id = WebGL.shaderArray.findIndex((element) => element == null); + let shader = WebGL.contextArray[ctx].createShader(type); - if (id == -1) { - id = WebGL.shaderArray.length; - WebGL.shaderArray.push(shader); - } - else { - WebGL.shaderArray[id] = shader; - } - return id; - } catch (err) { - console.log("createShader error"); - console.error(err); - } // end catch + if (id == -1) { + id = WebGL.shaderArray.length; + WebGL.shaderArray.push(shader); + } + else { + WebGL.shaderArray[id] = shader; + } + return id; } // Creates a texture object importObject.WebGL.createTexture = (ctx) => { - try { - let id = WebGL.textureArray.findIndex((element) => element == null); - let texture = WebGL.contextArray[ctx].createTexture(); + let id = WebGL.textureArray.findIndex((element) => element == null); + let texture = WebGL.contextArray[ctx].createTexture(); - if (id == -1) { - id = WebGL.textureArray.length; - WebGL.textureArray.push(texture); - } - else { - WebGL.textureArray[id] = texture; - } - console.log('createTexture id=' + id); - return id; - } catch (err) { - console.log("createTexture error"); - console.error(err); - } // end catch + if (id == -1) { + id = WebGL.textureArray.length; + WebGL.textureArray.push(texture); + } + else { + WebGL.textureArray[id] = texture; + } + return id; } // Sets the culling mode @@ -771,12 +614,7 @@ export function initASWebGLue(importObject) { } importObject.WebGL.enableVertexAttribArray = (ctx, index) => { - try { - WebGL.contextArray[ctx].enableVertexAttribArray(index); - } catch (err) { - console.log("enableVertexAttribArray error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].enableVertexAttribArray(index); } // waits for all previously executed WebGL api calls to finish @@ -861,12 +699,7 @@ export function initASWebGLue(importObject) { // get an attribute location inside a program given a name importObject.WebGL.getAttribLocation = (ctx, program, name) => { - try { - return WebGL.contextArray[ctx].getAttribLocation(WebGL.programArray[program], WebGL.getString(name)); - } catch (err) { - console.log("getAttribLocation error"); - console.error(err); - } // end catch + return WebGL.contextArray[ctx].getAttribLocation(WebGL.programArray[program], WebGL.getString(name)); } // returns an int given a buffer parameter name @@ -955,23 +788,18 @@ export function initASWebGLue(importObject) { } importObject.WebGL.getUniformLocation = (ctx, program, name) => { - try { - let id = WebGL.uniformLocationArray.findIndex((element) => element == null); - let uniformLocation = WebGL.contextArray[ctx].getUniformLocation(WebGL.programArray[program], WebGL.getString(name)); + let id = WebGL.uniformLocationArray.findIndex((element) => element == null); + let uniformLocation = WebGL.contextArray[ctx].getUniformLocation(WebGL.programArray[program], WebGL.getString(name)); - if (id == -1) { - id = WebGL.uniformLocationArray.length; - WebGL.uniformLocationArray.push(uniformLocation); - } - else { - WebGL.uniformLocationArray[id] = uniformLocation; - } + if (id == -1) { + id = WebGL.uniformLocationArray.length; + WebGL.uniformLocationArray.push(uniformLocation); + } + else { + WebGL.uniformLocationArray[id] = uniformLocation; + } - return id; - } catch (err) { - console.log("getUniformLocation error"); - console.error(err); - } // end catch + return id; } importObject.WebGL.getVertexAttrib = (ctx, index, pname) => { @@ -1077,27 +905,17 @@ export function initASWebGLue(importObject) { } importObject.WebGL.linkProgram = (ctx, program) => { - try { - WebGL.contextArray[ctx].linkProgram(WebGL.programArray[program]); + WebGL.contextArray[ctx].linkProgram(WebGL.programArray[program]); - if (!WebGL.contextArray[ctx].getProgramParameter(WebGL.programArray[program], - WebGL.contextArray[ctx].LINK_STATUS)) { - console.log(WebGL.contextArray[ctx].getProgramInfoLog(WebGL.programArray[program])); - } - } catch (err) { - console.log("linkProgram error"); - console.error(err); - } // end catch + if (!WebGL.contextArray[ctx].getProgramParameter(WebGL.programArray[program], + WebGL.contextArray[ctx].LINK_STATUS)) { + console.log(WebGL.contextArray[ctx].getProgramInfoLog(WebGL.programArray[program])); + } } // set pixel storage mode importObject.WebGL.pixelStorei = (ctx, pname, param) => { - try { - WebGL.contextArray[ctx].pixelStorei(pname, param); - } catch (err) { - console.log("pixelStorei error"); - console.log(err); - } // end catch + WebGL.contextArray[ctx].pixelStorei(pname, param); } // ??? @@ -1146,12 +964,7 @@ export function initASWebGLue(importObject) { } importObject.WebGL.shaderSource = (ctx, shader, source) => { - try { - WebGL.contextArray[ctx].shaderSource(WebGL.shaderArray[shader], WebGL.getString(source)); - } catch (err) { - console.log("shaderSource error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].shaderSource(WebGL.shaderArray[shader], WebGL.getString(source)); } // sets a function for allowing pixels to pass through a stencil. STENCIL_TEST must be set. @@ -1206,17 +1019,8 @@ export function initASWebGLue(importObject) { // specify a two-dimensional texture image importObject.WebGL.texImage2D = (ctx, target, level, internalformat, format, typ, image_id) => { - try { - console.log(` - image_id=${image_id} - WebGL.imageArray.length=${WebGL.imageArray.length} - `); - WebGL.contextArray[ctx].texImage2D(target, level, internalformat, - format, typ, WebGL.imageArray[image_id]);//WebGL.getArrayView(pixels)); - } catch (err) { - console.log("texImage2D error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].texImage2D(target, level, internalformat, + format, typ, WebGL.imageArray[image_id]);//WebGL.getArrayView(pixels)); } importObject.WebGL.texParameterf = (ctx, target, pname, param) => { @@ -1229,12 +1033,7 @@ export function initASWebGLue(importObject) { } importObject.WebGL.texParameteri = (ctx, target, pname, param) => { - try { - WebGL.contextArray[ctx].texParameteri(target, pname, param); - } catch (err) { - console.log("texParameteri error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].texParameteri(target, pname, param); } importObject.WebGL.texSubImage2D = (ctx, target, level, xoffset, yoffset, @@ -1268,12 +1067,7 @@ export function initASWebGLue(importObject) { } importObject.WebGL.uniform1i = (ctx, location, x) => { - try { - return WebGL.contextArray[ctx].uniform1i(WebGL.uniformLocationArray[location], x); - } catch (err) { - console.log("uniform1i error"); - console.error(err); - } // end catch + return WebGL.contextArray[ctx].uniform1i(WebGL.uniformLocationArray[location], x); } importObject.WebGL.uniform1iv = (ctx, location, v) => { @@ -1440,12 +1234,7 @@ export function initASWebGLue(importObject) { } importObject.WebGL.useProgram = (ctx, program) => { - try { - WebGL.contextArray[ctx].useProgram(WebGL.programArray[program]); - } catch (err) { - console.log("useProgram error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].useProgram(WebGL.programArray[program]); } importObject.WebGL.validateProgram = (ctx, program) => { @@ -1530,12 +1319,7 @@ export function initASWebGLue(importObject) { } importObject.WebGL.vertexAttribPointer = (ctx, indx, size, typ, normalized, stride, offset) => { - try { - WebGL.contextArray[ctx].vertexAttribPointer(indx, size, typ, normalized, stride, offset); - } catch (err) { - console.log("vertexAttrib4fv error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].vertexAttribPointer(indx, size, typ, normalized, stride, offset); } importObject.WebGL.viewport = (ctx, indx, x, y, width, height) => { @@ -1751,22 +1535,12 @@ export function initASWebGLue(importObject) { // expiramental WebGL2 importObject.WebGL.vertexAttribDivisor = (ctx, index, divisor) => { - try { - return WebGL.contextArray[ctx].vertexAttribDivisor(ctx, index, divisor); - } catch (err) { - console.trace("vertexAttribDivisor error"); - console.error(err); - } // end catch + return WebGL.contextArray[ctx].vertexAttribDivisor(ctx, index, divisor); } // expiramental WebGL2 importObject.WebGL.drawArraysInstanced = (ctx, mode, first, count, instanceCount) => { - try { - return WebGL.contextArray[ctx].drawArraysInstanced(mode, first, count, instanceCount); - } catch (err) { - console.log("drawArraysInstanced error"); - console.error(err); - } // end catch + return WebGL.contextArray[ctx].drawArraysInstanced(mode, first, count, instanceCount); } // expiramental WebGL2 @@ -2052,23 +1826,17 @@ export function initASWebGLue(importObject) { // expiramental WebGL2 importObject.WebGL.createVertexArray = (ctx) => { - try { - let id = WebGL.vaoArray.findIndex((element) => element == null); - let vao = WebGL.contextArray[ctx].createVertexArray(); - - if (id == -1) { - id = WebGL.vaoArray.length; - WebGL.vaoArray.push(vao); - } - else { - WebGL.vaoArray[id] = vao; - } - return id; - } catch (err) { - console.log("renderBufferArray error"); - console.error(err); - } // end catch + let id = WebGL.vaoArray.findIndex((element) => element == null); + let vao = WebGL.contextArray[ctx].createVertexArray(); + if (id == -1) { + id = WebGL.vaoArray.length; + WebGL.vaoArray.push(vao); + } + else { + WebGL.vaoArray[id] = vao; + } + return id; } // expiramental WebGL2 @@ -2085,12 +1853,7 @@ export function initASWebGLue(importObject) { // expiramental WebGL2 importObject.WebGL.bindVertexArray = (ctx, vaoId) => { - try { - WebGL.contextArray[ctx].bindVertexArray(WebGL.vaoArray[vaoId]); - } catch (err) { - console.log("uniform2i error"); - console.error(err); - } // end catch + WebGL.contextArray[ctx].bindVertexArray(WebGL.vaoArray[vaoId]); } } diff --git a/src/examples/InstancedSprites/Asteroid.png b/src/examples/InstancedSprites/Asteroid.png deleted file mode 100644 index 43ac846d4568d39b62ec5f328c8544f2bcd1a511..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2176 zcmcImdr%a09RD4lqM(E3gUoVSbn?-%yZ3@y@8Wf!C`TufNDp;y_jlY1ce~y$+`(j? zd8IR=!G8OvQc+$K^C>{?pF|%S)_`ZFH_5lF&&6;4%Mb8vIrpdK=qnf0D2q| z@}?=%Y}pJax)WGlbif3^TS906%*lR<<%*z!IbfmSvEWx5n{Z6vEqK1cM%kov=n^KB zd*PJwoII|)h%@nc^7EM4&maOfR9MXKF80Wb--37YGH9;8CULA2q7+&1RMj9h&1T2a zMK8n*2}XjW^+{NwDSJASn$G;H81aEa;=#`TWDp$ zU5X+xBk4=tWf5>f}{wd2U8hYhghOm zaHO=$1-BHU^~k|6p@5NoRwC&HN_D9lXtO;U>UM|FvXW7XtOWJ`E3uqcCP6Y6%3_I^ zgBhjJqr`U`BphbwO>Y z4tQ2!9}g_@g0t*#pf($m<&hQE!@(@81xKP11c7IumWC|k9fVV_V+krrpG2^<(@1D} zXOcq?4GyP)>(qtLTScx!4WD|xt896ZLmZ(9F%BJTOoR@e;7pJwOe|tcf;t01>k@UG z(dg7emhEPH!7HFIhb?}PRaM0!MvBwZ6wm7jtxj(sv<^K>uzF5U@Q_b5IBDqAs;YR7 zaf)6yi|RyhvxSh9JcT&+x0-aZSoGRN9>rXzRx@HpUQ7^Vl)AFu_b~;|4$g`Nth4AC zmQ!opf^%w;A&&=N3;zvKUw`iSIr!DP{?_*gGYEku$2&*CBAfdsT|GWWbLmb$!Sv&&SC36iPhDHnk_|FHYZz5UNxs6#zcp6rO8xwtZ}N^>xFQQLOS zOOdm{#CENJtT}9b$6&kl?j3@+@D`;YJq*Hl)}5h+WrUq5uJW8;XX zdjiYj#^-Ub#~7b;_i5Q#0NL*dm2iPZ(G|dEbwRY zH^(*(sju7sTH*v#&aT&Vmj*b!a0U{RR8ain)iYxK-g^6ZM{TyRrsvXPY$6^QU4d>ooa+I*VA>_TtzK%gx9u6Mq{$3C?|{dE5clsUsg+ z(%-&JO!@r1OG7v9J#mZJ_vI>ajrEH8GDs_}NWImsX-3_y>T`|X%{j9DJbBtY=gyh) b`NG^&8{_fXlNax({|H$bIo2I%GvD|Nqr3a2 diff --git a/src/examples/InstancedSprites/README.md b/src/examples/InstancedSprites/README.md index 691d179..52b0635 100644 --- a/src/examples/InstancedSprites/README.md +++ b/src/examples/InstancedSprites/README.md @@ -1,3 +1,5 @@ # Instanced Sprites -# This thing is not working. \ No newline at end of file +# Instanced Sprites + +This demo uses instanced rendering to render 500,000 sprites at once. \ No newline at end of file diff --git a/src/examples/InstancedSprites/index.html b/src/examples/InstancedSprites/index.html index 3544136..d1cf75b 100644 --- a/src/examples/InstancedSprites/index.html +++ b/src/examples/InstancedSprites/index.html @@ -10,7 +10,7 @@
        fps:
        - +
        - +Yeah! diff --git a/glue/index.js b/glue/index.js index e231732..690265f 100644 --- a/glue/index.js +++ b/glue/index.js @@ -233,14 +233,14 @@ export class Asdom { return this.__newString(el.getAttribute(this.__getString(attr))) }, // element.innerHTML - elSetInnerHTML: (id, value) => { - /** @type {Element} */ + setInnerHTML: (id, value) => { + /** @type {Element | ShadowRoot} */ const el = this.__refs.get(id) el.innerHTML = this.__getString(value) }, // element.innerHTML - elGetInnerHTML: id => { - /** @type {Element} */ + getInnerHTML: id => { + /** @type {Element | ShadowRoot} */ const el = this.__refs.get(id) return this.__newString(el.innerHTML) }, @@ -257,13 +257,13 @@ export class Asdom { return this.__newString(el.innerText) }, getChildren: (id, listId) => { - /** @type {Element} */ + /** @type {Element | Document | DocumentFragment} */ const obj = this.__refs.get(id) const list = obj.children if (!this.__refs.keyFrom(list)) this.__refs.set(listId, list) }, getFirstElementChild: id => { - /** @type {Element} */ + /** @type {Element | Document | DocumentFragment} */ const node = this.__refs.get(id) const result = node.firstElementChild @@ -272,7 +272,7 @@ export class Asdom { return this.getKeyOrObjectType(result) }, getLastElementChild: id => { - /** @type {Element} */ + /** @type {Element | Document | DocumentFragment} */ const node = this.__refs.get(id) const result = node.lastElementChild @@ -317,17 +317,30 @@ export class Asdom { el.remove() }, querySelector: (id, selectors) => { - /** @type {Document | Element | DocumentFragment | ShadowRoot} */ + /** @type {Element | Document | DocumentFragment} */ const node = this.__refs.get(id) const result = node.querySelector(this.__getString(selectors)) return this.getKeyOrObjectType(result) }, querySelectorAll: (id, selectors) => { - /** @type {Document | Element | DocumentFragment | ShadowRoot} */ + /** @type {Element | Document | DocumentFragment} */ const node = this.__refs.get(id) const result = node.querySelectorAll(this.__getString(selectors)) return this.getKeyOrObjectType(result, 202) }, + getShadowRoot: id => { + /** @type {Element} */ + const el = this.__refs.get(id) + const root = el.shadowRoot + if (!root) return 0 // null + return this.__refs.keyFrom(root) + }, + attachShadow: (id, rootId, mode) => { + /** @type {Element} */ + const el = this.__refs.get(id) + const root = el.attachShadow({mode: this.__getString(mode)}) + this.__refs.set(rootId, root) + }, }, asDOM_Node: { // node.appendChild() diff --git a/supported-APIs.md b/supported-APIs.md index 3b1496c..7e6f640 100644 --- a/supported-APIs.md +++ b/supported-APIs.md @@ -47,6 +47,14 @@ yet (or someone forgot to update this outline). - `cloneNode()` - Subclasses: - `DocumentFragment` + - `children` + - `firstElementChild` + - `lastElementChild` + - `querySelector()` + - `querySelectorAll()` + - Subclasses: + - `ShadowRoot` + - `innerHTML` - `CharacterData` - Subclasses: - `Text` @@ -55,6 +63,9 @@ yet (or someone forgot to update this outline). - `body` - `createElement()` - `createTextNode()` + - `children` + - `firstElementChild` + - `lastElementChild` - `querySelector()` - `querySelectorAll()` - `Element` @@ -72,6 +83,8 @@ yet (or someone forgot to update this outline). - `remove()` - `querySelector()` - `querySelectorAll()` + - `shadowRoot` + - `attachShadow()` - Subclasses: - `HTMLElement` (`
        ` and various other elements extend from this) - Subclasses: From ca53f6d88f91bc185adccff3b894a57af11aeba5 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 17 Jul 2021 01:22:27 -0700 Subject: [PATCH 077/111] v0.1.14 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index faf21ec..aa42e3c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "asdom", - "version": "0.1.13", + "version": "0.1.14", "type": "module", "homepage": "https://lume.io", "repository": { From 9a19d2c16be81e44a20125c6ca1f6c05297b9f19 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 17 Jul 2021 15:10:25 -0700 Subject: [PATCH 078/111] demo another custom element example, make the example layout a little better --- example/assembly/HelloFrom.ts | 82 +++++++++++++++++++++ example/assembly/SecondsCounter.ts | 7 +- example/assembly/index.ts | 111 +++++++++++++++-------------- 3 files changed, 144 insertions(+), 56 deletions(-) create mode 100644 example/assembly/HelloFrom.ts diff --git a/example/assembly/HelloFrom.ts b/example/assembly/HelloFrom.ts new file mode 100644 index 0000000..5b95504 --- /dev/null +++ b/example/assembly/HelloFrom.ts @@ -0,0 +1,82 @@ +// Export AssemblyScript-side glue code or not everything will work (for example the customElements API). + +import {customElements, Element, HTMLElement} from '../node_modules/asdom/assembly/index' + +// Define a class for our custom element. +export class HelloFrom extends HTMLElement { + static observedAttributes: string[] = ['place', 'avatar'] + + private static readonly __placeDefault: string = 'AssemblyScript' + private __place: string = HelloFrom.__placeDefault + private __placeRef: Element | null = null + + get place(): string { + return this.__place + } + + set place(value: string) { + this.__place = value + if (this.__placeRef) this.__placeRef!.innerText = value + } + + private static readonly __avatarDefault: string = 'https://www.assemblyscript.org/images/icon.svg' + private __avatar: string = HelloFrom.__avatarDefault + private __avatarRef: Element | null = null + + get avatar(): string { + return this.__avatar + } + + set avatar(value: string) { + this.__avatar = value + if (this.__avatarRef) this.__avatarRef!.setAttribute('src', value) + } + + attributeChangedCallback(attr: string, oldVal: string | null, newVal: string | null): void { + if (attr == 'place') { + if (!newVal) this.place = HelloFrom.__placeDefault + else this.place = newVal! + } else if (attr == 'avatar') { + if (!newVal) this.avatar = HelloFrom.__avatarDefault + else this.avatar = newVal! + } + } + + connectedCallback(): void { + let root = this.shadowRoot + if (!root) root = this.attachShadow({mode: 'open'}) + + root.innerHTML = this.template() + + this.__placeRef = root.querySelector('[ref=placeRef]') + this.__avatarRef = root.querySelector('[ref=avatarRef]') + } + + template(): string { + return /*html*/ ` + + + +

        + Hello from ${this.place}! +

        + ` + } +} + +// The customElements.define call has to be slightly different in +// AssemblyScript because AS does not yet support constructor function +// references. +customElements.define('hello-from', () => new HelloFrom(), HelloFrom.observedAttributes) diff --git a/example/assembly/SecondsCounter.ts b/example/assembly/SecondsCounter.ts index c7d6ae2..744688f 100644 --- a/example/assembly/SecondsCounter.ts +++ b/example/assembly/SecondsCounter.ts @@ -1,5 +1,5 @@ import {setInterval} from '../node_modules/ecmassembly/assembly/setInterval' -import {HTMLElement, ShadowRootInit} from '../node_modules/asdom/assembly/index' +import {customElements, HTMLElement, ShadowRootInit} from '../node_modules/asdom/assembly/index' import {log} from './imports' let count: i32 = 0 @@ -60,3 +60,8 @@ export class SecondsCounter extends HTMLElement { this.countOutput!.innerText = count.toString() } } + +// The customElements.define call has to be slightly different in +// AssemblyScript because AS does not yet support constructor function +// references. +customElements.define('seconds-counter', () => new SecondsCounter(), SecondsCounter.observedAttributes) diff --git a/example/assembly/index.ts b/example/assembly/index.ts index a248a30..c424f70 100644 --- a/example/assembly/index.ts +++ b/example/assembly/index.ts @@ -3,7 +3,6 @@ export * from '../node_modules/asdom/assembly/glue' import { document, - customElements, Audio, Element, HTMLDivElement, @@ -15,7 +14,6 @@ import { Node, HTMLHeadingElement, HTMLSpanElement, - ShadowRootInit, } from '../node_modules/asdom/assembly/index' if (document.children.length != 1) throw new Error('document.children.length should be 1') @@ -28,7 +26,8 @@ import {cancelAnimationFrame, requestAnimationFrame} from '../node_modules/ecmas import {setTimeout} from '../node_modules/ecmassembly/assembly/setTimeout' import {log} from './imports' -import {SecondsCounter} from './SecondsCounter' +import './SecondsCounter' +import './HelloFrom' let imgRotation: f32 = 0 let img: HTMLImageElement @@ -51,35 +50,32 @@ let text2: Text let container: HTMLElement -const style = document.createElement('div') - -style.innerHTML = ` - +const style = document.createElement('style') + +style.innerHTML = /*css*/ ` + body { + /* And there was 3D depth. */ + perspective: 800px; + width: 100%; + height: 100%; + margin: 0; + display: flex; + flex-direction: column; + align-items: center; + } + .hello span { + font-weight: normal; + } + .dot { + width: 20px; height: 20px; + border-radius: 100%; + background: deeppink; + position: absolute; + top: 25%; left: 50%; + } + .selected * { + background: #0fc; + } ` document.body!.appendChild(style) @@ -182,26 +178,6 @@ if (i != 2) throw new Error('Unexpected number of child elements.') } // }} -img = document.createElement('img') as HTMLImageElement - -img.setAttribute('src', '../assets/image.png') - -// Animate the rotation of the logo. -requestAnimationFrame( - (logoRotationLoop = () => { - img.setAttribute( - 'style', - 'border-radius: 20px; position: absolute; top: 25%; left: 50%; transform: translate(-50%, -50%) rotateY(' + - (imgRotation++).toString() + - 'deg)', - ) - - requestAnimationFrame(logoRotationLoop) - }), -) - -document.body!.appendChild(img) - document.body!.onclick = () => { cancelAnimationFrame(explosionLoopFrame) @@ -311,8 +287,6 @@ setTimeout(() => { unbind(text2) }, 1000) -customElements.define('seconds-counter', () => new SecondsCounter(), SecondsCounter.observedAttributes) - container = document.createElement('div') as HTMLDivElement container.innerHTML = /*html*/ ` @@ -324,9 +298,36 @@ document.body!.appendChild(container) log('--------------------') setTimeout(() => { - const el = container.firstElementChild as SecondsCounter + const el = container.firstElementChild! // This causes the custom element's attributeChangedCallback to run, // and it logs to the console. el.setAttribute('some-attribute', 'bar') }, 1000) + +const div = document.createElement('div') +document.body!.appendChild(div) + +div.innerHTML = /*html*/ ` + + + + + +` + +// img = document.createElement('img') as HTMLImageElement +// img.setAttribute('src', '../assets/image.png') + +img = document.querySelector('hello-from')!.shadowRoot!.querySelector('img') as HTMLImageElement + +// Animate the rotation of the logo. +requestAnimationFrame( + (logoRotationLoop = () => { + img.setAttribute('style', 'transform: rotateY(' + (imgRotation++).toString() + 'deg)') + + requestAnimationFrame(logoRotationLoop) + }), +) + +// document.body!.appendChild(img) From 8a675041d81b4b7385f22030684b351368328649 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 17 Jul 2021 15:12:28 -0700 Subject: [PATCH 079/111] remove unused comments --- example/assembly/index.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/example/assembly/index.ts b/example/assembly/index.ts index c424f70..081775f 100644 --- a/example/assembly/index.ts +++ b/example/assembly/index.ts @@ -316,9 +316,7 @@ div.innerHTML = /*html*/ ` ` -// img = document.createElement('img') as HTMLImageElement -// img.setAttribute('src', '../assets/image.png') - +// You should normally not reach into an element's shadow DOM! But for sake of example... img = document.querySelector('hello-from')!.shadowRoot!.querySelector('img') as HTMLImageElement // Animate the rotation of the logo. @@ -329,5 +327,3 @@ requestAnimationFrame( requestAnimationFrame(logoRotationLoop) }), ) - -// document.body!.appendChild(img) From eac8bec51df1f060cec9c1f9ca56d32c1a4b030f Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 17 Jul 2021 15:14:13 -0700 Subject: [PATCH 080/111] add some needed spacing in the example --- example/assembly/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/example/assembly/index.ts b/example/assembly/index.ts index 081775f..9da5602 100644 --- a/example/assembly/index.ts +++ b/example/assembly/index.ts @@ -308,6 +308,7 @@ setTimeout(() => { const div = document.createElement('div') document.body!.appendChild(div) +div.setAttribute('style', 'margin-top: 40px;') div.innerHTML = /*html*/ ` From 27fd335c0f670b727016df32a64f9a7a7f413180 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Tue, 27 Jul 2021 00:30:53 -0700 Subject: [PATCH 081/111] add `onclick` to `Document` and `Window`. make `document` a property off of `Window` to follow common patterns we've been establishing with other objects and subobjects implement __finalize so we can free JS references to allow them to be collected, eliminating the need for the unbind function. This also fixed bugs in tracking of JS-side instances. --- assembly/Document.ts | 27 ++++++--- assembly/Object.ts | 15 ----- assembly/Window.ts | 43 +++++++++++++-- assembly/__finalize.ts | 16 ++++++ assembly/elements/Element.ts | 18 +++++- assembly/glue.ts | 12 ++-- assembly/imports.ts | 20 +++++-- assembly/refs.ts | 4 -- assembly/utils.ts | 3 +- example/assembly/index.ts | 45 +++++++-------- glue/index.js | 104 +++++++++++++++++++++++------------ 11 files changed, 198 insertions(+), 109 deletions(-) create mode 100644 assembly/__finalize.ts delete mode 100644 assembly/refs.ts diff --git a/assembly/Document.ts b/assembly/Document.ts index 3cccd52..7f1ecc1 100644 --- a/assembly/Document.ts +++ b/assembly/Document.ts @@ -5,10 +5,11 @@ import { getFirstElementChild, getLastElementChild, getUrl, + log, querySelector, querySelectorAll, - setDocument, setElement, + setOnclick, } from './imports' // TODO Perhaps put these on a new `window` object, to make it more like on the JS side. import { @@ -36,11 +37,6 @@ export class Document extends Node { return 9 } - constructor() { - super() - setDocument(this.__ptr__) - } - get URL(): string { return getUrl(this.__ptr__) } @@ -58,10 +54,27 @@ export class Document extends Node { return el } + set body(el: HTMLBodyElement) { throw ERROR('TODO: document.body setter is not implemented yet.') } + private __onclick: (() => void) | null = null + + set onclick(cb: (() => void) | null) { + this.__onclick = cb + setOnclick(this.__ptr__, cb ? cb.index : -1) // -1 means "null" + } + + get onclick(): (() => void) | null { + // For now there is no glue code here, and we assume manipulation of this + // property happens only on the AS-side. TODO Eventually we'll have to + // figure how to "get" a function that may already exist on the JS side + // to be able to call it, for example, in a monkey patch. + // return getOnclick() + return this.__onclick + } + createElement(tag: string /*, TODO options */): Element { let el: Element @@ -150,5 +163,3 @@ export class Document extends Node { return idToNullOrObject(id) as NodeList } } - -export const document = new Document() diff --git a/assembly/Object.ts b/assembly/Object.ts index cad9414..ddd6dd8 100644 --- a/assembly/Object.ts +++ b/assembly/Object.ts @@ -1,21 +1,6 @@ -import {refs} from './refs' - /** * The base class that all objects extend from. */ export class Object { __ptr__: usize = changetype(this) - - constructor() { - refs.set(this.__ptr__, this) - } -} - -/** - * Call this function when you are finished using an object. After calling - * this, it should never be used again, or the DOM bindings may fail to work - * properly. - */ -export function unbind(o: Object): void { - refs.delete(o.__ptr__) } diff --git a/assembly/Window.ts b/assembly/Window.ts index 76b64de..ae6c1d9 100644 --- a/assembly/Window.ts +++ b/assembly/Window.ts @@ -1,19 +1,49 @@ import {CustomElementRegistry} from './CustomElementRegistry' -import {getCustomElements, trackWindow} from './imports' +import {Document} from './Document' +import {getCustomElements, getDocument, setOnclick, trackWindow} from './imports' import {Object} from './Object' export class Window extends Object { + private __document: Document | null = null + + get document(): Document { + let obj = this.__document + + if (!obj) { + this.__document = obj = new Document() + getDocument(this.__ptr__, obj.__ptr__) + } + + return obj + } + private __ceRegistry: CustomElementRegistry | null = null get customElements(): CustomElementRegistry { - let reg = this.__ceRegistry + let obj = this.__ceRegistry - if (!reg) { - this.__ceRegistry = reg = new CustomElementRegistry() - getCustomElements(this.__ptr__, reg.__ptr__) + if (!obj) { + this.__ceRegistry = obj = new CustomElementRegistry() + getCustomElements(this.__ptr__, obj.__ptr__) } - return reg + return obj + } + + private __onclick: (() => void) | null = null + + set onclick(cb: (() => void) | null) { + this.__onclick = cb + setOnclick(this.__ptr__, cb ? cb.index : -1) // -1 means "null" + } + + get onclick(): (() => void) | null { + // For now there is no glue code here, and we assume manipulation of this + // property happens only on the AS-side. TODO Eventually we'll have to + // figure how to "get" a function that may already exist on the JS side + // to be able to call it, for example, in a monkey patch. + // return getOnclick() + return this.__onclick } } @@ -21,3 +51,4 @@ export const window = new Window() trackWindow(window.__ptr__) export const customElements = window.customElements +export const document = window.document diff --git a/assembly/__finalize.ts b/assembly/__finalize.ts new file mode 100644 index 0000000..1500268 --- /dev/null +++ b/assembly/__finalize.ts @@ -0,0 +1,16 @@ +import {releaseObject} from './imports' +import {Object} from './Object' + +// @ts-ignore +@global +function __finalize(ptr: usize): void { + if ( + // prettier-ignore + // @ts-ignore, function exists + __instanceof( + ptr, idof() + ) + ) { + releaseObject(ptr) + } +} diff --git a/assembly/elements/Element.ts b/assembly/elements/Element.ts index a5e69eb..0fd5a07 100644 --- a/assembly/elements/Element.ts +++ b/assembly/elements/Element.ts @@ -3,7 +3,7 @@ import { elGetAttribute, getInnerHTML, elGetInnerText, - elOnClick, + setOnclick, elSetAttribute, setInnerHTML, elSetInnerText, @@ -110,8 +110,20 @@ export abstract class Element extends Node { elClick(this.__ptr__) } - set onclick(cb: () => void) { - elOnClick(this.__ptr__, cb.index) + private __onclick: (() => void) | null = null + + set onclick(cb: (() => void) | null) { + this.__onclick = cb + setOnclick(this.__ptr__, cb ? cb.index : -1) // -1 means "null" + } + + get onclick(): (() => void) | null { + // For now there is no glue code here, and we assume manipulation of this + // property happens only on the AS-side. TODO Eventually we'll have to + // figure how to "get" a function that may already exist on the JS side + // to be able to call it, for example, in a monkey patch. + // return getOnclick() + return this.__onclick } remove(): void { diff --git a/assembly/glue.ts b/assembly/glue.ts index 582566c..01da834 100644 --- a/assembly/glue.ts +++ b/assembly/glue.ts @@ -1,18 +1,18 @@ +import './__finalize' import {HTMLElement} from './elements/HTML/HTMLElement' -import {refs} from './refs' export function asdom_connectedCallback(id: usize): void { - const el = refs.get(id) as HTMLElement + const el = changetype(id) el.connectedCallback() } export function asdom_disconnectedCallback(id: usize): void { - const el = refs.get(id) as HTMLElement + const el = changetype(id) el.disconnectedCallback() } export function asdom_adoptedCallback(id: usize): void { - const el = refs.get(id) as HTMLElement + const el = changetype(id) el.disconnectedCallback() } @@ -22,8 +22,6 @@ export function asdom_attributeChangedCallback( oldValue: string | null, newValue: string | null, ): void { - const el = refs.get(id) as HTMLElement + const el = changetype(id) el.attributeChangedCallback(name, oldValue, newValue) } - -export const idof_Arrayi32 = idof>() diff --git a/assembly/imports.ts b/assembly/imports.ts index ff41c8a..27177c1 100644 --- a/assembly/imports.ts +++ b/assembly/imports.ts @@ -2,10 +2,18 @@ @external('asDOM', 'trackNextRef') export declare function trackNextRef(id: usize): void +// @ts-expect-error +@external('asDOM', 'releaseObject') +export declare function releaseObject(ptr: usize): void + // @ts-expect-error @external('asDOM', 'log') export declare function log(msg: string): void +// @ts-expect-error +@external('asDOM_Window', 'getDocument') +export declare function getDocument(id: usize, docId: usize): void + // @ts-expect-error @external('asDOM_Window', 'getCustomElements') export declare function getCustomElements(id: usize, ceId: usize): void @@ -22,10 +30,6 @@ export declare function define(id: usize, tag: string, factoryIndex: i32, attrib @external('asDOM_Document', 'getUrl') export declare function getUrl(id: usize): string -// @ts-expect-error -@external('asDOM_Document', 'setDocument') -export declare function setDocument(id: usize): void - // @ts-expect-error @external('asDOM_Document', 'setElement') export declare function setElement(docId: usize, elId: usize, tag: string): void @@ -135,8 +139,12 @@ export declare function getPreviousElementSibling(id: usize): i32 export declare function elClick(id: usize): void // @ts-expect-error -@external('asDOM_Element', 'elOnClick') -export declare function elOnClick(id: usize, ptr: number): void +@external('asDOM_Element', 'setOnclick') +export declare function setOnclick(id: usize, ptr: u32): void + +// // @ts-expect-error +// @external('asDOM_Element', 'getOnclick') +// export declare function getOnclick(id: usize, ptr: u32): ??? // @ts-expect-error @external('asDOM_Element', 'remove') diff --git a/assembly/refs.ts b/assembly/refs.ts deleted file mode 100644 index bb7e052..0000000 --- a/assembly/refs.ts +++ /dev/null @@ -1,4 +0,0 @@ -import {Object} from './Object' - -// This is for asdom's internal use only. -export const refs: Map = new Map() diff --git a/assembly/utils.ts b/assembly/utils.ts index 4bb2abf..4859f41 100644 --- a/assembly/utils.ts +++ b/assembly/utils.ts @@ -1,6 +1,5 @@ import {ObjectType} from './ObjectType' import {log, trackNextRef} from './imports' -import {refs} from './refs' import { Node, HTMLBodyElement, @@ -96,6 +95,6 @@ export function idToNullOrObject(id: i32): Object | null { else { logDebug('idToNullOrObject got reference ID: ' + id.toString()) - return refs.get(id) as Object // It must be a Object. Use this function only for APIs that return Object or Object|null. + return changetype(id) // It must be a Object. Use this function only for APIs that return Object or Object|null. } } diff --git a/example/assembly/index.ts b/example/assembly/index.ts index 9da5602..0ffa630 100644 --- a/example/assembly/index.ts +++ b/example/assembly/index.ts @@ -7,7 +7,6 @@ import { Element, HTMLDivElement, HTMLTemplateElement, - unbind, Text, HTMLElement, HTMLImageElement, @@ -184,12 +183,7 @@ document.body!.onclick = () => { dotScale = 1.0 for (let i = 0; i < dotsLength; i++) { - if (!firstClick) { - dots[i].remove() - - // Don't forget to unbind any element when done using it to avoid a memory leak! - unbind(dots[i]) - } + if (!firstClick) dots[i].remove() const dot = document.createElement('div') as HTMLDivElement dots[i] = dot @@ -256,7 +250,10 @@ if (textParentElement) throw new Error('There should not be a parent element yet let textParentNode = text.parentNode if (textParentNode) throw new Error('There should not be a parent node yet!') -document.body!.appendChild(text) +const span1 = document.createElement('span') +span1.setAttribute('class', 'span1') +document.body!.appendChild(span1) +span1.appendChild(text) textParentElement = text.parentElement if (!textParentElement) throw new Error('There should be a parent element!') @@ -268,24 +265,23 @@ const br = document.createElement('br') text.parentElement!.appendChild(br) -text2 = document.createTextNode('Another text node, appended using parentNode!') -text.parentNode!.appendChild(text2) - log('Text node type should be true:') log((text.nodeType == 3).toString()) -setTimeout(() => { - document.body!.removeChild(text2) - - // When you no longer need an element, don't forget to call unbind on - // it to avoid a memory leak. - // - // Although this is not needed in JS / TS, it is needed in AS. - // - // After unbinding, you should not use the unbound instances or else - // things may not work as expected. - unbind(text2) -}, 1000) +text2 = document.createTextNode('Another text node, appended using parentNode! ') + +const span2 = document.createElement('span') +span2.setAttribute('class', 'span2') +document.body!.appendChild(span2) +;(span1.parentNode! as Element).querySelector('.span2')!.appendChild(text2) + +const removeButton = document.createElement('button') +removeButton.innerText = 'Remove this line' +span2.appendChild(removeButton) + +removeButton.onclick = () => { + document.body!.removeChild(span2) +} container = document.createElement('div') as HTMLDivElement container.innerHTML = /*html*/ ` @@ -318,7 +314,8 @@ div.innerHTML = /*html*/ ` ` // You should normally not reach into an element's shadow DOM! But for sake of example... -img = document.querySelector('hello-from')!.shadowRoot!.querySelector('img') as HTMLImageElement +const hiFrom = document.querySelector('hello-from')! +img = hiFrom.shadowRoot!.querySelector('img') as HTMLImageElement // Animate the rotation of the logo. requestAnimationFrame( diff --git a/glue/index.js b/glue/index.js index 690265f..77b9bb3 100644 --- a/glue/index.js +++ b/glue/index.js @@ -19,6 +19,11 @@ class Refs extends Map { keyFrom(b) { return this.__reverse.get(b) } + + delete(a) { + this.__reverse.delete(this.get(a)) + super.delete(a) + } } export class Asdom { @@ -30,12 +35,13 @@ export class Asdom { __newString __getArray __newArray - table - asdom_connectedCallback - asdom_disconnectedCallback - asdom_adoptedCallback - asdom_attributeChangedCallback - idof_Arrayi32 + __pin + __unpin + __table + __asdom_connectedCallback + __asdom_disconnectedCallback + __asdom_adoptedCallback + __asdom_attributeChangedCallback __exports = null @@ -49,16 +55,17 @@ export class Asdom { this.__newString = e.__newString this.__getArray = e.__getArray this.__newArray = e.__newArray - this.table = e.table - this.asdom_connectedCallback = e.asdom_connectedCallback - this.asdom_disconnectedCallback = e.asdom_disconnectedCallback - this.asdom_adoptedCallback = e.asdom_adoptedCallback - this.asdom_attributeChangedCallback = e.asdom_attributeChangedCallback - this.idof_Arrayi32 = e.idof_Arrayi32 + this.__pin = e.__pin + this.__unpin = e.__unpin + this.__table = e.table + this.__asdom_connectedCallback = e.asdom_connectedCallback + this.__asdom_disconnectedCallback = e.asdom_disconnectedCallback + this.__asdom_adoptedCallback = e.asdom_adoptedCallback + this.__asdom_attributeChangedCallback = e.asdom_attributeChangedCallback } fn(fnIndex) { - return this.table.get(fnIndex) + return this.__table.get(fnIndex) } /** @@ -90,8 +97,10 @@ export class Asdom { // TODO elements need to be associated with documents on the AS-side so they can have ownerDocument properties. this.__refs.set(id, ref) }, + releaseObject: id => { + this.__refs.delete(id) + }, log: str => { - if (this.__getString(str) == null || this.__getString(str) === 'null') debugger console.log('AS: ' + this.__getString(str)) }, }, @@ -101,14 +110,26 @@ export class Asdom { }, /** * @param {number} id - * @param {number} ceId + * @param {number} objId */ - getCustomElements: (id, ceId) => { + getDocument: (id, objId) => { + /** @type {Document} */ + const self = this.__refs.get(id) + const obj = self.document + let key = this.__refs.keyFrom(obj) + if (!key) this.__refs.set((key = objId), obj) + return key + }, + /** + * @param {number} id + * @param {number} objId + */ + getCustomElements: (id, objId) => { /** @type {Window} */ - const window = this.__refs.get(id) - const ce = window.customElements - let key = this.__refs.keyFrom(ce) - if (!key) this.__refs.set((key = ceId), ce) + const self = this.__refs.get(id) + const obj = self.customElements + let key = this.__refs.keyFrom(obj) + if (!key) this.__refs.set((key = objId), obj) return key }, }, @@ -128,27 +149,44 @@ export class Asdom { return asdom.stringArray(attributes) } + __pinned = false + + __pin() { + if (this.__pinned) return + this.__pinned = true + asdom.__pin(this.__asRef) + } + + __unpin() { + if (!this.__pinned) return + this.__pinned = false + asdom.__unpin(this.__asRef) + } + constructor() { super() this.__asRef = asdom.fn(factory)() + this.__pin() asdom.__refs.set(this.__asRef, this) } connectedCallback() { - asdom.asdom_connectedCallback(this.__asRef) + this.__pin() + asdom.__asdom_connectedCallback(this.__asRef) } disconnectedCallback() { - asdom.asdom_disconnectedCallback(this.__asRef) + asdom.__asdom_disconnectedCallback(this.__asRef) + this.__unpin() } adoptedCallback() { - asdom.asdom_adoptedCallback(this.__asRef) + asdom.__asdom_adoptedCallback(this.__asRef) } attributeChangedCallback(name, oldVal, newVal) { - asdom.asdom_attributeChangedCallback( + asdom.__asdom_attributeChangedCallback( this.__asRef, asdom.__newString(name), asdom.__newString(oldVal), @@ -165,13 +203,6 @@ export class Asdom { const document = this.__refs.get(id) return this.__newString(document.URL) }, - setDocument: id => { - this.__refs.set(id, document) - }, - getDocument: id => { - if (!this.__refs.get(id)) this.wasmImports.asDOM_Document.setDocument(id) - return this.__refs.get(id) - }, setElement: (docId, elId, tag) => { tag = this.__getString(tag) let el = @@ -299,10 +330,15 @@ export class Asdom { return this.getKeyOrObjectType(result) }, // element.onclick - elOnClick: (id, callback) => { + setOnclick: (id, callback) => { /** @type {Element} */ - const el = this.__refs.get(id) - el.onclick = this.fn(callback) + const obj = this.__refs.get(id) + obj.onclick = callback === -1 ? null : this.fn(callback) + }, + getOnclick: id => { + /** @type {Element} */ + const obj = this.__refs.get(id) + // TODO How to "return" a JS function so that AS can call it? }, // element.click() elClick: id => { From 7e56399f5775d00f0f507bb18d5be9909d05e8cc Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Tue, 27 Jul 2021 19:13:06 -0700 Subject: [PATCH 082/111] move the JS-side custom element class definition to a separate file and add some comments explaining what is happening --- glue/AsdomCustomElement.js | 93 ++++++++++++++++++++++++++++++++++++++ glue/index.js | 65 ++------------------------ 2 files changed, 98 insertions(+), 60 deletions(-) create mode 100644 glue/AsdomCustomElement.js diff --git a/glue/AsdomCustomElement.js b/glue/AsdomCustomElement.js new file mode 100644 index 0000000..0594879 --- /dev/null +++ b/glue/AsdomCustomElement.js @@ -0,0 +1,93 @@ +// @ts-check + +/** + * @param {import('./index').Asdom} asdom + * @param {() => number} factory + * @param {number} attributes + */ +export function createAsdomCustomElementClass(asdom, factory, attributes) { + class AsdomCustomElement extends HTMLElement { + __asRef = -1 + + static get observedAttributes() { + return asdom.stringArray(attributes) + } + + __pinned = false + + __pin() { + if (this.__pinned) return + this.__pinned = true + asdom.__pin(this.__asRef) + } + + __unpin() { + if (!this.__pinned) return + this.__pinned = false + asdom.__unpin(this.__asRef) + } + + constructor() { + super() + + this.__asRef = asdom.fn(factory)() + + // Because the element can be long lived while the AS + // user does not reference it (f.e. it is sitting in a + // DOM tree somewhere), we need to keep the AS-side + // object alive so the user's AS-side state will stay + // intact (otherwise the AS-side interface would be + // ephemeral and on each access of the JS-side + // element a new AS-side instance would be created + // with new AS-side state, destroying the AS user's + // logic). Non-custom elements don't have state on + // the AS-side, so their AS-side interfaces are + // ephemeral (created only when needed). + this.__pin() + + asdom.__refs.set(this.__asRef, this) + } + + connectedCallback() { + // Because the element can be long lived while the AS + // user does not reference it (f.e. it is sitting in a + // DOM tree somewhere), we need to keep the AS-side + // object alive so the user's AS-side state will stay + // intact (otherwise the AS-side interface would be + // ephemeral and on each access of the JS-side + // element a new AS-side instance would be created + // with new AS-side state, destroying the AS user's + // logic). Non-custom elements don't have state on + // the AS-side, so their AS-side interfaces are + // ephemeral (created only when needed). + this.__pin() + + asdom.__asdom_connectedCallback(this.__asRef) + } + + disconnectedCallback() { + asdom.__asdom_disconnectedCallback(this.__asRef) + + // If the element is no longer in the DOM and therefore + // not held onto by the JS-side (assuming the app is + // written purely in AS and no JS code is holding + // the element), then we should unpin it in case + // the AS user will let go of the object, so the + // AS-side instance will be collected. + this.__unpin() + } + + adoptedCallback() { + asdom.__asdom_adoptedCallback(this.__asRef) + } + + attributeChangedCallback(name, oldVal, newVal) { + asdom.__asdom_attributeChangedCallback( + this.__asRef, + asdom.__newString(name), + asdom.__newString(oldVal), + asdom.__newString(newVal), + ) + } + } +} diff --git a/glue/index.js b/glue/index.js index 77b9bb3..54e0f9f 100644 --- a/glue/index.js +++ b/glue/index.js @@ -1,3 +1,5 @@ +import {createAsdomCustomElementClass} from './AsdomCustomElement.js' + class Refs extends Map { /** @type {Map} */ __reverse = new Map() @@ -135,67 +137,10 @@ export class Asdom { }, asDOM_CustomElementRegistry: { // customElements.define() - define: (id, tag, factory, attributes) => { - tag = this.__getString(tag) - + define: (id, tagName, factory, attributes) => { + tagName = this.__getString(tagName) const customElements = this.__refs.get(id) - - const asdom = this - - class AsdomElement extends HTMLElement { - __asRef = -1 - - static get observedAttributes() { - return asdom.stringArray(attributes) - } - - __pinned = false - - __pin() { - if (this.__pinned) return - this.__pinned = true - asdom.__pin(this.__asRef) - } - - __unpin() { - if (!this.__pinned) return - this.__pinned = false - asdom.__unpin(this.__asRef) - } - - constructor() { - super() - - this.__asRef = asdom.fn(factory)() - this.__pin() - asdom.__refs.set(this.__asRef, this) - } - - connectedCallback() { - this.__pin() - asdom.__asdom_connectedCallback(this.__asRef) - } - - disconnectedCallback() { - asdom.__asdom_disconnectedCallback(this.__asRef) - this.__unpin() - } - - adoptedCallback() { - asdom.__asdom_adoptedCallback(this.__asRef) - } - - attributeChangedCallback(name, oldVal, newVal) { - asdom.__asdom_attributeChangedCallback( - this.__asRef, - asdom.__newString(name), - asdom.__newString(oldVal), - asdom.__newString(newVal), - ) - } - } - - customElements.define(tag, AsdomElement) + customElements.define(tagName, createAsdomCustomElementClass(this, factory, attributes)) }, }, asDOM_Document: { From 091adbe494fd24b83f9971216e5bbfd953f78c43 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Tue, 27 Jul 2021 20:46:50 -0700 Subject: [PATCH 083/111] fix: forgot to return a value --- glue/AsdomCustomElement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glue/AsdomCustomElement.js b/glue/AsdomCustomElement.js index 0594879..b820144 100644 --- a/glue/AsdomCustomElement.js +++ b/glue/AsdomCustomElement.js @@ -6,7 +6,7 @@ * @param {number} attributes */ export function createAsdomCustomElementClass(asdom, factory, attributes) { - class AsdomCustomElement extends HTMLElement { + return class AsdomCustomElement extends HTMLElement { __asRef = -1 static get observedAttributes() { From 23f673c05673e9a64b2e54d0df6f126ea442962b Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Tue, 27 Jul 2021 21:10:39 -0700 Subject: [PATCH 084/111] clean up Document's implementation by re-using the patterns we've been noticing in other classes --- assembly/Document.ts | 71 ++++++++++---------------------------------- assembly/imports.ts | 18 +++++------ assembly/utils.ts | 1 - glue/index.js | 56 +++++++++++++--------------------- 4 files changed, 43 insertions(+), 103 deletions(-) diff --git a/assembly/Document.ts b/assembly/Document.ts index 7f1ecc1..7851dee 100644 --- a/assembly/Document.ts +++ b/assembly/Document.ts @@ -1,31 +1,17 @@ import { + createElement, createTextNode, - documentHasBody, + getBody, getChildren, getFirstElementChild, getLastElementChild, getUrl, - log, querySelector, querySelectorAll, - setElement, setOnclick, } from './imports' // TODO Perhaps put these on a new `window` object, to make it more like on the JS side. -import { - Element, - Audio, - HTMLBodyElement, - HTMLAnchorElement, - HTMLDivElement, - HTMLParagraphElement, - HTMLScriptElement, - HTMLSpanElement, - HTMLTemplateElement, - HTMLUnknownElement, - Image, - HTMLHeadingElement, -} from './elements/index' +import {Element, HTMLBodyElement, HTMLElement} from './elements/index' import {idToNullOrObject} from './utils' import {Node} from './Node' import {Text} from './Text' @@ -43,20 +29,17 @@ export class Document extends Node { // @ts-expect-error get body(): HTMLBodyElement | null { - let el: HTMLBodyElement - - if (documentHasBody(this.__ptr__)) { - el = new HTMLBodyElement() - setElement(this.__ptr__, el.__ptr__, 'body') - } else { - return null - } + const id: i32 = getBody(this.__ptr__) - return el + // TODO restore after issue is fixed: https://github.com/AssemblyScript/assemblyscript/issues/1976 + // return idToNullOrObject(id) as Element | null + const result = idToNullOrObject(id) + if (!result) return null + else return result as HTMLBodyElement } set body(el: HTMLBodyElement) { - throw ERROR('TODO: document.body setter is not implemented yet.') + throw new Error('TODO: document.body setter is not implemented yet.') } private __onclick: (() => void) | null = null @@ -75,32 +58,9 @@ export class Document extends Node { return this.__onclick } - createElement(tag: string /*, TODO options */): Element { - let el: Element - - // Don't forget to add Elements here so they can be created with `document.createElement`. - if (tag == 'body') el = new HTMLBodyElement() - else if (tag == 'div') el = new HTMLDivElement() - else if (tag == 'span') el = new HTMLSpanElement() - else if (tag == 'p') el = new HTMLParagraphElement() - else if (tag == 'a') el = new HTMLAnchorElement() - else if (tag == 'script') el = new HTMLScriptElement() - else if (tag == 'template') el = new HTMLTemplateElement() - else if (tag == 'audio') el = new Audio() - else if (tag == 'img') el = new Image() - else if (tag == 'h1') el = new HTMLHeadingElement() - else if (tag == 'h2') el = new HTMLHeadingElement() - else if (tag == 'h3') el = new HTMLHeadingElement() - else if (tag == 'h4') el = new HTMLHeadingElement() - else if (tag == 'h5') el = new HTMLHeadingElement() - else if (tag == 'h6') el = new HTMLHeadingElement() - else if (tag.indexOf('-') > -1) - throw new Error('TODO: Elements with hyphens or custom elements not supported yet.') - else el = new HTMLUnknownElement() - - setElement(this.__ptr__, el.__ptr__, tag) - - return el + createElement(tagName: string /*, TODO options */): HTMLElement { + const id: i32 = createElement(this.__ptr__, tagName) + return idToNullOrObject(id) as HTMLElement } // TODO, for SVG elements. @@ -111,9 +71,8 @@ export class Document extends Node { * @param data String that specifies the nodeValue property of the text node. */ createTextNode(data: string): Text { - const text = new Text() - createTextNode(this.__ptr__, text.__ptr__, data) - return text + const id: i32 = createTextNode(this.__ptr__, data) + return idToNullOrObject(id) as Text } private __children: HTMLCollection | null = null diff --git a/assembly/imports.ts b/assembly/imports.ts index 27177c1..d4dd4bc 100644 --- a/assembly/imports.ts +++ b/assembly/imports.ts @@ -27,24 +27,20 @@ export declare function trackWindow(id: usize): void export declare function define(id: usize, tag: string, factoryIndex: i32, attributes: string[]): void // @ts-expect-error -@external('asDOM_Document', 'getUrl') -export declare function getUrl(id: usize): string +@external('asDOM_Document', 'getBody') +export declare function getBody(id: usize): i32 // @ts-expect-error -@external('asDOM_Document', 'setElement') -export declare function setElement(docId: usize, elId: usize, tag: string): void +@external('asDOM_Document', 'getUrl') +export declare function getUrl(id: usize): string // @ts-expect-error -@external('asDOM_Document', 'documentHasBody') -export declare function documentHasBody(doc: usize): boolean +@external('asDOM_Document', 'createElement') +export declare function createElement(docId: usize, tagName: string): i32 // @ts-expect-error @external('asDOM_Document', 'createTextNode') -export declare function createTextNode(docId: usize, textId: usize, data: string): void - -// // @ts-expect-error -// @external('asDOM_Document', 'trackNextElement') -// export declare function trackNextElement(docId: usize, elId: usize): void +export declare function createTextNode(docId: usize, data: string): i32 // @ts-expect-error @external('asDOM_Node', 'nodeAppendChild') diff --git a/assembly/utils.ts b/assembly/utils.ts index 4859f41..66fca89 100644 --- a/assembly/utils.ts +++ b/assembly/utils.ts @@ -78,7 +78,6 @@ export function idToNullOrObject(id: i32): Object | null { // Associate the AS-side instance with the JS-side instance. // TODO use this.ownerDocument.__ptr__ instead of document.__ptr__ - // trackNextElement(document.__ptr__, el.__ptr__) trackNextRef(obj.__ptr__) return obj diff --git a/glue/index.js b/glue/index.js index 54e0f9f..4e0b7af 100644 --- a/glue/index.js +++ b/glue/index.js @@ -145,48 +145,34 @@ export class Asdom { }, asDOM_Document: { getUrl: id => { - const document = this.__refs.get(id) - return this.__newString(document.URL) - }, - setElement: (docId, elId, tag) => { - tag = this.__getString(tag) - let el = - tag === 'body' - ? document.body || thro('bug!') - : this.wasmImports.asDOM_Document.documentCreateElement(docId, tag) - this.__refs.set(elId, el) - }, - trackNextElement: (docId, id) => { - const ref = this.__nextRefToTrack - - if (!ref) { - throw new Error( - 'Bug, this should not happen, trackNextElement should have been called synchronously right after an existing element was referenced and an AS-side objet created to mirror it.', - ) - } + const self = this.__refs.get(id) + return this.__newString(self.URL) + }, + getBody: id => { + /** @type {Document} */ + const self = this.__refs.get(id) + const result = self.body - this.__nextRefToTrack = undefined + if (!result) return 0 // null - // TODO elements need to be associated with documents on the AS-side so they can have ownerDocument properties. - this.__refs.set(id, ref) + return this.getKeyOrObjectType(result) }, - getElement: id => { - return this.__refs.get(id) + setBody: (id, bodyId) => { + // TODO }, // document.createElement() - documentCreateElement: (id, tag) => { - const document = this.__refs.get(id) - return document.createElement(tag) - }, - documentHasBody: id => { - const document = this.__refs.get(id) - return document.body ? true : false + createElement: (id, tagName /*, TODO options */) => { + /** @type {Document} */ + const self = this.__refs.get(id) + const result = self.createElement(this.__getString(tagName)) + return this.getKeyOrObjectType(result) }, // document.createTextNode() - createTextNode: (docId, textId, data) => { - const document = this.__refs.get(docId) - const text = document.createTextNode(this.__getString(data)) - this.__refs.set(textId, text) + createTextNode: (id, data) => { + /** @type {Document} */ + const self = this.__refs.get(id) + const result = self.createTextNode(this.__getString(data)) + return this.getKeyOrObjectType(result) }, }, asDOM_Element: { From 838a8524705a3ff367a1fbc1803d8d9bc51c7385 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Tue, 27 Jul 2021 21:11:14 -0700 Subject: [PATCH 085/111] Add a Caveats section to README --- README.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ebe9ec7..0cd7eb0 100644 --- a/README.md +++ b/README.md @@ -99,10 +99,40 @@ el.innerHTML = /*html*/ ` document.body!.appendChild(el) ``` +# Caveats + +- Don't create built-in elements (f.e. `
        ` elements) using their + constructors. For example, don't do `new HTMLDivElement`, instead use + `document.createElement('div')`, or things won't work as expected. +- AS does not yet support referencing constructors, but the Custom Elements API + is one that accepts a constructor as the second argument to + `customElements.define('tag-name', YourClass)`. To work around this + limitation, the `define()` API should be use like so: + ```js + customElements.define('tag-name', () => new YourClass(), YourClass.observedAttributes) + ``` + As with built-in elements, do not manually `new` your custom element class, + except in the factory function that you pass into `customElements.define()` + as the second arg. In other scenarios when you want a ref to your custom + element, you can use any pattern that grabs your element from the DOM instead + of creating it with `new`. + ```js + const temp = document.createElement('
        ') + temp.innerHTML = '' + const yourElement = temp.firstElementChild + // ...use yourElement... + ``` + This will be improved. + # TODO We will add more DOM APIs as needed while we chisel away. +- [ ] Improve custom element API to allow directly creating custom element + instances from their constructors. - [ ] Use as-pect for testing. -- [ ] Import jsdom or undom so that DOM APIs are mocked (on the JavaScript side) during testing (as-pect runs in Node.js not a browser). -- [ ] Make `document` global. Currently making AS globals is incompatible with TypeScript, so VS Code intellisense doesn't pick up AS globals (https://github.com/AssemblyScript/assemblyscript/issues/1929) +- [ ] Import jsdom or undom so that DOM APIs are mocked (on the JavaScript + side) during testing (as-pect runs in Node.js not a browser). +- [ ] Make `window` and any of its properties global. Currently making AS + globals is incompatible with TypeScript, so VS Code intellisense doesn't pick + up AS globals (https://github.com/AssemblyScript/assemblyscript/issues/1929) From 80e7000e2e073337f3a6837186605e33eb35a586 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Tue, 27 Jul 2021 23:37:59 -0700 Subject: [PATCH 086/111] add initial `History` class and `window.history` --- assembly/History.ts | 8 ++++++++ assembly/Window.ts | 26 +++++++++++++++++++++----- assembly/imports.ts | 4 ++++ example/assembly/index.ts | 13 ++++++++----- glue/index.js | 12 ++++++++++++ 5 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 assembly/History.ts diff --git a/assembly/History.ts b/assembly/History.ts new file mode 100644 index 0000000..6b6d73b --- /dev/null +++ b/assembly/History.ts @@ -0,0 +1,8 @@ +import {getLength} from './imports' +import {Object} from './Object' + +export class History extends Object { + get length(): i32 { + return getLength(this.__ptr__) + } +} diff --git a/assembly/Window.ts b/assembly/Window.ts index ae6c1d9..cfc9e89 100644 --- a/assembly/Window.ts +++ b/assembly/Window.ts @@ -1,6 +1,7 @@ import {CustomElementRegistry} from './CustomElementRegistry' import {Document} from './Document' -import {getCustomElements, getDocument, setOnclick, trackWindow} from './imports' +import {getCustomElements, getDocument, getHistory, setOnclick, trackWindow} from './imports' +import {History} from './History' import {Object} from './Object' export class Window extends Object { @@ -17,19 +18,32 @@ export class Window extends Object { return obj } - private __ceRegistry: CustomElementRegistry | null = null + private __customElements: CustomElementRegistry | null = null get customElements(): CustomElementRegistry { - let obj = this.__ceRegistry + let obj = this.__customElements if (!obj) { - this.__ceRegistry = obj = new CustomElementRegistry() + this.__customElements = obj = new CustomElementRegistry() getCustomElements(this.__ptr__, obj.__ptr__) } return obj } + private __history: History | null = null + + get history(): History { + let obj = this.__history + + if (!obj) { + this.__history = obj = new History() + getHistory(this.__ptr__, obj.__ptr__) + } + + return obj + } + private __onclick: (() => void) | null = null set onclick(cb: (() => void) | null) { @@ -50,5 +64,7 @@ export class Window extends Object { export const window = new Window() trackWindow(window.__ptr__) -export const customElements = window.customElements +// export "globals" export const document = window.document +export const customElements = window.customElements +export const history = window.history diff --git a/assembly/imports.ts b/assembly/imports.ts index d4dd4bc..3289dad 100644 --- a/assembly/imports.ts +++ b/assembly/imports.ts @@ -18,6 +18,10 @@ export declare function getDocument(id: usize, docId: usize): void @external('asDOM_Window', 'getCustomElements') export declare function getCustomElements(id: usize, ceId: usize): void +// @ts-expect-error +@external('asDOM_Window', 'getHistory') +export declare function getHistory(id: usize, histId: usize): void + // @ts-expect-error @external('asDOM_Window', 'trackWindow') export declare function trackWindow(id: usize): void diff --git a/example/assembly/index.ts b/example/assembly/index.ts index 0ffa630..18cd215 100644 --- a/example/assembly/index.ts +++ b/example/assembly/index.ts @@ -13,13 +13,9 @@ import { Node, HTMLHeadingElement, HTMLSpanElement, + window, } from '../node_modules/asdom/assembly/index' -if (document.children.length != 1) throw new Error('document.children.length should be 1') -if (document.children[0]!.tagName != 'HTML') throw new Error('document.children[0] should be ') -if (document.firstElementChild!.tagName != 'HTML') throw new Error('document.firstElementChild should be ') -if (document.lastElementChild!.tagName != 'HTML') throw new Error('document.lastElementChild should be ') - // TODO move these into asdom, because requestAnimationFrame is a DOM API. import {cancelAnimationFrame, requestAnimationFrame} from '../node_modules/ecmassembly/assembly/requestAnimationFrame' import {setTimeout} from '../node_modules/ecmassembly/assembly/setTimeout' @@ -28,6 +24,13 @@ import {log} from './imports' import './SecondsCounter' import './HelloFrom' +log('History length: ' + window.history.length.toString()) + +if (document.children.length != 1) throw new Error('document.children.length should be 1') +if (document.children[0]!.tagName != 'HTML') throw new Error('document.children[0] should be ') +if (document.firstElementChild!.tagName != 'HTML') throw new Error('document.firstElementChild should be ') +if (document.lastElementChild!.tagName != 'HTML') throw new Error('document.lastElementChild should be ') + let imgRotation: f32 = 0 let img: HTMLImageElement let logoRotationLoop: () => void diff --git a/glue/index.js b/glue/index.js index 4e0b7af..0ba498d 100644 --- a/glue/index.js +++ b/glue/index.js @@ -134,6 +134,18 @@ export class Asdom { if (!key) this.__refs.set((key = objId), obj) return key }, + /** + * @param {number} id + * @param {number} objId + */ + getHistory: (id, objId) => { + /** @type {Window} */ + const self = this.__refs.get(id) + const obj = self.history + let key = this.__refs.keyFrom(obj) + if (!key) this.__refs.set((key = objId), obj) + return key + }, }, asDOM_CustomElementRegistry: { // customElements.define() From fc5a44185b8ac2dd06aa42f9599ccebe6380d92e Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Thu, 29 Jul 2021 20:01:22 -0700 Subject: [PATCH 087/111] add `EventTarget` with `addEventListener` and `removeEventListener`, supporting callbacks but not yet `EventListener` objects. Also add the `Window.onpopstate` event property. The new initial EventTarget allows at least, for now, reacting to all sorts of events, but callbacks do not yet receive `Event` objects, so event data can not yet be know. That is coming next. --- assembly/EventListener.ts | 5 ++++ assembly/EventTarget.ts | 24 +++++++++++++++++++ assembly/Node.ts | 4 ++-- assembly/Window.ts | 22 ++++++++++++++--- assembly/imports.ts | 34 ++++++++++++++++++++++---- example/assembly/index.ts | 15 ++++++++++++ glue/index.js | 50 +++++++++++++++++++++++++++++++++------ 7 files changed, 138 insertions(+), 16 deletions(-) create mode 100644 assembly/EventListener.ts create mode 100644 assembly/EventTarget.ts diff --git a/assembly/EventListener.ts b/assembly/EventListener.ts new file mode 100644 index 0000000..ba1645c --- /dev/null +++ b/assembly/EventListener.ts @@ -0,0 +1,5 @@ +import {Object} from './Object' + +export abstract class EventListener extends Object { + handleEvent(): void {} +} diff --git a/assembly/EventTarget.ts b/assembly/EventTarget.ts new file mode 100644 index 0000000..afd6c1e --- /dev/null +++ b/assembly/EventTarget.ts @@ -0,0 +1,24 @@ +import {EventListener} from './EventListener' +import { + addEventListenerCallback, + addEventListenerObject, + removeEventListenerCallback, + removeEventListenerObject, +} from './imports' +import {Object} from './Object' + +type EventCallback = (/*TODO event: Event*/) => void + +export class EventTarget extends Object { + addEventListener(eventName: string, listener: T): void { + if (isFunction(listener)) addEventListenerCallback(this.__ptr__, eventName, listener.index) + else if (listener instanceof EventListener) addEventListenerObject(this.__ptr__, eventName, listener.__ptr__) + else ERROR('addEventListener expects an EventCallback or an EventListener as the second argument.') + } + + removeEventListener(eventName: string, listener: T): void { + if (isFunction(listener)) removeEventListenerCallback(this.__ptr__, eventName, listener.index) + else if (listener instanceof EventListener) removeEventListenerObject(this.__ptr__, eventName, listener.__ptr__) + else ERROR('removeEventListener expects an EventCallback or an EventListener as the second argument.') + } +} diff --git a/assembly/Node.ts b/assembly/Node.ts index 1d82f2d..a231e1a 100644 --- a/assembly/Node.ts +++ b/assembly/Node.ts @@ -11,8 +11,8 @@ import { getLastChild, getParentElement, } from './imports' -import {Object} from './Object' import {NodeList} from './NodeList' +import {EventTarget} from './EventTarget' /** Node types: https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType */ enum NodeType { @@ -29,7 +29,7 @@ enum NodeType { // 12 is deprecated and skipped. } -export abstract class Node extends Object { +export abstract class Node extends EventTarget { static ELEMENT_NODE: NodeType = NodeType.ELEMENT_NODE static ATTRIBUTE_NODE: NodeType = NodeType.ATTRIBUTE_NODE static TEXT_NODE: NodeType = NodeType.TEXT_NODE diff --git a/assembly/Window.ts b/assembly/Window.ts index cfc9e89..bdcd457 100644 --- a/assembly/Window.ts +++ b/assembly/Window.ts @@ -1,10 +1,10 @@ import {CustomElementRegistry} from './CustomElementRegistry' import {Document} from './Document' -import {getCustomElements, getDocument, getHistory, setOnclick, trackWindow} from './imports' +import {getCustomElements, getDocument, getHistory, setOnclick, setOnpopstate, trackWindow} from './imports' import {History} from './History' -import {Object} from './Object' +import {EventTarget} from './EventTarget' -export class Window extends Object { +export class Window extends EventTarget { private __document: Document | null = null get document(): Document { @@ -59,6 +59,22 @@ export class Window extends Object { // return getOnclick() return this.__onclick } + + private __onpopstate: (() => void) | null = null + + set onpopstate(cb: (() => void) | null) { + this.__onpopstate = cb + setOnpopstate(this.__ptr__, cb ? cb.index : -1) // -1 means "null" + } + + get onpopstate(): (() => void) | null { + // For now there is no glue code here, and we assume manipulation of this + // property happens only on the AS-side. TODO Eventually we'll have to + // figure how to "get" a function that may already exist on the JS side + // to be able to call it, for example, in a monkey patch. + // return getOnpopstate() + return this.__onpopstate + } } export const window = new Window() diff --git a/assembly/imports.ts b/assembly/imports.ts index 3289dad..428cddb 100644 --- a/assembly/imports.ts +++ b/assembly/imports.ts @@ -1,3 +1,5 @@ +import { EventListener } from "./EventListener"; + // @ts-expect-error @external('asDOM', 'trackNextRef') export declare function trackNextRef(id: usize): void @@ -10,6 +12,26 @@ export declare function releaseObject(ptr: usize): void @external('asDOM', 'log') export declare function log(msg: string): void +// @ts-expect-error +@external('asDOM_EventTarget', 'addEventListenerCallback') +export declare function addEventListenerCallback(id: usize, eventName: string, callbackIndex: u32): void + +// @ts-expect-error +@external('asDOM_EventTarget', 'addEventListenerObject') +export declare function addEventListenerObject(id: usize, eventName: string, listenerPtr: usize): void + +// @ts-expect-error +@external('asDOM_EventTarget', 'removeEventListenerCallback') +export declare function removeEventListenerCallback(id: usize, eventName: string, callbackIndex: u32): void + +// @ts-expect-error +@external('asDOM_EventTarget', 'removeEventListenerObject') +export declare function removeEventListenerObject(id: usize, eventName: string, listenerPtr: usize): void + +// @ts-expect-error +@external('asDOM_Window', 'trackWindow') +export declare function trackWindow(id: usize): void + // @ts-expect-error @external('asDOM_Window', 'getDocument') export declare function getDocument(id: usize, docId: usize): void @@ -23,8 +45,12 @@ export declare function getCustomElements(id: usize, ceId: usize): void export declare function getHistory(id: usize, histId: usize): void // @ts-expect-error -@external('asDOM_Window', 'trackWindow') -export declare function trackWindow(id: usize): void +@external('asDOM_Window', 'setOnpopstate') +export declare function setOnpopstate(id: usize, index: u32): void + +// // @ts-expect-error +// @external('asDOM_Window', 'getOnpopstate') +// export declare function getOnpopstate(id: usize): ??? // @ts-expect-error @external('asDOM_CustomElementRegistry', 'define') @@ -140,11 +166,11 @@ export declare function elClick(id: usize): void // @ts-expect-error @external('asDOM_Element', 'setOnclick') -export declare function setOnclick(id: usize, ptr: u32): void +export declare function setOnclick(id: usize, index: u32): void // // @ts-expect-error // @external('asDOM_Element', 'getOnclick') -// export declare function getOnclick(id: usize, ptr: u32): ??? +// export declare function getOnclick(id: usize): ??? // @ts-expect-error @external('asDOM_Element', 'remove') diff --git a/example/assembly/index.ts b/example/assembly/index.ts index 18cd215..5e3f8c3 100644 --- a/example/assembly/index.ts +++ b/example/assembly/index.ts @@ -26,6 +26,14 @@ import './HelloFrom' log('History length: ' + window.history.length.toString()) +window.addEventListener('popstate', () => { + log('popstate 1') +}) + +window.onpopstate = () => { + log('popstate 2') +} + if (document.children.length != 1) throw new Error('document.children.length should be 1') if (document.children[0]!.tagName != 'HTML') throw new Error('document.children[0] should be ') if (document.firstElementChild!.tagName != 'HTML') throw new Error('document.firstElementChild should be ') @@ -223,6 +231,12 @@ document.body!.onclick = () => { ) } +const clickHandler: () => void = () => { + log('body clicked!') +} + +document.body!.addEventListener('click', clickHandler) + const audio = new Audio('../assets/audio2.mp3') audio.autoplay = true @@ -284,6 +298,7 @@ span2.appendChild(removeButton) removeButton.onclick = () => { document.body!.removeChild(span2) + document.body!.removeEventListener('click', clickHandler) } container = document.createElement('div') as HTMLDivElement diff --git a/glue/index.js b/glue/index.js index 0ba498d..50a20ac 100644 --- a/glue/index.js +++ b/glue/index.js @@ -66,6 +66,10 @@ export class Asdom { this.__asdom_attributeChangedCallback = e.asdom_attributeChangedCallback } + /** + * @param {number} fnIndex - The index into the WebAssembly.Table of a function inside the AssemblyScript module. + * @returns {(...args: any[]) => any} - A JavaScript-side function that proxies arguments and return value to the AssemblyScript function. + */ fn(fnIndex) { return this.__table.get(fnIndex) } @@ -106,6 +110,27 @@ export class Asdom { console.log('AS: ' + this.__getString(str)) }, }, + asDOM_EventTarget: { + addEventListenerCallback: (id, eventName, callback /* TODO , optionsOrUseCapture*/) => { + /** @type {EventTarget} */ + const self = this.__refs.get(id) + self.addEventListener(this.__getString(eventName), this.fn(callback)) + }, + addEventListenerObject: id => { + console.error('addEventListener with an EventListener object not implemented yet') + }, + removeEventListenerCallback: (id, eventName, callback /* TODO , optionsOrUseCapture*/) => { + /** @type {EventTarget} */ + const self = this.__refs.get(id) + + console.log('---------------------', this.fn(callback) === this.fn(callback)) + + self.removeEventListener(this.__getString(eventName), this.fn(callback)) + }, + removeEventListenerObject: id => { + console.error('removeEventListener with an EventListener object not implemented yet') + }, + }, asDOM_Window: { trackWindow: id => { this.__refs.set(id, window) @@ -146,6 +171,17 @@ export class Asdom { if (!key) this.__refs.set((key = objId), obj) return key }, + // window.onpopstate + setOnpopstate: (id, callback) => { + /** @type {Window} */ + const self = this.__refs.get(id) + self.onpopstate = callback === -1 ? null : this.fn(callback) + }, + getOnpopstate: id => { + /** @type {Window} */ + const self = this.__refs.get(id) + // TODO How to "return" a JS function so that AS can call it? + }, }, asDOM_CustomElementRegistry: { // customElements.define() @@ -232,8 +268,8 @@ export class Asdom { }, getChildren: (id, listId) => { /** @type {Element | Document | DocumentFragment} */ - const obj = this.__refs.get(id) - const list = obj.children + const self = this.__refs.get(id) + const list = self.children if (!this.__refs.keyFrom(list)) this.__refs.set(listId, list) }, getFirstElementChild: id => { @@ -275,12 +311,12 @@ export class Asdom { // element.onclick setOnclick: (id, callback) => { /** @type {Element} */ - const obj = this.__refs.get(id) - obj.onclick = callback === -1 ? null : this.fn(callback) + const self = this.__refs.get(id) + self.onclick = callback === -1 ? null : this.fn(callback) }, getOnclick: id => { /** @type {Element} */ - const obj = this.__refs.get(id) + const self = this.__refs.get(id) // TODO How to "return" a JS function so that AS can call it? }, // element.click() @@ -401,8 +437,8 @@ export class Asdom { }, getChildNodes: (id, listId) => { /** @type {Node} */ - const obj = this.__refs.get(id) - const list = obj.childNodes + const self = this.__refs.get(id) + const list = self.childNodes if (!this.__refs.keyFrom(list)) this.__refs.set(listId, list) }, }, From 56cff69fb3e19cee9e377779d2244bbd1499cbe7 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Thu, 29 Jul 2021 23:15:53 -0700 Subject: [PATCH 088/111] add `.pushState()` and `.replaceState()` methods to `History` --- assembly/History.ts | 13 ++++++++++++- assembly/imports.ts | 8 ++++++++ assembly/index.ts | 9 +++++++-- example/assembly/index.ts | 12 +++++++++++- glue/index.js | 24 ++++++++++++++++++++++++ 5 files changed, 62 insertions(+), 4 deletions(-) diff --git a/assembly/History.ts b/assembly/History.ts index 6b6d73b..fc3a9b9 100644 --- a/assembly/History.ts +++ b/assembly/History.ts @@ -1,8 +1,19 @@ -import {getLength} from './imports' +import {getLength, pushState, replaceState} from './imports' import {Object} from './Object' +// TODO, for now, it is only possible to pass empty state. There are no dynamic objects in AssemblyScript. +export class EmptyHistoryState extends Object {} + export class History extends Object { get length(): i32 { return getLength(this.__ptr__) } + + pushState(state: EmptyHistoryState, title: string, url: string = ''): void { + pushState(this.__ptr__, state.__ptr__, title, url) + } + + replaceState(state: EmptyHistoryState, title: string, url: string = ''): void { + replaceState(this.__ptr__, state.__ptr__, title, url) + } } diff --git a/assembly/imports.ts b/assembly/imports.ts index 428cddb..7269b39 100644 --- a/assembly/imports.ts +++ b/assembly/imports.ts @@ -12,6 +12,14 @@ export declare function releaseObject(ptr: usize): void @external('asDOM', 'log') export declare function log(msg: string): void +// @ts-expect-error +@external('asDOM_History', 'pushState') +export declare function pushState(id: usize, state: usize, title: string, url: string): void + +// @ts-expect-error +@external('asDOM_History', 'replaceState') +export declare function replaceState(id: usize, state: usize, title: string, url: string): void + // @ts-expect-error @external('asDOM_EventTarget', 'addEventListenerCallback') export declare function addEventListenerCallback(id: usize, eventName: string, callbackIndex: u32): void diff --git a/assembly/index.ts b/assembly/index.ts index e0f5198..cc8a04a 100644 --- a/assembly/index.ts +++ b/assembly/index.ts @@ -1,9 +1,14 @@ -export * from './Window' +// TODO export everything export * from './Document' +export * from './CustomElementRegistry' export * from './DocumentFragment' +export * from './EventTarget' +export * from './HTMLCollection' +export * from './History' export * from './Node' export * from './NodeList' -export * from './HTMLCollection' export * from './Object' export * from './Text' +export * from './Window' + export * from './elements/index' diff --git a/example/assembly/index.ts b/example/assembly/index.ts index 5e3f8c3..0a9cb57 100644 --- a/example/assembly/index.ts +++ b/example/assembly/index.ts @@ -14,6 +14,7 @@ import { HTMLHeadingElement, HTMLSpanElement, window, + EmptyHistoryState, } from '../node_modules/asdom/assembly/index' // TODO move these into asdom, because requestAnimationFrame is a DOM API. @@ -26,10 +27,19 @@ import './HelloFrom' log('History length: ' + window.history.length.toString()) +setTimeout(() => { + window.history.pushState(new EmptyHistoryState(), '', '/foo') + + setTimeout(() => { + window.history.pushState(new EmptyHistoryState(), '', '/bar') + }, 1000) +}, 1000) + +// To test these work, press the browser back and forward buttons after the +// previous timeouts complete and have changed the URL. window.addEventListener('popstate', () => { log('popstate 1') }) - window.onpopstate = () => { log('popstate 2') } diff --git a/glue/index.js b/glue/index.js index 50a20ac..cfd0da6 100644 --- a/glue/index.js +++ b/glue/index.js @@ -110,6 +110,30 @@ export class Asdom { console.log('AS: ' + this.__getString(str)) }, }, + asDOM_History: { + pushState: (id, state, title, url) => { + /** @type {History} */ + const self = this.__refs.get(id) + + // TODO state is an pointer to an AS object, but AS doesn't have + // dynamic objects. Handle state somehow (with ason or + // as-json?). + state = {} + + self.pushState(state, this.__getString(title), this.__getString(url)) + }, + replaceState: (id, state, title, url) => { + /** @type {History} */ + const self = this.__refs.get(id) + + // TODO state is an pointer to an AS object, but AS doesn't have + // dynamic objects. Handle state somehow (with ason or + // as-json?). + state = {} + + self.replaceState(state, this.__getString(title), this.__getString(url)) + }, + }, asDOM_EventTarget: { addEventListenerCallback: (id, eventName, callback /* TODO , optionsOrUseCapture*/) => { /** @type {EventTarget} */ From f4c6ee098be694bfcdb2def5665d4086df69cdd3 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Thu, 29 Jul 2021 23:19:19 -0700 Subject: [PATCH 089/111] v0.1.15 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index aa42e3c..1c2f36e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "asdom", - "version": "0.1.14", + "version": "0.1.15", "type": "module", "homepage": "https://lume.io", "repository": { From 6f28f1824e0fa4d8b8d65aa38b72c97fe098874d Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Thu, 29 Jul 2021 23:51:58 -0700 Subject: [PATCH 090/111] make example use asdom from npm --- example/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/package.json b/example/package.json index dfeb675..430c392 100644 --- a/example/package.json +++ b/example/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@assemblyscript/loader": "^0.18.32", - "asdom": "file:../", + "asdom": "0.1.15", "ecmassembly": "^0.1.8" }, "devDependencies": { From 83488c556cf77528b5fc2ccefad9b96d6fe512bb Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Fri, 30 Jul 2021 23:50:58 -0700 Subject: [PATCH 091/111] workflow to auto-publish example/ to GitHub pages --- .github/workflows/gh-pages.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/gh-pages.yml diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000..2b3f616 --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,31 @@ +# This is a basic workflow to help you get started with Actions + +name: CI + +# Controls when the workflow will run +on: + # Triggers the workflow on push events but only for the main branch + push: + branches: [ main ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + # See https://github.com/marketplace/actions/github-pages-custom-deploy + - uses: sterlingwes/gh-pages-deploy-action@v1.1 + with: + access-token: ${{ secrets.ACCESS_TOKEN }} + source-directory: public + build-command: yarn build From 460f2009555dc869b6a2d235ed84f53e48fd251a Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Fri, 30 Jul 2021 23:56:11 -0700 Subject: [PATCH 092/111] update gh-pages workflow --- .github/workflows/gh-pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 2b3f616..829e034 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -27,5 +27,5 @@ jobs: - uses: sterlingwes/gh-pages-deploy-action@v1.1 with: access-token: ${{ secrets.ACCESS_TOKEN }} - source-directory: public - build-command: yarn build + source-directory: example/ + build-command: cd example/ && npm install && npm install asdom@file:../ && npm run build:untouched From 20a32823ad0d07fe06a46c8f54b4826ac8844b61 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 31 Jul 2021 00:00:20 -0700 Subject: [PATCH 093/111] add build:example script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 1c2f36e..e6e9cbb 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ }, "scripts": { "build": "npm run asbuild:untouched && npm run asbuild:optimized", + "build:example": "cd example && npm install && npm install asdom@file:../ && npm run build:untouched", "asbuild:untouched": "asc assembly/index.ts --target debug", "asbuild:optimized": "asc assembly/index.ts --target release", "test": "node tests", From e427e3a9f6188322f3acf880fdc0a6e08782f88f Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 31 Jul 2021 00:01:07 -0700 Subject: [PATCH 094/111] update gh-pages workflow --- .github/workflows/gh-pages.yml | 40 +++++++++++++++++----------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 829e034..c9399aa 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -4,28 +4,28 @@ name: CI # Controls when the workflow will run on: - # Triggers the workflow on push events but only for the main branch - push: - branches: [ main ] + # Triggers the workflow on push events but only for the main branch + push: + branches: [main] - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - # See https://github.com/marketplace/actions/github-pages-custom-deploy - - uses: sterlingwes/gh-pages-deploy-action@v1.1 - with: - access-token: ${{ secrets.ACCESS_TOKEN }} - source-directory: example/ - build-command: cd example/ && npm install && npm install asdom@file:../ && npm run build:untouched + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + # See https://github.com/marketplace/actions/github-pages-custom-deploy + - uses: sterlingwes/gh-pages-deploy-action@v1.1 + with: + access-token: ${{ secrets.ACCESS_TOKEN }} + source-directory: example/ + build-command: npm run build:example From b88ef0665aa5bf8cdf1381cdfa011cbd83a476fc Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 31 Jul 2021 00:08:21 -0700 Subject: [PATCH 095/111] update gh-pages workflow --- .github/workflows/gh-pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index c9399aa..7bc0cc7 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -27,5 +27,5 @@ jobs: - uses: sterlingwes/gh-pages-deploy-action@v1.1 with: access-token: ${{ secrets.ACCESS_TOKEN }} - source-directory: example/ + source-directory: / build-command: npm run build:example From 2b4a6c280f2246911a2d283b48436268b542d94f Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 31 Jul 2021 00:10:26 -0700 Subject: [PATCH 096/111] update example build to not make a link --- .github/workflows/gh-pages.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 7bc0cc7..c9399aa 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -27,5 +27,5 @@ jobs: - uses: sterlingwes/gh-pages-deploy-action@v1.1 with: access-token: ${{ secrets.ACCESS_TOKEN }} - source-directory: / + source-directory: example/ build-command: npm run build:example diff --git a/package.json b/package.json index e6e9cbb..3547f43 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ }, "scripts": { "build": "npm run asbuild:untouched && npm run asbuild:optimized", - "build:example": "cd example && npm install && npm install asdom@file:../ && npm run build:untouched", + "build:example": "cd example && npm install && npm run build:untouched", "asbuild:untouched": "asc assembly/index.ts --target debug", "asbuild:optimized": "asc assembly/index.ts --target release", "test": "node tests", From 30497adad2938ee9ea61d19169d14aac461e4434 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sat, 31 Jul 2021 00:15:46 -0700 Subject: [PATCH 097/111] skip jekyll processing for example/ on GitHub pages --- example/.nojekyll | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 example/.nojekyll diff --git a/example/.nojekyll b/example/.nojekyll new file mode 100644 index 0000000..e69de29 From 0740ddda7a582690b3f9e8cbf44274b17e7675bf Mon Sep 17 00:00:00 2001 From: Federico Commisso Date: Mon, 2 Aug 2021 13:46:05 -0400 Subject: [PATCH 098/111] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0cd7eb0..21a7475 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ document.body!.appendChild(el) - AS does not yet support referencing constructors, but the Custom Elements API is one that accepts a constructor as the second argument to `customElements.define('tag-name', YourClass)`. To work around this - limitation, the `define()` API should be use like so: + limitation, the `define()` API should be used like so: ```js customElements.define('tag-name', () => new YourClass(), YourClass.observedAttributes) ``` From 7e4b771e4330a46604f63fbce31375a1685343f2 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 4 Aug 2021 11:53:54 -0700 Subject: [PATCH 099/111] update supported APIs list --- supported-APIs.md | 172 +++++++++++++++++++++++++--------------------- 1 file changed, 92 insertions(+), 80 deletions(-) diff --git a/supported-APIs.md b/supported-APIs.md index 7e6f640..ee4531b 100644 --- a/supported-APIs.md +++ b/supported-APIs.md @@ -18,94 +18,106 @@ yet (or someone forgot to update this outline). - `Object` - Subclasses: - - `Window` - - `customElements` + - `History` + - `pushState()` + - `replaceState()` + - `length` - `CustomElementRegistry` - `define()` - `NodeList` - `HTMLCollection` - - `Node` - - `static ELEMENT_NODE` - - `static ATTRIBUTE_NODE` - - `static TEXT_NODE` - - `static CDATA_SECTION_NODE` - - `static PROCESSING_INSTRUCTION_NODE` - - `static COMMENT_NODE` - - `static DOCUMENT_NODE` - - `static DOCUMENT_TYPE_NODE` - - `static DOCUMENT_FRAGMENT_NODE` - - `nodeType` - - `parentNode` - - `parentElement` - - `childNodes` - - `firstChild` - - `lastChild` - - `nextSibling` - - `previousSibling` - - `appendChild()` - - `removeChild()` - - `cloneNode()` + - `EventTarget` + - `addEventListener` + - `removeEventListener` - Subclasses: - - `DocumentFragment` - - `children` - - `firstElementChild` - - `lastElementChild` - - `querySelector()` - - `querySelectorAll()` + - `Window` + - `document` + - `customElements` + - `history` + - `onclick` + - `onpopstate` + - `Node` + - `static ELEMENT_NODE` + - `static ATTRIBUTE_NODE` + - `static TEXT_NODE` + - `static CDATA_SECTION_NODE` + - `static PROCESSING_INSTRUCTION_NODE` + - `static COMMENT_NODE` + - `static DOCUMENT_NODE` + - `static DOCUMENT_TYPE_NODE` + - `static DOCUMENT_FRAGMENT_NODE` + - `nodeType` + - `parentNode` + - `parentElement` + - `childNodes` + - `firstChild` + - `lastChild` + - `nextSibling` + - `previousSibling` + - `appendChild()` + - `removeChild()` + - `cloneNode()` - Subclasses: - - `ShadowRoot` - - `innerHTML` - - `CharacterData` - - Subclasses: - - `Text` - - `Document` - - `URL` - - `body` - - `createElement()` - - `createTextNode()` - - `children` - - `firstElementChild` - - `lastElementChild` - - `querySelector()` - - `querySelectorAll()` - - `Element` - - `tagName` - - `setAttribute()` - - `getAttribute()` - - `innerHTML` - - `children` - - `firstElementChild` - - `lastElementChild` - - `nextElementSibling` - - `previousElementSibling` - - `click()` - - `onclick` (No `Event` object is passed into the callback yet, but at least you can react to a click) - - `remove()` - - `querySelector()` - - `querySelectorAll()` - - `shadowRoot` - - `attachShadow()` - - Subclasses: - - `HTMLElement` (`
        ` and various other elements extend from this) + - `DocumentFragment` + - `children` + - `firstElementChild` + - `lastElementChild` + - `querySelector()` + - `querySelectorAll()` - Subclasses: - - `HTMLBodyElement` (``) - - `HTMLDivElement` (`
        `) - - `HTMLSpanElement` (``) - - `HTMLParagraphElement` (`

        `) - - `HTMLAnchorElement` (``) - - `HTMLScriptElement` (`

        !;iasXnDavqL}y5qfeiP!qQ1|y=ken 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ⅆG(}k_Be7 zZ_grae7m0E5677$QAZygcC_uc7_<#0!P3x=WO!MPCqHV@5kct%F3ms?g3+O!)LIR?--kV!i$*8nKOA%o#-yBd++JLroMk4=o=dwL6VXa94g1h$0w>Kj>u_? z;REUzoXx>P;AqeiMtt8F(dwDuO-;Paoz;<^@hdC?DyoBrBqMdo( zPa#8NMsOmJfg%Jbry_Okj%t&yrVB9E}y%R5H*+DM+IwjA7s%2n6W-0|hub zTnzN|{=bJ9fD;gevALHQ%8|3S{*it}2Ij7y2RDWt78)Gd2r8-=L$oj`90F`X04NJt zw74Pw9ClQR4w`jkKO$$?LKY1g6w0WffLV9gVFY+o9$^29a2zt6gmCl<*D%M$dbz`7 z^khm);i@bGG14tY*|J8JS;O&n!I9Jy^kZEd#jtYnG8!ngaD6yJL7zajksW2Ga3kU= zT1NgvEwB`cVy?B*W1qzABfks!9q2$T2h+Ih9$a3k5!ago}awDUnUDX}Q&?p^>F_A~BT=H#0l4f&P-yqcE z8FlaKq6IVhLZNeM64L7AT|sjx@!()Z+0ru5&s%wFXU8+--0Z=@2qJ%H$7nc>ogu1s zQqObBH`A9cHTLwNuD=a?*lCGM&7QbxRpAk;XEWqoQ`aaMsJc=(XE8OPmmBGhGw{%4 zj;7_(KQg@s-#__uF(aeCHwzr9f4q897*-NuJNYtQmO|&$sK>>X-R=RG=Dp#quaiw+ z$K0j%b1aE+<`O0PE{alE02GkK2yo@L4Q3 zI*v&#vGt=+=ANH<#s9G+D$6$`Nc0Ml({7}XUTZBr1NJd|&0>BknJXt!B0F0j^1YhL z)MF;)-po~ieLM)=*r?M(A*1U>+m#8}(^oD9qQ(4fw6?zAoHMc13ZE(CS?}%aw9#X# z+__CxCzyoGnQd#EYaTue-@fhcS`ha4?~L3nvX9%~d#0>>n5AQqxtY%<_P;HB6m-wF zu21RFH%wL3v@aDGUpU`zj!_Ud&FyO|E4nOP-V->bAWZ@-$l7UvR92~=J`v5Q(@)#x zto-N?>h!bW`vn2Zmr>l==a$&>rwXuycw&9tN%}0-EVjFr% zA46VANt=)SnjBgVn~(AyIz@SDvK&&I{X{v2Bh~ABLP&2u@{?L4>G(SDQHcrFsWWx* zKF@l8@AKFGc>dgd-S>4r*L_`ATmr_Fl8KdK2pqfjEHA%Zx!%(D`)m|7CQ>>=4jmd= zm4%Vhil1gnCXRm{Q9Ugxy7@FKcaRtadPQwL&Jd$7^tFoucWl1=bNPwM%IgotL&;ps z$)29X+x6OMd!T{m&ScNsUFYw=|6{TJr>!`AVzb) zibg}--7fI(Nq;npX{BofTlK)S9@hS9{Sjg-*H5uCaM7X4M&8* z2elNeHHZ%b=sGOCs~rw!XiXH!osG-Lu|k(DPeP?*ZPf^mp@TufT76d|sHGzz007-U zrWMGvv$j1tlO<%kN3v1$1c<{!vjNDXvrz{AAOK)UB#aIc3s5q{IOguYTxv*&8Jrpl zo2Kh&5_~n0=UQluEuev$F#`?{)AMGt)wmdT>)+q~+?{*I;Y8Ifqw;w#HoXKf*PRekmVJY|!j%l#lk9%*|`^)wR z-8!duu9NBWto89DmZbK(;n~g_5kDv{Vrn#$FsoMQ__Fs=69T8#r=_tK(pMiZZ~pVk z^D|PmxA=7!&G^*Tn!MwFa*+d5Th-rO>=Ia-cRZ|#XBm*@Bp9*J*{bO3c=O9Izh3KC zdgg#gTdhp5tSLcrk#a1zZJ}%0H%pRYGY78~9=>~<9b?m6^6R^I{p1$|F@#8<{-=xQ zHvjw|yR|vx#^SkiXS=HX@J*g^4jD5Q2vPnT^b7(l8jFq=8#}XF7Zi&Ln5&Y0=s(Zp zmGU3mI@>o}SSlt*lAAa}n>zCF+CY5m%#QN%#A-K7&d{h}AU^vVL?Ivmcz9#EUpcjX zKwuL;_on2gJ8G0`?&28b^KyM%aZemKT-mqxbolL^s+BrH)ohKE*%bcEgZbrnR` zoWGykcN?N6!h}Odn`k){Zk=S5-m3oE<~j8GufNpl9pzuv`yTP@6MJ5@D$1dn=_$Z? zpu`OmsV}U0Io5z|X+-Y<_Z#h`Li;8*1lP;8R+E z@AcKB3o`#UL7my7`JTa%*ffET9g=Ab5*ZFZg*Ubr$WHm;xCCay#Nr=QpFVx+KHxH@ z+}N0CdG&05L6B~`Dhm{4W;e6Zg66c^*AHd_UNs)>{`cP>F5ftin|WA9Vg?mjuu#z+ z`5`G~q81VV(c{i8#qIEu-bcipjpz5~40M-3G^2Sts`GSs&G>{WbamnG-|kxs3WaA- zwjLfl{>!}1&SO9LQ^}!CW}Tb=*}Eik4IEN6`O6YWJVVQLNkF_X4iwddhhHoVc3?Oc z5Or`wYa>|SL(-=JdKeN^wg|K)@;Bq~mVhHsL4j~iFjN70u$eW~oniM5&DKwII}Cp- z(*`IM3V^k?1y5W;Zo%Vpk-DH89*zKnL$dWv3=AL^VSvXQVK7=yOVxZ@M<4)%t?#}F zn+TWK7Rru zZ)9%?n%WtBvrWabGAUGZb6>7+2!{Ymj3C&->Y02KJR^}BIMggX_28Qcz>Cd}Ch-ai zEN~=mFDjKx_C>+`1+j&bQa6fdNmg{_6}FAkjuki8N&*7X;%CZy(~1sOxdi&OOtQ&S zD<~OA;Ce-ChiONrlqH|rYQHZ%GJ(Orc$$ASrlM)G^;S=TdG_}?R2lByGS({%F(})(>kkMk1Y1Z~xmYm$An!pN* zojA;KdCP20Zg+P{n!Be>_EQKpl#bGowC1@bLYbiC#+bfo(#{&im+6eK-7h}vxtS82 zgqnM}{LblW{Z5j7oR)M@x@q<6EUol?`L4d8_g@rvp^ayHg^keBGqh=xTcB3Y_l-}l zuiw=ei?y_vj%T*cUw-lg0swXEwmzSi3dIA?)W!$(Z(kOrRox|fpnlz5RCH~5dAZg_ zn(rKx%JLA7x)z=q9A>-}W%z_AhKsOGi(Ng>R@`~8-^Jm+uneIYIPTXpHV)^?TkmGmy z)mrz#r^>PHfT6I}ZF~!!p94)AA4?6DWT#c6RQB$;uefxqb+B%Vb1Lt|!sn%;@14@B zvL$-K7T6S(DxgZ*3)%~Zg^}(QQXGN7Z(s$tA3JgD;&ziWCRNgjI^`~1Z}9?^{_ft z$W4|AL!6Z^^uD(Ke_6U7uO#n1EFdC+@Tv%iz(AyPKn3v?E=K;i5RI(#I>jGomd;W( ze`HpIrjpC8blOU(rg?Ct9dBE@QZlvDnx)5S?)FRbYR*dYT2tF0%Q4-3U)n$Lp7(Rk z`#zuN`F=m2=fNNl6r2o6N6;dW&J57crYUUmMOY@`!(4$g-saZhOy`KhH@oIi-Go8~ z0KFz&(bnhcDzszvmU_3;44w6+nAp6SL@uA|Mg|B>d$E{EB=Y$lu2e`gq^Gl8WKyV8 zljIyC1OUWz4JeT?x2N07yy-9ipvj(Wy#gooCfSk&Z0CPyIvRj0g{Xv^8y3$(un@MH z2s&(V;v)q`d=V2AFc~0|>gFu-+C{>#ApIiB6;kSJ=*@j8yN*pS?paCutGYPF=C7qCLS5kiFvPchgU)S*g{rlTbhN9?NdURS>a!ImtX|G#bzt~L|7^r7S1gI3c zh?}W*&Cgi~zHz6PzM;rd*`-EiZVG#(TDKlkKebH#(Y#FHasli}{(|Dj#!F=k3co`4 zc;kD+^Ea;&^nDerOG^pXiGWhh(qBsuN1k6DUrRKf`1ixQ ze{{8@4jsNQmVKk-^3}}#zPuOn&+lf_RAK%Zs2vyJ*v;e1!`Fr?d&;KGFUO+vXAI|_ zO)X^gRK9ul@$ZX+9ux0ASzMfaWW4+FeYIUzLxazN)hryJy4b$V85=7FZ1(72AFhZjOLbDHs10zyWN$`iUT9u-C)b$LI<_=yofydI6E@UaEPq`XDr#6=G0@w$ z9q!EN%y*L%G&Mi#vG>TyI&ZZ;QS>jgeD?jF`$zSG$7D&~jE?fc&C;6UsM-`TsH|_t zr~kS;5j9vGAAfLkeLcIRrbuFH-LWBnUeW)O1f~t|NmZARRPq(tt`s9Zxh9Ip=T&~b zaa$oiwryl}K8&rKoz2v0nU3k@8U7x22vnrlc<PTn# zxhRB?dKZb@L?X7>9t4pT! z6&wH!>3uX{%Qb)zzzNInW3gc9!(#y0927@G*fBwMl1wIHVU6v6P5=NP07*naR3Y{R zB4a5?*!mL*RT|Lpw9acs6gWNYpJVv)^YF9)ACoDiK9w?iqU3Yf2QO`AOnIr zid+~&teY%us0<`vT%dxP8X2PP(X9iC9ixx;o^0+pbADp~XItvn8g=sP%Qt7LckZly z|L5#+^OLJt?chg^jlmZNrD`p|t<^!O%XQ>1Kmt*v;&PpQ_O)Hw_T2ooU&F$y8V01s z{*!UH4Xf)N%7wRM7Na?#cvognK|%Cjy_5rj9HH1$XqcUN^Tr(0e~}yeV6k{^-cv&z zv#jaL-EPkO{C>om{q(I#+kV(EmAJjucaL0byy~yL|4`qqZv6F?)v8gr<%Vks8L)@Y2@17OPTP9!DPQHHGKWBXv8(~>Hyl(YfvW!jE z&jpRA+3`k3(}tfYMAGXU+KP+x#_ik3&qt1iTU0p_f-M#p_n1oMGZQXk6n?X~`hW+>VSl6d@rp-Bq zDnIv-w%O)B7ktA2OF+*2;m5oKrKP%P8gAF1{Oq2Z){{pLcRQbUhc~=0_4Ij`mun+b zU+>Lp7a&!M+(@IG8Q7dxS)LITNno)27*GSYr$&-t6I=NIXTiq407q7CXlBxoEF?Vi zL&r00XZmn1sMFsufVOln2msJ@I-PK3pjP)T!M>`XE0z8t&0u%rSYS~a3PHZv(1o3h?GueTVM~-QTEJBSIB}8fxQt>=tn#A)gF62ydHt%_<(5|E=iOXBbOH!OeI#W*1eRt0N z|9xM--*w&J&+q&Bem}p@SD%S8F~bqbC#k|XPpK3g!fhFEW$;-6g`J)E4&17J!KiPR zE>q5=r{BGMexWEw*3=E_SMY*zwMWFzM&i8nru_NYA8 zDyX)%EoA+~$SG<3T-A3&>bjC|k7hb+hozQAX)$FrMFKNRKAp~TdQm?6WnSVlA~&Q; z*GKC&?#9|qZf*qx;jek@K0l;NezWG1XJ;8NrMO$R>=-ZzT=JTYUK#BflF5Mgnv7vS zbT4ZZN(;(l6YcyVG<d?aHa)qdDK4h6n2k%MF3^lAAT>Z?Cm%2Zq|YT=FW<9))WxHFya_CDUD9DV3=S<)CVuX=mw z*W)*{F1)mDfAi*&Tcv46*FGVygni}i%cj_DJ-zHR6;3S)=ax&5!m%frN?udCM=;sR z+w`I%qr#XW9E)Pf`TM-`MYh-S6@4|KJux&I001Z$Mic9AybTGqyOAgm5MV?#bvk9c zJ#hTP;83U<=#&ir!1r4KTL0Jq|6K=!YpCJau2xnE19fe(F$9BhfD+9d2^=;83IW}M zY}8R^2-gS#$ygU*4vz9gB7g@@gy|9yjsycwHq(KG)`q~0{r$fy5wTcMOQeDP?#ibP z000Gtqu>pVVP@v~t{ek=s$b!a8-+jC;F|{1d@WfNgt;pxl7oPo00}2l-G`xpAb_2e+w=>^MFFSd#uN&IoKEBQ&D@Lr!L?*%>3GNfZh^od#H;O$h!j+r$D&DA9dWrB zariFo!Sb@Qz|>-b{pm0einC7)&Q^M=Elr+vJ=UUnz4Ovw z%2wn1_top8WcS!u7x#R*o<+QcPe$j5(M6SNh(FTp(&IV&QTn#yZt&XXD}tv_#IXYh z?#Zq^pYzI#;fFexG)h)A2L#1ag)`7kpLFJDWnX?DZ$)7O10CW}0Ad@W*=(4n3mZ_4VT=cK}2%O$dTWW9Dc3 z<6N%A1o5IXa1E1_y}fiUFCn_zjFB&ANlXOcjnc;GnVFx5*OznKL?uTul{KmVsvBu} z_jsk__0Ep;!LBxswKbn7IeA6{78@IjW0fJT=GZj7l!r@OTW9J|SVraMhLuWeFliPT z>4G?=f2MCobwbmU@}8o%g(vJB8frs_yxD+oU8f&hk`o z$e4A=YVP5dno)U`ZP!A^>^OJ@czAuOSt6nAYVEjwXy?tFS;^OT-u(Jz_x<_9sm;x@ zoB`=v{bCoEY{(Z~iQ$&!0w3~g883yF1wccydxROgoYX=sQd#t?Ls#=FSY%6icW`k3 z=XW25ttDX^BookbPF)ui;*!u14HPK(18qHRFk#LHFmV1ia45q6mi7VR4%hu&|NG}Q zFhm2$e&HB66bGlk%qVaq&Y8ANm&t?z2O}IvBy=$V(Pt8H5o}#8Bq%V30}KO-AgV)g z02465GVp3pBwE`LOJ*2@7C!(H0H_5D391i?1~z(LMhvq5Nd_5fXcFdZ&gOWsSfwrA znLA9YtGShN4%%dlNmxW#paIS*EQqNFW2BgH{h(&L{(6?s2v4lF1B$8{s7}RVU}QR$ z<``#5!_8z6dmf;9jl5mYx30m?!qYr?<=0LhL7;2|DQ zqM6&<Aw*#N=k!b0`ip4jTt{Nd0x}0x8bn<>BE0S{A8(yM7?ZWD6s4 zaoT~S3u4T)b+KOnI@g|SSk=}<#qzIZ)5)6b08a?bSsy{E$Ul4jQu2kS1mzLMSYEv7 zm%PgNeLQHYHfMdkp}GDPvC*eFO&F9|a3m+eJ3M4ssGk#l?qEO$cj9SdF(40@J>6q0hCiYn6QkO5uGsx8!GkdZ^y^Zm!wV(@td{%_i$d zMB4BN7bicBsWvv;p7$on67GEXSkiI*zkg0fI*VZ~|JnQC!QR^83D=)ag+A$g{K2Vh z|M@CD=ZSD`?f)cQdpwi-A7^aLWld&o+oI(~Wn&G;iO#Fs+Hsl7LZeqo`bj^zxczo!Uu zbIWUM5x(jeKM(pj6=jm4At1G)?R4UVLT>WkU^jhq;a*Q?WFTXCwk79bZ*NUO{?NBO zT}$zmtahk#VLPW(y=_N+sIg2gXF0B~W7PqAp9c`2ppwCbrTn?IIw`BF(2=9#Qd8&Q zW;Xmbk8PeYBLU--d+Y87Db!q@lMTe4^eiL0KXE(t_UqeP45NrnH{wwJii=Twbn~P! zX#r#A-Ko!8jh9^xxFlDL8}q4A18-WExbL#DkwWl(x(=!IEI%A?`$-}yy1is%Qu1K$C!dFh5&nAqi5 zA(BXP>XN)_9=?&97gTn;xh2-$6E3wg`5CNdt$ksFr3G#PU*Im2$qb@&7Pco|i>{wN z#%;K1_8_I} z+F9S^_HTa^Y64z^|}k>MmYRiMBj>WXl^BYL1M(B23i ziBTsYFer5p0KjfPOiOD|0swdSo_R3*2L%94`O#1b~(V7|nLV(LR$_T6mR1;tx z4)GLMcWs~+(HI!k#>N1Hr_oBU4GdXEE85<8n#bs{#j7gXkuCE5P)82|Y+T8L636WD z*0suxeA2_B7Gu(FbhY=PF>sO+(oxCA_Z$`w0b$O#Fd|eDO8`&`I3$69M1mOr7zbUv zE(VDN{lEb(U;#iPOhrS*NCiRGfLa&>XRN*h_(d^i>6TzR#%_*I0`ig?i&~p1h}T=PBr^H4z^6SzvkM?B+$57Gepn%mv<5^ zLrJT1#cYZ@0Ww8{JPttdG3#`ZWiAme92d&u(&-uvHI z*t~}|KBCw3wBV$Y8w{J~>E^TS(`>Ka(P_$Il662UpLis5LrllTaem3U|DJtfaB2#_ z+)rMrZ94v2d3i%3IMh!SJuEm`RH@*?x(RpkNxp1n@fNG+w!O1e=J>|e2HuxY**eol zr&6w%I40y;H*y)vZGWYinkFab6{~$}E7Dn$SFcZSYO|3N(bcrDfRJP7pPB}b)v+t+ zT*3Y$IKSy;_r&97<-@~YM?Ph_GE@JB69??|AgiGbJ&lb)+YpfB8UYA`(N$CgHwZPb z3P?B{uZYlwVvNstf}{OCcTQz+$p``00v=Vs5>y~yBNCqZ z=L$NT++s3tNKSqLQ<)K=UI$Gt95eb`6Z_jw$qH647Wl9I1uX z#5mZ7kP&J)GC7P$bUv)6fF)x!6#$-(Lx5@@2_gWf0+33|#%MGWkB2D&z^9>Mq;5b^ zGqzUMB#?=rhDeA8TAO5HL1YoJFvPO~%Wy*?4i3d&6c7jq=(nJygh$zWM|nFqTK9>3 z#PcUZqbb&nmuFwCi1#1CtMH$>$1ga~gwU2IW9kQ-acS(+kH@?<@%awLQWsH0|J-a% zZ(gYtldSdWTX(i~rvIa_-vz`lk|F96kJqxf`FQm-?`oY-&VgegHr@q!!8*+gH!51Z z@{X2#{K(0`p%6WPW@UGcP#}~*f$N;8!qjDAYhEHEoE&e&2E>*6=>{e?#g_0kd)Ebo zOHqkUk)8$~B^OJ{ZGn+r9t=PFwv&(>v$4I=$$y?B<#^9--uH=MT=rR6-EB6J$;%42 zwlQhaD5q@u)a-F?&*I|Fj;t-%K?#XIqpzo|O#-*5kxrKF;||NqcL&9ztGnyt1Fa#F z%}t*9^Uc3kKYkcZ4y&&xRfqf)RP2DFaPyZp-?wlConOE~-H5x>)ONW2z))mv*VL3X zeQvR#D%7zQUzB$AXvxHf{m5sTVqDD;}?>0L<+Iv^w)PIL@h3j#YtlmQ>uNw z^k9bm{1aAsvAEzTCf_N65+!c-gM`<{kprwU3$IZc2YngmrL>ra+B`Pza&!CtS-SRU zHq$(ugd`%71|d^~plYR(kVxo>+HPEiF4}H}X~J<=)j`t~6FQ}}HF2qGdr(W2;jBds ztAwals*|FYs%yxpaH=FlT}tiJV!tml|9t2D=RN29&iS6-^E~hSyU2n{coJD_k1VHO zk-MXL-#FxzU*L52?#S2ODeL5PS?lnue}4YS^G<1;Lo;2In&H_2*CUa^pe z{mbS=zv_r|t`|_GH?NWOxZ!SsV1{$T!u`Y4n85zpqH@2>=zRC{-A{kY<0>kGY>PYFy0@P` zc=uHDqUsE|oU%VsaImnw?VrgOF#)j}BAgu(lKKoe52#AYUd!SUx3q0!~P(Qzs zntG*DaMM2eL|x^j#>rN%cHDH0Cx^vpv2{6V97*2U{uA(XmBx@AfB*o|7QX1{0DSIj z`9}cI0q+L2S^b6p=0W&_VgPsmG8sIeN1?P`gbgiVNCT`XP0s+zX5&53P`E9OLe#eL zGzB{ZKmj`r1!XlJ4eUo4Vx5f*kq}d+otLwx?;(Ahjsa5JIY6uW!At?T4unWFKtd5n z7^l44mLHFRp^xAL*(@Roj^LIFGS0<&4Ym27t}JF`>D!X1kd%tFQMw5=7mk)SHfATwydiiP5|9rl8l26hU@#O$JcFpM2>{GJRu_nJSS${wrw5+<0Ssh7d-NW{LrJTRJ#HUfw?P!cCHGO`%AuDQDO+R?-#k`_6*>~pZ@6YG=0kmb_Utoa-P0EKJQRH|h8Uj6FZ z2&>GDmhvcRk`!dwvA3@A$CKA*CuI>OOPlXTuIA-2ctW96+Pl1XNntN_t@AmTf{&+K zoON{!>sL7r=J*#A0#~-w-nm#?YFq1lIpFO@2@4nYXX8$V?C!;V8Au7Q8;_1?z82l@ zVKw)g--p4OU969%!V%c>)51H*=0j=qGyEoyX*_TinkeI%H`_l6&2sPiJ90OWt9s#@4~7Y z=zS*auf6B@Y4yOQkA97vaQ!}`%GK_;q2YOQPh5X( zVSNdIz0|RGygI2Qsx+pPSTkL+#?|aBPFI%7s&>3qJe|b|uqw^9)5kI+1A(R9Nwz{M<$KNMoe5oR-Wp_dbW-EGh|z z$zqoXmGQWeNA(w_5j@G_`o!K;)#HctFKd$qgOnS~R%2^#!-9Qtl)M6stZ8reg}ZTF zZq=aJtV-ECkb8?6%CLr`!vz7M6g?U=G@xHaXX)jH2OFxk6rEyvKtyRgr(Yn-&Td$^ zu%k&g&j-*v-$t-iFFmNGP#L$@KBPQ2fF zIs#~pseu7mw!A5Qf2UFI$*O65@%iB6N5}5eH$M;FyO`#Q4EM-87N!T;AeF$xFU_{d=QehBw?iB&{x` zd4l6+5=>*JH7|5!AMbdQZ^3U?he~Rw9<@SVMQn8}TeoKD`sVYto&9;1r>9Z&=DV(p zhklEe1H7oCWpd(juaM5XcIS~J z1%HG4%n^vK9L z;u4i(lCU}=E^l!$PDj7t>*mnp4~;`EX=syj{^SpTZ9IReYi9TM`uzV%y3(MgvMijJ zkPVXX!V;DwkQkRC7!cA4(P*QIIO%S{K@doER5UJ8S^hD~-sMGLS20p~uvKVGHsUaH=$$~ouz&OPTl)ABC>_q_tWl02&C+&M-UF&mk^XEw*%Z6^Vo_h$l8dghRZ&Eg(FGz^0oE*jWD%k!bU# zLZ<^#rA2c@`I8@)$MSXSE?u^l$J*Zv^Y^11ZZ14~^r*V_)gQ|ZqvP_<&gYwA4-T#l z@~2h|QNCU+BhKHCKFMBQzVayccwS>w*h|1BVgLXj07*naRF1NtM)}4g2U$jdnV}DR zS(-3lrpl^h!q@>)%VY$@%0%Oh)0Z|1`LMR4yJpvwqOHiuR>RVK%j2zA+$%GRDiT`e zyH`I{C5Ze7=2j*@Zd+aonCw9LdyW-&MA#p7bMqSDendvu&N5q&TABge>f)0W78HIa zyP$cdvok87q4twf+cb1z&%4i`4K+oRi;Ih^<0__+HC=EaEhUv}>KAJ2V0@wE!KO!} z=ex7m-AgO2LwR9UP1Pw+i>_X6Qy$NIF*7gx^VhdCQu={&1tkYp0r6NUojmaaS1hD; zFAvw4DSJAK(hEh(9Qz3KL}u9QU-!M4SGGp9KMVvM$UdiQ%0(F@IeYhcP9Uo6bZ6_Q z>EnG9+{rE7OLO~fU$#&HTR^10c{R&!xqr7M9jDN2uiu&xpM*9TeAl^JhGeD1k99|h zt<285yI=ozhO#HAGL^OQNZ_?tkq^7_;;pO@9g+lKON)jVhI?QC>wmw$eW$K1uB<#nxR_jO74(~_;59`^`i)e64UpzRrH!U$+R`OP5*UDpNqYLp*_e*4^| z$Y*nee2vt*d7y7*z|u$5DvulF^c9}0jeNE3X=ao3T=8Ue@_`!n(a4O4S+t6YX8gA) z9lFe1&twjd;2N9ADvT?a8M^hmQ&ml|Zw6G0wWsQm`zeR zDS3AJ%AkXFPcGU~?v``JrQpQHUAr1)`%jKc_wqS18w`Vxo~7CSs60B@gCgB)F0j#0 z$#hj9==^lo@nY?u8emoua-0XlSRT*T3XdG!2dDxd23Rt(@ln1I+*h)7XCc`YMo0>K!RM%;M& z?Hf}Y5Q+iTht{wKavy@o#uz*c!UOVwLIE0ql>|wQ{7kuAa{`7!rW(0mgG`tTyDWHp zq5PngSP0=rI81oFuiJW>;HwScsU8@qz%Tjf7Vy8SiGwRb6$*th&Bz%h<2fWg1sRA$ zb^_lyS=0BLQ}}#9eE>Rvk=!OgEJ(W(q7P(+C?eBj_wWj$BJTe3CM0~woD1Xq$IJJG^Se4xM z(4J%V39Z)x+x?vc6%3_vz4Tn<_5PBM#nR!lh&!&V)Q=xaXZs)e9J!g7nXIqAn%)26 zo7;I+WnkU@Pnq0_43UvpjK<~!fHthW#e9L*Kv0RTgGs*qOV@^OJnsuK3%~X3%Cl$g z@xgxYYmtV(_{X`)MfLR=`sB9arHR$Wmx**z``pTzSASpVy3v@Qnw+MGGC35Y?bnCz z^d&~#%O11LOHj(a9+rd+^}f&N%YvopW(^C&V-F(+23G@W#>XkriItVE9pAj3?f@>J zj!7jF1R4!DHJVFjTc5N`4{H3Wv*V>!`wSrIkzTnfu`)Hc{mtg87LT?{{oG3VYX1C6 zI=ey~_SfI5YX9=zd!v&n0j1wvzqc@(>|?3R)TIj}0?+0!G#p*#^q+UT`X>@HB_$=T z(|K-E&3qRnF3Pv<2W>i2GvAXCn(DgJD?6Y9#=b7}Rn5P@}J=c_5=5UK*>QAI? zs5~>Kh1sTxh=DAbHsl{(`hpWF_cN^ds>H1+#l@#|d8Y#t+O_xVbvs^IjxSDLy`KHY z!f^hFp-snrdH1<5zb-Z3?T#eelb4?VscB`Y^y8B!7q{;e=z3dnbv(~Rn}RXf;}NwC zZxLO5PU^Zp$UmecadonPsXygq3Rgwbo0*q1x6gG+1qo+G!uRUG{rti#U~+tqL=jZ(cR9*Kbk@f+#% zC9%+W;2AJ$nSUw@NzSdwe-i=MU6Ta*q6&_OSX610lz>_XdD~`C6QeCKIYV;I98BvaE4xXs(6b^ zEz>}{{VF2coQ7pW5(q>pu7e$!uX6J6v@xYqcmTa4PK?Sxqzf3xLgT4ejxWa<$zRa^ zPtw)6Gu`ju+56^gYqQO~jV*<2+1luFQjIwyrY!3i#TI$IBu)LUQA4p#5F$NJ|a4~L#&^S)YR@Tzjdn}pas`jk3L!K`Yx-VU8y`f zzP@h%<T2cISM&X6nrb!W9jQGL zIY)lIwy}P2<@V~hP@(SXyz$uQ{-F1%^DC9@yLa~v44jaL8AcQf6cJ9Lka{|{9?GlGtXSHCTIGxo7uF2`Odh76q;-m$gTU-4~xwfE$}(ALLwB|JX@ znAE=)*Ss|FzT^?NGs-sqVeZ-7pEacULPdgWl2)g{I5Hy->`E^QEOpPWsT(c3DE~Y! ztm)6zDTY>FJm~H19XR;?dz~p$w(w&yBRExm^YQz#Mk{63%I%GH^B2EPy=ZbY>Z8RZ3G|bLn;S^w5vD-sBEj@TwBq z+TQ$Sxcuqd(D}E^he$yg`W{u^n9ZKh+LWB)x|}Pw2TmmHs>{yS2)M$lXMV{ND#;T6 zJ!K1n@k{zpYheX5%~O$F-*Kq6HM=z+nIPo~DcbJN$sTM-2s(W5eSDn;pxdCH4}+k? zm>eTZGT08b7k@zua2QaTV7247Lj$)bI09!0z6jz`;Bp`aV{8o6jMx$)&2qq#4Y0N> zC@`kbFc=n&BLf)17#LVs3IQ|`-%b=k;^;=$!l=2a)p34krUTl@*%*t3;79~eTmS}# z0DJ`C4-gXqfj~k6lv~WVq=i!96cd^e4rc_kA9}R0j2%iQx-+N-2n58|7G{ZXA&HfR z`3<$L4xZ{{wSsQ;IzFB4UuKierg1~eLwp5jE{ARBWCUP;CKI#-(UZ=;bKq!9uv(R2Ct?3BuTK(PkiIK2*ol#p zcT6TR2-y2iUxRQvmAs_$-C~cF?B7kacshHl;}>D}(76<$f?pppvvl*vf*yd;@fkF% zv!NIg4dt6qz{ny~inS5aQ=#fp?QHPd*S@-3Jd>8i>K-f7&WGga!U|yXGfR(u+$jmH zE+hEm_?Zeq>J>Vvb;#UW%jIVS8=Km2{Zi+pv5Vn-Rfx0z1zaG7(j@-!(!nx$1`o+| zR_a`4Ch{9vV%uY%O;4{bYi4>%|Cjo`VtF@cB(T1zU#h;l_^oAaZMMnFcL&TaNk(nt z8Hywjrb68EU}N=UZ|~~H^z2&8k=TR%6MLIYUl((9%O`sWrW0FkKe+6oQcrx62H$-5 z*yq3hd2xH7clS@vZq;be?BEEF6D@akZgVpN_|u1`R);%pyiZ_{jb+YVnZ9?pS#n^o z%E7GkKzJME=e@F|iIu5;Y;3F#3krJX+K25DRQjc!#UFjGp3iT*?^cr1_=Rd)u{x{u z;oFZX$GJH=t-rlIzVm3z&B?$1;p6kK&f*j+$HLgop`qE?hU~8snzS^LePgmt+cne3<5*GI5gZ5}1C@xY z`n)QimHT`93r4~d#0aiBA!%%JQ9jC6?YQ1H*E;s<$)sMmDSj?@mX3tmOOus!uQtzs zIFh(Sar!6EoyIJQB)pm4PMX>Y;WpNm;d)S6J18heODNJ(cajDdtw`BhaiKG~BSB{08mHosN#_0+5TMZV@$9{%!~_%R{| zeqpbdP#D*-b8GF$x^70F9$rAj(X0t{2G5vG#FIdyHEU}V+hmg2#WC&Prsm~w^+V-NFiTNdX}gya1`#MGVXv zQkFGR#&V(M;b5gMZ|PAAi79n7Lklw%)6y~w^61FuYP7^k!JKlE<*3tA(I!(|D&86# zv!myjjW&*RzR#NX2YlD{K6^j=efG2ErKMHO+RL*b%^w(8Rwo%Zmelh_7{w4-Ahd=s zr54N`A!h9UJF$GMof|E~grB{&tLe?63nAW363w3z6QI45@umeb{O>MN|f?fB&Pa=6g`&)NuMh&ccLx|Mg_)(?pTGsV6$$ zkF~L(w?lJAKCO(lidwiMWg_|o=0d*-2GqviZN`jPti8FsN{0`%kHY-ZM{XQ-J^+O zPF^J2VY2LfW2&>b+t}RE`L;e)N_VZSXs+kw$A&$M$?QCAsIG`#cs1G88ojU}9&L>^ z&`;Iez1#45TjF^U%Va7y82C(^-S4iNBHhARKXN%7n7=ogXAjZWwIPvkV6X=@Lx0N!&A^jI&^^@A z5s8D70>fisTw*1x00$-=xF{Nfr6SO1G74g2?qs&vg$w!$V)0vjd@W!+lDB{u;}rz~ zyYz8zD;CSa%E}1^$60I+B!IzTP=c>8^6Q}q=F*b=xUT7fy!Uwn;mHvO3WD=Zkq0Nm zc~z@5eQkS!83{}x^`D1j5d{fMZwhE^uxWsVg+kG21cE?dCEo52G$#^612Z|6m~D;_>XbkZ5tJfPqb`J1Hq3lOPVH%&PKowsR)iZST2D=Y*;!Z}hugEh>{dLPI4p z-3yJuG$*7C&&yC`&Q9%`=Kj&bWC@&|DQE!o%t1;L5a90W>VU>O^ALiViQ(Eyy3WcV zui^)nE|=OXH^xZ=IH-^@<^X*T3*jR>toiu zHZ`Ezvv+V%`%TtGZUPe%fuRD)Po*C#9I`d9w1`)-Fa25iz!jqipu?5jEvY3{6Tye# z?q^G6sTz}UZQsE9`rO9G+-%dov~zv)JrV)Zj^g2yr(0c}USB7xjcAm%z4v?Ka2dQPl0rRHBufyRlwH67R(AAe-SOv-51j8h{;J{b z@w#6=jF+}G8>G^LxUstIDE>(xt!O%^TVF>`K0kvyH#knam{n{~yC{D#B<3fzwYOcE zot@PirAVGS@@amz3al$r7>q3>1R5TvRECm>u_5z=eZ~&1@{xxpB+X^wgSxNQC!E!? zbWnG#y}hld|3KPE$INJKPowaNM)lw4|M|;T73QYb%ia#w78fTMUcGtqPF!IUFD%3~ z(qU9}pBl^QYOUaz7W!ul1Vg^4b!X6>iO>k{_3z4GH`H{~4j(Qw?jN!hofIEVPKo4N z2Xm_$Vhdi)KEaN^Q0iCP+v_%iy@PTw=3X3Qp;2fC}qoaVMK8GNuK^l`<8j1*kZ8YHzH2D3wGc4a7E1yatoxC{7C{&k)EA);C>WdI z=<93=rP?sP;Up&v09`Pog_#rG2?b{2NU(hfNkDFa!VorbaS*Hix*&A=5c(kZ}wwpbwXUnEax92LUg3e`l{ zP*)eFT4*1fniVW1y72u$eAb7}Zv)-;yJanr}KSA`n<4Dx8|M zb$+E@mKhiomKMvm@I^^ZrHwT-EDpQ)`xf(MI5l+(90vH1!zU9kcJ;b@tE=~>*X4!WtWJff zYf|LL^0?lV{_GZz{V!X!9;mzVTUjf7MbUfuj7wX3Ztg>!rtD}4@G&$AU0vNOitv!M zfQGy?hAK`jdCLvt*+fY%oPDF!l~U3s9$h`37%u9(Lquwz_fD|L5sSqmo?Lr~`)J0HO=ffHbud zFA`2=nlnjCdDPUxj%Ar64rLbNkW$B4%FH3mgJpKroDogQse?)$(Mt|#*P%gk%G8GI zJ*T?&d>?i14}N@$wchoz*7rWo-Y?JITRd4K5cKexw>taJT=0I@x$Ne4^Jc`A2%wb$ zWWT6=qk@x_7nS3}GaT6EBKJl7w@mn@WL#FqP4SLMF^8i4By=@}13Z)^(T4U2)-Bo+VZn)#M8dB!COx zKyLp(2=HC;_x~^uE%_)g4)o0cMY5nv5KNu{sH6w*Kb*RS8K}xvfqqX80BeApLV)HP zFa>286o-U?8H7NSw6{0X2fo(8Ly;g`P?4MOYbYu~kx04em;xx&Q*uVa;fhB4Nh)Yh z1OlRrRE5I{co+nY)&@w0vMQKLq@aRE7&BR(1iz-%y;64lbl}P0rB`1+j*N7$Q8b|P z+l*9Xl46fv*s;spmt??VB*)u_b2w&jaO4pTBZZ+s)iGXO(P$^mIFW2*f7E=ZWRd0W zZfBR*t)Ztcmq#mMv@D}ssc2_4Yb~+~l>oyc5TO7B&;}tuD3J(8h;4@e+XgQ)!M{6H zl(%CU3EaudS(JW~QmC1yxc}mAj^E7~)9IK5)e1r>1tV zLia>V3u}8nN*2|p6cf9?Ugg7bNq+RG#3t?T9YOfQ>r_`J>&q7`^Z97?vtu*kR>IXz z(5=qmd`3o9*Q0AD{2$j{W1Ue>eoN{8+k;Erg>SZ z-jVoIM_n39?ZqOGsNv*4UKJD+yy}{$b%@K2xg3@+t91VKS@dxdL!s+kiRkRS7hUBQ z6h!Rp@VI(4UAJWL=-*y0{~EFKCuP95RGfIvt!P!Q% zl04WqlrnAZast@q)3MyNM5AEjViPqlhv|xF;8Se%NZkryO1`13(OZ9Cd+N4!Z!n1W zTyk2;`rc^6#)ay>;oiMbl_6d8A7`k1vFk-{PwT9NDy5xyxjI-9{qpdK<<8sJumAKg z!uw%g-{|}I)jvg-XC|u`bGcEr1GY`-wR`qlwc96L0)>#m&cjdpiV{%SzZ8onQ>Ck0 z!1L|$rIEQ4{D!kP%0`yx6r!#xn{IPamwC~qm2bdDw!P+v?DmmeiH&c)8M@$K)=w2$S{H^v$$sEE*cy(KumZdNMR$)>AGF2M{R4+q#Z zI1(#g1$#j{WFC#Rj$RU4NLs<` zQ-d5qmWg4kWcuuoKuU-1->-wghufa=YUj|9)|s486asjoVOlESYN~KNUSCli=jWxP zuaCi4>&!0lP_CAU@)BEhID`OBDk?cAkS!P*I!0<_GKE2afd;B3SZ#>5NoXig0Z?F) zIF_IZ{$vd(XnY1xDF)Tk>ezV$D`s&HJk#3NjK#;Bc^W%fDI>_k5+8zTeC+VBUQ2Dq z`IWe?t|jNPz^Y+#TV!2Ku`E3;DJ{+u@@DhkSpRAX4vI&@3Hl^F_80;SQISisp!$YL zf|ZM&sbqbYVZ~#)hx-z?``J_C{6&$elh0EgNX}Pmw0YE}J2`ZveH6n8E{1RCo!VAJ zsgpiMV=1d&RyS|1tv!8Kw)k#yvvc&n5~{FyEFsgGiE`1~-<06O5y;a0S9aa_b*Qo6 z_kX;pgn_}8U9KNsvdkapnCotEbJpJo=A z6io6X@7vAMzL|xk_EmuyC%jJinRU0c6ieSu?VJ6!(q3+}AVy<+PXv|D&3~;2tI^gb zZ=4&`%b-h%to!u9v;9{_%Ys(7emnf({d#t{LO^y(U&=9V6y3emCnNfn4qf3|#*V6Z zpi8fhRz25ht4nRD+FeAF&hU7`rP}}iAOJ~3K~y%E{|NvczvALh|AM=siy~R1Q)JBf zvUmFiFEl?YfAO+&>*j~+=giIZd=H&H6gxXRJ-XI6wzIuG)1}m_5RsW_9Up6NeUi|>)3tqb0$m~&OQZ*6h4T_~ zi&?ZDUE+ewajJd5yuPVD_}y;r>i6sMyL^pOZh4t)4A>GXf`>TyvL}}=-QCmJ(VMd( zI*>LuST$@$Ed!0G^dQbWbi3JnrAh2CKVLg8*_lydz-;UCh)nV? z_PceV`Np;Ku$swnNVkB_46|Xeb1g9>B4gn6@b+wU!#FE1F6r?lr$~Q6YXgh-X4Mq0 zs6|0BX~=ElfZF+_xRBI35oKV&-*l11PB0Z#(@D}7=Qu<$X*~c0V!B31C0M9@!!^g!47`}*tHvnfK@>< z60IEx#2^SFP{A94bh)Mhz)j5I?is8MCL-LgS$cS z5CoCH!{V4+CN>t24hhktq0Fq;$<_T{0SUH!CmCogi35Qbq2r(M-DZ0n4nd&qwDk*K zzsZnc1n~idfH)kf2OaN=$CLOF00tCz1BPTOl}gqTSOWm?H5Vq9vF+OIh$d0yO#YTF zbPhr2c%-4s8Y=6~z2fD2bJXTFV`6?r$@B8*FV;1z4KH01Kln?~btU4}r`?W|eSrwZ z_MKi#Yh#0T>i}(mt(f6{N&*`zq%eiKV`JuSWyPFwMpV^_Op^fB_~H7JdPp_q+SFeE zuQU5@nCx=+XKe6>tyhL-+#Npl?7L>|qdxj(p?T)^xVmO|?)Avmuk)|JjGz7dW+|an zT_&}yh?tVQo;&lgV+zuJyCS1SVbf+kYt|G$G;dTfIj|tFM3PaQL{A zB$1vkOtRk)9anRT;BdZkcJ|lze~bE9vW?xeQbURbbvxB5=glF@np zsw&3)*30wf;yIEHQ~$UZ_n@_NxwCP>Peb)OX}U=U5!hGy3m!kd`}XZsOK$RczK_PO zsVh4~fwaxak{yad+mRK03zK%Dxp#9uuH#20XYbtk?}g^+^r^Yv>6z5R=g;L!n!(Xz zDc=B3x0o1EH=L`YCzWx6o;^GjBuvL5 zW_QQWC*lXIyRpTuW>P$8AZ3Co59y_dy?uP+#xwie;FYVKH4zZ4-N$QS0Iv%NaRqYO znh;=Y{7nG-HvbF%2SgL$DgmRd0+1MO?F(oJEFuchCt}zH9PCK2j>h2_U=b`s*nJe_Wek@k@`q&tCs#f zV@$&1W4-Y-zCM9K!Rq6LK`ojq0UP9ngMt0E(HZ;`-HHTHzln*Hp;^JkSYDWj5*EaurLIYNts$5+4yKrpS4Ml ziIp|{$V@Y`sZSE!!`Itry?yX@Q2*$_D^-lqMob*v%8Et;2LuBEEKrc;~gctqcZ(2TiX>P3STF=Xdau9wAbE{+WXxK4y*jFmS_jWaCo>vS{ z`2_5!QK=FLqsgY53r^lXe!Qat27nTWX9vKw9>ndil{E_*l5>n{TX=2ZX`!1$Wp>}G z^HO7SMlT-t*pr-M6P1gHph~OUs1g6C%d_|P+=SjrOo+$ z{*3cYTv{C-7$_ZhzG-Ypjg)!w*wdpAt341(WomuQ_q#VRty>tw>1T%<1l z`oeu>WpO-U88Ct0HFQIDZDeFdR`{vC(HZxi&Mx0MHGlY)GfO~1;2f*mM5@w)n!5Y% z-w%gbq}y0c?4%`U)GG5>XFn`6t|yQ$vsqUGh;JHOtq>l$)>?KIt# zV>I;4z2NtqLwV`kfc-~NO{0r1w>h6pEF*P4Nt{S;YH|^)HMyfh)1oh5WW|Z;_?8iI z*Ua@}gPCVeXGR5Y75le7jSPX1jd%Xt7^%|O`)dT1M=(3;(j=8R*kUn6OB7AMiMEUk zP|v+n%jRch0{xT5^SAlVGZLahvzzTjcvtT{rPN0=Lg|~_5fK;hsD^*ADlfaOORmns z70bnDms<*lrUkh8{LJ`Xkn?YF%za5nLoY9eLP3j9wr0vCMU^gAQY*fJt}X&@zy+1M zJ_N4|M;P!8Fl*C$unb7lTIFh^9~@?8$ZrS$$f&lxUkd<8ko8y)9|iCM?kgg!t=0iS zsL?d;~L}(le&DB8@*=!JBYzh`O-vG&&h{b}sL(dEY@hNQb zdIr`>#K4&ojAUFhwjKsa@TTd5yYumIvkr;onj5Q7oitU;C(2cqqW3F;Jj7v}g8Q1= z1l9r_D$hwoC1+)Y*a_GM$Y2>qm}mlV`Oe8w8b=DqyA?@SUyn*fGa(3vLbCK-oiN+U zY&{}dG1Yo+xW>=hB8U$1JKewqjKh39SV8WqJO3S^Z36Lt0ROz(Rf8#WI!X2>4UQg>>YJ>V*3!)y06 zMQR~0d02PWK~lOXQ(E#IH*AMw$4+inn#Vb&JRXG|4?S3{m#2deoksD}(NXvJb9%k* z{{Ox9+H1e>`}2N(zMs$g-I<>o?TxX(W0Tpei8oC^fqd8JCXVz?EAddcgmU?61t+ky zR;sQYd$f6OZl+M2+Nq_vQO{*+1_O zyg4+vc>7s?AiJ@m@4jHtxvnm|3>|(X`_&b%OPBthas6+zE;TNiK2;#Xb(u^{_4VN#p-G$T02qmbxkraKGPyB5|jiF zL@-cO>`~Sqe_YrvTGxE|N1CO$F=J+8f$-gBHlyQk_qi^u=)+#$H^O9=c?ZYDt8M-7 z%ZIN{6#JDh=6?J2)2D9H?CR4ZfC+?$PPz(RL%H1DVZw%ujp^0|dO8{lY*Q&H~YQD!Ap}4oK)STjQnVorp&gb;;=H{-PE9@LyTS{JDU7bD?H1aaO z$$jj&T-|H#Q1`ffeQ9{GgDr)qPW}8!HVL;%xtv4onQ)M&N~F;@Iu}&Ab8~n8+`RB+ zfAo!0Ls7n2HG^_NNsIs4NQghhk80KnH+!ncJD)`dF~XrKbnfKPc!M01DD?CgGOm zhWZFCEEui@9AF&~0FV|CI6wt37?>78zMQ6!r5nMw!w2BH1SAx0OVT$rC17nyNG1~8 zxHHl-M%ZCM{sGa|hodmMI@ab4tht`8&^N%x;XDmytj9p&ae7EN%mf9_-I}l}tQhrV zZ&m$(gmYSfT`2ZBjztHHrFm>#2#%4=wD#L8;hqi-4K$`}cO|MeC!~Ca>z>G6Ly^l$Qt3h&Q?hbz zOx5?|*1!AjE>D@+skYVuCb02Dqj^8%p54;c|NFREel+4VyD-L3wopbMUh&+wJIp2( z6?3um;KRfFV;vM?=?bSWINiZhNI#T<2vD9VJ}=7mkvA`4v?&+5-SZB0edlySyfcEr zaKt5+m&reWX)-r-TH0FU&dTHBgnmIIHr!%#SZ0^3@6~SrugC~E_Cn*vub#Q{Q+;Xv z#SSDqDT$8P(q_cuzRJyEVdz8Z&+_=Ki7Qt{yIlKZ+1H-U^l+H-U)mpj+}v~zDNp3t zJ1SB=TmYrfrW}6wh-ZQFv1&e*l0r6zcQS4Kfphrs>soPzDruK8?p6UQr$UR4PAG_^ zBYaZRUSzgk%kcXC`T9El^Xg}Hx?$=1SdG`CEcxq!BjI7$k3T)1QY*+^|7;FK%|>bV zGR$@)iJp)7Oi2_WW>&>2RcGDpA3rWIDva<>C=+~QSj+Ur-6stNKNM6|HB3J(=}UB( zZ+A{ob;i&-MczEm%)!nIih@#HOQrH+3fuqqyf0o?wzTzeaYZZ{Oku|R)|<>rDUJkA zNH)?I!z#tf>4ICwif+_25qadHC;vUGR5P6Y;QWGiD<~W{x+8dv4IltO`M3N2M#cc;|H~F1hX+V41`7IrqR0lIXApdQ zUH4lUfT^zOc1Y0wrNQh}6|Lg@JBgPy^=hT*jZx68&#i47vm? zxNHEFd#t6cu@e(Q3U#x#HrIy3AjSyTHgVXVAi!AewRGaXu9_t7us;u4ggGIIN9|BB zhyl#b?x+>Bf{2jC{M6|-5K22A0+-cmlY$cp5?n%jh*@k}GJ$UCDNaRO({j91+}S%s zv1TcGX4LFF2QmNvL@+>rY=P7Pn-@mgID_u)C<@!&2bXod=dIkA9`PVmknbV{=- z*_JC#4Pf9%B*yp;4XKz4l`2`<TvdvqdS9t0l9u z9{MB-#lViqggJt-O;D7{aSW)f;Be5y#gefw+ViGbHBzOXYIa%OX!CywuHi4R?d7Wv zet-M6A5gcMt;1c^y$9}A&fV!r^c1Fzj0<{)7w471So?bun<_PTZ(LNlxnHDu@Z2N& zw6vSNQ?jyzyT{so`QR^gKQy+r-t^_m;>40nqbZ%5eVwS$qzP`eRP|X4gT~(p4pjDX z(F~k$Pmzs(5seXy_KSO(5UfVTqeJO*yy#v{D^bZQMXGYT>i);mwFk4cuThDThy+DK zMN^Ne<53|+7;nY(B9%>HBVKlbeT*8bM-x4yMHD~vV$IYxH^6C2{#MZT`}&QZxE zt&%5`^IM<7&FNpp=1CoN^@=?pR*x$HE+#6+TKn!Fb=b-7M^0f3%&p9851xSk?%E-Rbo$eC)OM$HT+P^;kXssMEEu&O$(7Z{0R~JfS^)Gk# z>hX+-&I@-}Zw`dpxf-?m1@&?Jv`@+P%`oMYQ= zp@4_R$4`h2d6(Zl6pM9;XHU9RKKtdQMH!W7#$@Xp!GNMuH`=s1n`?2Ykd@_04bxxV_$NToejcoa13JI za@}J6SVXPk00{sC1eCqtFo@JfP~9^iz*AfHIFxHmhSRh3@(UKm5}m9bi(=~d?St*u z#2g>9(^A_+q|E;T0GtKXfFgl+0-zAw5+>nrC~bMDHXZ}V;Pv%^b~7|S;1c%bOI;$f zD1@76Y!`7m)eLHoQaC0s4OYGpV^?clKGFIrJuExSE$7|H$Z+fVZjb(+-+6uFviTWB z=y6a6VC@PA@XAYB4U5Gd0f7KaE|UfL#q{>aM=^KKf2-ts^{p-OoyP=vFdWO=~=#v^4nGAwskMNx^k{p&F@T}5DvZG+*OSj zFGYV}Pp++VY~NX%)K*8UtH4ya9==rjK!OcXn_F7@{C3-$n9l8k?(P+nGJ0Jz$3FB) ze8_~PVw_#(%cKjZF2*w~>kGTq!?(7!R>Sf>?rtWu&Ga;eq{P)V4fGDslG`%fo7tpN zu6btrK)rHBMq==_bY3Ho;>5-?Tt-KhizQ`GD$`A=Q&)O;HSgayMO=?yoO#y-A zp76Y?{CZuOh4xumX~(At0`2X8;}E2fx%TUsfh?oI?tyFt_6ZuP^dh(FbK~6g35mtIiOR;$RKsJ&}Te|@(f?< zQ5i6M;LuqJ`0L8Sz&T)TN|Gka@3=ffi*^nIfx)qG1r!+2DF>I6R|`XUnvflnD6Xn* zDS2_pvOu-Lbo5<)RIRL(HQ}_Al*M9os+dkOA=tq6g#mqiOnH48`Xm$wbP7OkqnZ2L zg$sq$n)Acl$96_?P`U+zUPed45FiCG!XXeS9iaRH3{W@G^YErYPeX)UGRcxe(j8kA zm|h(n6E)12`3$al26>~Ym!t-uGKZdsNYGOCG!m+z4grWih>1$dBtJ8p5`YCxu3m6i zc>q#uLS&LukV(}P8)`@vom*||UtONi;y}OlpnDXppJ?SDCca#<_T$x;VPA-=RcXoa zvl`Ro^Y?i~I-kXwnLmO7z75ve+FA_&03T&gRIP9XOg}=v;kvGgQHy))_2T!fU%n3VfNPkQlEm-MWDG2;j`J--CJT7@U?~HzbdL9GAOzG`x4yZ_U7vg zFDA7Ms~jrGX8PxhVvG5yB0Et=YTZQECFg|BUY7vE@7-TVB(n+se!cl|D3L$g@()^f zch8#P@^DSCaD9w8AS#7yRK|NSs>RPORm4?$ zl*B{W$z5h^KmPL#sN3we)LVsxYJR!RWT+3P<-@O_@J458vdKtQm6fHxxb8R4hiV&9 zrmjBd_8x5cX?L2*@@E*13Q9}TOXl~B_jJ}|daQ$14pf`XlOxaEyIP!Kr$Mv!kx{qT zkSQKmTf2I2uzbh#Y1)7-_%NH#M~QcKYE>xsQs)->)}jY;IQ};xTK>n==v!-B(7Ywu#Eh?>Xy;Rnw zrlnm()H-QO?z)+Gsy(6v>q?S4X5KHQc9V{ZIbNp1G{)4{%r>>v$?Bx5p7&2X!-sc< z8Tj%(&-1%JzuKV0r!x|wtDtvoVEMhOm?6zeZfHp7chj}~lWpwTF^{ZW4~E7j6%wyQ zL|Nj2A9wuw_1>c4;&>ZQsLbT;q?!JxY*EPwDt!9ucUzN4QZ@RFxT>nVuqAOONvW06 zIYgq9cks~AkmcFT%p#`i)vJ}c^yFlEIN6dy_OgR;5E#f{GMT`f%M5z4kl;8M0?hA2 zNY$+aVvUje_Zu4P7KOp+9?*9P>HzHedf0EkH-}?%8^YhT9}Wk)2n=>1A=Eb@lR0(> zv_FR&K_}r*IsyR3BA|E(u>kZV_)rNtJKF{Yv!nS#;_ew{!o(Rv;Q`(PX$q&?pv+wy z{Uz!4$%SPqB^d)pOLm~8Y>~NqTiUGY%h!af_k=YPXtqqas zY5UF4c8(4q=2VYD6J~|PfrzzIweadO(c_~@4~OR->|XeAaY!B&6EvJ8USAKKe=e-L zIdFZ~Zwu8m8FRmA4y!sdAFjXMWW}J8>^(g#kW{9bHI$8gtEnQ5pg*zTg@%?cEG%eO zv+FnJMU(53K?J_!{mR;CUmtO4Y0it6N1t6=-jmu`d;0Xl+B-3Uo;KMoS*Ln5=3l>p zTKV7Cl#?$Glqtf`vE!*B6g>z3Yuv<{{R7(mT(_D>&AXrUI4P<(K9ubJ;fEV_Wi)}U zG^lm%)(6h#pBfsrUH;=^MLV#TZB^y(*|I5T$2FEo09tz7AwHX2AI83V<$Aj|cr?8w zfk6!AVdO$5B2(VG^yN|s#7SwXwMAXx)Vm4AE!)M3K8^Ql$LbGOwy9E2hp8 z+ZMfoiI#Fl%BQrsi&ali0$cA0tC3l`fy>0B&o`cGm-JHlIP)75E%`S4wNp<%^c;_p z@NIH!t7AO7Jl5CiR#s*Y5ko>I%9HEv)r-^}C)-w6r4CH7m`Wsy!p$u?Y(JPA-=bdT z(V1Ddx5{2VI=VcPuRbn{V};$ZjI+*YQTt{Ii(gcgT{w)#O!W1QYZ#wjgMr4!xl>cq zgM-Bt@Rr(Q&lullJ00+?C+fET{Oi`&m(fn+zU_je!I7J~%DBZrBtrLC)74$K6(;9= ze=iSic=7Jd{knTya*i;zcdGe$X-T!DaI$qv;zT`ObWG5{c;eLrrudPPk=9*Pme^f9 z+}bv0J38m`?<4>KAOJ~3K~$03>nk4{nN|oz;r?S!w~=HC?*`)sGc#+q{V2Ace9KK5 zlc)<0>^S{u=I&s&NSdD^F008%7sf?Q5VierEIQ6)v(Y}GuzW~jmNy_ssl1wEd+?mo zrD#8YeXy>}bcR$581n-BgD3zH0K@<|8*m^1^!lK%-rfv{29N}()CV46b{KQu4u;3t zp>)mwaA5g``gSc$H>(Pm0C?@=Q5ayp0D(t=`u=X(&W;;A62#^bF?bax^pnPBBvk&dUt2&FISa0=)t&@5?g_Dp9ZMx3zJ zw_E~td`RgPVay|5fq~BYZktK=Mo76(R>B8-vm_MN^FojcjN#z7f{2yDLxa9&EsumD>&s%y0BGFZJF|QN#8{xnS^y z{|rW8?JzKi0PIizX+W00XewG~9}2Mm#++iniUdj>W&#luiE4v|?+f;eh(Y0GF=QHF z+&M^Sigus<6r?tuR#rZZYbF@0 z>u)|JVGTif!mHs@x7TZpv%_EDC$QWGt8oOS7i5*feYo9~+oO|5F( z;+vM2`&{z!D`Y;Mt&F162MXL%dMh=*yNdEJsGDzB7pMqAO>DpN5!NqCn0{|%VCk>X zBbQjt=0m)Sk+CGz&`{>q!KEd=)C%|VjSc!sV#M3krsY|KbP1I3IyK4Cy0?Hvz(-!V zpM+K~yr?ND57!D(dY4u^XoWRC$|FQ~x+xq>N>1j{C?nnCqN2ojV{*g$PoHMhOV@XD z!V=Fgx96~=gNxp^A6?QT)(ojvDOL&%TrPW$NNHgyaI07 z;S7R7Lj-anl; zTmG+SnrH1Ddby?ZuDP&mWlr^fG5Yh*~@NTSgYv2}8KGUwGu_F~n?$3blh?HALXtxmQWe0t78m`Xi=oDVr6_>RTY-6xfDgw zJJZfowR6wO{5Ke1brB0LQ>0z{-N-Kp^mH&et8%C_euB z%g#)ow$vm!0)&+S>^ZH$Ns8*pHaju|-chjp7Y)Z{)ysn}yAMCjlt^^Ckep6(|89NdO*7lNbyRfx!-X`_b)fcFcTV;qeLq_sWB^i1-t3x67077Oo9-Y_G<>Idw19 zV(HUh$)-pi%8e>E_&-gaiLo zX04>_hVNE9nQxj*-}yYyTzB=*;|O!@+KY9krRD~wn>GU%*3^ls#cjBOlDNW$Y&P}L zfGDD_TGaA!g=qz)s9Zy?Ymw8r%gra!@`NgFQx&M|P5$<3%e(m>HwH3IW>oKuDrBa>=YiVXD^4f1Dx8ygE%6PWD zkLx;Y=c>8DVKW2{#JXQ}oSpru?@3l^Ord9p&0fbd;^I&W4ui)t?7<+R6+{5ca456| z#03t+=AR~p0G*B}5#c!=zv~VHfR8|#!8QE9y+9BQ97!*ugTceS@+c!?j9xYvp4mmA z{+1D>(1;u&+0InY4Ddu0h$b?qb~gG?62^$dLgEad-HfMEOgI9BJ(tgAkXdLf(LGc| zrbdEhfCg0Hg#0l~SvgKP|$3f65V(wv@AG>9aw({!jd79GE-j#5moEbA1+1iobSQp`OE9!QUt543BI)jOZ zhnG=?PvAcy?+b%!$h;Fo`sP3v(@` z0h(!{2Wdo>r5Vc70S(A|>o@;eZEVa7U=2Mz072B9|8(WdZq5!tj5VPgqO6)htv15V zt%IlS8=LTnzh>U*l`+`)ud~yem;ZS4@BeK~FMWAcJHww^Ud86dZ-M?Ub4zNK|3vD$ zIfd8u_P7wj5X)I#hxF&C-Tp4&=uD_tVAD6nZc#b1im9m(PC>)^x_fuF1bHlFWid@h z7)ps%Ww}WAZFLptqN^FAikK@COod0Hbhv(~E6w}EhlKJ!cXkdPitV|v&@{GuBBHG{ za$!oUd0k6j`Hg&8(tI9QG)ELf`&0wr;e>0e6QPyfQ4Za^8D!g<*R@^{IytrRd)dmz zMT3N{yrR+VM0KDjsPTs$fz&JdbyT`{)MKN1#4gXXFD`qA(CRCTE2C@uVmkk5I^MT7 zB~dO5`m>w?38k&$y-+-$zH)uEbRb2E1_pC8mM6c}dv>?Q`@ENigB zie)lisuM}46HaPNBOFThe?8#RKd|XpRao_;qPQ)@J-$69Ew<;%M2#xnJF0GEMrUnDE)i;N2 z>=34BWK!A1y=0UaVA)I#KyjyoL?W6aw?s%U9dTmdSo930 z37_Q8a*ge%Ny-3>&7%tnqKmC#LL7HVoK0min{1Fyx8m_Y7ysJxb@8^*I^C;R!9m^T z|5WssI`7fw&M!84yOoz8P0vf}-r5qv6$;pi2p~~R8JseAzQcG$W?N3Rc-CL2Adv6w zugbjO=-?V)!NzdpJPUg&bo@=p6b4)l1n_2fm;oX63MzOUjU})Uh7+z6to*JsQB*@9 zl1w4{n)-^!47-cgp3}KuMA;*LkHKipfPwX zcX;Cc|4F*mXtvTdED0e*5)x5CnpAZrdL$&F)TNftYENj5OHqr7gD~SVrB&+EX?jT_ zI5n+HU0TD`YE|7D>Y7HIK`oV0iev;W#e}xBqNj%A?CtEe_OJcx`}Y3c^*sB1p7(JY zRq_pU9qK#{Kv%hCZ|2(`)rogp&SFnsRzY8IdejmDsfJq zSw;B|bDCFbtE*GKdvNJx_u&F+ygskhF#`iRk#)IFD#>z{)?fZ?C&V&EqTv`piL2xd z*qnQvU}sa=x5m?G;)kO1FD@*-lU81GyI=lz10W{%a)r*;4wO|YjLS@vEgqQH_ka^v9?p4%q9_bxG)VlWsr?ZD%IQ+w+6 zSb6iU+Qques^!@}eyDP})IMW6WY89%wgylmLoFDsWA8xG;;=7$t#4iJJvI93!`NVd zbdjb}%&AQpQYM82J@t_NbclmzrknqTUVYVCLIK$;mRkjwoT zgpj>aCSh@|cCkk~8QG-9G6dS#!S6iXVC1cN`&ac-ki2uBEvah-8fn$J`}3XHi{p`R4Tt&TNc2SyC_WZ2QR}_DGzqa@kic z%`2>P=AN|{)(GsaqGo%JJsgW_Ld;BS`=v%M21NuY5)03{{s=_+VM~tHca5yR#@N3rdb&hQNRVVT0^kQ zrG){zbf!3*p9@0=0~&VhQJ|++8%zbz)5BO;z(F%10Q_~ez&;{~`?WwG0K@BH$uuh{ z0ipwr5rP14p9Bzr-3g)aU5Ef?aDoH?i7HqH=^z_Vy@0s*FNqiuj> zIuMCkex^PmG}_0=#Q=&(&&)cKOJQOIq(2v;qj_G|i3ymZaKb$a3?>GDK(53 z=wVFA#x*ZyJQc!apX(micUBD@@-0>Hs8+Al{z^f?kA)mMPuMZ2?2m^)bhW_A#fXz< zjnT9sPi%ToFoK=idHS6XgSdxHVNlsNtRh69ahPsKx;cXg0&pW3#?TTthA3dS^a1b> zED*SnNDPYwqf)Rigf0g(vafp3y`x4t_2Bnn zvQ%o;+V|??v{?SsB4Bl)N{6Cvy1!vlwc5`JqoQ+L=L9Tp$}+?ht`AlKFtQDT1l3vE zxPw|HBNb_fA3b`zwN()|s0_EF>b-6>0~WX{o>WOg-HOuQTKre^>P5U%Y1fnGStB9`QSJ=GDxrS&XLs70!)d>6CAQz* z*`C1n{&vxh*z^3)_d|;5i9|`~^yvMU|NL>j`|^{>AMSj5ai`@k;Mr)LToA-SmMYk+ z{kTYfVfIQw{gGz?_K54fR#<2p8gsu{hnJd`mN`5%(B5WveltW5mgGI4T*v0qM~i@c&}?}?4(F6&Pr=y%AOrg>t0&8t7*)cy)O+LO-)VljS|zLodsE{DcyJ7(lqDAhQSXhWfsx;AOc%KpKat4@B=q~QG| ztMW*?{~}o!sN<9!O_>~Nl8kc?x*P85+(3Jek)b6D0ebVGP#n&kU<(!iFnIU>;hhL9 z*4&&-CTpV%cYENvyB0neY*#V3TL856@D>IH=&o4+0LLU3CmhJMp>Q|^R2GABBJkuH z0RRJ|OMv171053VUJ79_JSY*ukg-@Q$|qruy$uB!&?d5Wb@k$6$=cGcBU$757Dl2; znVG;b(9ZP?7HM$MBwYFL(P2IBJw7aV1Imdr=;+Y>=_O@HtCM^+Dt=2&%}kZaExy1z zH}UnbTT9AVPW3N$Zm0D1Rr7-gI4}SN35C*p%-H4u0iuF42~4h6UUEWs=sqj!e4&jQ z+u<&mX;XujmUwyFpeZO|aWJGMD2%iOr>9sVApj+Uaz1_$ve$eu;13scZ(@?n*DNoXFWeQFaP4|;HA;gLt$oZ#*&S+&s$Aj=dXX>n)HmW zVFdB6+243I;I;IaRaVe_^X3(4{2afiYoun5v%RfmVXgBn%zgRg#ZH5yOWmxTJ^tx^ zu`^X!l_zQKIsWIT_dQ>pzxc2-06+p}ZcPo_-tj=p!&7{9gMgWF^~SMdrIcgpzgj0-8cDt|4Q#dJ6 zkwua`4Oz5NOU~{y!jXro5n~?mxIC25{rfrB{rmrSUB7=mpU?aK`F?+|cZHoO?%YsH z-1{G=ryo61_x8U3D0|<@TWpT``q6b^xsRIU7>Y-D3N!TyE}?uf$)i=u$vnYRHubMe zIA(|a{Vc~7aA+N6^g8y z<9ElfGJ!$)bzXu*-}#u|#~bsrMP}FQa?6&7Q&NJoE3ObF4sN5sGu|diCq-}pZ@H5TV-;xTY@=^tRGLeE`;E4g&nB+DJld) zu`q}Fr2><%{li6>jB(B?kl<+qfm{0=wkqnQB*fyKaOfk_j+A17gkTRI`s;yIFgOfs z0HD-|K)|1Ow4f+JxbGm?=^KHfS=SU?dSd_!upQ_F2kHKxHrP%N1Zo=vg2BL7!88ys zIm^_^)Wig^0N|EDV>@RQwM`X383QgE>taH;Bwz|*0?AGo#$=bK1_g#7g~ZYvgII=q z+oEck845zQF!Vn%(Ha~esYj<*Otkt5^wW>U5?ov$ni_-=`OIYcg`Y1IcYE7&ovA!N zry^nx!v2D%vO@$O~f$h#QQxrJ*4?+99ht-i}NkTx=NZtaT^KnKKK$ zwH(fKF_T`G+e1m9v!|vq5qNH?VlzM~(l$KOT)CyHwk0t!l- zip-O)Y-%m7slUyuAGcrRWZ-?HCRx8s9{zneqDLjGD&xsh! zI2b7Hwob9hoqh$Bx_YiBe~=@kiDb7hi)pRIwY68d_vhy4`{h&VwbyyovaeHa>+1u; z!2`Q3^dPA`Gj^(D0EPtt=Dx;>wl6gs>p2a+QLGM@7zCG(T_*b|H7ZwEnd>w7q@$VQ zm(s$?xEIr})M|Czq9AIypC6MIPovk)07Xq{_^M2hkEjHeFcWJHU8n`#!oV7l))tXx zVoYa2X8J@)RytG3irUG6ftkktgg3K?e21nVsc-QFq=<*_rV`gzyv`0PFD)#T*`!!i z7wy9O8Tz-4kB+X6S7!O&=Bi3w|Lc$s?IH6aKi|p+3)!FiTXJUkY&G-vwU?hi*Qn}a zVv22=8u*jnmRF)v7ljVLjgF4&U6>?0h+|5t{VQu~p2dW750zcrTRt4Yyq1_K&MA#7 zx_CaYuV4@Nnb7f9*Wk$84u*Qbp*!^;I#@j@9E;WXzeF&=fNB;Avqqud zrYM8=ZwbTS}h0Q?PAF)#0P?|H4{$?9WHQ0l*j-2W;Wn$Y`YvGEuLMKMdU!El(AV#k6@ zrq;JM%H`D!Uzcng8x!ThzgpXR^eByjIQ&zA4TO7Y%rRB1D_cb@#(*>NeX+~t2HU5h`HeIIsc z#>TKUmdDH?JabHD)UtBeni8)w@ysd0YhLsSWpjAR9HKlz<@Bb-EB z$s9^))T9XSZtov(f9}uc{@mB~{a(M{_qx8Bg;AFI-QVB8PY)*;3ONhkUuo?Of)*PAmWM@^qV^^SD457DT#G%H0)V{FphVY4bZjk8kn{PE4iv-~x?L zO>yXk7*CvUaqQ9(>-xj+-uvZ88w7e)&1Cn=qMkx`_nRl3p1ytl)oJ5d%bhSxOs$9! zV@QQXBtGGE`h@59J;`!xE#MCf&3<%xey`+VO1OVCJV_r8rxiHU$#wco-RVBZa&fHt zb4F_;%;{=oq*@%z*ybQuLDLlU`gM|?u>^AzD@FQ?5bAAQZU#Y84*?MXlLAS>wDt%h z+M4tL03ZNKL_t&lm=4|x&I0eP2Ll6>G$BCaU_ynijjnZwm*W2) zu~(7Pwf6QLO>9>o9cXV?Geb*5?QgZyX!;R}qpiwS%?T!lwbdLPm_q?jbqO96wP5>8 zCX1O@|2$w%4GD6Qr3@52X=Q50S$QONz3TYn8?dUU<=h_qaB3f+0iMQ}!L(hWBxG5Cgudaz3eiA_1L0}UWZpbWttaE?nh#p6lI%~U@xV;5~LiR_o4 zQAq-Qv?4$r5X5gfzp2TAVKAt%x;aEk!AeJpfJdJf>5H{G7U^tnBFt zS4JUFSPKc!0N-2kYH1gZ=mlP5ZOqR6+;+*em6eGZGtL9{k_Pe2Ic=^uwl3rSA3x@5 zsvqQ*vKqSWtnL&Jj@zah3b%v?wIVTpw3_PX&0zQ*KBr^}H3+dLK+Msj^Q?D;m6Nk@qfMiPd~}>V3@71O7HuBCk8AvGFKP-U?C#WkT3%_)4aOKxx375 zcz^NA+_t!EZFcaTLMx}!@tl_t?Zym`v$ZjcA!^jtf7uh!g!g%RCf0Hps+G?J?E=u0_ek(aZw?q;zrpLmSW)IZ%-MHgJv3?bJ} zeqLtZ+4%V1w_l~ch|=r|WQLgVK2jB%AGfv!>hE6N6=yZgeJi!WywKqluz1l9Gj$_E zfige^5$m#2#-}KIo|MoVt z%nOrRtCyd*A8YoaFa7Ue-PpQ!?nU>;8J~J4W{v<1(A~5c@6mL<%y3LoBWyfm6<_CD zH%6?Z_NDZ{;<5RgEWzS~{D{R57ktvLr00o6#U`qWX$69v`P01Ryt9_@BUinO8JVjM zowQf!O$97AcgfS)|AJ4~p+%ub6|&{yTc@HZYrn#$Pn~X7K7aePCEg$)pu>Bjvgl@g z<@k+PF!DcsRqv|Exp1+!zYFittBu%xAj|nPy2kkuC-T7x)7mM;{ zEhckB((Ku*TY|K}>e^5ZhsNPpdoVLnCr_W0k>N~h*QA$e>j6$*7z{84?b%%w_Tswb z)%FBC6xiwwbOD}{qNI$F2duw)f25L>nkzz5nlym&D8aa{*u=m92~`E{vw+CC=q3>HF1LwZ8ul(= z*Q6>HEEcBd(a6rjW%pECk6xezp7C%+sOh<)u`#0}c|rhnrnVW@e^H88}Wy zZ@2=@;i&1lwO2JZe_E?AsWA;yG9I&oU}l(-)ZLu)HaloD_T2;6-D$073a zN*e02k$9qaAQToCjiP6UQ7OGm{eNSnAe1B>IU+a*(ripO2=S$cP&;al9P7I8bGj*Q zeFj4=rk7><(HVmkG}ga*8;+-^@w)`VY?H9i)LLu7{Cq30S4GNH)z!!divoHqB_+U% zq-s9EW8sLpoQp5Jyt9kHe3?jSds9Ccno#9)^cyd%==tQrLd>kKaYQKvUtRs;jRd(w z6Gq$4q9bK}Tio_3bwQVU;=Izw(py4YcekD0m6tz$ z^*bZ8AN5E|&>#kz&k5%RBCmev9j#g4PWj%DGS~k>uAzj%?)O$fa8SU={OP>^H&c_!k*5me2z4b? zhM6*qVNf$-jB%M_S7=(6l5M%PT~>@eg#}UJo2%uf~rckzf!{9Jz<7 z1djm0%aBHfh^?*-s|w-|;^Jm1$S@XQ&XoOlZ1M1reqrc>rR_1{02Z&fuB z;u`%=YaZ2UDY2(IAz=t}o;uxmq(&NA=NE>LyTnFgi;{}`1~S<3{Rf7-8dOid)V}ji zY?2CXv*hzx?DVt)hmaTxdZaZ0uc<-Cpnc8->DcRYa)fqvKOFLiIAm~+53}(i&;cfg zV<7;{X^~tS8wY+ZoC;@{Yof?(0vqy7aPcIPItmRSadf737|Ys_NThK%VLjkZd6VZm z=kAA8kBcMgYkQu~Dz@pc*ylyz`PiN~dvWr~u?yETt8+~~YeMVO)dekM%OjPK2U@RL z{;YJKTI@9lHmyi10tV*gFD;lb?;y88U2{Bvs|JTd3$H=;FPrJ~wBifdmM-2_R=~&Q zulBM_#psN;<1l>s7auJ8KPF)oTLh zcwY0vE-{0gA@#S64#^qqx!-qtbF(q^!Gnh9g9krB!#XxLT0h)<_QxN;{rmG@V=pY_ zj;@!>BjmB4?rm(}UXT4{@TO|M>f+?~#=-Sz!=mN>+388yV*9USl6S|QjB?iIwsv>J zcw{XvmxyoQ7Ba%hyP{H~zAMkITZhJ!7rxq_oLXJ&sZcCLYgOEsSnXwk8(7pZ8rUyt zdCER4v+xNj|0o-%AE|M1P3R~cO|KqlTu_KtSDTscPhpC$UuPSP?C$roB>VCeDZ9Jk zuJ+eEJDX*e>Apv~l|!)9v88^YlQz9io}66!d|lO187i}^DY!h*{;c_fono!>dX=Q4TkJ-4$}xFqpX=%1;GpbeX;~MiEVj4bJ$dqc z_ln5WEhgz?&!~lS4pyXQq+?~|fv_+)=h^B6pCA7G`QhF3I$D`mvxl<1d_ir8iWErK zcG6aRee7eFa(%tiZSA7IfAHY>-FNdy857=Y6QxM*W6=hCIlN|{Yc z2$^qSpnv7bl?+e@gkT^~I}*^>B$3dVeUSZ}i-AGbAE;gi&GCf>1VG?xm<9&odqSLA z1d7H5w820?=h7$`4Rv)W$A`SJR4Qa2A|tfT0^mX&D{~D517H$KFaXpa_HZT<30ET# zVLYBDLW50aatQm~5fCf{z~MBBLMLYqU4ZuS0aqx8W3xXYv9e5BOxRuD*uGQOdg|vp z{t2P3Y)MCmA=OM<55uzM=fAI%g$_tgM2FkhTImGFFI2;ZzEh<0Pcj|r9{P7nT zGFfm${p^Z3t%d7iLua{~xYKz6g$zm)8kvkob3CbVHNJ<(IRhgh$J$z7mw|Vt=-Knw zY(s{(5aWk}F^EJs0|%oR64)$IRD!x3f^=dukpKn-;0cj5LmRxd54ekw3)S7e3Z_I$ zD=r?x_Lpj9g-h!shGYzj<}OPNuW{0F6?C5*6V{9*jK9ooeb=U3=rpN+8SPM+|7hZM zFV^1MBjWyz)B(A?gBc*knz`xdoIzONQE2EtpdzI&X4;xUA~{sPuZ||28nOI!WOmkM zVJ=Xiu*4 zP39jKz$+e|dNWfv`Cez@pPwH-9deAl_sihmkZ^G^_4Vq+WrMfhzE!718T5`8D8Ptv zWaCTRK<(|eOw}~x>{0rzPIv-|v*wqQ z_O>Wb%rB^ZF+E-DI8->e9lEuvlAqoDa;h~!Ip82yf zygvEKop^n*sBWND`muUWVZXc8;$h|iQ||1Hj|-arwM6M)H!7@Es_E$TvhB@fx#;o+ono({D~VxP-ZD)|c}HX_JMPtBgb-(5|ZP&?$zSM>MzVtG8GUjEwL z+SYK{OZ-F!>z*nOksf zOwWg&=GU)t*EVZJC8aAL(sJT31^HR;WS!xbWy(g^;6NWy7L(4jnVs zAB4Q-m^>iz$X`$-^#&a6?MV$5=aonVeioWIID!P|lW9z0vGUb1L5nV$7E0riijhWc zsA!tItwx$wieoyEWjDz+#2L46yiGZdOWsV;mxc?7nz!X;mYLNB=l%)bAI|%8&i6d$ zd2ECUiF5`d3*lTZPVmj5KbU{ge=)-3T(Wbxb6RX{W7lP#8Ne|L#b%@Bv*OZXDKXsn z9IuFD7|7&Cdij)hwc~}L+MjF(qNTVSwxL)=iey(fth{gn8@pQ z_jXFb>bB-pn&MPJYevn2ss%5R5b;^jb8|`VfQXPAtOzc%XsW%iaF~cB1Y)e2Oe_?Q zBRHbKB)&i;R}IU~UKux}=>aJE6&s(_OUm;L;_%hyPPLs1UgFr+#;w<+(7JE(#>?hX zD{VtZIz?^IFKYmBv%rXQ`IJ`#oMFHG-8z|=#h@nj9vE+#P}Zz>i=BGk-*0I6@`~z{ zmd)}zd2(9HUi>)dVfk?5?VaA0fBnfQkURDM`_Gqm{9;_3{J5h%b~iWslU8~~-Rs+p z3J9cKY4;@l@n8rBMSVU=`}}$IV3@8iPPM(I4&k(SjO3c%?j9Rcyy-ps^wVa)bV;f0 z1)gL)=<3dxpSRoG9wWw;x5oa^)6@rs%S<0Gl%@tCU>2<0p(yjN)->V3z*_p}52J8Y zwa)hThEytjG4R&6xV(Ri|6qQ{%zL)-u4S>M*oRwtvDoJBy@rN6Gi?axuF<8%rKKQ( zE{kAF!U0oE9Ly8&SSGwwjv8{=9Uc1ZA@!vC)8wEiZC^oPl_(~^Ziwp?!*z){rnM0L z?;oMo71Yiu7mvME68*AxV-hu8Ha-$I+S)U3XE%S%uIJ2VO;c=RhTX#Yk*1#I$eFdZ z8IyKdkqs;NLXxHxFPm;#Z4nx#9zIriZ0^x-)6*B_TU*Z4bJv#RCJ>8-8&^OdsZ{WEZJv4q17yaP*rnne*S#Fik0W&5$-TqR^r8s*X zeG3nan*+W>K07w?ngcPB$--ylVN+8V4K%GS4GTg;wVN%yo$N0i1E86i_DTTwe{X*y z?Y{u6>zyG00NXJQ)zbq5v`Sg+E>OGm1HsW~Bkh$h*vbl{3xWg%n;>z}aBm+xjDvL3 z16x>Fco-UjNN8)1Ko%8XLBQg$C`Vu-9}*FvyK_kd)6qkdY^W$Nf-${Mkc}W!2>GSu z*}%X|}ev^^Jf~0}$8<2!R8bRGgV>qPV+U zAn=|@^DIU)2t;_G7t-9^jlrf+M#*ak_4&55n0r@5{fQ4({lnk=-CS0y<^9>gH#wyosiQ zAJ3dWBFLnl9+hF3or_XK0}8=DD+=G8{Q9v^P0xp7Fwu?fALMI5Kv@%0T=#_Y1#*=t zN2w@UB@xNS?(m0OTP=#NnwlSZ)wKa_L5+nq3$x8bRr-&IQh#pveh48pr!m}%_|Mux zLXUs{&DU6`x)`Pv)v-7>fe`K)dSzwhmzS?-IZdi8mq+h=%ktMgZ3OtGre3-F%YTv{ zhb?KU*sW#b)q(qS_g{YLL%(=`wc+K{fasX$s7fbZe7U^p&C0#Vfw!v)g?Z44eK)^b zdU4!i7q?F^$@=_Rc|ziuP`7C+7%e);7~-J_}VN00vX*UcVf z>sb8!{Lv@%e(8zg#+?41!rR{c4~i$%gBR3QUsWWQbd@5^yBc|{fwku45AO=&7j!l^ z1sVV-R9oS3^8WHf@78PAu5EUE)Q6b3*xUUW4N8Y|Ur-0$s)R$=!1K4;nx{*(Zq#2t9it6hoFtc%CIP8j%Qvm^q-C z7MZHC+3G^;;J+P&Okn^R)KbF+Yb^jk+N5DD)(WJfqxBHSXoh|=l$av8T|)5yK(ys=VF3f^ z+K^1$t*Hzfn1PwY{{08T6YG6w9GEtGc*l7V4#%Lrwy*|eRSVr55d4lzVU~$MdH1m^ zR}UQcXC+t2H_^Ak;cf&C4@>r6Dh_r%SU$GUpB*wd72b!i47(L(Pw((2H>)co%Mz>H z-6PzJaEX71PeDyamq;`veJyc-Ya`5!umpujojf6FlVqXu1}EruRN>(>7y6+n8a?H80cVvP+y5HJl^49ElG0QgWFc z61ha~BD9n`jdF=Y$}N{R!aSx9<9I^SaO7HRX>@s&OQG{T`#I0^{R@7-&+GU5eBbZS z<^8tQM(${SX@WsO|4&s_fsf!wih@M~;wjVsDv}N;1Q@#FG*7CTt7Ew}HL!Ene!6k{ z#Yr7<2!wk#rOPUkM^WX*oiWX#(@)M#PNJ(TXw+V!x}$NBTHAnDJY6QU26I$B(a;k4 zm7eahC(?DPRb0;1aMwtjn~pN-kSR6Nr9?ja>f+*h<{P|?1&m$%WqUi0f4*MWI85`d zC~42Qcrl|jJrr*$7#45_TivuJVO>;b^F*E*P-^clBHc<=L>^*$62#F?yd@SdM0u@# zN4coj$J1YL<)LCGS6B8NJQ&(h^ zv{voNsltBo*7QvJi`BK!rEqg_P-*3sjHu_<*Q``Dv$Ve0-RSV(>-P58`GRVL_TFNm zk6C}+!j_CZ`Jd1CkEFjXak}e9?vhG{!p!bW^2U)565-*Nnn#V95yGVj`J5=WWGG2O zvx^PO#~?*nq^31_EKossrt~T@DynTXMYxt-I9_-AUa3m{{Ynm&HpPs&%ehi@Zxg_q?>iEGn z0g+~PmM_q3ohwCn-84%JWO3gds1$E(h$}m5(?YXtppF$4G;$@ykpRNto%wv{q;@v( zxIaRP%wg>f9P!rl)S&DO4u0Oy@H{QAXYse+UnT8nlRa{cQGCBAa{44p(Ztb=(Ro&2 zwx18neSc~e+B&O}10(=FoarIg-YLnTS;s937DEXb8_OA1Fe*!^E}cWrwuFP{PN$6#0)u5P^xP!Q3CKuLI@;lEoSs*hy?4nhQ4 z38pg-uMeyS>jH@b$~1;ikjCCv5JUy7fje+EfN8>U*4Yi)sW&RH17NhN2DVJ>Z8t>6 zBvvp3(|A_=p@-KB_v{ZWni(w7FxNzKyhb>m_|6>m^@s=shSoFqYk)xI60Q9!IRwWN zTzJL3hV-^ic#f)X`P<%!VdK)NCoM|?LECaiE&~FGGCgz|Bs?Ag2E!mK1O!ae(vao} zCwTU?j}!$BEZph;WjZ$+3t_Ne`u4UOSA`B;RtJbkb;2%fOJ$Jar4$57frk)Es%$ru z_AZoZ0F_4aVd?6s*?VC~3``K5ocN}mBYyYCkt2V;?{5u%jN^Ix=i4Py$(GHo0mN#u zxnAqaWYxRR&&x+xNJj`}-_U@8FJ^v;uSY~3C%`3}5#0%84_X%2yTfvD92M??u-Ldr z4TP_+MXiGL^B#ZeF(mst3NMvyZ?~rgI3!QS_BiBllO(gk6h6b9N%QH55~XCku_}TAMp&k`2DZd$ktz9p1x&uUPqNERunHL7X``AwS0oZZ}(%7z~P zR96=|FKsz*)!XOHoIKDC{H_0f_G-45C=y&3y6i7}_^_ct{Ceq;WTo!Um!IF?SDcr3 zqUMVwtfcYdGB*GPknQ+65Fclx`M^ z3;n_!;>!PZgKL=6?5ITElIyEiTv>f z`X2jh1C10N)vwn zItJYvZ)C&3nJmN|2b`xNwsfZ?OG@x8Bdwdi zrmYG2%NrZZr|DTLOk0*3)0@Y`rVjbV`|S(dt9D^R;ME!eH56GZQ#yTglbS220l54; zTlc`=21TG$hKCJ*srvc!aAQ|;-&C&#V{mZ476+s?-PUPy%7nm1gXjuk*_m}AE<6t9 zi9(?R#=c~D`sK3lAT5)UslMb`skG6K%wkZ~RWxCM=QS{O1}O8v6c;3X*Z&g$urQ1V z=7ZG$JphP;;KLQPAC3g=WCI}TOIJ5A`A0Vd z1{jK|kr2jAdwUOziIxSA7P9ZAg#y~_Z~%l7utK1#=7IHY?z@U&^IV$%03ZNKL_t(j z()Wno8#*)RF})mRO9ErTfzSKLquHvqsoo_N(PP17;e)W6F(INVO*G0j4r1A)R#J4R z?U8ZLx#|6(0|X~0ocHA0f{E(#RmreaDtrC9k_6ROM|jwqFbv=Xg0c!+fmzg5XtbE! zEM{_s@bbC-l}}stlhJK-FP?_84wXpvuFuemii(Hj!Bnl$h6*A8g#a^A>I67k#S`b` zgrWwRqLfU0d>94_BIN4}GpBNKPQ`r~@xsExpMe(bN0+WH?P$7=sj2y`A7_FX*{O#d z9?|Aj7B)V7EG>bc9U+v|ry&TFJ-MGo&0!#hkN52MQ339%)2#uSG}bwU&J~`B$V|Cw zb;V8(q`CGzKDbD_o|)2^@ulp<=2{4RD(rESZ*>96B~dPqj(W;)X~&BfZrqtEuD||6 znOzpi$FcXnEM0p%lYJjHvN@mI*k+9p<25;rLQX9nSq!Tja+Z-iG8D3!M==zsIfTgK zahT&+9+!nSCykWTFf-S=Ris7zOv(FPW0Vo@-7xVtm`jxPuh?;Qob?!02v)=fV# z5!3Rf9pLz9YZk>daMYSZ10C7fnInOv9!-PX$S9Zm-pYUe`t$AE&u{I^%d>oLZ*FSu zu7p)KHoE3p9*E!rI^k6c!Lfl?3xhQCvtBhgQL2_^rebg*awMU!GyN^2_XtlyKlD}G zSFWzU@=hOX9U%7)G;H`!4vc@)Qu5LZKCX4VB7pXBw8FDEVXvm5+qc%o6vrhF)_}b`n^H!l@i=BLIkLz1XNO(tuJrJEy&DQmvoTKo64H&!;2coAi+{6bJk|` zjFi*Tx$zlSI&W;nHcxGo4Xuw^3_Xs9CI$o~n%m`;UBHzv4l~tT)no|iiydHB2^{S988>1IBri_)ok<3clxIGJmWbWQyZR< zp@IwPnaFF*)S{gsgXJX@p->r=U^9`jvaE`ZqM8~)QN>ZyUEJK;&|6AY#{l83h(U^_ zdtueM#RL4gzLfpyKIMCRA616ZV99r5ltSM~&NQ^#Zs(8xp1pJD zKZ(K%wbTzB01%tf6p|xG&7KyYcjwWsP)mSSF33<92Pl}_vXiTZ1>LhnJi0n zlrbtXQXVb|lHdhsy#WU!7{*Me1)#oeE#fuI^6<8&+%T9pOk{y9m2RVweBfY^ zNtdH_v?oH-K=_nT!1ETD{Iwa+jGiTmpp`e?`wjSeeR&_p>!_V{n;Nemvojsp_W9*Y zRh?85Bee_HsFQQwvR$uE`6b7+zA?4TvgGjqPV5RW0e}khn$|AOZc`gvv!7*Wx{L&7 zxy&xu>@FUBGgMXv3At-2jI znG9?0FJEKU#~!l(^K)-RX`m(Tg}ECqheu*80|>xCT~u(?l#RRB&+iLcT|JJ+p+D@hK^38F48MP)g0Cy$Z;vGD>2U{QGaS+xPFP%@?nqpi>zA zQN3&GP4R9$Ru&B;lLW7HF8B61&Leugm8P-^Ry?VsX!W;$zRg9oc&HzhlSm~ixjDqu zg*VM6!9CPpm{p9nyu9ZongzS_HAi0vrLUQAomyW{rye_;alY`u-)A3uahNP&cp^np$#oMw z#6Xw64+Dl|yrd{XQ3eeWK_CDCP;{3Cn6bz{L3H0wW52+KZh%Goip2r6K5z;oevSys zpb$`b0al2qsfh^*8#`fmN6EG#o+t>9w^X&w-WX>} z&;I!F-V-m3MB{LBU^onhMoEB$)b^>0>SJI?R7hQILBnAC%N^itmF5x+(o)?aPO6^q z#N`i@z9z5&ufwv6&dzGeSP?s8Sp$iEfFMAKiOM6KCCm*C&7}>Tov~O104OjF6NYl& zA}9GD2F&EeqDS|r|dQ`7qC z>$0lOcDjvC;nw^jtLfIQ#|zrpo9*=2ms>T5uAe@l{XqMUpx-@z@O1X?vzyD) z8${Y@PTs(A%hHP4l@;=2^3sH6;v}En@oBa4*|Xn1S03a%YAfSx14424i+IcN9E>p| zsTiaOmbW7;*Pp-Ey%=bJKc7}?3<`Q!sC~maO$SAYww85^bAS;^MR&Ed)RS09ea8#> z9z{~D%L;_>1O|w*z%HAvH9L7KCkI6F@+}Voq&>B}rfanFzE*-2rN6`8b*=-D1fSLn znnDzAwY3fX%l~kI*s$W1RFE?dbG)sBhnv6t<8T22 z-t_(0N-pqkfaJb_`q4|Y@x4dw?mf&+PMWSGi=Wl6pEI=N_T;{b1_AZwN0kd(nc&*xq|um;hg;X zY1vbii*u~3FKg=ZXy># zRyet2PMcwQ#BATzeAb{QmQ4#rkH%9e+J4ktnvTBcpxo@6ny+W0MQ3M4MTvqILLw~O z?1#pwmL)ESRSlZz#KFG0DzDWDh$ElBw9U^sN=11{7D5M!baTy!pMaduoQANsz@XWB z&53axh#B436mF1ExWBrME-nZV1qmJ)R8JcO1PK5GAs8+l5fBLs0tXEM36?JfxBU#Ld0|^5V3=RhZ7gp@=aBVP3dy$cj5_*eMXm*2<6j{f( zkYiZPm}D&q7)X_yK7BR_34K*KBw-gRXBd^P^_t(T*w?WJ@c#Ma)`>3!05L^zaT!k$ z22U9(2^#1aa4Cz`VIr1)J*GwpgoWx~+)Y4L-azNG z5=g9egVAj%BOFeaevpq+rZ?mM=sDPX+LEW+^6glC&y-zPc8=|0iFN!^>4NJ_rsFCN6E>l)7NaQZ`h7kKyh@W zj^^Xu@5tK5qHcYa^xk1vWn(ubW_kd?>Ls&%#%0KT`{q*@FWvh6*AKtHz?ZO-gY(#Z z>-*Xi=k(5LFQ34ws-=6cs8UC$*7@Y*tc*E`Zk=IKMdaZ+`14dY8Y7p0<-35w^ZM${ zwKx?r$Rdeowcwtay=q|t6*h@X6ANBV8ldQ<>Sua*c|&28sIF555=CG=e|W6V#*)dY z)AUH=#*)Ls$;Fk#iQmDywz(Id&FE+cb(ThyV3-=s_LIx_(W9dasMM5*h}me7#IJ(1 zd$FR%mh8x#l{<3MYQ1XjAKG9;TY9vhn4n*f_uyq>hgp=UQ6eS|XiQeluC8ITe0=D> zjU=X&grcI{RkeB8m)*kX=J2u9)ac|wq zzPGQ=A6Y(~GNZw)L4mqk5CRk?Vq#^=i0a+Dz&;<$WSgVED%pq;WG##8Q-{pVSU!%{ z&qXR31PcNP5)v2<2L}NG7Z)HdDF_w~9R>mc2Mhoa1_lNN90naO9vDwg6B8Q<5F7#v z3jquX1Ox;K2m}rd00S=}1OWjI0|*fY2L}KE5e6I_1`z-Q7B52pGaU^b9T5o$0}%%e z9UTz{2L}ca92_GB3JL@R2nZHKLqZxhHXsKF2Mh-X1`!1Y3=Ie&2na))Q7k8&Lq!#S zrj%K^HU<_G009gQ1rQL(?Ck14KY)OYxsXz;ey(hZT9|IQ$7yw5JA#4?ArA~*onJE^ z3x`<^XA>hr5h)opuGgJpdL_u-PNV4g`R0O187c%?5O^>!cW-YnXiO0XDG5SDaULxT zK3=GP(yObPN3zC*6)|W;vD{e4WCfMTQ_s&&K6%*XW~{eBTW1{&N_%HBFEnRoDo-I8 z7#0I9Ei)by8wdjm3Jwkm7!z?caUl>wo0`Ao`{OfH6jd4_n*IH*n1^CGE)pIZVP|NL zIZV&iyXA~*)o~17l&Gj)H(r+P8@g9Ne5|)Ahs+w)wh(Ta#ijub3uLaYv-#wKoZ>;e zgRL-Oa8G7yt(?oD<(syoj6k+x_en?E@G~ETQ9Vh?MlMK;s^#6$e7>yZ2kYRy#_+6w zQ^rumsh;xf?eFK``^WXWu#0Z86uZJ#JdAUpFzffj?(PlR>FL|;(^MOHW@cMRbW9{ZUPfhy zVdp}$eyQQ`|;Td7tYrUwRnZTjU6?_ zWVJ355-kl%PY9Rw{qza@`}@pdm{nh>)b9V@dN8)mELoKjDtP4Kob!w0>sbhNm*?z8 zqM~Eh<-xxIg~)%0*|j+5d-?f#c;)=v@9xgWxS7e)rGdh2v*`ZcY}nnZdJ?wS<(G>X zKC4%G%}l~O)>RA}vMsU?#m44-EC&zl4%(V_0QpEshGmdc6M+#`GbV)uiRl8uc?v7WvbjX96Od`7sX(1EPV%Ui* z_~L|#YM+3|8aZ%UeE=o-b$N4hIU@w@`13x^w0HMb&kGmZf4Q{2K2Ibiwzfv}R^m)8 zM1aYnd3pSRKHQ6O38GL&ojMwlkj4*@=hGB#{(h#bA<<3KH%u=uFw}W!e&TkRac1Dd zSl`rgcwAkdC(C9emMqse#bm!mgIIe*2?Z2NN(v#W>JHI0Rq@g=Rg(R_1_YA6AfQE5 z8m0w>Ld7IO9iKcMp40w8Ay~V6>RH=xE2p){Y1-FP!otZ4Q^W1^ zMg5U5f>(yEaW=RvF>l^&ZH?zPG?))94h_A^PcROfwWSe_Ck8h+xp_N0RZJtClpX%{h7H<{TGBX@C95zWc10caQ>50_3|pE>w??ndG9uAQB( zGy7XB6Zr{*8TuT5Z>b$2MO#&2cJ_C5)pe$i@pPSZO#9E(f%c07yS=^TrcgWhS(Tvm zBQEutB?M_uuS%xp79LM0ukkKNI~H80`^1t72LnxgB9^F8b>5ie!uW@s!Y5z8q?;YB z&+$3$HwAEi74Y%lw}1Adn_#q68(;#eo?SK+%+z)5u#0Z(bj9f_QoT(J?vj4|=h?F_ z&yGI<%2t($-CSFZi){Ye3;EL@o5?c*d?Y%Oj7)hRBdVr$+Sj;L-E(-YdsDC?F(l-0 zfILlDZZa*~79;>)F09&k;)pxSV63(twmrR2Qu^lFwBIEp9(g___)2J~b$Ep1<-GP# zoWFB2>%4C>gL3azto_rCin)*|`;ftjVDC{gLQw;=O(|n{u3;e1loEs?NlohK9P<%22G<*=spA)s!@(90G;U)brKpeA&=LBG^}) zlvNp6Nc`B7jY25Os5=!blUui-FKk2x!)lltRdZ3NRIK0J@W)-Y zOS~IA=kBMfvj{ysNKz{kCutR*q6*Q%g*&AvsFmtv+8CU+yF}NVMKoSY^|g6;n>)p3 zcW!lNj3BKULmnRXlamHk$K+)|fr6p}P@B*i8XDlrq>L=o3w#k&LMs|l>$BOr%S|TY z(x+Z*?SF;MmP0(%%z`~zPQic7$%5u2PyL+af=RNBIR&|TRe`o$(+%n;Cv(~5H3WnX zDXvJ_;8K8D=_tWEJnr&~`%LB-+x63GnV;PJpiubJ#?gG6kW-;jNhU`6J@VgWFC4UB z-Yjg5$Dh1D#^=0!&^Cfp3p9{Is~U)6ffIYQ&b;+0o5!5)-%{-6{P**pQG|>vZBH#R zY-1*WuUU;?WWW^&@cc!OYL;NCI1`VON`5g0beQ3b0Y2QL8FEzZ-l6~Y!OG!b$D3_# z?L=_tRJ>l)$x1723uVzDsv$%o!u8qC?rwa`!q=}#{;qY)%OIe)-^$)2jkR7q1Oz~_ zntMI#VkC9y@`u8|Zm|D`$0T)b)iGl{=LH8@d;GcKjCg&06EQmXh^yZl4v%ki@Ea)8 z%^F#I71ZhISkRg*SxlyL2NN(N4mtOHD@>xt-%W!Kpf80V_7{L@i!Kn98Y(*A+2FfH zQ}d%K>Z0)d=4SEq@B7=RtmWPQTU~`8?j*((6;wTUeYw@&KVI@GStb(%+3@C=wi&9_j_ADIKR|ti|MPS64=>kG|e|&ansX1Fc z@bQ6wz`!l!fh^|giNUlCrtJ?THyvbvfi5Y@_HJARFXKnYmv^oyn-O_qREm9mg)x`H z!+Bbmk4{Eaml`$F!CV=V5F-arnajF_w6xNiQBS$pS5Mz_I6v7FZC|FhHZ>)ei7Nz` zl=zxb%aTac?XCWp(2=mfSspY)N81nTeU&zlRMmg(R&J|p8G%A+uT09#&eEEC_o=FN zx~{HgdW`Asl_JyZORo>Y!qERG>Dt4Y?EAQx!)!CMnZ+z~C{~+>Q7WW|=7~qhF^{*g zSUEgnsV2(lEi4amNDfa9FHgy-$9T%9^or>XiBT?*H#+013DFpYzPDir8u_3eS%(ub)|{9yd@`ar9A-rjfPT_pZh`3$@Ju#mpQY z=FrEg&**!UPE9#T<<;$y_7??}y)T&O8XQm0G@+YoShZAcZ;LG%I(lnz`8nB4mQ1eyZ)5B7#QJ2(M(@~aXktUx=Wl~$X?LT^#>GXNx*m?a zf%Wxu;6b(qn0eP;$=x4k_lkbfBxT1TDSWyXpK>gsL~DavGA`I?zlChS0u>Vu;hV(43{1;vo0Tib^H#cP^Vq$8hskH<5R=&pL)YX*D%st_dPcAK; zPu0fUIAaiC>=)u^98q;s+J-y1s4q6}&7E8A?OC3WTEpuStE#BXrljlP_V!7(B`HZ4inSAp<vWK+TWQ&;(VyGPnrPN@{RDm?{#5)`Kgkr~v0+Snw~Pj-tM$ z8gLmAjRHOOkw^tKpa5v%6(OLp2IR+hk&clv@(}1Ct1{Zd001BWNklI!On_oxMkvdI!8a$*M}2VVk=$~Tbn{GpI{3RFIk84I@{3$ijEg4a3VtzEk3?7h-`{t$}3`I?;5W}8SzGec858ZRcrC%&KF z&vHc(2ud(2&fOg-1~@Y+oQl)ab0-psKwm&5MRVCg+^0!^7ni@@*m$l{$aG4#W)gXw z-Jtz-Z=8dm>4VGC7oRdky!&Y@uBd+MYnNZ_;_ArEX32mnLB;48k*4HiLesvtn=!IG zIM0XB{Aiy6qcm@KaKY2b@{PAqqZ75ALfxhewPca>d2V_5-Z4XgmmkDrCzsd`nR|HGwHl4sZ`pr`Kcr) zxaZH$55}_pSRQQNT;FW{&xL1OTU*y{>ly)I?X_x7UAty|H4RJnGW(l20idy;l7yEwW*D)=MmtHCK|jjC<8X1qB7?JyL0cx7SX-Q0{;=Uch_8Naue5!*cTX*i=d6es}GzK2QT zX8v$|W1B#<>*TdPUFZ7(9;Z5A4H**_j*doE4+)(zb9_1c4*R6Gq^kWqp`n$PcIp|# zq4AM<@mI-*1S>5AN(YM_(`88iefqG5c1(7v!_gE|)07h1->jT2_+CE|>U-jP%F#=l z#+&C3czj=W@qD=uJR>~^k7;NTE|%^se3@2R z8F!+wmXmX-^-7D5o13@4KNCtq=g&v>_w#WCj2CZyv0|YtlM~9ya3xWpP=L`>VOW?R z5eL^)umn9YLBSvEjsw1S92KUF1Oq;xFeRV>n8PVZye3u;Gz|twFi;twdT0U)911`y z0lfl12JmES2+-DRDyS;}_z%hjFim9@3<3f9e^#KXBHqYInaniCBSBW7qJl&^>OdTe z7zvN5<`~DjG>Tq>$ow4T)X%Q&O6uIsfdNhiJFn~OKLC~pY4_{LFA_v0XHnDc?_aqN z7&2pjS!7vQlp;-?K1`~mjTBy(xmp=OB`N|VdS{kuQq&{)u&UqLRa$qXJdsO)yW{cT z#xh@~?*HtgvvJIi(mrV*J0v$ZD+?FDk&Zw4hjG=l7u>G@yQ#5{0f_n4`0eN?(*>eKI!H{pyWOT7s9| z-712%#Buxk`-o)Uy5+V64;T>~1u;(?o7eR3)MT`Av3{nV`}^Z$3Qp|w^ds50kksC< zz~BDl??g(mYrZCu}x5^p4#7U(dBuSivHTuM#p`}wRxL|d5%NZu3pUh z`^Td(1tS(#mZs82NuJcM==s(qAuTR@<-4Ky{L$wA{@=MyQv(M!X(9Ff`kaBgTeId8 zuPQKeL{^xf60bvAiZC!ajXBkkcAWD7i_dh{SH!roQq%7z;H&T4+-2bRy^x}h^6vkB z$GMo`N1l+#>RU0fXp_t0muWQE*uNpwnwwy^@)$ z#qFs^ZpY-|UHqD&V#*(uSc2r7!oILUyTB4!E)OZ1H7;;P54+JW3Omp2NMeZbsAZwsR6w zptW39m*n4@Y(PkPQ+;k_O(Pk^>fG!5h;7<)YJ+~L9ndN zjW1JpbhC*g)wVC(rfRaHUWvL_Yk|D1N>zPAc^x=jU^Xo?NF{nm*Ppb$zN~0;c$Kb} zZp<-6XIffCXJ;x82nh-?7!v~nH8d_ZO&2aP2^|3k4F?er5DE_u1Puxs1P&ez2L%WS z3J6GxTPj)}5F-~08V3mk6AB3p4F((r3>^&s1tTK~1QrMi3IG8VAT9|J2L~Jn4FC-d z4FCWI0|*5M0s;pGArmnU0|^Zv0wY5&05fC@P747C1_uWQ3=I$*0Yb4(X=h3q6GNI8 zHcrl#br^JoX18=Xq`T4OaAM3@l-lvyE^HDp09p^4^!;1E2{XA|sHkMQ6jK};aHt}# zn}RMBHbsgaD-;eGwvMcdD*@`*bJVHA60Ec-Q~$QQ5V}m^Ki38ejq$bV@G^6+Rs)7#LJf zF%vX24=O1x9SIu`69fbZ1rP-m2?`S%8w3tMetuy*K{{7$LxiGoRSaAj5@;nuuEF8Z z;%p&%Xn3^wyz}~+S`RTpLmrjqn&|oDZ>rt;_1VWSPZ>FMIXMzG%x->g37-&EMm-{7 zC!&W)t~i)1$V0VR)SjNyO^3Lma%CTsELl4o>iz1sje3li=iV!4PMMzZ`{T@Df@qgD z1_cgOTM`}t1(nzI*WOdK85%6ymgD~BMFcbI{ryw5>xAsr=bF#tli}eg(D?ZH5>d17$RPRlfO%St*1m-)X|9A&?$W3>{`t?eEgVA@8=smc#!&3_ z-FD&OcC2VTrKR2T{QOJ#`TpjkFG3_TSu&ON`udU078HozZ^CP9fxd`tVok1idN6Nu zXrQ9S?-D@u0H3U^%_UpU&ph4rxbfWd-shP6@%PD6xTydC#j!Q-<-NY4KH>S=T zBxNVg+|*e^)tXJ<>FMdi?)}h%fv~)W!mWU2iOR;Zvc{rntDf!c$&V*&ys&X@U>C;$ zngS$g5MM54Kap)QOm|nTj(BK=G@H)H`^R2=!An=&-S6x;Rm@-Xuy+n&YOs(i5IcCD6dC~u1PB%o1qcWO2@VYm1_d!O1Ox;K01O8W4GjPQ5gY~v0RkKaFE0}= z4g(1tAP^%$LK-$?0T&Ab0tN>M1qT2S5e!1HK2;P0F)=S;6*59ov91sVcn^v&SB8MV zO^{G>6?NW$yywY9mLi;jT1rIEV+{_w!1w212c^@4(FvrCZ*HXt1y6B`2z2OI|n3KJ6v zBSKbT2m~AY6rxa;UpqT18VL{r3=>oj4-XPFR52+oE*=OW6EO+| zBwc$vllvccn;|w9=F%t=#W2b3B|7Gk{E$oh499hnbz1w;Y6?Shkk)WA2Z`VGb6n>V z8p@?}jGse}N@E#L3bDDAOJe#xkKglpJ%2yn@9TM<_xJt&+}?^{JESfg-~xxW;vkf& zs#K#ajB!f~E!@ZCe*V+zKeQ)dkDFpB)u%M@GdCW7q!_8IxVRjqayXq^fBy)ag}swG zh%Dy$M|EVajLGbh67_ILb{>lZ&v4U*REKxKIN{5&Wq8(944cPJaCCnVY=r*T!UjLE z!vmXH)aVWNu=953C!uQA~3D#sCM001Ve2O{O{+c~W}J0m9fdwW8~neOzl z&4mZ-A;QSB6MyXqONS%z0bcw2`>3eR&3FP|(&$!#=Or|D71?pwbQ_zahituFEWN$^ z(qBB;9U`;pRyOi)+&P;w&sgG=TXAE+ni;WVY9=+OuEV3oF_}A3b)Ug)IdE49c(RztQ*jbs~bGtk`#*r%!a1(|H=)`mV z;&(OE&BFp7yULhLDbv@Fb&R3Kq(-4M?_ayl@WQ#=#+r~j=11KE!!h0>{?bxd)^IeY zjPJ0!p0FWljB?@v3wT~!1JFs0knVKnru2qOiJ6z5Vm&GWG>(l;6>Y2%>3$V6aeqv_ z-TIlTX$>O~RPs@inVBs71EF`p^H>1kSGsX5MI?$Q#P>Bg*JA^jMESdw888%} zYf(@sFrf`oR13g`Fn;iWDZ#zsU@G9@=3)VN^*jzg9g2O5wRc5?-Y&|8y8)^}P7YB0 zGDsQag9!pqsG0&Gh5?>03%2*e6d;PA^`N5i|LwKGk$_NT(E1B0ZH9tC&6HJ-_(T|n z*+{7#cnhk@s({sp$kJ1IN|2(Znv;=6VJ?;ITU_VwTg9R3Mdz{It8qH(>(MVul(V58 z+PxA!n;RYNUTsi%G}}S}rKV})Lw1jGr{G*F*W${{PbTq?FFrx@2ida%Mt2h^{p!akWUx1S~WLQCzGp#vorz)BpQw7 z7ZueJmUKEwpY3Q&qdDf~8ADWUgZ*3%qmf72d&k?;!OFg_K$|$hCvfnccP^-zec#v}UQyQT6(DP zssvu1Bk7cdMR*>M#QyZ#Z~tWt8rV+Zu74aW64BV)(+P(a$l&d%2c8_>z!(~m4%3hiV*NIoADo1k)aUC5t0ZBoDcHMeP#iEYMY!nRcddtfMbfQ(#Qc^@l z9MZFtw)0Uv8DcJV?1G#s+T|GVVXL5BF1TLDV$Wor`3V_`cQCg)a0ZZq$b&sVN|rDw zh^nlttduGQOzc4w0UiLT10@v{Oim7_BzMq%52goIL2D5OMJp*)`GcYZxGp$*R33B< z2ks+L4yb?t889^H(Mz>UXd%Ax^{-i(GOJ9%8;~h>`#Wd5sL+tZg`s1@@sPfIjH6@< z*}x_#^cDhUgN8`s(1qw zTlbjM>Xexr7EQl}S!awtgqFAH9UDuwpB5S6mZ(&RSXR%oUmEW20xZ5v2d#^+_VKp9 zbSqLLfFqGi^ex_8qMixO5{&+R;;XRHia!q zl+1ZGZR%Cd`hCCtf$#PCUZ3lEp8NSc_jBKj3innX=!5$-mAv_HU`HK)$4Bt%c?Z9B zlupz%BZ?0VOtXXy_^zLGFH<%*x5rU~uWr5R3e*UM%V16;wdsZvDN6aI#sRYq-N(_ho;F^CA0O8N~eSb&8B(ZsH zcDP;b@C+v)Doob_1JAyQn#0Sy45X|hWNEnc4wJJalvp(Q!f8J(S8aDA3U0kg0 z&CkbQD>V1$x_;v_i?lqL;iV;-bS}O!sxGU;#s-bU8O3E&+V~qCPreFRIK=qm!){vR z`48uFxzlDkB%8+(b?%MmxF{dAjb4pHn&IgqCK!{@UXQkFm;+5C z9Xc#6?WOK2bA8!v@lYP;x^jE#f4PU8X9W!Y^qth z-?;AlqCKGbG*gkYI}@IXRXKVf4JsvKds)HS0K!kF<2FnvBNQ?+GmB#rPTJ9@j9{C zoAg^PSCX9Avl1ohcCT}$xE&V@K4t#=IcN10XmAO=RI2)6Np<9b{Sh-RxTevDO+ zTs>0vJff%PRN1$0T#A%I!}>2)TE9dr$#qU= za5yKamZB#;R9}`(4(a7*f-69q^(FZGO(Zi$TXV{7Y*{Q-s{oyji-DUpsIf84OeSG} z|8_SQv?=*Ix-tlq_&4mq3wC}t)<}E1^D_mHA16<~CA0b9Fg9z4mzS59m}pfxzdM-_ zF*^F`%Y)e+ZdQMO)<#8vPyl3vb3pz2PyE{-?><02e1B)jyRq?3 zfKCU`mz?GUBmluGWA=JxS2$L}!XgG&-i2S~Fp1M#Zeyc65SODLV=8%z?cfQAi-V(l zd}?T|J!30Z^`E{qsm?Cn+Tu02#!l}2xYNVsR@Br8g=0g6L=JN+7+u1!tPb0tjZZP7wx@~|))Br8UgIVlGF*0t6AMBDhcOojC@Hd&<;~4e# zCeXafi!>r4F52`jPzl$%5u6o9WA6DUSrs86t<(M{*vz9bLj}qCy1pz9VQ0BEReyJ$ z*QBbGl;ng$p^#Ei;B&pCx(FVxiS%?8J*IA8icrv02y(MMA*uxPG!aqM()!I7uSuek zMDYIBhoQ3IWDubZk%X!ln7Yaz5eMQQ3U2>`uli636m-)&0$SUH8euRP055<#DWfD0 z^E5;u0l1C8;}!fZBtctn1WyqQ3y=Yv3{8(7{GXbVl9GwUQBxIIq}}z5 z3x$PtXRf4L*{7t`zc#<0HdT33ElnNaeZtHCg!fHzB{y1vo8qycn&g7~kh&)wt@OzK z9fl>|_~zc;ioyNaE@gjz96H1%ibXd#Ni8~6lYBS1sL~N$nb}=?_KcI?(##T!BsV-< zRkbA7-|9;X8L1|*x3(5t9${gQ2njzw<-pJja!0=Gacu6!>4nt{6)mJG2Zq^aZ)|-2+$X4;&Lrnu0#X3EidE+xF$zR1lefQ< zot2v#=ZG2W`!3+17}s;I-g}?f@n49B;Me~-y7qXc`akXxbD3FTnCq+(VVO%xRA!Qv zLa6C+dlIYcVLys8D=Fl0?ZOj1G=3hMAGwBHN@975#4x!PHkrcDW^K%#bDTfV>vdk| z`#rC7-sk=Pe&3(Zd#rU`G;(Y0*WEwD-u?4|7X7jnkQ2XtRlWC~nQ@w0jI5vTbBn!p zf8STp0IEwcy3Ah`iP}rhlbd46US6-&v1XxA*gG}E$Px;3e=et{MlCH%m#H1DB}A(v zM@!v+YcVZ#Tt2I3mDgR{miyrcFoP<>Nc+n>$2;fs_9mwUd3yCHwGS?G(~H~Qefj4{ zvq&`HnztsNAoFG$Yzn+amxqSWj`vz<5fYA{D$U7@u8UBIXol$P-h2HT7}fenv|zGb zG*>y$VTg2g_IgAC*qcaHe^V@;&s_U=vjZCs4!ZoCqO}98^^+s~c@Gyzqq&7nEnzvWpPoNoyTz$jzZT#TP9ze|bj)=?bDOpG zPJKnCGX@t;wAI65`g-ckL-33pc=RppuBxXHT|%n001BWNkl+VXJ^~xPK22S-23BDGFTHfL`|xXxaDD2;EYeZ6l*`-VeI1Gm9fPk zG%nVV!(Kf9ZC_=66WIX-0I0En4Or=@ti0XjM1F^chCCbq00cyBS2dRvsU93^;i%@$ za{ricHL^p!Amp(ENfEv4Rf2!cfsBls1U$)75xfYPo`SxorYaIDkGn|EPGn^sIa2zE z|DEGUG%ZY%o0B@+A*qIXD42~U(yPYjoUOax=^z)hYE%{6-oiA@gsZFd7=Ti@26eD6ZQ#D^q0(Rsp?z@x3X zz{mo#e?Bbbbw;dye^>E&FCe;dax(YS?|jl{9*<3AmbQvEHX007Mx|2e=-k)ezOJ_x z7Vg`(z2)$5y}fgAUX~0Hp4u|$aF|z(cK86NhvE$`^(^rv;xW#aXqt5S@ZnOJFXg9H zYQ#o2b`~aVtWsnQM4R zGcqvH((*tJt(t7%7+XF7)(?qmqWIkW8D0+&9uLS%Qd3(S<@3;!+V5GG9$2@DD&1x$ z2E#NejzEM#y_T+&abw=@QoNM(D#Fat*#1&HYifB)r~V^8IXkA|(-WTDE{+@xt0Pknbg7`|FCRa``6?sL5DZ8H%Oq3)+yt=B-L_{YYiQKR*aeq&yQK$sjl5|l z`Mz?#zDPLA9B*Z9R}dQ;f`PikxZm)?OomwU9~?3!;HE06q1JSo30W8ha(l z1}&FD@&1d!ct25epv086cQ@hoyfvFQ<1HPHAoysfP>g1`S_FLl*vD|5F!#iXpM2Ki z?p5GF%71+|vZ(P^KsdY4n^B`>wrdjZ?8?A&(z3K_VQX%4^G0~rJ@&-X_P6-GtwOr&RE8P&_@+8EJ9~D(e{Hky zu2^8(3U(9v=2hE9VHWT}+%a|geVDd2cXxBGu7k*2k_ggMd#Op5&6h$j3cD@b3ML=t zzH8!aZLl+3xl$>Af=(wJ1yXW9xFI0`3089n42$J1j;{){7!^OHEU+=@bJ0rhc++@N zdY4^4Ur;&1DJ~mk_KZ6*{-RAdCRstzI9BzWG0X+tM!o-F^}hg=2y6F6zP{hjx6Q#Y zK!{|obct{;u;GK^s#8(Z?Y-c*J4F&h3lM4A;JtDpo9vnC!`tmvqd45`C%B@fmYbTJ z4T&y07oC*I*Tk^aEfac*MTuuFE@v;!rql0mpxMXTqL8A-xME+|^u%`IlcCVj$MK`L zXh>6BWFBWsR5djP8e9w$DlsFQuFj}%n+rBA3l)8!9hG@0h-oP*N<=CuDKRlAXDKrv zLKiKFh(gu2jfr@#CBbN0corTAFB6J%g@9|fDjWbRDK0KE3l|p@9B~x0RjsG1_A;C90m;vFE0~RPZJvm1_1{Jn&%$Ri3?#<1r8Xm_3EI?GA~nZqN}M% zN1mzNaD>LVWil5KGaU*O1(kVu)p3nzi40+z+2%zVw*C57Yp{H`jfF6pu0^b{i7m5y zfR3+7`T49FRzfB7{Drm3wY7)>0W)bWAPfKw9SsTy5C;td2?+oZ1rZSk0vrws5F8CP zcrBFE>_cd1OcoP)V&F&a)S^9J7kF$)8)tZ$c|dn)XlRVL!OhJ@2m=EM2m}NQ4ha?^ z6B|!>HP7UM-Pce@p3>~G>-XtLshQN4pfL%EEe9hb3QTmQZ(1kRu^b?Icuzwwd0~Wv z6R00Ps%7cJr>FA8+34uBEddWoz}@`((WBX;qgr_>zm2~aoyh9guK=}uu~r2*e`-C< z=HZj-@6Kos7oaH!wdjH3_4M3_nEUZ22R8Kd-lE{~>l*#~(Q|r3v0+1rwBNPt*Hs$T z>e#{g`S$j_Yxw;0_5a*9+S-U{q;HWhievKb?tgkHD1nSG9@N0OI)iez=(0wZE?P^w0Tr z_}z(j(QD+Tl=1P9kIAbo(faeW)vw>pm!E=6Oy9G@{QSa(yU3_ z@$uuJNHH3nmU?z5^UiLVxu5m=^O4`RGMHRsMZgL&A_;NT*WmZt?TG&Qfq{X5_5Jk7 z$GK@Oo7(H|*E1I!HdY}M3?a7FuJQZhMHW%l|MVW#bDvrJDlhC64|5fZ_J! zFx9TV&!ZJymehVNiaC3i*u<*D60_#!jhDc{g{VUx` zn}2f0qZ$hl8e(H|+T+Smm3hwK_r1mc)69K-#Zt0|b==6Eew0;d9u^RJoA2~@=7^PA zh%-fWje1OHQ$pADrpCs-#$q;@%Ah5x*!0(zymp+eitFnF8MiqKHZu$fDKQWf3m^^v z1|1j=LdbP>&Zt;mBmo_1MQ3@ME}$JA6LCaLOlK($3MpDzF%}RCiouS=mASc7u|h6I z9$#Mz0}v1~D!{5Rv_%paTv<3a9uGAZ22(>?HXH#v3=kI@6izD?7X<_p7%>S40s;pB z01XTs9SjEs2Mq-f0yq^-Ujhvb4FClO0Si`66dGJyHVy;`5dsSV0S5vC0tN>M91sTp z2o^602>}KJ1Pu%Z5Sz%A&DMHDVHXhyul3m9wN7Cgpok+;6+SG|?$V;npfOuYAzB_0 zEdrIBVaQP}T7nozQ@`Y}X1o3MVYYLu*1>E{Hl}J=pzr|$IVEh1dDh{RlRD7Q_|VVh z@U^vw3kxl2X&MFt9v%u41Q8Jl2nhfH5e5bY9Sc?k3IH4scx{bZ=hwuMu+|P7BctYK z^_}3JsnXn^TU&GzVa{*@GcFlKdcoG#%_PPmV$YQMZ)(DlSHUfT}FBo{hfI)nEvrDa)s>0&)-9OKw$*XaUOcl9% z*d;|Vua|+m_TiH{fqaZx5-_cXocR3nfOBZHTDi)8BL3)C^Yd5T(Z~1q!>6b6?xxoE z;MjEpsU0zSHj(zX7=Up8Sv z3~^g|=bQWf=2{xI-Tm}XkC0=c@#}qb*1<(nu1>G@^!2{^`K)-zw!GnXL2rw%Y@|PL zyV2sp!fUYT`PO)^<&LxF=J2D5Ky7H~w+CDec~)e(Y1eSawtGxAeTXgxB!`3|4DjQ% znx7PK*KHZ~m&5iK1E2m=iu8XO7?8VksEQJs{OHzG~| zOnOB;U3)y!dmp#4&1RdKYcm>4*}P`WkW-x{qq9yf?OB}2am``5mdnXXE+w}ooerDR z@VIq)sRtn=B#zv2COpG%Fj=--3PqAmp5HvL*Yo%9_51JleP6zx-{<`%*4bAW(TwfL z&O9D36m4Q1N`^zhXlKVnw;SGpb%95cJQ;yR2*ePE6xR4oxbDdmTiM3_9Hy-S=L9C% zyW>C*GhGvqAz06yVP%Cw{%?Z-U{y`g zC_LneOd;>(8lebWE)owlq3I$J8k(ALlo}ka4uO~=sCXn2!z?LDD^;%dO_2xNwE}sy zmYvO$HrFI8%18?m$$%5%PcXtd^TGxO8nQi%ja7dDkO0`!06Y>Z=t=qM`X_FEQ<8sd zE-{##y2Wu`mbH(yhpnxL1{KcwXKH5-*OV`Wo8Z`Nt`1Z)kt-4xk0i5M!uTk$jaG@{ zSd$BlX$@x@=^AJ|U$NjhdtmhZsSk%cTSPslr@E@=<~qCjV&rRgSNg<31XHh?oIm0^ zMsrhNy?T|G@U-@)l%gS3fXHzAty=>Fj|W>jRk!z@yv0#Dpj<<|S9W$9Uw?dhJiPkT zm+|=Ej0RbSW<*DHZR+8oxw+vh?P)G#1g_WfC7Vb*)cdCTZ+_`{@m|K*PdUVw_y5yJ zQYd1Ng@4|t-@NVCIW#nIL)vjGV!So>kEX+Aho4?A>fGq~_z|$iKUxm^Ed6^&(mw&k z9TGr6t6QlX-G9A*`?gos)7G}RIa{AB`1ZROZA*S5`LwI2IsyB$sC3!-I{SQK0l=u8 zn|VJ1-uRJ8dhOS>+jlQW)!v?5IN7b7%gg)pX-=ldRSGiJ7T&+uT-aRrm;KStpTD$r zL?7&bvj5C{G%q(bVQ#pqFeK=R0exxnuNQYumnV-%gkQf-W}vLO6kow|P*2-!3IEFI z#>xYUSkx;vccL)RVFi4@5y950KR<;lN^YiunJ^d=(_z=!0 zMz*yzb`Y>nl&gL@@r@(&q>xMgtu1S7NhRzd z`7)oDN%tybUOaa>uu{N=Gg)MUe_+kdifpU&z*!pyeSLdGL^gE;EY7HS-0qjpZHc{; zds!(Jgp>y-N68gf7RiTeqJ~CNU=STm1dT>TQ8a0Rg&ZP=i2-{#d1R$Q3t`#L&e|9d zh(hPmDFk$As3{B(?O?Ejy~pK3w*YTnr$nkc%n%Ca3sKo|KBZx;alZUp*=T}0JL!l! z4osvX=l}qy7JT$nzF$S^NE0;_T31&?gQjUcVXDjl002O$Xx{%9k3dxY z!B9O_#VCLcFbqZqu3@Z69UX1F3Vh9Xem*)nbKp|5E(cF?C6kbbq{#6`Q^I8MGCYk7 zLbzf}IN+Fgw?Mn^9gjwyJ9hk3+TIa~@<=Y(SU8UDzyGYjq2bQ3&F1ry zzlanf2ONdKJ&(kLL2y94!*!s$!$1Iv&}ax41f{Y#F~3bHmy^4@dsopMPGt1z(r>P3 zlol6h< z#tyC#VG*ho;6>hZk;G~opJpv>wk5BBo=d@8OHP)oZe9Q4xO8{Qg4fq){e3~BFmmjT z%qKeGm1WV;&`?>?L-yXNAoAF=+LVV?sn?5|vKRT=+iT{mgB|MtO?^yIUCYg3y+eY% zWdphC^PPt+|12x3j--`l(kVymU79Qc<3rk>-|w8uZD|nskKar<73X{U!Mm6@Pc1DI zrUkRT_l7@wNO_&`;rGW8i*@HS)gBeZ9>0FGMX=KT@pWzLv%$y)MatjOj7-y>U*Ab% zTi%TAyL}R{0o|hQ*N#EP8yU zb*`miw4fzt^m4{8$!xnU#a3KQ<%yv9;uXo-_9PCMge0ZKNFC&>j?-NpLg~!t22UaC zb?1{z83BHN0fG^ogrPFU+Gcs>%;M)S1z!FANuK`h@dPXrY-kTE3)u&9j5Xx?))@=?w?ns&z{c5w|?J}LG&I$xm6 zm2XdwvL>P~)L%N}glM;q@*eHtHO_eV_S%?7^|XE0-QBj?!!fX86q^qw6wU9;@U+Jl z7P>RyiFU#|Dl5mu$Gt8_vU5$L@MP=n!+|wzSw0cU0Pel2F`0Eq#KB`J;Xlle^0`^u z1GjrBzOkieW>TO?iir-yz}SdPHZ!F~@U(?|DwAb~z_b0&XKHYW>5g!H8(&yrA{9men3+?DKf`<6^urxd{YvCmn5&7o4Gs*#6NyMJ zQWX{k9ASXewX^^L0HaVSxF!MxBWSs6+0(&#`xp!>EiEk^NL9~`GBri3BFIoM;4R2* zBLT<|cmS9OO*2h(HFX1H7XN;C-+xKE7JnxDK5Q0aHYR5^r*&|eH9JrWZDbu(d)H(m z=R<^7qKC>M#418hB8SpsFL@%O2&rC1dmYO8kV7UkOe-GM$aCM``}4W~f&25hzV~%~ zf7kE2-gIAjY-g9_%`$_VXxYlDIqZ31Zy(yvfCo1lZa3o_m>ok*0VzqC?t+7il+wJUw+0;T~aKC^^{j1aude{272b{!3grlj{p%}k#RRA(*4??V)YZp_ zmD^UtR@?TJ*3`z?4&jQo`FSh;y$l>B54waAsg?ZH*d{8CU4Bz-To7AP~}4UU#DI9tiFU?&$&RHhVw+`RBu_hMZ{C>i-^g zijT8AdnJto#bb8lDpdFb(v_MWLldp9N4~n6WL)reYke;NcA0)Nkv8-_B`GB(;1b%M zlgK8ZP0l++UehU>k62#0bveEJY0~$SzXsa)8NC}H>zf;n&fLBGHEZhqRDa%4<8#U! zC0@BNG^-&;4QA#ue^Oj7=pHB*wz2ApvqZs8aek7?jpZlP(#h)Th(7U#xJfD<;ZLSo z8024Tyy{pN5y$K6Iav+{m@IHtS0&Y%sqhML0q9 zvJw(LWJ`Zfzepsgk~uM=(5Dw4PK9o%6p6+}=$VNcM5${sH=~?qX3J~sTVhE8R`1)p zv_5ttwyp!gp;$-sF-~EPGz@Q=ac?h*xm;JfGiUx+5aQ$S>Y)^QWqSIGTdWcF<&*E< zhdeT>Yv)dnwZQ9{m(mC-pts!BL{o^M|DJ3M8w1MJOmY!))YAO=|DH^`bP!n|K zAh4P-CY8)I!+-&RgrRV1dSEID$m-Dm=Rjg1 z1_tWtHdq)0+!B~6?NE|Op}^t+U;w~3jW_cDUjl&50ARc@3a1GL<3~x+u^EdS(R1nj zw=SfaTF7Y;3~W6qxSePB><`IyVVKsOrJC=es6lBu=Wz;Dq>Zzc{@pku+xUM~dudkM z-idSV!UmCIt6QsXM4qiFa-rbtkEn5~W@mn0O*)q-oVaAFr^sf*72r@g(EI>0kxl%| z$RLq0RUDN{m0{Yrv_HQ@kMq)k(8u%VrUTMTzORj`6azYq$<*>ZcsKFs#eGRhQ!VvO7wy0knu@@e#LvtOtrJaAmh>ub zfF>#9P|=@{{yly0npJu0a)I#~N1@lJdowJ#%qM}ub&X*@Xz|&)P zeedP#$-8xPP6>okp+^-X@7J#t>$VfG?NyAt`~<6CzAZ*X#P|006>2G3B>Gu0IUGNO zZK00>{&>?lZM?Qzp`FW4*>@w(Rw!wTTUnW{Yg&w#67vMSr9mI3#U-6umZhI_-s{IX z3i_EDPEK_;y!-EV57!EFJ31ItD}Vi7%+F72%dL|VVQy?HPrR}CF6`&;)i33AcD~4N zdZt#_+ltrY%Uc*+U#XavNF)L;TZ+p^U;>DT(_4o40LPyXxMj@)CBW#0`0(iH=zqQ~ z@+HFjzT4%kO-&;|ul`sY6N$phK(!BuhrYTZSY6Y7ac>(tyDBgA+04Z0b59B$CY`hU z^!KOfXL}t9fjMJ20SB+>gd|M;cso08K2lrEK~Xuwj+On<4#dieC4Z@Oc%*4@V`H$R zj=!5;#IPuyt&-)q)3X_Z$?8^du%K`--}D%n#l-H23il>-H#QCk4viaTyi<`U z;D;rL@#i}Oo4gLoMyx+GZ0A zS#Qd5Yxmi)eT^kIzjk*%`kd9NTrrgOLPsrRXU$xVi7u-nm1%>JhaeSIWz_)yLa+u} z-m;0fyqM=VL$>M!2H7atXha$1GP9|UY&O7dcb-s0SXcz&x2c$_;V8E57N#nA!x$<| z6$zn0c0@&4g~y;fBHCVx;%QWxXxRXn8;&Y<3H5o)VzZFaUQ5#3uZK7Xr5L09s%>1&kt=LoukewS(*Z6E9ys zw||p<%mjmXgkvZ!F4PkG6aWAq07*naR0hhY+(HZ)Onzn@iWp;~o{i8wZbrAX#%w)8 z%XhKlW}FPZR~B5FACpHWyUedHip{lxhKq4jhHbLBd&^MwtCXZyGr}TAw%!&;N4x@D zK>_qXf<~atRfG%@0rrJZaWQ)J>d`|V{(3_*#38r0w5LYZQhwzYLOITyh7*%>Tw=-P z$111NBDp5BBKJ6!(s5aFv|JV;xinghgh?$n?8s=1-*@_b{`!3X`98jXeBaOa>;1XB z-fBMpFe{CKJAm~p+=>cDYBExHl^=*FxwN4jj3L{%;7ojNpG^%7gFq-0rI6%pfK^oS zu6vse2=Zq1p-%t~~qP6c#<4dL{MYA3(jB#9io7#DpJf9WC7R-(9P3`Mm8( zry}#%W8&UiRQ7(q*oI39Dd(^RuG!LDP|@-RH@y-{ZpdRxSS6eG+aspi73WyJT@xvb zgKKMNhR+Uv`}Wb_Uz@Zq7;JNXR?6otCKgcekg~we; zvSRYBOBY^O6mV)ISps*)Npf{Tf)2in$78B-zYgEW^z{+y9+`VaWmGbW#R4j3$FIz4OZl*f@pU?%W&IP8;_FA6h@7kd;(xLkk5NNwSQJ4Uf~bP*YGa-n+xp)WKWH(ohxsIPOem=jCgf24?mV zp*q3DV!ssU3^yaTgOkZtTAhVB@A? z?Cl7*J4K$%;nahDF@}XmB*GwQt5t@%_JwE_avvc$_b7w&sXfD&V27TaS$&TP!oO>a zj!tH=-FrD4Vxp| zO56O#6Kw954-GxJPQYs3NO!@22==;L0}YG;KI&m`^0UAYh?VVe6DI^;>S6&w8(P@d z!VAXdM-Q8~F^fr+5GA>_g61}ak8b$AbD@5U`fjBZt8JL=NT<=d8e-Ec=@M~ZW8-ym z^L%j{kKcIa?)0%^506|~S-DmI>-+-EIn2?iw7$NS{y1c=pGIY|*#h~3+DK6{HTgQJ z9@j$E;Ud;QM^V1YmZ^OelL9uIRk8B~gCP`&#(gcNOLsOF`ujqkP5t(A*Xs9g$TT=U zHu6$^(u*bOOzWQl;ANYGal(h5+0l`C_GT1;m+Tfzzwl3$1E3K^)O8&OYw_yz%@_`k z858N6Hpz+YKy&?+y*UEKlrjI9d{0#_TQ;j>jif zRkde_)9LLlYilzrQ>))(6U^CH?E|KM3A&!iwY5e%h4h(~16Qx@GwSKd&y@&zg&ddY zQHqWK++_1@EO&YQQUkf{_Q;59NKJkp6HlXAW7W*FFYNbt{K%20biXRPg;&wQnw(3v zZhOZo^Jx9`Nn0g0iLPx$@dN%`LVq_e8KI7Zo7rQ5x;Y48vE6R3x2}P`pPzwZDb2^n z31)PhW%I>y2?YrlEc4GUW<>rcz$m5uQoO&ytZrOLRQqY2oIkN2CHbG$xs zjEbJ79ts6fwG4&B6yUyA7>I(~^MGruooCO7g`u#aEqm>-G!jZ%EflEr&)L}6IJ@8i z?!`4)8lE#z#OVjLjfoO0zlbkM`-ES_lbi|9%0tLTd)HIbzkawT${TQ+EhPzE^SZV+mWTJ{EwS<%T)RX>c$i&)8>fP0E zUv76#%C8p1hM3_UYDPo=0g&r!so&o-n|JPTK62pd^!LJMYJN8>a{QC`oMiHUEM1E~ z(|aGE>t>h{o7+e%ZER|6UCC>6JB~|Y$`WVN>Ci)>6@@x`6j73ExkNWlODQsza^|*? z6LpL>(ncdRHgib_<^0xpe*eS!_IrK4?{}VS{pjd`VxZ=S3sBV3n0Q|_EaOhvG2@Cs z_uq0GR@tAw`Ft8~xy6d*F|uOw>-V2udb3KU3l~MV-!71iE{ac9 zKu~81(%3N#O{D{@SN~gHc3oe82#{I9%jR>F1M~CCN+z;8Heupn^Z3|U>NZ`Q`yba< z2E4CvR#(|zB+?e|nY{FEou_!UtnAs*J-X~|za12m)Bbhs$)Vg@L%%Rzh{-02{oNaBE+WyMHs1{a#RI|@zo#Z)X|!!l=2Wpl;OM!v z`AyqSEZFSciF0wexusrwz6=Njl|E>94^K>>CO#YOatu_2K*2OB=@EUkwVIbbvT3B~ zDjeLviH_7F#h_paAEMDoOctmzuB{=P7^tacY-voT8XBQbs+*XY!)z^0548?zO4(^p zpJao}6k+XM2@QgvAhux)P6k4>03o+@BZLEPUbP^ifzk(qQ7Bs^38x2!!2qELfegWF z#wvFJ*U&)Wz6FYS(k7gw1U_g$*>zrs*4kRS%(6WgZrqATUS=2HOzmlT6%Z z?qFWFxQLwVz1RFKMU$3NDi){L?5{r>;h&jky*c3WWr&)twg!r{TTLHos=9oHLg4`p zk!5n9 z7?C~J2~%SQZ`VY94|GE#@x9F$dloOY z{ESTj6$1IJe1vKBpQ|^{cbT~qEjFq4Vi)Kf*{D)R2#dF7=vx_A%*f>mI-vYt56L(Y z{tq5(XH3>^e;rO3zES#l@{UqDdTn2nkD*{Vch{SSn2r zMp#$#X+5Yv(FXqT_Cm!KpJzd#`tP@4LohwbUmT4)Er^6Z;h_A20MyUHM#Ub@Y7q z!^f9Y{l#0#zm}g!8CBJo@JGJbqmS~MzV?os*2_Fu>UexpM#)gkpEtDZ;4+?CA1 z^l%_UTr^3YY^kjp%QFYeG7yNJC=?pAR%{Yp^jWkO2*g&Q#fqh0-}N>%J@d3g;rkQ< zaom}tsorC>5EqvXHmxNwdHK^V@tEE>aU~ayKWg)E_p`!cwVaJw(SBy<;-CTDwcTVt zzpN}gjf-*8&?b|$@HC7mf2V`(6X?}xu4sK zm$LB)pByu;&E!b@urox1j0Bsib_KLm^MQ7DV32Ah2yP3pLVHukg!M0>oU!WxtumVm*N-(i=kOL@`SHFCHW@~dB zI`{bXXZjD025lrHWcB!`m|596QSbDN1GA7R<{8%3)`ellTG&&mm&zA%qTM1H2@YW+ zLTm#K#|;UVDW%zgFYpjd{Pj2yaps# zs5l=__2D*9^f4u^og%bpcxKcC#&b_2Xef>e+o+B-#yP_v8v+fC%v3eXnjp1+gve*( zFPm|?a2qTh*15KD{p{J_xJ;Cm1_Xi7&<9Krc$=xZgDnvceNtK3>Uo2pM~+PJuQF@& zc)F#0!Xd(Ie}B5QNzZbJYCCK0OwJCrukN-M`i>y$L;NP`z zpAo}`;~fd)8TtJD>{9vImoIP9q7H^p>27xPYSug})}HzFwCe9lgL0Zx!{dA(Z!^>- z!6z2hRw(v2>;K{C+QXUN|2UJ4+^@rLtFh>eGs9e~qaI8gIz1L}?(65D@S1DCTp7-vWWKkdoO^yDt>J6xhq>v+#jzIj%60L={U6__@}g;T z2aJy!%<~>IQ)b-<138mxS{AgzvQf9c(SX1gtLnc@?CzFJ)(Z6;@_>iF`)xM=q+9f; z!kk#}qUP(@I((tcsQC-8TWSGtqB_l!;$2kk@!$C9z^0PwP);$I*IdQe#9#=zPT6ty zOG_iNM_%rX6hCu${ZNh78DvdkOk+_?U!gQS+0W3swPASPNe%bwc|adNUEx)@d%4Denx=l+rs(%q0+W7b-& ze(OcMD@H@5pv&vFSE|?9h`z3b64k7%M{%!P9$4xe#W^DIrsn4I@IbO$NRsR6dBmj;=D z5vuawW&kxf1P^?B^AH^vZ~`vM(y2n4wWAqWIiN>vqh zEosmdNdfFfLMpB3G{qoCK}S39E+M50h%cX1Rt z(PTXJ$Wa|_MKnUy@>Y7?8`Dgfy<1bk?LLk_w-7>AG7$=sF&KnG*~Ug96`3XIzFN(_ zcPRkxi`RsJ&-f;D zyEEC?%RYKoX?IOMtP)6X41>ul12{`w2|^*M#w`e1Ary*?UF!S~PDrL+P-m9eKS^q; zhXw!!RZ~7@h0}u6^m!FjusTkbIqH*5poWo_cz>Hqh{)-xN&0c;-QDH#+Ak9FpVX)* zM%e~CXy8dv3ND)p&(qFw)kt35TU1tim_S91Zix1M-_Bq^oW12oi=uDPc_0NQPH@2I zdm_(0{>#)8;Dz$W<8ej~pp{p|R@C`0_I^4qs>vz901 zUYwmJcm`!f=3VywXerp_cBDu?9*7@{Ca-8xnh+muR+jpElux8M(~|`+Z&uFNK$2(mDI4-VORtj%!mO2vKm+(gS%4#DEdU4wSWBDh8rO?$rJ@0luW+G zWIxDir6w4*2E3O@ObQv*#>T!DqrL4JPhRn^oF@2<_uV`ddO5cvgWPsKEiLWB)tb7< ztM||PI(DV%1k>|_j`?L*_aqtWy4>&rkAm}9l@7o0?fPL?V- z#{{XSCTmQH4snXp(2&mJ`UHmI755G>DpZ)BJ6lwodCau+#q9;b17d=47C|0*NL~yU zA|PNZfH{C>w9!yJ($UiJS!29`+a;eMoMqi-t4s9Q*pohCiN$bRn~Y>zX&4p-(NqAX zR!~sT)YL;F<^N->qL0o?_^_}L_xN#YL+Lyx`W~RVCU$4+vYqs0q!h8>K4g@}HDl8^ zU;8eES_}*u4K~Ti!pMolW59Qxn0Y1`TPcBf3Wd_dM3H1ebDD8)z*!_>311DZuMt{e zD8aeTS~UJ1-xNpI@?~8_q*=^a?m;WB_cMQ9N7czm z=K4C5Il=0#oPQI%ygbm_Jr?p&wA7teda7Z2qCY33>&K6AyG_F98lvYgV-Zm79$U>f z-)B`bSk@e7 zRD1r{bqQ}*B65g-o17&$_;7|FHOY)(KnBZ-m}>$4V**-ib5VWy)>iY}smgD4tf-$& zWD&~xOZi+OH#tBg5`6lj^ch*k_GyZVVI6g~>i-;_`#;l*AII5@vCNpvb>-T@K{J=d z(Gg8f$8BHN%^q&YLKiKCRc@6+t5x6JzC&ti-$*o3Nhn`TdpLGnmz}vBW)`9qX&B$n z`uqi-U*50x>-l-SKd;xw(f}nlw>$GeE0Iy3#M=9bMI)&*w%7lHs(NdquZXG zrIo%0R3cw29=p)oOmZ|&3h1u;B^s+Ycy?Q!cfrEOCR`^kt7A$st`FL!;oyda8z=<; z*pM3P+A7L0-GhPY=>&T>EKDG%04I^~wwi?HPe(-2^{<;dUz}{l2kz|T7SudXA*SX} zPI7_uUtoFaMCJFcv2h_QEnojUv-;s7k7sA2;~x){jQ0+W9B*nGSu*x?Pwh{H!vXep z3BWtT&ENn_qj2QJLPrBjOH-Je<3$GJI>|O5z)nl!McWg_n-6jZ-|vh_q!Mxl}#uF@%Lw| z=ATRXXjEUH^|`S(Pd}W;Cs_tnRM=Y(`{SxCU_J&(-gl1O>8iYxSB6I>c|V$4XspYU z@&hcfdI#j&MYwVsd)nF>wZJ(wHO{r;TgLAfZ7<{P;3{g+AAc_^BTS%xp+BPoMd+e2 zG+H#h8Wp5(57YGbZ)Eo09`Z`dp`_)qiz)jk;Sf#0z5u%)@*_`31+W2XXsEf7kzSZ@ zg&AM$QR$IP6-`oYh_gHa6J&+M;?-34dU|@oKp(&&~=v?bXkdC5DAHQ?s*jdB=&$zqaaHvsFKXqTi+usWHOl$ zSKycZxpD2Ze7j5`;3ZVW)BJT05-QFenrXxK6XT*{0K;+b{crzXUTzX^to-Lm0y%tK zE*_Wlmo8B|uQO>6C+4YI!u9rBtYUWB(6C?G%(Vk#Vagffzz7W#XJA|^&U(5vq4Vpd zXAfx(0Qx^3Nasmj&n=XcN3qlP?enARc%MlrbUIIs$xgbOx!=39^F~(W(<^`7y?dpr z;YsbiKh)~Q;@8bn_ybpOWY%?GO}@_&2si65@v*z@k#%kL9a8C(3TUtDkIp#*1VUYz z!wphbwr^{If(R8A2#lTM{3;XTmST4pj~l72T^5nXTS(Quoqyt&c0|sY<`!03+~i36 zbibVuy>6~;PIYm*w>7}~lxqoxS@x3O=}3+#6^%>c*}1!u=N6!?`T5yyI2E{W>Q4uFIlYzZieV#A<)9?&qaBG8Eg_Y)Y7q(2{ zbq`F3vH$=e07*naR4e8K^R1H4`p4qXTI$SdHwwl07jFnEC@?NPs_Dr}_t^gE>qie< zWzaby0YfaVzksHBOXbp{%X(#9TNBF zq+zg$E+NqE`LQnk;*l@QB2`RB#!NI>KiH0>sqH|<8G|%T5vuVGb&PnC&8(2O+umIy zDmiJ5ezpGbw~&$H=-1P;yt9;l zytZ8?qli|@-Y9Q}XCC~N;qgo|g?qBRvsy(YJsO;==}lXdO)pB7Vd#T+t{c`CgTy$% z;wN`jB=RYeQ8GiJ$drEjr~b0V@gqlArh}CaGQ>A`QFHq7M~_W zU*6vfVNC-s-WoqSADK~kEpLv-ahAzgls$Xc7A1nwi4R;>!hN)Eie=!>fz;xJmv7#5 zO?11YhQv9N6UfHY$EAMxFFj5$WBRQK&K3uKnFnnWh*(pCzVc0B`2RUN`*)`IKaQK(oiQ`E)r>IICigacr#hE4XZae}8Zz7E zBojJFY9}L8E@iAVodr~rZ`j7^j?vxHGGc^C2?GQP#nB)z1Zfy49TTKW=@0}#=^70q zq$Q+7N>aK(`g{F<-?zg#95`&}9q``Ib6?l}TtEF+U)LP=Uab7uQ_jppKi)}#HZoh< zt-TR=ARx8%{_}y&Eq2b%)y-j`d`|quwdd+FEP|z~I578RaZ%*MGgyo|sX}ATw!=Z+ zRyOYPghv_+LywM#lD5=W7T4Z(4g}H1^kp2(*>F+AMtMx_q?Q)(CC~+?wT4DjFPgIc z(ep3T)Nm>&QU3UoLQGa~5sSkKD8@S%3|Y2Fo8_#QC(03xa($!Z@PmVcNR*N?e$!J7 z5yd(jWbhUx2urM90!S{7t2u$hGCln+)eylDOoWhDG+7l+O0B`pgT$?wHz|yIVTpuJ z%I~mxA+zQu$GA~WjC>8o!|G2v64Vfya`iP>=E)T59i#QckBrQ70&lz}xLJ2T`cOjG zl15@}Ny7co>C`XUTCR>xPp%5r2Z+0AL6pgf&U0Qyg`kRJ$RSn4Da>G+@C#hd|p^9d#A3P#WuSLDNe5C%RR)K zDGUJ72Y($Y5Lx5W=FZLSyKqH8|owLQ)r{>ISk6B_^NWp`!QL}q}X;NDDmR3$GV zRhz=KvfI!(3E%eqG`vwf-&H?2^l)9wFgT4S^7j%mi@$W>q{7VW3OXXo{r7rt80ky} z3-h+7^02m3$+MfCxsK5j`@+@T&Y!oi62YrZ#L?Q?cPZkqnw}%(-djJh@4=e<>^}*W zf8acVp5FSkA9oSMlXh=8gO@k$C(2~aKzd&he}-`wY7~n|q_10*>U8#V&QsUGK+# z|As#SfN0zFITGK}$$y<;e?As#`7r*|NjzoOlO`hR+3luckE6a9av}$V*0JqRqeOGH z&x-MgS^}P6XC39BovHJOfWtFoM!p@#>~9tymEGhPvA5{xz4;(kHn}r`*~+e8udLrl z4r#JxrZEnbz1*s4ZhlOP=V?Wi%*@wT=$RFCdAcyo)ZE<9Ko040RVso9M6GBaLC*Tq z$mE&Vagj=q3bbzDe}lBie@%WbbSZeAQeG4+{nzI^{!^Pe2m58^;#ZzX$Gw`AMY|Ut z6CH!>7PZ@oO*^J20%oto!!*8(GHB@~%T;A?KI7*$=w>>0O?|FCkXA+$Cr>y?FC&J# z+!2#)?c>9Q`8y6-kdmx=98i(1VD5M0QPfUK*|ZwSuZU_a2xa|2jECqNA7_1zLatPF>o4-jU*YQ4Fxne-ColILMdY^v*OdN9KC?RQ0fTrrzZpeqi9$?*o(DjIC9Sq{9dO{r$iByK%9eKjt7w zB0F-O2x8mGPWxnFC3VL)Hd#bUNQl_~bs-hVnp0M}3j6TEFtN-r&T=c-pqH@Q>eG@JJclCg`mVq;SU+Jo;s%v0(zan@|EoKL{1<2y>mCZ%Valb`+tm<1=`#Yk6w?pPsh3w}V2XM*_)w($f5#pZ`vk zF+G19@b_M^V;2 z^HB8tyUZOSNxClJ5ve{z^D%wbJ>>nFEM z=Hq$#3--0pY+`^7t!2Nr%Pcl1<0|)#=8V_xEn^HhV~ILxT0+dTU7mjQ2j|r!{~!p) zY6^xd)hL;j3o#wBc>kK1g}0^$CGR8W!|{Qks2(!k7y>xx<*TtIyV;sOnuw#^}mqyUN*VMf7+fKGp?{2 zse0kO7WwkY(JHvU{w>CkLgKq0*E?z({qJfw>TS@b+n)p|UgrTs+}TfiDl#Q=oC{SdO9x1Ni$ zAw(dt|K4N32|itbnDGc`@c@=L83`sGh>YmDE;$)K7ZmRijXX6SR2YX$7|N_K@7V{Z z*3lxSe-h>=u1_N=X8BDn!7|d_z~D)S0Lrn>h7}K&6rUL;tQpI%l&nN+8xv-tHgf*s zX2z7nF}kZ*#5NM-Gg)ruSny|~@mnEp?vT5!d|>DRji8<>^&>`Y4tD^7;vS=*P;V?R zsK+jhOF=*nAP!7Y!(tgE@P+HVebj`h8A)g*;tHho0%>Axl?mu{FyC}uRn)lqznMZ& zQQ>3a0l;z~_Ja(Qni@8{nmz3usiwwHMo1-~D@WhCSOzQB)F+5j0sA|`OVBTTT3eNn`Nlg zRLgmbBESj<0uQo^vsI0DdM0)~2Q59RNjVKI0a!ZM;(Q_7_4N|BUo;etmcdsoM~xo3 zxfy=6s>jLrytp|89f?VT4^KJ0-9FstkOkgM*856h`|g7=0Hv|D^>pn1v~I9EJ{{m^ z>;;yVUSDtI3qCY6ld_}{0@JdxLRlo`%^5dO4+d9PQBGn<7xDHl_U{?~Ai<*0z8C%d z)dS#S7nEh;ywD+Ta!z@b(dq_@goJ=X2`=bdIB)s7d*AxHmvi?NVZ=6ed^~Y?XP}5t znRU|lslWQ}obT@_Js6YON3tirJN;|WZmPVwlIG3`{P6vFuh1BUO=tL`WdD9T20euo$@TE;R!aziT^XtG26$#eW!rjeHMCja-e^%D#tl+7o-od#6Q*%Mg%yPtG zTkZ9#c{ps;poS3oKCj@5VAi@UW;$mRa(n^pMz%in? zHxE+g2CP70k2su~Z%*omP?5IM*n0R(jHlB^La|FrD$!01%Ca3D>%r*QjA=ye5{dOqz+4b3x_Kol7&Xhu2xh?)vXf*7fn;brhxH{T^&}-B5G;fariyZ0 zfd@@sP>JSRLM_a$4%ZVVjebk!?=JU3Fmd;n~$*eRCaCJJH#} zprlAm8B=UgAipTXajMd*GRCFpFqfD{hE^CG7r=@sQ%d+~LnygzyxW}|9VrEfTun^c zsh79D9*@yS@skK@1qO8&+4H2);cg7L z6wzx+CcRu_5SWm1%n*xo}NY-QwR_wB18f}eg3xq zP%!@s?!v=o0S-7}D8aS$7}Y4jz}gD!>N3ucVt6i5=cvMp!OxG+PQvA*HhaB8Gk-sg zQ~|U97x_a+&BzEm8-sv=0H2YOT9BBL3nYY3K!8WB4_5*)anKUtVM{Lusc~)bnwd#~NaP=@~r&SU}ux0fqI`)u=WKBHB zvrYJjgzhrJ2+T?6xOoxz>MBtt1O2>d@4#gdO>N-mz@WVL__c_B&~{eD(~Kh@bwV&A zA(4TVe3B_#U+qge1D29@Vo&s7B;ui>j2juTnMS~NAb_Qr1yQFVlgyv_G^2b<7n{8>C+x;RL@{__RM=Fo~ijx zLdNf+j{(V7l!^0HU7C9K{nyBum%Z=$b>Q%8u4gb^xkYR1`s9FO-`Vt`u=4bDw>EEe zbkk_L_^C=0{=~HNNg_FyK%xWfTCvb`7O^*Rm}|wqGKO*DYX%$M{_aqur-&&x%FcO% zvZFu$u#p$c-~{tl-3&j!j?S-FsCZ}<+I^t^Hz`%P^qHpv28KwibUB%$;6sWb3yb>I zLCv|%KyYnL-TC0e{m-hfKVf?7eK85o@@k~ZD^fqX7@7S@7HE6SbGf_6H7aXDYjVTt(91$%+lgaY>n)h}qVVg9_z#=So9<6{Jh~e*X(A5GDu(ySXBWFe^>Lqf zU57UOU@VgoL)XQ4tH2Tb`?0?xWeAjz?ArPdkOaHa@KP#?Qv!>h*f@=$5u3YcIMu~I zNB3-!Dj}I95{Wou7r|Nnab@(x7vbF^_f%T{17AsHtcX{L0NvGhXBOJZccV(Np0oja zm%DSY@VU9d0fKeE1JuU({!~B?RZs1lsg10(%7dWnh4Jw>TCa_rHTKQvAHFDR3QC@+ z^SvKCRnvrvjIK+VW<1g!eB<0r(Lp;i)&w>GzFsN((zPph4uehX7PD&s7J{~{#GQpbPqTkw9t{iY< zHaH~;9A9~C#L#x__~TDxUNLHlCn{W&D91bC`uykqV0PK6WzK`=yi$I2MY^Sto})YY z*ZW`J7D~ISQ4@vISzWC@ecWVKYd-X4g~IS5AHuhZ8S-MpjLlK|iA4wA8xag5M+=Tf zcFYJzD{YJRhYyk7alg*YifH5tvZ4!B+kNznUu7!va9hYlS}Cuh+_OlxIwWn=@Z)!C zw`Nn@&_Q!-ILJU;Q109O_is|mt2UW)k1x$8IaZ^uh|Ty_^YBi86UT?-r5^!D7?|F& zVx)cgBj_x5Z?S1R-26r+3wH~J`E^W`>g4>e~o^MZ0d0^vE_C^gnK`I*hKkQ+A zN62Ps#Ncei%;Mx^WLm11bZdIVvh_H8m3Hq0Y?%J8phBqm!0V4o>U>PgWo90qvp-6L zpFMRi&D4e~$B#5_HsNj2t*^~y+=^VU%sy?-92|jw8LE12zAKVSbuZDWW|_rOTOrY}y!{8(P!YeR$9^QqVg|4$~; z6@Fh4Q8W(%Z_dkBwYQ$$GJ5v@N_EW_((eDdI1jIP^wHzte=@8018=xj`bnNUnF0RG zsN!n7mMWVdIrPom5;Pf7SYVN{6b^G?GnLhw@j|s@{@mwnc}pgx@X}5~?;SCX0$%&{ z*G(9z>EY5{;JQ^#qD#@ zp%=Ccx;TrM^mw(4vt9I96G7j~gffOXj1qkUkB%=?LVscx{>2+c=byk z6_xoMrl~G|TKTz$0TC?+z6?%>H)9+d zmZ!V2TUB+hG~8(Dy%djAv)J6|VPwLl&NksKp_8e4(LZkf8yPh)@bG~mAIQ6%M3eNM z90Tvo3;K2>-1|W~v5KkQv5{Tv0{`ncu`Kh4xO|cJg~B>dRN5;?`#W`7%U+3qnkYi2 zD;AY2hg7W3WbPi^A7s?z%V0i}WiYnWK~T$YinQ>(U$1Z!m*A=1`mV07 ze!O>deOTU?8?&%*wyE_nJlV0SpuKnJWnp__oRcUcv9`9JP9`a_CzeR+X23?*nemAK z`*&Hv9yYA{2rauQg&0j0+gM{k%RKAhfVpsLMrxo9lqZqMG&9Q{o(4F*BlN=jU_1&U z0wH#2JCM$K#yr@|Fj5Nar+kOG{ISt!?y7=SmlE9&e%QaD~UxK&at2F>TMlAT|sv24$F5@6a|77rOPb z8~&3ihgl@`#~hnPOyJ63)FvE|Rk(AoXo@qxo{-~n8M7odv# zI6q%GIawH3sz-srQBGX*yW``9FFsW7gzrvo7gx5l_#3}2DjM#55KTG-fNX^)1 z-gVojyHaULO>VBi0ZU6GQ&I*I1A|0qu&E{QLlO~pTXGysL3l;m5~+}>>7(gW?LlYf zG$gB}m6a9azyAyD|7`^R=@UQ%E|B|)M@q`Yg(ss`IF_QFU#qkzriZ1^2qA<~Takby zB}rK@nK8|EqADMkWw52G;9#=?Xi#iyY+9hf!XUvU)|RKnWCx@)EL;wHGGT8CToBOC z;^O1_P$G@2<+|^4reZt*_$W3uxd2&?T4UY|t$P23Z4YTkBQE!sw<1x-lIG$8bpJmK zAX%QFIaD9^p6^Y3f45J)NL*N?MK(+&oNf9n1|6%Pxm~rok()g~KM~Z64hfEyG;Ufe zb&87AXzatV1gql95B%qVvenurs9>pNQN}{bz#|6R_ zhH^k*O4RHu7|ilku?h|${-vc&+>YE5a2gtUqlejWtGR@diM~TXpR@H)76%jeot~Zo z4AV$lZ5kPySaEN0lgUiuNUQA4X!7vZt*zGd7caW^(}3&A;`@;`vzg7ytCeZS3FDdD z2|t*Qd&aD1D#*zxW}eLxZkVDY7W6uQeH+~2;Gj$gjfxz60sOIYEsa>DV}=eT^&%LD zWu`*hk>=)l5A=c2etE6ozUj@5^YbBGMmu~E1_qd_ZvE=&Y?rMkFD3B9)`xgE*Urx9 zpidt@06JyLqmi}F?ZE1um;3ws^SPIom*`khc}8|z63hS|M5c_h>M)Qwe05W~2Hc5W z=Ky6qtKDL5KnN@leb&BIdSle@(ZNl&F ztRRQBrRaL3q~2iOhwmS{Cw6uM7r_xeYSb1yoX9_GXlWm%e3Y$-hc7=a9Wf>?xeY58 z-M?bM1@n>cGcZ{1>RJd}G8T=B#m;DU=NwCr3ksSTrY45@jW*9!kDtmeg zVagqj!n&Aw%MHu~0w%>>GiPC!m#8*dgOCu1g2~vs`5ac$Z?{3)6;a`HiL!u$`5aBt8fi2j~Bb0g$0ffI~ziNS0l3{Ah2V>fiUXh%Xpe`J{n92lDA{$VgdNyxOjL# zh%ONs85toi2!zc_1_TBxaq+YIaD}R73j07QNI=QnO{hlG&D-sv`g)Hiva(P7Vq%;y z=Ku+&E2Mdn5E5YwrRHI?u!~d?fcL>-{9V?Kk6MfFr)@N$T(fC?n^99`Cs$5WBmCuy z-)gUG%?eA3ic(@qeFv*c5F;a^c6Ka8FnzfE5?TX2gq_JOi77-db5a(fp%7NStFOtQ z){~IL8YQ3$X61nCH+k`uF$L(!;7O!5m%Yn+=ie5=ipv7Vr3Gb{`@{~l8RLV5C3FSE z+v8&DO-!QxFZn6Y(EGal6{kLy67xh2)197Z)plHN1n|hMa>8 zpH-r3=4zp<+Mv_hD%d1gdoIB4dkrD+AaEg#Lv zOA4CPjNczrG@l)OxBwExOA>l4PfsBP_@;p+McwzO3IDzsAOCc3|M(cl1_my(yXpp@ zp#MJq-IkYUX~i0qpF9&YQqaXZJgt(S>FT~dJv}iW*3xp0_K#bfA6zA$oPk!irq5$V zn2T8nJGw%1cXq1B?=}BJrWel!=wavz!>PlKsM@P=8_T78k2W-8ZY|f#5 zLNyMZGgb28*5qZQ8QCd)2&0t3>+3=52G6*)KfU33J$Zw@;S=3GwOrFUv)P_PuCihE zsF9Ia30h=6Sd`nnUXzrOjt&dp(9_~#(s8MItFUoSA8w^3$YO z%9&YLhUipn4_?F{oce6cS+FC0olKnCDPvW5z6~x{%LN)rA*%Wor-zp=*DC#86hago zT(k>=RJGvx{6j+>^-%^|gUj!KNzxOAS_5xOueOP{u3} zpb9_;XmK$J32*>G4;zDm0vCh}tm%NDM@EWEhesyx+$U4Zs1cuzTAu_5O2EVcf#BlX zu@V|X;8+kWEi=yi*gBXM2^R~H!i@_&nGTbXm4zLE2Y@IDMd=9uA~y>w6btEHK?m2z zA{15{#vLhjSh<>Mi;7kD`|>6x&c$6ec4H~-YC#37Po4ys#`{9f6UyMB;BQ+2SLFm} zTrEg4V!;k;1IO)oDrOd-$c^5Kd9$>QRdWPS;O;bhHg~mWVj8&wwu$7YlHk(U zR}KkT`x9v{^?+TX`DE0QU(+u(bbOaFZJ-vMArE0;7b3&O)X_41VB{=j#RygFT5ooV zb2>ca2Qv~2F@x}QQVI=o^Hu1f(N3}=!Oe*x9kSe!c6vsP9F#c!RRLxYGq5l}U}VHp zqJCtqO{PYP8qx&V3e;G1th#Ez^>w6fZ?^%s@(6JImm$CPg{zyc+*&(!AqXso(u11= zO6;5`CxzHeX*k+3A~A+?G3!ip@9!2nXlz`6J58PyQZnZ>o99`LDO*`EI*K3fW0Yj^ zp%o&Q5rQL3xiX;TNv$8$zXJteZ!Et)4&HMCh}L7O7WuKhNKHRnEz8;t7a%-zScnTQ z#8J0BS$^j58>j#_0z^W>CIy|qisub)ILZrDrB`rSKN*#n+v#mDc6Y}b-|x0>=-Ju= z?p>e&-0vE1Y^Rhg1bjR5zU@ z=6P|^>J~J~C^!?(f$1>0?vg~F-l7>d+fmGkb{@&NEt@wll zYwFG2l798C-_@UvjRV`2{ry(pQhK?AL)>jgoTfSa-v_&Qo+z%xBs1$zbe9}Vx0Rls zhxl`EHr74}>bBo$NSRh^W5p0~O7(C;U9aYD9_+5a<9jb|-4MX8MEtkOrF^^1^FRem;d=?{>QSLe*VWBf(P0kIxD8!()}s$nE{*# z1sMi52Z)pm1d^?`F_*FOIITcGKe_@#E|MR!R__rdf7BOuCP8{2r}4oBxf^7MEK zPwbzy(e1Qa(Z+CQQJ~+_=aeEHS@Q~UFmTBFnU!cGL;^>S%xr7tAJ*8Kus>oH<<=x5 z!K1@>@<(gh5%_p-&$K^hlp2_Y*s&6@(hB3?>I4>AAbow~niCBanw#sT-Q9g>2lCvK zhPfCVO&BD&=(yM!1?2^aF|oL?>6wI?9=RoiLR2&bmegg z=6YnQI#Fm_))|&zeA#j`DQU{(E$*ugxjfoVZHclv-DpVAL8%c3H(CJt`-E08df76ixYca z9PGY+*;DJ%8T@8wHsxR(!;#?QMasbP#f2O5gNgn7`~4R?OHDu-s4T7bpag?5>Pr93 zG+doc2hCj{1?7JbI6= zkw_gx&dC+jS?htAn0{4K_ultbOOnA*os3DC<%^du&6O9vt7b9lGW zRJ=VsjR;Rjuw>N~prxP}!t{Fvt%yYlt4>(mZRC1$*PWg91*CaqHimoRdM9UQ^1QBg zn<#N(OWEDk8uUz=tF2%Alf55*wBsC6A7hIS$x^Iz7nxZ{ms0x71lJEum5z)w)eOa| za7_BNwM7a@P%&}ffC+Iq+EW>#M{icbxc%Zx$Rpdp1imQas7gj=9WvQgEed;B!x^Zt;3n4e2Z;W;KIHPT*Kci^eLZ!8j;{|OF@B1WTPDmDFq-0 z{P#ftg#QAA0)Vy80{Tb#0RT9_qySek%r&M-li)cm9yJ{u9t$fG5eq~JLhnk3sYJ>y zNb^XB9TOAl-*bT{lVS_wlCtuXKL@rJzzdNAPACQ`1s4nplMC?u>8Ry7Q-&)#I~^O` z*d9P7@L=HHyo8_$?=}Bz+I(82(CX?2F~OAa*R3D+#$^+yO4mKa^?PMc;zYUqBnFS> zh~TPY-TV7;ZVjl>Q4f!)bF?U3MoN0oIM3l!u+Ko6?h;E~6gDx9IkC1*WF_B6KEBT@ zoqh~8Hju%E&&;u z%yO9Jat|lj(uVih?RX)vt1No0MX|XnBYgQ&x3gt70k~0Z-C^zb=XVOhW$zslXC_m( zQvz#%D)8|m-_M_)-@QLs&mBywaZenLJd!);ewv=ZI0_64EghmblqCCEYISKV*CCg`r>%o`=qNGKd++92(lroKSrPpO^h^jKCcP}u2 z9SqQZJQ=y%un}*x4um#eo%QWX^#FlB9ViK($+OLXK~Hm5Q6)HYU3ox2j`E0yL|}Ki zoTY_1ET_F)SZiXxNd5ThR%^-W&F^!6l{Ccgd{tuS)eZXYy4Ko0p=5u*|9C$`5rBI< ze%Erhad!3jsp5L-{B9P+T z45IkVKt%wC9Uu@g0ZLaJen2h2#3v-85)~x?1Vuui01yH+F-#I7CVD_#0A2_Hh=H)l z2ti78ASe_{i-Ax40Fg3%rZ&(chk(MMPn?iD;j|?42a!WvB)#%90}X?wwEWuhygPZo z1dT`ss?H=b)H!8Wic#L0cVHF8U}Y3oxPNb79UnA3si|qZ_S?&!<00GpuBx*nlU?s4 zSm|Sj8UaxjC1!Rw)GraJrEk>a&2f=-{MVfwtk4kT079UxmlI; zLhg0?rx%8T*qYux;nnda^O6Bl!;3kGtBqP(sI_+|+w;@yiHW6am5T2j#Ai3ix4|kI zT*kHqGht}2&mXHEY%#?2~-EF7{WhVhz`RVvrcaTwTl*{9P8vJKqGU?}M#e&SS@jg3<(__9Y zz#q6iTDI)oPvMU>c>iwYB;@kEQrQ>q4iMJXMr}jB1W?D05e6liOaWhSab@2y7vK*v zRO3jS7MfJ}tr6oLf&T?rMRH;P1;$Q*+5Y|kyzTNlBnA~5J#%scweSA0rQT5LwWd&T zvd|TU5>94fFfsAYdD!}N+-J&QsyC=4$WW=hxw$!5!(U*2JTx8<29EddSufWPb77wL z`x8O;`xh5GODGb`FK4^<-TU{5xjDOBx$3)*f3K=oJ9--$M8V3jNRAbY;N ztKA%!bqjU2^c26m3}EZsh(Pcd>08k(Dour~tT>Ep%$83>6W_0G9LAK6pn#2lk53fP zrh~DCX>kd38J^Wu6psP}rO%<>VeYX3;d(TdrU2Aw(hh@3+2e_X9a5NzX?nN1^<~09 znuT0~^PmwiHXdit*kYGKC9pHIWq4LFv+3zkY6oW&u!N6c`{tF2)5u z{{w5`y8pHT%*=QgWcc!)+24#Lp&SDIM6|%FPR0sM7g7irnPD2^F%#+PQc{wW z3s4ad5D^gqRR9Bvm>6g+h=_p30s{m8f2#n{8gOwzxj>{O_=H?lr_;cIUDCYV%kGq9 z)P}LXWX801Y_Tnh583^5a4&Upn-X~awSnp@L(D-T*(!g%gWDB%S8swNrp)h<3)&RWkU0fB>+ti zsh^Y=YHB55QWqEE&%ohQtdqw0C<66lq0=F(>nyo;buKi3M3`PcLXDmUlbwiwODPkv zbL3oje_v9)+*;ibASxh=nLRPS3nR~O)PYf8VhMAI(&9^M`w)PA{T0hxVo^29l&<39 zYA|g}*m0kFWUNWw~S*^{cNqiVtQkkzH6dE4x8IIxTb)!h9QfUp{?lZ`BkgJB7;o)c+}^%KC%)7DjKQ%;LfRI5n_U z|J~yC_~hzuOOq#X`xVU_{C@R$1pqyVwfeT#3)*vV za&y0py8$BMhi(8_)_OGCAz;Kde%!x*ywzh{*`iqH;FMxNc7I>A-1=c_>ub7xxqZ<% zcm(Y-HR3t`EjJ*~{&eLrx~Knm;PUZF#RDCs#-8-CP`KXFQ9veu6oj7t{_(SHG}zxD zQRHnHxe=R`j*gKSOTHDc{^IVUr;OSDay8yDgVmK;AX|gE$A2ngBSr2NIbZ#b98jQj)PS&d)Tygz=F}r$ZTeT?Ru(c2FVUmxZ{0P5I|dTc$FxyMd{(fqFg|?RZ29T9 z#KxgjT5g1-9Sa#DHUTiZO!0sF0ATS3DgZtn;1B|fI4u*s06hrq$-|>#j>#&@L5qz+ z3f%uJxK?S|a61+*S|;GmCnFN2XClB61)zF3L;w-+Un@cS@BYUi!2?V*B7oZoQc_aV z*T!VWqX1=`o#pP#nFYna?Cu_y{4>G=ZC?y}onn;x99i3IMFPXM@m4eV{PU*EibOe9 z&(yZYZnLk!O$reTcu916oSDF{rO)^iV2Xk257Ztx+lo0qM1tb9-n>1J%u$2}X}pjQV@{Mn#ya6r7}*BzDdy z0d1`*DY*pYGjVZ#h!7U7t~is9=f-7a+12g0<>l&7Nh)q-Uj`<`?sOFg>JXMeO2P~S zK^_Q-io=ATDT5g~Ekn~HAb22VeQkM8PSXgmu~Kdro_-DncuPARY6!g7|6@$R9Dp} z?;NPLx*9NjTjurdaY1tK#v$08&Fyu{^z^XYzxD5XQFmU0v-3kkHo&;cfjx3=Rqy{* zG$EGjkqUaG_PO`hDIcdvaB=GP#XVM!;h&V(a`2sQj-!qK(Z0 z5BB>%EVpi5JU#w({AvCa=H3#5UMu}?A2L&cteFbFoqlu#RKR_Wk7Z9-;F+~YW4qAk zw!8C?tea7IUt?35LD`CfyT@}JB9g{IeQz~tBe*Ln#=xO@a?$gFaGmR6twl=E@=>ie zdwv@kRL%RDOLMOM_`|%`);zsrKuyftIRD+!F%_cd<@LBsLjjF;c&}L5^d%ASV%~SI z7mH)z^K*{9Z0IG$i->^tjg^cQW_#*T1H@YuS4W!%Zq?NZ_Hxz_d9<`hW$SC~l<@ zCf0t$iO``Vq++6=zyMkSfKwP*6YT?G1!+?g6Egyb1aO$BsOagLXmQBMhzJM>@d3Cf z@Bk`;5*ICwC}2B)xRjKbDTuIfCAzM*=XM4kSm+5SSF4=?Kgf=uuB@m#u|MC`;`RQC z^~>}kd$yd8KPa1jE3$CT%xJKFAkPENv2}TEzRDz1qB}?S?#6Nv0XDJDmaO5^Ic_x5Q zE8ioACx~ZTu3oyF) zycFHvxYy>5rQ}CxO1Jw|J*sWP&?;|dNZzDxYfnYD@cq52pnOtq>#Fi+Z7LGN>a@PF z$&*(NEF1RS-9dKwc6c1zHPCJ5YV{9*JP#ZIkOZg7ihN1*Gp34bpa1mX)0ky=P>EZE zmACE^s=~N-q9{HzO~|SJVDH1xoqyN#>1lD7&fVR)m)HBOm8(-#y`-n=>Q8~)#Ny^@ zRc*pcx1|kw<<1k&W#`+gwxgqqiz77P(Eq*R`xu-Am;*o?eo$Uu@I<+$tqnOi5Wubt zu$qlgzLVP~xz+!fd+9}cd-FNK`5H3qpzedV%SbT{XFd6(Aix$J#uQ!!9N~k5gdWD# z>s%rDLHGDU_;QfNoNA%i(%Un*n?1lay}9y%MWHnm{NJyfB(@o`x$&}jZsuMu2?_zs z;4_`x#s`rd61{1=yM@zND}e3#@%Q;3n~Kfu{!gvTJp+2Y>A;H~EIQ8W9d1OsQjKHsqfpCX z&otpw*|_5MI0oiy-i86IZ@j%5BhLxi4$11cv8+qdFTU>;_3ZT60|onZ`URUmKx+>P zQ3$CFG4M6cZ*mCMK$ij_*wJQ}#Nu{a8*h&eu!V)4q=gZyQ#1(P*Ejqv(36>*+(z6H znU>Z&5H7`uCoTXC=;%Q5k<3_#g9F~4o&nEAMkJso!094pYa5l6sBt&97cy(X-l;B? zAsUtbot?ok9@Q9Y|EEShCw7B5DSw&;uNFCW8u&ghZ_Ze zh2;Z`BZa6jm_Vk8;lLm>?gDS5ac;h}v{OZRbhJU@U02s_9@Ek-( z8wJgHtC)2XRlB+*KrWtIpitUj14fLG?~Q zP**2E--ytlY~dJ#0=u5p57o}Rmc&|?QYm9a-Gwx!_~Lbao_a_mg>Z7YKAmR@=SWLS zix<#z|6FM&j>xs5X;^NU-(^(M%r z2}}W|@PGvx*j4wxUP8hbx@zZUZq9aq!-X5DV4$TQU07(@u(-aKgn-UYr)TOTEW>kE zP)qszq9g>{3nEkQ>s@+4lYP-3!;fbMD7*8k*R@1o*3Db)yV`IJqenD6p3|oX^E%cS z7d>Npd-k#hmv?Opj$M<}z&XWoyjsSp3V}(y-LWh;&4u>buJOPVc+BQ)p_|0PuI0k5N$iR;!zpF;WjWAvt~Z zKQx_ZINWRZwv}ih$YAt3O0>}jQKLm-5E(@KV;C)%j2gX#D5GzKC}9&G1f$oeTZ>1D zUbeRNtpq^?iM+SxINte?e2F-Q`Q7(g*SfBAz1VfzUklqoQ;E8;7mQinTz*==ntZS4 z1`$ntY$z?I=oF5PifAXW+&V0ixk_KQgxZ~e{o_X%#=zEChtij+rI{u#m{Nl#4R~b08`zQ%^{7S8-u+yeTxW zTO%Y$uuLL5j#ArW@4$PYNVsX9p-_?(p>8W%-#H7B@-nVIpRqK1T9T!JOw{my@TWTy zm5XPV&#dcHq(|V!cF3D`x9FG+b4?QplfHDA3Chvo7 z;H0ETJoJp@)F5#O z{tN2c?tl~21x%deH1v0AfCcd`Jq-;bN{fty6ZFgS3Q|%E3{2e<6Z0b{*)VD`Q7%$Y z;GAVIF79XZ@r?~F9idludlFSOm6NxYbB0-R(FGpy@N6uLHcU>2Q%0~%vhD4k5AxO{ zx|@>P@I#rx8~c+-)3Nc7@*Zy1J77sYJs|*xcI;AMZicu|VPvDCtr_#m$Hh$1B3hh> zOWrjh&W)9snHGUA(+kVY46_9akFMC=Chf-Iu;0HqcDLimP%}hGPft&Rm<|N;R1B)^ z!iEdW$Xps}TwQfx((kKC9Bt6m<*%NbGt6GJTtU-O8G$|O;woB00*%LaxycxT^ot7g z(6_7u&&#*|QUb#wu)sN)(Lu>25#oxDlT-cS4tinvxayeMhI^>M90HZBUa4YKr9Wu8 zzqpf%h}ajlbo^UqIx*ogl3H5p!KT~eTCYPi=b9n5j_8$U((*T%3H-d zZ=%GrXLq|8B4nyRvxgu3ARSXu>Ac+b-M^-o8@hG1hl1z}*FE|Caix89e=X(t`@_RY zKfr&_PM#HHEq!s|<6+To{?XV*@vmRFxLN6ZrE+H&WGPjoUgq zlSCoyr+d))#0rJ|i;J}u8yL4Fnflc4uZuUU7&4*dE2isxEQzEF6HA6*zno4efW6NOXz_sLDHPG*~*tBA#Y>n53FTv5jOwuj~^5KtK0S9E$-#U z2~L%6Y{a*Pq&bf_B=op?;yt8mLX!3ITO}`?gR40fvK@rEk?dl{QD9yw3Dq%16AA)z z&`Mg}s#bAb$Axim3ds=@RW+Sm;)V!a2tKQC263EJGLhw$twI5(Bhwa|?es}Y)976e zghRXxQy;(o7>?U|QQ0PDmQku$>>6c*WaKC zvI5Z2MK7nr3{BJAtJ?33V4d_bM!>`^d}*%lc)w`+AU9i>G~QJs#x$@xKem;2EHk5Q z%!C7l57vPM1|~;>%i2AQHCJr=rdW#)9A4*H^>A8kVslT9-R!4L@S!+8ZBLfLcKrJn z7?Djap6o{(DPJwgp0$JEw!d_4TzVSjc;hyd23?|-~aj%t{nX}S1!D*4v5 zyPh?7Hh3MI8{qls(`L=vKfmOa$m@!l6kVLGVM8fllH5>H*5AK%H#cXkE0(VkZniNb zN!(JN6F+}WY$e~^Y*0y(ot;%{H-Ncan)SWvbHjmfi3KTUK@^{n8}h~asd^FCqG%s? zHst;M@y8{*!Pr{q_Prd577Cx^(y7dRt?uOQMJI=Xk~9~?{_>CSKYs>Cz`y%i#M#x2 zeUZuck3Wu85RZQU4j<|9_fPV6%x8&>&0L`rTW!q8uAW}Czux`+=g+nzp)OH|EIcPv zR>FkE@fmRPTlk@N|M|ZkrwI=4Qd*d|dfg*p`exAJi$_LcSdra#kj#0}H;1KCfLGkA0ilo@y5)hlGHbd0&%t8L)Yv*Y!}*|kLACi4Hj8E+@Z<<=JY*8Rl17&P^u7XYn1-Mu?dDJV6& z5JZ$g>K?VWLZB9+eyLtq@8by<-ZNaeMJdP3Z232bo~Eeh_j11%wZJPA%hmW*p??0EN8cdqU9WIl2B z`{t-!nIelgSyV$j4~(CIAxg!`aVa1C3N1BfyJoH;cPTK%q6$w-A|h+rTv$yE!g9{H0)QX0J3I^BJFCgU5FElRbigNimrg{tT zSTW69ftxP7uR?)Bl26h@41`?9jO1nw-o7=cG^k3$)9#1lPs%-*^7#==v4Ac6@LTXEM zTsW|-zaL6&)-^A4RExGRD-91X&D6p-@nKWnmrohSCw0kLI!%i#ZqI&@eibpX9JpBI z7(Rur=kYTK1Jnn9{+P&O9~@X4aLAba`nBkK8(~6Gadnl}Rp{mt^C)lGWAwJ={o#K( zF5i?To!#;5?AP4RPH5voD+@@a|MC6%+bZY8&Ia@RmA$PGt`k4sY_2+}4b)9fzyFwd zba*%=czOBVzq1gFT>|=e;o144KY-=AVfw50b?A`a7_oU5tXlZ*!^nDUYRbPCCnJJ# zj8bw`RHRJjzq*01;Z5H9G7^LmNIpHx14_tg77@RD`MnKUa&ZsZSy$_U!AZ)+`>*}eD>L1@o0YFl z^JPu-=z#ZyM>=@C-KwD<{!*efY8I2Km2_*F8=DDPE8dc?i56wT)cnY zeOeKo;*@AmfN|0EsZh{EcT z0I>g4Luu~OP(z_m{bXq?J_R97RUv&TMpgS&fvmK-a%05oXz- z0R-5psy?g6R@Uxi{6PBOpUYbp!qi6egM;w;JVCEK5pGC%4`2DYYVCle1SlmLt6+X+ z>;gSYhDF%Y`Bu-T@0TvxEDnAGvDr}|njsZa*-)&#!)gQ7f%H|@Oq_>q$jL>CQfm|Y zoIA(6sEmZmmTI+gJgfeE@W%gBTdR}fWdFzP<3i|6u9As;Hr$0xKe1U%Qj14d3XL10 zI&O?|(Usw_S0XdASHhoO%{QKyFSA?fN!W|$3|~C?dPJ)QNt1TDhy0-Gq7b)nGAyYe zuRSz3XL+&@j%qHbm!@ivl^mF?nq(eS7tHL<@h)Ph#7zWk7LE(X!b`*7y)RE`v9*!p zDyYBQeE6v9YJPlt)S6HSl*GfYD_zB8w6coAN;vW*cx!-JJjHz@*RQq9A>2>x8e#{PaR>wVUvuhYBVKfT^s|G8{7Oz-Sd z(VORvbg2Q=bKa-RU6-60tCO|q-)HCZfdd!+``^EPzP@aRy6MmEI=7$xTz~jr{oEF) zb?-(BGsDY8skt>S~a0f@t90Ik0YCtpiiY^^L|dVIXB{ zj_3!n3U;->b_V`>Qa-InDc0(g@7kuRd#^w!2+Hk(Ovq|7x8()%tVs*E@v2je#J&Oq zhextC4Z_TFWW>SNLPW&7NKMc3j&)m2O^D}URC2{UMAsw!SSal@Yya{4l$2-BU#fwB zgbg(f_N{NYS371K&CAPTu9eH$YNn3n$hKEBUj_ph|4-mRE=k}dW7QHz&-XSXn=JPi zF}lst1aO&HH12+id}QF>-e(dWE6WmVZ%2!u1<9fUp=MuvQ*cr|g}6E~rn0lMXTC4V zcW)`>xv;WJbZV-%NWOMb0z*Q5oSC4Y5*I$rIX=|J^l5^Qkd&YjqPQ!biAl@_jQ*)* zz?|%I)`gh>~IJTm_y4od{pz9_{ao@(0uzb2~w11L$R9E*gOdSShvHn-*+yWV4EN*wm zVHgY=e7qXiv|(hma|hUyMK`FFNAfFaI3^B$hfSB90Ftd0Gnr~wkUKILv?)wtw+t_J zOiBM%ZZ6Lz#+jqD`RSqmqpQB+#zmaX$$**Y(C^=v1zHsZ85xB(KnoG7_nHmzJV1v!IisVF4V-ZwOW{?)+%xtrABYYXMX+qMW_RL-oKvw{r9(Te=jzSsFhmw zyvh6V6O1d8p8w~sjolb{pg_}5f>Fe*Y%?A%IZyHGhS)#LT+0;gRCRd3qrxF%+bR z{dsk@{A=ZScXj*wf4}%|&h8z3Oz&9rfAD7SB`_|Qf9oG|+3)ze)WznTqz1$o+&*52+j+m7<)9h0bgxs<~o>J|!ac83fJ79+VrNtC`kUofXOIQFTTNN=TStpm-sd!UeAi2urkti2~jlPn|uY7si{-N6~k6o{|#V zQ&}m^9%sYMEbOpzWjz>})v(>*s`|Q~du49P5gQc}8ENn$O%q{hLx%_@3k2~!W@dDC zw??E!mV9v>IZxmo4CEGcb4o>6b5qmHrya4Fgm^dR+98G>-=KzL9_tT@s@+XNqiwIB z%E_6s!)?SlqT=IasCnR`Z2X*T0KLb+Nez^|J50v>{M4YeH|B>zXNbiOF(tkX6f(yA zOiTfNPm_=dLBT@0qCod!0BwNiU2-Tm2JV0^;P(6gMxa|E0Gt9)PT(MdnDQGNn?i)F z<-MRVMyOO^0T4la<@GgdK0SEw@R5e+PG;=W7mo}g(&D_!r!pBE#uHy96ZZEdy`<)b zvbhzym$SwfWOMqmDr+=ckp)dL$xTfJvut&g8-iAgfN5nFHSJ3#PNzTloPKiRWOx@Q zYePmS$t{(e8GCGe7g@nBJLaK_70DRmh>AmafLIB8zFy0)8xtpF>$JCOy?1`kb$g>o z7(@--4O|1^QGvN;g1Jy#V1ROZJSo+q!y_Z4Y(3vSyV>dN)7FE$Pbu~aWY+r%H#Wu& zMh0tV6kur4PY>3&kYeO$G!H$gdT6YkQ{!%@t1%Z>-__RY_OULxR&FlLtrZ~_B!txE zY}#9%s7jNuWHAC5ID3a^``Bz;zEcr)=)BrSol*{$d)%0+hTaKxYTU?Iyk6CJQ8+u3 zUEomSV5H`k($XsE?mG{>KG~O(LIXQ*=0c+-ucMmd^h<2uygmZM-3B~}?Yd@YT3K@` zsn(Xvovhbj=&uXqvSB^{wF7UCtioI5vukV#t%}aAu=PagmA`*n%CY<1|IaTVSGW$M z07c+|?MT(rdkLm@{SCWrwj!DHy%XniB0%AI(jUEOs99OHzOHf1N&r^n<(fwgU@~Cs z8P#fIKIZuRarzSwW%}#Ak$Xf_uA!ZI?TTIp7#y}Jve1(9(Lr^+6hu+*vh02WuhUjR&j(9 zo$u#R#A~8uG8Ui_5=`79S_d323|yQ%`}+0p@#B}JlR)q6fBf%%{`0L|p#n3wvclK5 zY_NH`E4Fv)5A4$5eXgG_|Jo`4_I_Zov8TPt|DS)}>ZgiW8{|Ex@m*YV3VT`p`%Ls^ z_53^v&i@nw6%*B0ZFBYTjL3WQ@FB?dB)J9y%2WCKI>-LeL!Mc&R_zyXg8gE1!)0|Prd!yWMaQr|xLcfj>d4h()n zrC4}LjB5gumyi$x#3R?Kh*!{*K@vgF1fGA0&{G|DQ&Vtk{O|e)6#(6>M-YgBccA># z(A!C&F(eZ&uyqq<0ZA6_WHTqL!~vDC@ZyZ~R{ zdt5d)v@j#yXWm9$PYdF#s&fYiX$eH=;M((p znZ(MF*Di&+zP=0|^UD=mr|zCBBKsTJwpdJXgwLpFLYF=Yp%5q_2xs8iPyf22o1mkq zsUtsAi#Z-m^r-~%S9hRzt#4^BY-|wDLq7FZunGE^2vXzms?Hi|LUI&B%3Z}atUjBY zqq-b~<*U5in^iX`C-@lCH9Pwv*UIe4^sZ2xj#gmls!cGlm_vJIiY)LwDC`d;cp>v3RdorNpK=PUIoSjVYL z9o62we>XjyVHTYPKx{>1vwevr(PQmd1p2jhR~hXKGEwRSu&4PdkI{fC%cd456VH5 z^4-UeU~LwtY5oRn%f~wJm9UkoiPrs%are{H<3-O0|GaHap4pqaZL1y+6p0g?q&GK{ ziW9clRSRMVup6tck`ll+9kBV&`h2#Hxj1crRm)^%oURAHy9t71fNKfIYQYya2Fj-e ztt*H);n?h0OEXfCSt}EWa|zJ0TwLVEBIG@TM5~7~EI8sfuq#;;k(aKgKSBlvuq+&W znA{vW5Vi=&rR{DTXEYIZ65-9xCT*&C0mi+jtJl?Mel5d_h8PuLCwrT-sSfX{vw7fh zVA8L7=nl=tks2AYVB!#p5@tN`)>cUZf!mFngwJkiDO}B4L?jx4GRN71SoE{!Dd7jx zB8=;KRj-h;PSM#IyOkl7r}OSEQp>~)!>HXi@uG8gHqq-2druIPOG3Ra4>t`H1JfO9 zPT&9*lc6D@0S5v|1o}I7?nnWkAQ=}0Clj@l0?-aA$m!{{P*U2c+G?B;rFgzb z-Q&mUsk|6B7K^E~imJ}*lcI27@ir=!gP90401N5*X>k3kWE9RmwjqXCT`e)NriSb8 z#xp2{4m{(v4dWHYRp%5(p}6$BN9u~q%mD_o`O(8i28lsD+@hS?rb%72wi&rzF1~nF zTvu{3%C2#nX>N{LPB)>e3!<6i(!IP~F~7$jrOm4G^do(Hn-z~$04ZTx*#-nb=sUzKk92O9pn~j1h=|R zEz~pK+`c@IbkR0fDaZje{Loon7Q@L&(e(L)KfpKa6ENeuf1k_XNm5wX9SG0vBAgmQG=rAIqoIqworBTWO=?4cc^4)o5n!dS%=aV1j)2{}ggd*CdU# zH=!l(L*GXH`_GnjK`3H4m*_zpB4~W7ni#+AY(G0|Jvmv6wjl*mVFc^a*RKNO4W9Go zb78;*IIz(+vA1!3_NzTn_T5KJ2(UH%K*UL546AU925BCx8!@M!=ARFRST{P8n&D=TdUJW;ET1WZ#NzyDkwZpepZ z0^jo>_T*v>Yea_HIqL_bjY&y%xi}g|D=WJ&OKKEtPL5bTvT3HG{e|RihDc^JvGV;kBs)6^J#fZR0`0bduy9$1J);7mWo>}h5{8$za?8oVCr21uMxLfsJDkY= zI^8}Q5V2Kf)J4^*Fa*_G>yu=9xA2BJd1n}gTD7mctCp;o3I(q7Bn%lu|cqs z%&oXqRsEV<+}N#5w*Jsoua&PTY-?!KI^yJ*!D1Gt%dU@RLGV#=Q{n(Vz`;NKW?U4AhaF?K-Dfs!!t12#7gh!ay%k~htuRJe6@y0d!X3urbL?T7XP zkj<}k;3QCad1C~NF-W(viOJmIGzHM4|IG+_RG6U<2sO1S#LJ7C+?bq|i<*;$@*cp9 z!(gZ!BHn{tOdqr8%^NH1$AY2b**V***uK8zkwTq;hf0@1$&gDr#GnH0V2?86%~X*S z6Js3iC|t7rn1HhLxn`b(mPSJR;sa_@lE6aF6WF zA(f9p(k4J+?}KJnRG>Z^W74OG>s$A1Y%qn{T8vSm^FM#&rB#~@ucd#?ZY_)>k`1J! zboB4^G_ZuHJ}V{Brv7w+L$l6;ukm%mrs}~U)J9}HE;z2zXq^vK0`FCxNU|*s0yvhy}rGx ztK5Oq)M!4ubVFDCJ=s|Ak3-5e58hOSJF=?SqMOjbJ^1D43qc7Gqno%||L2WCv#6{9 zDX?!C8JcJZmI~nV>!f?5N@nxYLj25RS0xSD}?&-Q5`mIw1wj{ zkhNRM1nzQWe~=zrFKOdpjy14poh7Vv^6+!|`}Y7W@@*>q=6Vr9PlJ!C7lpCP_pX1*`;ph#8fz(w!@dE=bnuL@Xp6`=^GyAo1pB0AzlB-AD-|E7;pf=}0L*oPq+Bxr&n5>$DF#B#eYH z0gO!3Os%cOR%v;te3}3WQBh4e9HG8DX{!Eh#O96c>QZ4DSzEGE)Q+ zNHL}rTP06(EjM(C_G&5nv}gSnC)pHQ>L#HQVYVoE7sOc3A+^W>7h61)x5o|# zdqa9HtJ0(+*=`5{ds$jJGSuGkdS2x6(At1iTavJ2Q7ngIhJ>G;CAP)E&`&@~4o*)h zEMX+C<3a;7N29o@?twu(#51|l9|XP(CQg5RdE@C6tqy)XPaePjdPXeNd%3nROi*Be z@SEF)hfCZ|SS=LiVz1AdsM&1uO%U^p=}GVqlSADVWnh=r(XmEC84+C6x?;vuWC6*^ zL=*%_t2sGQT>+-Mn~x?Yf`wvydgAYB>&rjw;txO~*`MklL2JP#3M4^x24fddz%$Ze zHl1Tuxtzgiv)fUm2tGRjGbO3{^D_|Gyle|Dxw;}2 zcX4x5*xB+rIXXJ&g~ifVv#`qyl7bNP;GL}_s(XdD1Q?^II&G9>}42K+P6MQUfjXL5dO3~KujmWY9S6LZsxW8 z>pZy`!m_v_I)p89U;s2f3$x?p^PcervuKgY>3jh7%JHiMnG-;<=MXex5#&H{p-^Zo z3^4Mfm#a07r!Duz>q=2j33B0^0M6qvFv9+xO8GZ^BoY|tXF;qlueap*W_NqliW#TQ zVPvi%d6%C1e)ajUxm(%){rmpRq{`7K$-+f|SB`nz+VSLDdHTmW&wEs}{(nx?FAz4r zKlt)>rAGat<3Zs@9NJ{%_te0moD_5>2b=Q# z+t+CZm*VZsM?aTACa4e&h4I~ER1x+Ak^Y7TX++&${{c$j*O_*W)%e~YKNGJv82M}G z&VH>7fcv^=xDYdVTx|dDNjhlnv9f}sv>*tUE zK3GrN-R+`>-~(lZJS(ya*DgpF;ZMCp+0X|^1k*10^Ygjv>ziY4b@l4=z>Q&bu$q8S z3`dxm2b4tkbRo=5%KS+0<<{a975z|I-5g*Tn^NRm3PiAIb!8!wvZc(@{<`Z`3jNco zmDFe9r49$b%O8WnxUB4;?`=C!YGp;<9~Rv-m`wei3LBHMaR^=Tp3E>0g!F_w^zYpC ze+WnyndNH(wVp{ku1jCTGP7N7!+YfYiZqOcIf7V^|NHt&715Fp5D*(Ja`a zST05_ZBt!06%{jeVuepVgS=OPKKwqXN3f6=J}c4PA6S!t`q5W7j5Pu4AnJH+Gr)Tt zjushS@G6iZp|mj+mkkRC@>K(qwtjPRb?9nC6b9O4os?vX0ECdcOgu0WHU(WKQiPE@ z9~+O277_0iP{0UeCse*HTmjls$u1(=z9bum@4o?rBH#WjPS{@TGa9CY=Rse6)i0jsL1z* z3NOKI2pEC&bo~AO@I7+|6hA*onbGbvsw(6prYZAeg1 z@dDhK$GT+x;On#{wk~y{tLWdq%9omUH}n4d0Eqzg z@`e2!soYxD<6R(4)w7|DI9Rpl=%H{)?bDy9(QAMQ@($=92lcDPa#o!NdvnD2jg9E( zk111Ux$#ssBvA9hVxsG(hrN4x11%#;oT?Qs9z6;fjfYheo0?{D-r@PpH5y_L-bL6E zGY&F78+&^jZfxSj0HBE485t} zXMJg#4F|tK{&|}V)qQ?;_VME6dN3Q&JloLKaNLsqI3?9dmXCshN0iY}L@zUXpd}3O zRj+SW;gnp4yf&O(Ti}M>npKu+*xgl)`2gWCA`s;_PEJS)fV)(jpeRPO?nUPuRV7Xo}4V+P22)eX%LZe z%<0^%2++#ahTGVV97lpBB@^

        !;iasXnDavqL}y5qfeiP!qQ1|y=ken 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ⅆG(}k_Be7 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

        c?vpKK*Dkpf7 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≪X*KC_Q9R2pqIgeTHXfFHG>Y3nxoE9z#m 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 z zlhkdQu-}A-JCb;SeH9vVr^7XBQ7`8jpdRv#y z%Ob2q@42wMjms-ah+mn5c=ua0#a&2TRqtnaIQNg1(REBhi_t|kERW`EO(VWLau#i25AO1D{M|>0xY5G(f+8-J z-{JV3T8tGc^{$#@3&!$cB+3ui`HZ0B(SxfDa-3h#cH$y$lpfs6NTDz*j%v>o9&Ag% zVM-WVm&GD7P=(z><6*)KyAbR4V|1{CC5{i+8B@)%=x$6l)^Kh1O_G+xb8bc=N5665 z=qDyz`*bgf6D>(hsQ>AJReTUq8j6!J@jxk-#xZ}*urjrPJgxGXDarTWDZ3$L9 z4NhW?GK(oE!%s7#R)Orj% z(;*D422cpbRgE(Vgu1^Y(xZnEw?X1vI=CyX;kk1HZE|-Cy(*ZZb)FxWsj+058oHk! z;rwR;V!t-w!IYiUE!ax)CQICf<4n64!7olJDut={C{dT&{}WJWB|PMGbp~rn0y$BY z#oY>blIuJ<`7{&b)J6^m^e{10#_xGyc&9cKpIJ(6>P2#ub?6;vMJff4U{%0+Zc`(Y z%}pw3q`?rjzoy_aC7i&WO=P+>VcE@r#LD168Bl-y&8g1F#xgU$cecbFmz=P)ol-vy@$G)CFH14t9s)q9DTU@HlVODfF(UzTb zSV<^3UChqFCf0d9!@+f&B>xst?_?AEFcU>|4-!{c7F@&^(TDgpU6=hYe2J;M%#%Ax zR%RsePruzvi}0m7Ac;ZG1B`mEW+31oIg%G_obe}%f8Nfj@7J^Qi}jfOQ;n1V(7@-P z>RkE9YNG$OfP_!xapv#pOgf@q`sGMg@6N@3W+FG{$Dz0BDcf`M@#q#2(QV43nnS!O z-b;S7E~f_%bGYj$YH^jE{_;XY#4M zeVNSMO!gk@K)%11Sete#w_c%X)m~cH?cm<-Tz<;4$N8NhqM?I)oxPEN_-)}Er}Kzx z$4HU4BHrK2{?!Gn(=JBpJw|=NbspPf5jigb?+Fr|J~H9d$EwEMY}*Xxi}Ddp^uX+6 zJr@6>i@~g$6mN+pcV7t=I?1HZ@kR8VHzvy-kRy4)n-g9XZ;8g{hs(^Kx1Z_rRfdfVzqHO%gu_B?`Y-9@`s3*SKzVgF>z}PkqXAqERRL2-Gcu* z*?9)neoF#+&5?GTWlwq;hu2qPImwHoUpgWE*c9)79U$N%Z9Ko0bF`om!H^cB(Txa) z_u$-noC|Nn*M%G@l~4B9rfe&NCzC zGRmw5q|&J_#9beAKU$25zF#^JxWP&nxi?)|V2uQgS;O2BVvA&T$3N&nG-w220U zeR_b*Z`4tKYQwpePw+`^L^J3$X)~4hermxVa}`Vt4&q?lRUSN2;Pxbk)i(-gJ{`gf zVKn+CJ*0?RNvRCStos)FrlHqfVM;nIwQ?_l`7!f1$~+gFY(jq7$!!Xj?SLZz-+Q4yLBQszLcVwPN58`fmv<(3cAcQr=K>eLRkGyg z-DrPlMCjK}Bu}#8#+Ul!|76Q!vrLTr2KY`($d2zUsFHaq5*!Flws;HOrr2D!2v3N zy-+ZY*188AUSG-516gd?l8xDd99HZ|Lm^N>2}|7`P=EOv;;csOOYbAgdBG~>6INX* zMV``1ioBJFzk6c$xdXo}I>?^MC%EvrBktdvCt`mK%KT@DD)TXmX-A~fhir8S}HrX(ia> z9WgPD1m0>Q{(1v4SNPqykWHJiQ7pJi;_s^Jsk#F4LmX zSe(FWSv7~AMRT<6JjSmtVEghaUiHyjsk((cr4>D^UiNF$V`@5pgJ>LGi*8i|!(p66 z#akqbqGVl9_0Ib5m~)wvr7}3ed<~7Q-i==HCS8A$2g*RrwRak-lOyx#nn@_B^UX; z$02Z7HN^UlB6n8>0Wul?vmJL;)$tYH@A38?!NX(pe;Ndy0g`sSl_plh2$VfZewfo6ZEfk zu_sLBIKOyX)e_P6?Znt?5V7|dc0MBr{YR1dk0J{kK^ioSC~yR8?-9g`{|Pky9RmE@ zg7Ckq|Njm;{*U!QtO^Ije;E!$uK%|spp<>U(^aJ(lLe088a{v`qW?d4_)4Eqm1V@| zJ+2``NTYj^$8~Wjrh|aUPTWEUQ7Xsr7mwmC9z*G>8Wxh>-jI9lIT;~!RNRUnB`+7V z^ai}H_7myRgG*);J8C^qe{IXL0W*#dm>}r2N78-{;frWOZ$G2O)|d2^DQwm#MI6_~ zg%{CC+b&|?9K_X{8-$eQuvyZC<6s#d$uPgpB&-Of9m4(uLIb8V#1`YhJ2}Qgx#D>f;3+va{WM{XoREtIxsre zfvbaxabYYR##}mzk8+ed$7{)2m(Grj1^leIiQIn_p<*0^YaJA(q+u7{&r$W)6lv#k z<$4GEJUZFEIv2t03<8%HP^6iI$m%_-luuYIsYA!Clc?}k0&8z#(d>ub(>O%o17z$j z<-*Kl{#fkKl3nqrJGZG6ncibaBL=uz7{Rj#cH~wmiEi*Fwb_C6hEqIG^5BiH63e`5 zz6ucYjo~SFEQ&(Bqm`eohOnsc0yfQ;@oe$sR8tt1cOR3ec#E#0pN-zniI;VdYgfx5 zgAPPGedO6Z!(Bd(u2(PGiXLPl@Dz=qyD%N$rvOnwuD+OgG|`Rss`RXb8GOe*8UF-i=`PJt^xed=Wg&;9zMcY6WR*O3&wDXd5z#ibY~` zwI9XfJPNC%)D>A$mn-Ied?w4CD)`LOhA%Be+}mG3v$iXX_op$_GM-1r3VG^!n?R2t zg2cll7{0>TYmm(^PGI})Fc~ctJjx8?a99U6SNoC6;g;nqqHVe`m5r!EK!$XsZyu%eP9Rf*gZR|N zj%gPo(Dmy^CW9cs5b3r}+&NxLpkxFs=WbS;S72y0fL-7aMscr^-R#CHychLLuaS9< zb1$fz*2_vd!|f<9KE<^rPcBzv;h-ExdwVq!^)}p%hd6ZTEfSqR0(3gD*zy9C6(#Ii zo6qqLFW9}iisc9Ik+i>-_|2tQ&C6o@{808R%ixKAGJU7)c`D7sO0O3WogQ38DyvGC z-cxQ{H!%HTEI(QXVKOZQ;neHIo4?_uLl}WGZ(_C}hsnY#OgMg;g!M(p*VOQl)RZ4Q zt`OnXi$%}?e%?d86Y4W)y`Q7|I+$S>kHB~cJH37!tVZ$tOXceAK1z^$m=MQ7!W{>= zef}i{p(Q-Mc9XY(r-{DM&Bw+E_~gK5zSlUx5wQxG8fWyH7dzzi?A=MvUJdd$r!d_* zhVN~C(cbz5(foYee!79vPcfXInM~#!A3UdAW%ue_VmvyjjSe9)pc7p|A3JPYFqe+9 z@lFcss?Q>Pb%o3t1)1en*yrEQ!6R)Xn6{`|y1U;HVAzMhVibSHDBH{$SiB*a+pCgk zcDYJ=Rz8m91^ke0&V+>hOo}**wr?j&g; z%v&!I((Fyr)t8)G`GnLh_Yp?-U{@DUaefeP@$G!)>w&3qn0E8i)E~Zz(EB}`((_qy zz7plH=|p{Zl5?L4kbmw(^sI1%*6;Z~R>F+pBbfDA6Vz+MjZPExv{~`vgDotr(vk6Xw1Fi*tFv;t1y)l-QO?UnIVX$rlP`1qOLOi_TuK|I3pa!Ixf~edERSt6}`N!#e(UVj~mW|0Fo!71xuWvr74dO$OB%9qb^? ztcL>4J9zvYgXrsX*njSb)n`_m{>T{De;vZ=Us~+?LJhr-)j9i#74F7Ecr;xh{F$ot znr_xW(5`0u_qB7?qK_hrQfl=hai4#O^^*^?Wa?U`E?Lj_>-Mv5X)xzEyuewj8?o^) z5{C~6geqfzw|oq3uP)sGQtp~6Ron|*ML$>WKcu3rXAwm?&V+6c@Cn zD$)JH4V&-0kWM&*=f_4Qe5pajtOGP2yu|sO7i@SGjQJ~HM6WJ0N14U^`Ih|g{a(yI zF~s^)O9DT$;NkQmG;cKLwWA+F(qXhVmGSc~B@1+tvDy6w>Hc0e*w?EPKjUFc?S{~{ z?8J9>D{1?xcwktB@{eb%SIb2%{6Ngn4ia`$a$Ws7rfVwMx+o0$MfZr*Y2m6(Ki3Yu zC0FMWw|rkAeV%|$O*r1!&ndf{OUrqG9tGaPJGGfu-?z-T5YL5R1KTF7 z$LeoOQT~4mxcbkP#7z?67c@YAaxUujtt>ipn>y2IYV{)#3dX6v9z|n@6QUM>=9M_{ zb*u?LM4iVj_#Mr`mw5b8#KBHW*1guma^MIieJ1Q}H^HyZjOcD%(qEfWQ{YHbyqvxO z6Y6cE3H#ETq%YKP|I~(A8_zRI?<`YJhO;3xpM;7Sf?s){^VX5y>b2R^u8&WLgm903 zEGGMK;@1p36W?&A`6_{3$2r-56zvunw&_jG-0sfQb>&`w$;{8}MC-3;h=?>2^KA2KRc5=tV4b6KZdjKF+^ zNXK3jVwHD0@=`Z85xuO8DnRe%D^eqBNR6(>F=UYW`su7&6o|v*Ak=>GVC&ofgo}!> zGgQ&L{kFfPa#tkJwF9}hr4fmG8wb^&vr;RMH7g^q{8qu`iRbYBF$m?VC(KWZWI>S& z4!L!d$H(#Ho(thk-UwQJ`Qwo<>l2EwmX9H}9>dCR1Z`mtiPCm*&cDD)@*WNIH!N{{ zz(S9Fa;}$?ck=-z*)>R?rE#Fa2lJ{lQj^L_xT&hwN=!#^UtNX$qI)dg5Y37$37lG5 zOzgr0yq6SVqpc#O2YbAuDKL+t)>7E&gf;59Fc?JH7Pz2E|ZX^{vQ z6|rtdE{+=QT+->rUQK0Kuv%6^zpV-V_7<#N9C}QJb78~WU-l~Qm`7mzDZ-^_n!=o#CY+aqg@|hOwnRpb3 zug>E5?M04#F67)thD3a6M$(i&IW^InjWbRon16?Q!*D9~(+NA=fk*;w;RD#FH?b}~ zn{|ozu<{uu&geCDMvyUDEVb4N&<|IzF7^nPT3TX?&(OjI2v3!{5qI?2N3OJZk&fc4< zc7jLX5El~LkjHf)4jRTSvX{u1CerL*VYVQLy|cp+E-FG|FoZlv6;hZw45Me&i$Fe( z*n12IpHW1CBgjIAR0H_UZk*#gFpqzOU1SfgAw#$Zj;NX}3RST2zc>8c9Li z)`9qc!2rd7g$Gi_2RxNyc)O3PYX8drdus4+=-9to5ne%qxP}iPkLbrEydSTiL1aGf z5xc8w34x*!0%arkD@KWvcaiDb!~?-2>TF`UW!Q+dU=+FH0}+aTa(!yB&VJ7B(nLJO1E6&aX=<+r4KmvBARnAV))f8iABHY zaQKsb`29l_Xx~nR5&eAQdoQw={r~_V07*na zRECK`t~dk^qY!`K_KgZ&rCXCy8P2+_bez*#NXRYX-koTkUA#ruA7#wY3gDaL=Lzx} zq&hT~$H8e72jAm#Nio|VUuIEC6nlN&a_HJylH;o=56d9_Mm=sZUBvpnCD>{J!R!nS zCwrj%lOJBwV@aAHiSd%V=xwVZ&~$(t_j=MJtJ!e9oV7uZxgOevOL80Hj91hJM&si! zirKtOj3yjMXMzP6zi{T%r^j&n#GLI@Pch-dY0Oh!5+oePMZFCVy?#s`hH;R5Kq*pb z_{o{``C$Mm_6DPlN<=Mt_JU<(UV{r+Z)uHIr1>;y=z~O)% zmWwOUzTA#OZXFi4Umyw@;`;Sg8e%W3)+pt0NA%SZu*|0X5otCfg%6mpoO)Mr)lUb3GKzMo$y0J~H^r|4zqlXA_KYCWZ z_<5@uiHhBCk?6fc*S!yM&@ckwIFr;YIrz05O>1;$&mOhlG$G zGm_pKkY9J42N|)1yAJTHQ#zkWZ29ukDYC?kbb6iSXl)$pY9%Dp_*0mffWUhck=_8; zH5v%ldWA&q9WqylzurL7jasC4YjCJe$DuY6zshXfV!AMJ97G}gfb3>BlC&1q20dn> zv=B4HKD-5^m_EA0yb23`zGuxJX}8(u(TRiAC~1-wTBF6h$=pZGtJ6%$w&wE?6DFPa zLHk&@3U=u^M&!|MZflltZFd6#@i^Lf#n@G4VwYQsK~x*!h<@}h_pr^U5wD0|DsDy4 zka2>ysX9D;WQOZ&U#y>|u`xT7bvGa27BYyt_b7)hcOeNGLMjK1qivWAM%XQXiln*aq}0YYx*wxIue0TF9U3ER`eexo*0t(z%# zEZ~R39!%P#%bst{xblS!Rlhruw>A;q-K~UM^)mUeJKtznVDqgTHzr9~BrIb2lT$c1 zM05Ia9zHLFd3DQ?ekV)hYid|(a0he22qMu3iqrePG(-ahFN4Mwhm(ioAvQh9Kn$D0R~JDkU7r}wK;+Ow9}Q1 zD{f*kJrenp2wZ-S<azVQrZ^e7I z`fU&Mr4>P*fwWq)NHW;xF=c2|8y=iEu=RhAK*F@}_!D8}ly2RKcS!)0bN z(z!X<&C4b9U>h|7aRmDeuybcQZWBFm{X)Xt)prT0ji#X9f~+b}6p3&7?Mx{X_0O{P z7bO8-iMjZ-D*=-)Q8e!~nag6>aaX4^GZ{`Tf3Q=i!}Lt!70{g6(Sal<7P03vw9oO>TNi!c}Ci_KPjKSmB%wT zk}>Ndll^^}pA?CnOa**xb`7T2)1LZN7t*SIxgSuB@3#u9KGJ3Fq}|M%uf~cQRunD^ zr2UYPwZBODZJIjSlXPj-lOb-1;__P=MWr4TT`R;Os*P#!ZtMwb;?c1}YOY7nbXSM= z>~%cP7qDDh!RB8tGJDQWCa(R1PY>(xotGC1@Ao)uZD!@VXbv7}<5GMZm-3(D6*P#o z@I4#$KjM$M3ieGf!Tz87IQ{os9Q)@!_DrC`vy_L&DAqxP1Vnantu&k5275~DbhuX|BHgEvtBbO*o|Vk}U6HIf{TSWY zCanF2h;;15&ti}mvvwW}^T;{M>neM%qjzRde=G`O6M+e-@&!evfU|3#OTbFlD(0b7rfva=IlBQ&dBF z#PWO8tQPTBZ7&UfSYb8M4ef~{G-m~~+vW{Bq^-Cgd550k06V0uDy@wO)ZALIuo&d7 zRw3EDiqKwoi(@mBiC$NXWWx)Rwmc+5`w9E(I{D4D6sa8UNb1Oqe8kl!$s|4v;eN3f zHyb=S((Z(A%UP0&GN=m+C*g1t$A1h(InjeHKb_>anMSPo*_3tD1&nGiU-;L{;PmuOov$<6V_qXTBD+wk#`w=zDTf8~tP5DYUjQ^>I zi^YIGOzFdd!Qyb~lWdBrVCm^%_Qf<( zkRQqI`*A4qpONkToNar`n7dYq=87D?61wnxh!T_R8q9^GNY>U-r4z$DYdzlC=@A$D zirFPc+1#o_exn)nQ2{J7d4QQtCt+qi$P9)Mn~xIf)sB`+H!D_$5;xt4e6`zbmNc=? zznze%HZre2q3G&;?uI-<9?_3QL^qPa5%gs52)28Nqgo5QHWm?V_l_g-L1x&+^R51A zRxDBwGf6`393|2tgLo#sp(rVXO7}Y?9;nA@QzIJcRjl7rgqnIOT6=2IGI)*HdW>Mh z9$Yj!IKSm3H?~yZqS3*Y<1aA{93aNOok+VL4r(;;qqZA!w)tbfGI>OoGHNO=V+d8I8VRv5uV=m zVr9KCQy=W%r<~)6y~hX+?m_2;AIE!+*p2{&YHs%qhS&LXOj+gNu{<~U`?CC)L z=xf%ApQCHh&ACmDh*wr|_;3g2icyZp2UXfov*#EKhR6`V;*N7I*24FwJGWsad5=T_ z0>K!5y4_Ulj;3_=CBlBXjBrXg2D6h8&AyGpFSpQKTZpbrFA?H?g3bDf-(OG2CKZ3= zhfS7jpLr4ci5Ib-AjRn0Gx$smrFzo^?k)@F#Ec}|rQ>8YI+5_!obXplE>zsbD!dn) zz3te{%i_?ALRK9qVUOV}F6;O3;^=kC&GU$tbP%0djYD-hGxNlJ7k3F=Q zD+dhP*nO-GAIW>d-3E9Nlg-mRu6VqNVs6ewrY4=?j|W$AEH1$#_?>D9kL*J|t&}4- zT9J5;W9T!0`t|3mxK@a+UpH2=_gITnP(6v~I8uMr&AddZx>=X~^*2e#5RM^(|AFoO zrxGtmHQfFM)B87BUnu{8Ks^2*Yk^c!@cH*|=0X3_g={BIR$7DuFm1d2uoInaiD_gfZ5 zq_gh16IR{Fko7o`-eO5b*)e=F>scFDh@#>yp#>$xiMvS9s>NY_9h>$%Wd7B3{EAAs z?@>mj;0|T>_YkkCVf7pt%Vs-ZKP8OB1NGdCy-V(`d=jrUAPE^F$ZL?@hZOm-3AL>7D@A5HLdd3Sf_^U~-L?sjz#)u-`mjoGBsHRjIB^#%#Z@c`x=YZ# za&G25AWqtauXZOtIA3ML1u0_hF}fuZ+MF(;v>HW6)W_b-Z_v0=&#Eh>tn{it7XFTN z8O^B0Rbm{}M?q)_E#c>AiIj8qZZuW5f_UxejnZ?Bt*fpp3`G!PLbp>v!kN$y4p{o@GW~S-(u@9Mxy*J5`!Vm zt$)s4%g5wgsaA1KmKGzOo`7ifZLX~=N9OQ>b9bK+)#!<`<199<7uoRSBEO`0@SAHX zMb3|Tlo!a#I%}pBX|eJ7Nwk|4*tdFdt3l4odwR5|YI6BmJfDY}@=4$kzP_Sbk_1`} zq7bT@J(03Lu9FO_!gN&rG34S*v6Ke zZ06m%ib+ukX~nU;PPU;w!2`3f9`ybCh*0zsVbQJnUM{bp_)IBZh)(cN=L7s;bD1)e zTn7F$r!+K|^n^0RLBo80*nr6!4cYdq7x(75(tS>h(||cTy$A3dFv4r#2qAAJR0XEs zqSnGbohED@RCn+)3COL-@Us}iUpR`Z>j&K3$4GX2L)F(nLa76MjJ|rp&|JF$7g+ur4o|nQ?(E z3C$&3_70Kg13s?rsXCQKqRktWRw`}Vir5?^X)PpZ)l#x9m@18M<_qrdMU(-Hp6Q|6 zWya>iD>ZU{(WEOr2F#uHGSq4o+0-^1Ounc>9KQQt?^?%+pocd?OU0) z){+A&3$W7bMdF~+`UOabd@6X2k}xC@Ph(geDqp zdeG%@f>!ej#4Nsr)znb5rn;jw)t&jPT>0|21hs-R%JaQw_PWd$X29#_d<%aWjB_J_72b{{9jsTFtYQI)1ttU8els7@lh?IgF} z>T;{?2)7H8@myAl(Ubs=e|447 zoSsnZT8drpJJv@&!ZNy(Jl|^Sd~Q+@cZb-ND(=aud2E=5gJ_&tzDdL;J)`1gJWG!~ zWZgUu1fN=?@x@*?PSj-o*ESqjl**Q*hnUvhBp~M*8BWa@EzU!Is*Ln0PGnDWL_Xm( z*S&5l222${9n4K>FWvOHhVWPOF0Ig$LjP>&7M1Ps_2 zQCN0??=y{A;G0Y2AI0SEDdMprj}}=VYvw7KKYcB-|K3jeS6eCnc|F;a4Oq7*kRu0G z)yk4n#iZ-i5UTl#sfPpj)=IhDTa-VB zu+FlYUt&U78B)xGV|S4n5A(|T3h(|jWLUnBy2xNQJ-W)$5*L&OPw+7vWZ9k!WP0xi zGVVibWgZ?g;wj%1&D>pK{IupM_vfFXanCudjR%p1zr!=}4IXx*$frbb<|8BI|Ii|Q zf-QO4#jJI&Vb8J*Y$jd8b6F|(ohne1v@qGihp(;AGBYHas9UvEm}C*ZJd=C-3wY+8 zOj>d&o{4V|MfR~hsF5|kk6GvSjLptX95U!YtlN)5vlEG03$o2kg#A&5&$1GZ?Rbr+ zWSl^sLG(>}Si8uV1qoImzj|1yS?~Cc$DuGoY1TeB`T`|-^5njN*}N}KZTXy z4+s^$BU!B!_q8=RZ*IbS<8wTBv|yp%$2yy5tkBHCd`=qYXC~wQdodFAHVzqdpyu4d zUf;LaMfMQk)l00&8;`q>U$Baj=hV{rEaW(2e^Mbj+%SUq|~3o zzsr%hb|dcB8{zZH7qgsa2!n?C{d5`gHu<3Stv$kz^s)We2;t`Gx74tCS4mCzGTwHRWd8X+s z%Z%Yb^Le&B^+GeQ7MW5tsH)4_*d%Sl&u@^RC#h)F1u!=?i2d>PSl@2IIJFUBL_h8k zeaI8vVj10uoyRDC-a|-(h7tZ%#T10T!#Jo9yWn?-BKvTO@4z{x8>zRdqArz!w^X&& zw)PuB6f%S~VgPH!dqh^M!Cxs--6_k3Dvm&&Z#DH^(IiXSFt;AUO7tF`OWoK+cX21K zki@)uY|YL?J*OYFUNe@Ep9$bCiV-wr1@}hf=A@mi!rw~#^Ac3-I)@Lhf0 zBbS4p^$^~|_o@?wzt{t=B2@!Hpcp4mIZU*?mr&^-q0&Jj#Ql_h1lui;~{DW!3lr ztw$)*%pqZEGFzveVEqq9X#RK>x4Ahq9rEO*OE{?!HQb13!7*fz%U64t<(M&r{9d4*Q$Xb71l$`UNvXTQiHduC?(D>T z?L-_61_^W>;ZkHbma%UUdynBS7$L-Qkf`uhBI|;2=@TG$XNYmH3CkXzVr57%4w4V5 z0L^xc%ZIv%u;|7mvXA|BR}gia#k4V)E06Mcoa@Ee=W(2DypBy>EQ+!sE@U*ZCa{vV z?lmM|Y~`v~KSJ;K_{iR~?PevbtHn6>IP$RS80E>4I7mKVYC3?iaUc7RcCgScpXFx7 zT(#-PNAjN4vTBUohp3ATrYX;mN3{nC>2$#7aTXQAyM$=HX5OCb%wA-K^(W?p|LD!C zBPDFIeZf+TLRN~axF1lAtL+%8=el6?r87sqIf=$MmSjym#!H7VHfQFsARq^4t#16L z-@x)a4}_DikoH?FvDytJ+PuMAFv^nbFdVv_c<{`I`}yHm-)=xt+Qq)bx3Kx)GKzV5 z1POE>#gQ3I z@R2ZCdWA-p>$H2FVMk#abDtdKP@gt-Lwh(mx}CtGtz@=^0mD=-7 z=t*XVUq>Jqu9^&$@rPq~D}v@mp6KSUrH<5pBH(!wehMx?XGs|xk7287ZN994hK z)~yBT&Why9kG_=dibtH)$bptKNCzyr)MH0sN*YnKuH*4@jOt{@Y7me0wZz-MCD*5h zM4LCv48P9wlKt%J&?dC+0992Qc-5)c1L8F`{8M_6&o3ThXZl0R?t0N5y@k|Q$Jo+( z1h*bXPBn*c@cuolJVrRG{u)gUvWn>CD&_;xGfJEO`iqDi%Vo}Ir zvrJm8J-BW0g70rgnej-ArO)@XzR3h>|50xAXp`Bt`~Tq%*GL_dul-brbc6`6%TSa=PFZSK>dQq0xlj$`Z;q2XgRF4;C*x%8?&! z@cu1;@VN=R+~`ElK^5vYo@C>Kvn*L;$gv-t&|I2^hHp1T`N=#g3dQAq4N?Amr;ecXCc4hLGHP>xPInhJl|(Q%S4MP39aYwaWX-A4YYJGX8pZEAm)N(xklRZlC|Gon^MAyk_t3KZ6#xJr07*naRL2!`e>%tJ8D`90 zZ_XUGAa>ig;OaPu^Wh$%R^^j0H-h9Do>a`$=i1kL7=NXQ`>zE*As(-lu`9Tq&o1xe-{%#XdfXR%^L}h)6Nsd6Gr9ra2T$0V`~VaGVZy{Ccw3JX z9NkUM3m?*3PY~H_KzNUUvR8&gb_!W`-;0gbPf^)jfv!peHmV)m)~+Sn;5A1L+A$K2 zlIY$|YG^ZAH>!zp97JVNBuf_@sZ zg?G>h()d0U{p*P_@1f89B)$43v}ri8b!`huL5XoW0ZMO>EiWNyrXRBJ zUC^Hs$0MC0()U#{dxw~L%e7Jc_8{6{?dR}!+MN8~Ny5JulCm%gOT7UO>NX)Qyhr?)BjVYO?!i%}9x%8Pb`d{m!`-_x4i$b`trjp1lmE2t& zN$&1qRzCFPUwMT`E8O^Pj}@N_RFJH$pkS7e z+Qqx6U7|wlvJCva$H?<&AVIr@fb|u)&q`+b8Y#0?0})9fJmU=x8FCtNcz8FWm;pB2 z$Y*hp4D~h#+`7dWytu_w-vAc;oy)$gQhXaDc=E)8cZEmkNjOH``DB)E_Gax|bIwk2 zMl>w~)fK6nTbM`a;!JjFJj2gygjYu+SYVOKoIELyo;y%`&zY-Fa|y1CL$9om&2BGQ zwmS;NKhJRCD@!Wo9HViI8H$SeOh4vNvZ$M~%p@{0Dp+%&lJ8D9GD9-})syXrMBsU# zozSJZl&ri&&E~(TR!bz_x0@s0A6Tt*mt8yaQQlX|7R@sB^}CT+$RqX=i%)onCkd2} z<0t$m2NRk1;HBNq%DqX<+UCIWH7*?6`4kTmdAv2vrJcLZZxCBepe$%a7BWgnb}A1G zqsT5vMUvc2mY@+W#b^A_))wo;4^+56!eY-m&dyB2?B|R8x$7?^X5);Q?WKI7HNS0E z;TL5CHtUqjwS=}qxa$lOr`dv>~ zU~M>ro^S{Q=Mk)&ClFgrAllW8c>PoS4F~a#>&5bB8#?}dh@=oD9wJmQNcxFp;vD<2 za{PouC?C4KBywGyhyOT|_&#EDpAlPJg2IzvG&*e1>DNNJT@#HqN35H!QCV@0+A>q} zn~rm%=LoI?0>U%iptrgZ!?h*IvL~njlvDpT;QW^-@chP}>Lq3j7-&*; zxqx+&Cj>6c#O=2r=C5~Pw!+`o?`|PO)JmxTAi|JQ+@l8Z^7=%$aW8?Jo)GXy7~y{e zBHsEMM~?}P#5M7=%$uc_`M4U$2TSXy0d{5-b1SEm$3>S>dF{ij0(%ZT$U~6T$bskv zY$Jxap8g8YM~^w2{|N1*CZeM|um~7ITQoqD@B@ynlX6{O*a*UiA^fBIuulAdb>atn zlR7bt?3JH)JPn|E^#isc@>6b!2wbf`kr>!X)T1I2?icgO^D#F?9k|5x zW0TW}R%|O~USm8EJ*U{=8QVQxvn{-u)SwoegU0wH#f9aS4%oH&Qd%jc=AJ7)SxvYk z_He1J9Mh+{?9MG_Ur-ZbR|s<-COn{@YmwaulRmKSS}9(BM|`7) zlZjoJM)o2Kly~%{exDHfeZ<0V3|l`rOThh~I)o%}99RF3a)6@$FjqtSiH~pMQc4H* ziQU-$^K1rsjo}eA%H_l^{IeR-OK8O_a18ID5p>)K2^5VJAsHsfdjzkTegsi{*tyC9 zSg!sb35e+-B&45E?;&D*`-l$irrhTd750zFHh4{rO(V`e6Zq%W6ZABTmH8q36!sTe zy=sxzPM~8wARji4b>p_T6+NwXtPO_YvB*D@AM#e2#_W6INpRbzalzlGlt@KEz;A2GT!b@R|{a z)q-ri7TqCnMLPR;mf$S-NY%*#oK)HoYV;z~9>Cmu7>NYJj&*Tq`F-Z?^=Fn*47L{X z`_e5tN4u{(sX;BodG{iT7)B_aCb>asSSLbl~mrKO2%*My#6XJr`SloWc`sfEJr&i)0I*3$n7~}Qjc&>Orz@E3L zOZ#w2Yo{c>kd(`EZQaSlE_AN9ve)xH3mkLUB(5RMaRjM)AL_^3@roFtCDw(3Ks|b| zS`u3L1dWnH+~fL?sC6^vU?5+e7GUT-M5XaP_O49gz=AOJw^bvG80OBc66ToPVA?Jl zT$dH2tJ}o_zf3yAo#?q{#lfNi7UcM_G&m1E^;R^ulwmVJldQR3JXqz+t(_%!Z-0f0 zN;@&40q#4?-`{)YTw?pLhdBDB0%!lFK;(b-ac8O_x7VZ~G?T~jFYRtd^iQ2YXf%qU zU=Sb2Pb5pai5K>A)3S|F>md#rHlw&Yjw3(Yqc%ks%m3;T@{Iud>Cyb+c!dQwVhFFy z<6WAFn#e?U1=n*ZxQ!s^F=V2Dl%)nEcnK%C9bd!!kSdmJ@nX>eRW!acMD(>Sm%eo( zYKk?F=V`nB70?VeyR(YYydN(B@2fhYqMSV6Z5mT7b-68$SgjRsrwpVy#Z{EM({ToCP*-h zh1m!u)+2~yli128u#m`4$6wfH(<2o#6sSdq!$tN@JImf5k74qa9!_8A;`(1B{J*v5 z_VjaPuDiv7o6k{s9?GWd4A#3m#X|UzHBObx&YE0)!W(p_%b_NHP9T` zgUk3H!Ut7J=&&X4`V-8S<+F0VH|uxa;GjY&X8Yxv{37)}>{UDEhXltuFxvl)GfVGd zu_%Yc73sX$WKQ)mOJWwKkf&UTm(d7E?7Mk#Fp5)#nBoidX zG-2j7#=d=3oLQKM<(yRf7UghNu@14|BaL=3gztaL)E# z>jv$-(G6xmPo0+=PP1`|E5B*Eq9Y!{-}NIt9-pYae3N3gXKdS?jL8%SE`4P}+7H@P z%~9jgT3;N4#xM-+W%b_`{BTXq3_I5)<#nk(tqEuN{)B{opWMQirrNABe}Iu}6hGNV z0)^uUZ6~l3PvR%}goVWzV#Ow|?|a3E04D~nE7Ou;!@_In%nFZ0T<{u0!5~L|6{G#t zeuV#4;=;do;r8#{M1OUVn$-f{T#hC0$yLtQCov;Dn4JNyx%KuurH%V|@$3+mPxARf zq{~kxQhdY{c>9l0eyWrn8z)8`4l*X%&ugj{`5;_MgtSbS-~v2RV-^Q(Yu^Z#b|#!QU%zeA!uh@;gf z#Db4pTwhJttZ34HKf|T3P9Xf+68|Y;&izk_<~Ldxf3c5{|7;~^%37Yx+{E2E=lQpz zBL6zKg`XXKa1?w*Y$f0He<*!|v&k5%O-tm^<)AS_Li%}@eU;}=^eJrFN9gb#PLF7i z`^Jgr${ha4I?dcXHh$2mowD$UQjLqg6IR-Gzk_7;0) zt=8iI<|bfSYMRcG3?MC6K_a1I({onIwa<37-HNl2gg zG+lzf*nIc_pE(`ibD1_Xu0&%cp1@nP7f+2Io}Ri#kIa#jOC9`RCSirj4P@E_$PRQ+ zzt5ckGXshwwJh^4L{B=5rs)TcXf_cf80L1sTarrd5>_99QFS(}ua;nFJw&*1FA-Yp z#O|mfR`D5*R-dpFPm*KPNQFfSNg54Ex7Fdi;|*sGom@TDvcu>i*Pp>Mtt`T?rCjAXtfizp^S3n zMD8i(lCmO|;ziCJnB~iVZ4H=qB?OshlIy{pJbNgnKlUK?$3oDY?#t<^!Capc!OfL7 zv0hini=CddD<0y;Pc}Gx{}epm;MH zcm0TwQ9q{Z%23g5V1^_f%>{`h{eA)8<@X6OA0*Me8~3O|4(C;(|0axceL{|R+p^}# zUo0p-i*EZlB>gr7_MPBCqc+uLXDC%lBp9CxG%0D z;bA_G&B3HUO6T13JcPZc3Hx9}`jZ&ab4&2N+0LIQV_CRa%JP-xSfmtylVTIiDvrEY z&_gmOo$da$6qj8gH#Z-dbdsfK?(?;?4Zk@Ca&+G-95%m1q9)&oe11HgE(a-XZayRl zKd}5@GK)9MI6UVXCJQq-tWb$iZwObbPY7-0{jwO@01>hBZm2M16laq$Y&Sh;$*ybs zY;uw17fKL^jo=$TKyY+7w-R2F9MO!4$0(+u{bc18QgY`8MN#GW9_nP@{Hxgg&yJH{ z8KL}#1LtQZddae%>is5cHKkt7aW#<)I7=uD9cp(L!Qb z4*I3V2&~6Ay7?hyTb~oK>H(>XW64;4ozrV7(Nk|lEcl4EW-kf~ci6Hq4)t~UnD2az z%i$ghPrg7it_6*{APO6eC~8q5X!sy0-5P|ycjq_%%lvryB1-0Oc&qM7r>>Ax!)6S2 zy+(O+7JIhd;lze2_UBH7y9Ek+7CCzk* z+!^#Vr8Vg^K94Hcf2*3Z(ECVjC-~0DhILBGcr3ohk!3g8dF&}iygzWzuo>lTcktZ% z9xu@Z)}cf4g|gKI=_i^IAM9fL#vANh9?Cw&61;>H_(?tyBOH*s(Syd&_U+?{eK!_H z!&n#%qovo5m);Q7?geD$=Wwhthiy0SBZ`opAbN$2kn3Mhyl*!Kt|Le#@;Ljogm$iG z$%*vtVZ&sHz2*Txbcx?1KZVUms&ry#<1HHy*xlr17p5Z!?{E7N5vcVG&DJ z;!sx2jOP zT`j+-w*6>}28gmB#6vLt|4+aL&hkHfu^5DYa=@ELa3>-!xzk$Lw3h&*L45TF86=voTO7-+}>Zsi36>uOXZzo zAJ?(hO=dHq>}G^XA21H@ML)O~yP#2dU*8$*9OVlevCjmuh#|bA z2Cxp5TLzrPVCVA*=eutRC@tk`Rs&-Hj|gQG^1iXpC;TLGOGf;u9g$p`$nf9xU0li#Cry%kx=C;%pDe^RFe$eVF?R#oP&hPUey4ly48mSG$itv;Sh{ zb4#|qxWJLe=^V*?j%R!i6-gN+-YZAs_leCLVo;cB%JHwXu=!jApU>6F`S~bMR*A@y zG;%og6-#~d(Y)M)TlPCNZr8Bgzm_1^F*4lb-+xkRE*Wp6Tx|D1uO8lJoiu7}+qT)*wry=}^WEQAul5Rx-*Gf8)Y0D(!X@Sg-r%zc|H_yAQ}Q#0V04AN+~_e) zOBx9t)H4Y>#!#)NX-}oRL2e4EQE1_Ynmy8lQ03kE%mykVbsK(lR8*!__XTge=DuzM zK40e|3+-YQIh~NMnor_DOCw!pHMPz76g}q1W%ei}1wPJh-9uL1tgD{*@gTydRk(-X zl@@T$yOeCL)2RdEr*+WQlVE-qE0J3|I=;UHVh1!yDUtu0HnxXG5T)2+{d|pV_7Gt7 zj5m4;*_d6j$@`mtYk^l)$s`g~OhM5aA;EzcH%wgQoYz7U+aSrod;V~q9isg;F4+d( zy4+(;u<{k+{!%tIWH*!%|6tl(x3)m8dWC7Q^B&dblF>wWX79p!iMlqu zv1K+De+jr$G(&22JM4*gKWD)2Q$CC5USJV5ldOc3*E%KL2{jgdhdv()yT;jD?CdtD zT0gIkVpMe;yT7Rk5^@=fsQFy zdXcKpbF_He-__45d=r7yHFyfhh z%4prt4oz*i&P5GT@ZwvcPtJAAQ+oU0=yR8>;G7Q(Xez>dNwn_h$fo&i8HEggFUSZ{ zrFxJDy8OUL9NmS!Y(vpEXt0AN-z+H3rxxept*CUt!|;U*X1#}TVp&a}jT^8SqyXme z!~|NA>8ex%P4~eiuC^hgXQmd@&ynPaThGX=5|??FLv;_P8s|}|llkv$&{E;2rCcwM z8UA@&P>)e2^eVE)dcC|Z*2vxih*39Iv}bC0!{v|AQITo0#F;wi5fX1%z`6*PROf{7 z(2+YVEGlvMkSI>(Ru74{D}t5$Ljpb^Pt5&lHzxb=zn5eNk5dOEn{7T}Pp#IDIvms+ zto#m9Q#1Gaj(a;EZsSB1?)rbXT>PXNwe8g56((fb5_U%_GYG-PKUv1B>u5f)aU%+5 z%11<;8v<&N>B~1FX0vm8*09BXJ!@ia*Gz_eil&IoyDI#XPAeJfwN75B7w3;E>LYGe z4J5R@+dsS*SC+uP?rsqLe0XBxOEE97UJR@lhTO|#95D2-oLm&EZe&G?%BRE0l~(Mv zAMtrr{6_+ZZPIJ#BI{!zKCmElzMSC1EmQvDwBK#baCP)sR$V%c7Jq+LDz2aym#GK}|Ft!`pIX()R*gWZL ziy|7JAK&TB|Mp?YZLYKgaysjOA9sP{*L&>g@x}sQ2}tcQf=Fyme`LstgFi+($gg36 z1*MePYfPwH7*@0KMuH9wkn03PL}ON@@?2Bzp`@n9VQDUJ#8XdJEt;zSm5nH%QX*@* zp&ND}socVd(iaaz-`mU94aBzj*-b@0(bvEGdvAY|KMt*LKQl5#WyxKMpp(ALbAYmW zLJyD+>AfSQ3BYhW!X}=mp>>cs!hPZB9uBppix-~$*po%N^fb!{mlpaq%*RI9oI_%3OgKN$X2)r zxv!Hl^0=YRlJ(YFxF)cANxGL@y!)y}xLmyA@Q5qcY{h5#M1z$12d`z(wy&R^YoYLm z5g!Rk1HqKjr5XR6>6?5bHFSy$YX=X8T+NNd+>%K?=OV%hyDTYvWPx}|X1k_}@fwSg z9dL4-4uuKylFv>Pk3d7uDAOCC6k*Nz)Jfz2g3STuz^!)C6-(Odp1t^-ExQBm?{xh8Da_V`AF{hs9H|yJpgKD8DB@^ZP z+t!HW^x^aVZ@C_<a4-@UPm0!Sd+;ZSe(o5B^ zH^x3>8L9<@8ckjbvqL(vS790KaP%&7!#ofSNVOAWBq6o3Fl0p@F4v{yj7DClPUz6+ zFVFpQK8JD`F+VJ_BDWEnmT%+Fia&-zJ2KS=kvtt#@sPT?&hvbqzuk)kg28%Y&@EEOJaXKeTd@I?MR0a52#n#YRdXnLbtJN<;68N~ zLoctk&NCg-`@1=a-UWi~|Io(&Xw}wLi2S(3Km=Ot6c%@coPyXzXTwTbti6NkRZ!Kg zx(4#t0!rOd#61{{`|q4+#lr=iYY^MloLvX_kNVOjnLv6+8;#Uy1aAma_b!)hv1Rm=-3=8&pEd|*#a=uExaQu*$7^LS?n zh&eHlR$1G-51A%dx}Nfi<&wmpT`_t_qzyv5Mx&;-jA5Ra)9U~ouE_5#`S)r8=RD-l ztmj3$Gh{#SS+Qza$e8LQ5SAkV7dC^&e<#a9SDqMPmiGdTz&<%_74Vd_uE9c8CxvvRIf?Y>oTM4l6FJ>spr^+Tb5;K+JbX`o(nen zfgh-Q0YWO!HwCr@e!hmFQJU15T5;&%tL%BQey44EyLS5wEf~d``;NCzDl$`)FZ-d% zJ4MSNFkeJqGfJo>+x45jC4~m5T%6J?kWv(p0QCf+faI7&lqoc48w;wsagX9P5VZ9) zl8mw2-3&a-1w8V=?T*ajiW3LlEXJM@7TB@v9Dl`4!dh6b`Xt!obFm5Y?%AKx(3dnO z>@G?EefdQW7PI4Ia{k{7U{20f$Nr8G{235xJ7$IMSMSi#ISg=*BzXo23s5IL9egL- z$MT38f!d!Tk|yzt6M-M)e&7lK3u3h>ayyB0BC-xRU}puSnA`ppzoe)$9t@yLol`E? zW;LYXjMNsps^yS%Z!T;Zx*_}BsMK2OHW%aNbL!L|`0+}>9T^jHN614-&4_N&@ zMhN?!bpvlY)dS&;c3GoWj8GW59XcR}?H^tO{nS4*(8`_wW}8xACqcG^V`pO0U0^0U z;VV=$7W3br6dn!bv)JA&c+Lu=`AN?eQFt(n4&J_S3ncBPAj(I7OO%bgR3oCQ_#M9) zSujmO`gQ%Q`m8ZNS2Je)kt=eEr^iHG?lHE zZvLSv5rK*#M8qX}ol?rz6LI?Y2|ryv;jVrtx)5dh{@Bs)p@e|bn|18WrO#67zdC}? z6A}}rXGfuSRXu)qg&uQVk0th@$&Dj{U{2APONaY={{DM#aHpexoiT)Oy8~F++!DyO z2afu1etV6Vq*+Su)Si9*eP4%YtJNW7$nDox_LFHtlWJn}cl#oCfsc^jD}wv&Mr=JS zCL}BN`ABQP?_c3@7tm`i2I|hb`ev?tf)O#$(!s3`*XW-ScQdJ&A~WF-r*!)-I~2vV zj8I^CQafw6&4I#CjBC~WBT8l&J5YLL%=y+5I40u}2`I3&=rrihamS z6~eUK222bpbWdhaegDIPt1UQf6{_(K2I~(J;E1a)ETal*L1cdoCA6>-qWdoZ$B5ys zvJYe0hsOC20^z94(P7T8UTtus9lNwx}m{8rTldE6m_8?4zHP`YR+3k>ro1pV*Cz7%Y zH1;(cj#($17&h>>jZPy!6*ky>QB{f~`(qz~>5pjzy7nk<9i~;c+ff(GKE(puZJ{h> z{H{T8F`wA5oScS*N^M%i*HQ9lBOh&vLR3Nh$>KI|@_-3-C#f(oIn1CB8E22eJNxU1 zk+V#dk@R98X?hZ7fm@JlhwI=;ez0NJcr-lGV*j>L;x@sL{$X0OG^*l&LW`H2u+ z_Ex;%?>|_!LRs$VQxR8M&Hd16J2lFj0>0aIej8DEC5bn~{qZ3lT~R#5VoAOJMpgQ zSVH=$BXloE% zu)Z<#C4G~T6q@AjPg0x(DT^d_8-Pn5(EtwBGO8G-@$V254>ccDW$ArjeWKj*2`IO6 z<9K?-sEGKkkwh@|dCJjohC)S+RM^51e$M@}5orrX@qQJ((2}QeEv*&)b5*G) zzHN^8YA|ix;*6>Ifve}jESM#Z&UZr2(aprQ`2DlC5Mc5Y+{PWZAmw|sLZQYew9XD1 zLHL2^GHYPKSC6C76l=UMr_2dZN!PCV@FdMkyCR%%+M|EY=_&0bK9I0H2CUIvhMk7W zTZz8tlS%$z;51)}4AIY&@7J}(x7wLJRA-7{Ud4Znr0POp>*f=&|8mexPE*2H1?P7_ zxs8#uCMZlO?(-xr7w^4zQYtX}Lu+UZNM?ip={m(mxcTFAh8H_6IF@G~-W5Z_sO0EdE}^N>#~9OVsBYdZtiS$q;HF zTMZ`_AD?=dI2QBM&}ZJsEX|e;LlPm>mDPv>OKgvoi2Zrsi6{!YXI3oR2h~G{FbsQu zr-K0RN#GriU(w(W*!_lqQ42IfNhJ&t zWu7vuZHirIc<&ejgp*UjmKWb-|6P+rz~^@)@lquPeRX1<`PvEHUh!(bt^IeE7DjtL zY6|{#W|s9gZC^mVFFqF9c1D&9FbfkKQf#u2(oM}f7{qk;y(8c8z|CMo;E!ubE z3UU8dSBodsUymDLq_YAuL}l+GvK^%4+}eVC!0Rt%h!k@bbX~bad{}0IwzA}?*p%hb zOC>$dZs?kZzivsd|H_iG?`Ad9{uxM=#<#g_J$uq!pe4dIFbJJksZY;mH&nE3J`GJ%p7wSzOih@KmkKd!w zkmHqrSx8XU>uN;@785Vm`9M`>kc$*ojy|?OgXbYuScbDTXpnB^=@C8`5QfHX5;AS^ zNY#Gu#-S^?u!puhf#UADc3;_W&_S*kcrv29$EX7#o|MX+F`%{K)T!>E=jH#ZKWRyP zPfWa6+W@2FWeJ71lKhB^X?&&cmO<+=_~KuoL}q>rgHqZzSr}slCW>2Bsj+Pw$trJ( zl<`Y*&Px7Lwy5mzTl0i%Qw1#$mVyaXPqZSvd2v5fSG|ltJuKVuUIaY7`&(8Eg`1`H zk;J>6-z2)B0nageGh~Ax8xEOXKbDnY02e>@NeV^n`}=>sUt&@58pX~hnSzR{z12^{ zobyh>`-A8!VH6(3wE2YBoRW+T>if!J=4#AiutDaP45VHj_$lnF1qQ28q=u;>wsNr& z6adv^d3g*;We>h;I={ljSEIDAc$cTWnJS5cjfA(A;RhlVfmnU4vRTTb*AMfPCRC$! zxrf7cjsw3!k%mKIZ{TMXAhlb1ki9IybXdQQhkhp3_1je+PNH}E2wX+)r2)Dm z14G`NWv{=bOz~mn9@tl6M^ZiGB{g!FNIBq|0RGqpskw>xzuZ8W^Ta0?-XXxxXp+ac z?o#4FA!F_il1F#U;xPnD8npakku@-u5q<@6m=mbWdlNt+SzX^~`Z2yqQ^o+tB0z+@CkhxR$ zh2_JB&1-C{eOUR9l<|*@r(*{mp_OuoW;&#UnRrrJ;AxNGEe!Y_RMuXri}e;J%@E#s z1#pYC`sxsVii1@dRs5V!e(m$sPw}7ki`YymB@4&je1Tmf>1pYyUt-udpf%E}Q4zZ0 zFpqC#2kI=b?)4EKDRUZbRcJQ5|6wL=Ia>L$Qaxrt20j^qQSIY}CQx^Kpkwm;pjtKf zG7oXvgPIFSFKyHQ4TkNStUI16sqA-YUVi)c2wq1e zTrY9iz7Tt~6>KvCJ!L?Wx)SB+>hfbZV$Oc$9VLSIDs)3vW@LVo-ll<6`wV?bdhky|>!PtDzq6)E<&7<16YRu!<8<#=z*2K3EqIwSnj^RoxO+Riei@PK9n$ z<3nroDnDA;bFBbV0;fxK`xZE1ok`fPFrXkrX^iezeM^+0TU?-=8BA)5%y0sUQ}U-4 zHFDpKTQ+wYOU>yFx^iszMg);O25v^OqMuS9xo()09KRrSbV#CQN%k~B_??>`dDSs4 z_S719ivuHVK|*o#qmBvzYrE`lC99;xtQk3dEmBDm^L2M~MUny;_A9J+j64kU0YG+a zv>j$D&B_mUME*^`{ytvdBp+RoH*!HXi5U>qsuMA~4^e4p=kRO+F+_GqO3vm;SC4zb z&+84YBmTJtjoxoFcQ}20a<;t4!w*Jy%Mk{~>|k+KTu}4|F@6~fe2@!8-lZ*#Bsb}V zUy=wf0t~fDGWN&9P=*PN#`Q4g{lRgP0+wvic@M|}dyJ>&31xF*J@WrD&{HBfv6qGZ z7$WSFA#v(yO342~{l;m>@x?;0j=5TTsO&hRc3JTV4syKf673gXe4Amv8lGv)(UL4m ztZbD&b!IQzmiYC41B|y&c)su$j%y*0RyopFcO^L6D+%ltC#srFTTs=i-_p3N9Sa(0 zAzz5@7PA96y)P%D{wsn%8JQCu;t|e2jTBKLQoN7D4|4hCfJeh-Lw}297 z18v1q1+;T-ef`Jd72XT^{!%Xo$BN%ZTho6!i3^f8?h7a+}GlVcp}wzdPBk5gsgrp zqzLueK$<`8)PGV5&>X~_*h*1^C(W&}E(eH=PiS-~|DOCwQLeoAJl2=`wNlPF&jk<* z0HiONM8YOoEPlc@1=V4FUCNCS&>K%Z!_|nmT|0aXv?XdE>BJoB8>3n>%ACtoiIQ}| z%(oz!Yrp&jtM3Z1453b!!@LbaEKh8tmYZHyro)(sZ4<8TVR}8#uAlqj?|ien2U8<3 z=szQ)cXv5@Z+ASQ-^CbFqe$-33F~X)8y17qO&XCYfh7YS{@+X1Ugp;RQoS|<+1z6| ztRcrKUesBHm3%1Tk+MOpo;L^>b8@6-tWGL*(fv?*2BzG>U|ywK;8xC39xgsr;BrWn zNY)BeA@1VSVjB>BMkrXIP;Kr-xKNuyybW4tCk50$P|-AN8~B+LGp)l=$7~f_XEB(8 z3LC7Hem+)=d(@sXc{EJzzE#C$bY~U+34m+WVuId&$&`M=kj^%(>v-o;YM_1LoR4K? zWh?FA9c~^LSV8Y1<>^k3aNE|$WC);eu}IHKN$F?VCujAe~lD zZ?c%iq?*Mbq|xw`w&!OA&UnaEWk!a%;YVzA_c(qOIT_KvY&w^GyYUU;cDaUr5BbE2*DyrR{-qg@fRY| z{Br?G*|{72V&%hqGR**+UixW1*2*v`o|!NA!eg|DQBrT9huF4WakF_Hh*g9szVNo< zdCJS~y(W(6F>NXF1Lq8GG>2w4%O87n=%G?vR_MloRI{eP_4*a#-xY=;nz9U7!l{OG zi$A89do5dYMrODm5vlk#`Le8#>5^T*{0^X<=(Du>;eXMDMPS*l`72nSxJC&~EbW|A z*1WF1#1x>0t{VAU_QV2Gc@bw zjI=4pWKZK>X8ZKt1-f4*g*1R^oo%F#$)zL#ZS_>Kmn~9TeD~(eOL-5x!sfPlark8PYIzNAq_)CFs z5;iz}%Yyv$%mbo-m^z@MfDqHHvJY@p9@5o;Ep!<{7e3SvZ=F zBoY2}Mg*JglU20p%XT?t@eqw!vMD;5{Qk)*7*BQdyx0LX8t#Go=IeJ=J=xgpUxv#B zkJ`_3iD%oVL@!{|p)9YyWh}#XX05>~;&(PWSCg-7YUzR7gDhz_zmPM?>MtyR;Xa88 z>)~3bL^Tl;9|FdXwP`<^Th7O3Q3MaMoLcT1&bO_WvBf*|?1c;0g8S(L$jN9>iL{OC zvPFHXXkYmPOQurWjFfqjm85rw!>G;Pi?`WYeay{gTi|9z!U~TI|Eu2l@8_Be?bjz+ zlMMF8} zY_sgUxaC>J+CVG0hu(6 z5WN0eAQm20_bpfL14_qxMoe#U`C;je=gC_qQAKp`=nJvJMke(WCHSIGtFo!W*ruQJ zk#||lq$k^ngg9Re-rRcWz$Fu5FpUg&;=Cu{ji0<9JmB``B$k(;L}S;WR0bP&1&qJ8 zDC1wf$9p|eI!>3}sp0k;aKxuek?`j+m2mQk3MpX00mRsDqbxIomx8XxDBk#5}CYg5xz@N7ZV5-4ONE zS8lv3q1V;67TB_iXrAnDl`QM1Y(a)rY{k5B)-`vAY6`)LJ?Gc>P(-O~9s7}&Sb4V$ ztxYvy6&2$%n%RN34fpjI#Weszd>17t5r@Cho4OAx=4viq^@7?C zt26eZfE63Nb}xfNXn4UYB(22mPOoDkc)*-3vuDT=k?e*N_EISIZORbD7}K>6&(&uk zn~C?EI1sDdfn~ZwxGA(P+kcAU?tE0(vfi-2|XEr$I2urrKn z#xB1f{)(k^Y**EPoQt-uue`f6S)$b`yt}HJ?0jSWq_#AJ%jP&S`LY{U<(yfoL&+P; zvOF-L^LcnLIBrVUb3(lugt|>Amc2JdhV$QDr8tKh!=c_FWUNVIMcm;xc?Lf%%hu*@ zD5Xsp$k%zaa(0E>8%VSHr_gi0+Qr&v@AmpoJwOboUYhokmhg`g6}}cYFW>{_-yYNiLqwFW`-y6neVPIDxE1D7Sj7xzp-3){N^-9)=RT}S4EGrSc$j_;CfsV)ko$Jy@~^6uILO2 z%)(6_J?5vpqYUN>u)K@SKIHu7KA`K{(eTGJg<;JR95(}Qw@*9B;p%Jr=EA8)4HY3| zz!_RN!qaU_NX)X^^^vCgX7RBSEa$Lt_k(FU#{h@TPsx=)m5k0DolPlIN7^b5^(Kq` zS4DSB_&gS3@zrSfF>ysLu%_kTNE$+J`I=nmCVU<}vm#;c1ts|G0|lvgx5-3ta1oj^ z1SELEGv|><_Y4e`+Um}pM9c=@a};R8b0nc@t;OP*z?+6bD0!mA>NpW|iXr?7Hiuhk z@w_q1oR$@dn@F%WaE6FY(G-s15kIf$ZgWKVo#FRW0i zXe_~Nu7Wvi++w%IjNj9G&4JllEc1d=)L(-|_KAdZBSc+B)7#xxL*Oz@llV~2e#`<= zq?^dHqhch+J5popzo}W&LNT6x3e!Z?%kP!{ssx8RaKn)EI}5{qb8kPjw1^j^P=|GL zKuyP2txFsi!&+lf79Ff8jET(tI2qje}1kAKwhlvyM5%fUZ`0FV5| zNduprmGs4)WW6JO1+Wp?H4d*@+yKo=F0XJtXbnQWHLjrIS_Vg0OfwE*&{xrufM&ke z4}6G|?&PrrS8Nb=`MdGBj2EtyNBwOodZvr)GnRlAOL2EPWaftTVH5LpfUhtX99fH( zsfeUdrMA;ZL5*nHMoRdG8QlbFs5cYfI`C^SjFo2^V@BOd%v}fY*{dYXEuC-v5Zoyl zGqW*2!j+`m_u>st~ z0MPMr6iOkOt75dGCC+Drs(C~^|3f0~L!Vcy@mt@DS}Y;m!S(ZR$|83pWJ3$*H0n8P zlsv=~+Z`lj_wMT!{aE7IXxq|sJvGgzb&`n7%HO*JHu0@BR8H&O3-+Hah`L5b>ew_3 zSN6*7aCW;uz*@gDaFSf66SrZ2h@NGWq^=_o>jsi-9e=*IKj8BFBbv4B&Q_jaxd}68 z14|l01w*a)5f2=&U;gUhXkiB%@zKh`b^^Gq;6xiT?bJ4m+fZWh+(fp&l`UwxX;Yp- zf8DW%H4XRhyh@iTR~hy4Ak6}c5m4EZI-R3Bh;=4~cf0qMu68<&#^|LPGu5xQTBb4V zu&#Cz6av~00{G?5~Y?7Tv_ZA7g&)7JiUskhE`i&O_Z>!67}cv4L9$RJ{e!FHSk@@q#_ zpFl!1F?M{8fQD|J2gKfP_!s&Qa|+~jaQcbHb#JGinB3PgUu`bUFD-5jayBT{@)8A4KRDa2s`mqJptW@m{PZ;_pe}0>F2RV z2kg=k12{MWMgY=5SF`LneZBS=zMC-M#W}~B_`hlWul+Hs2{7xZcoPcpeL9>eU{a*# z0eBL={-L|bxa6IS7Sz{fE)U!9x|ZP8lFJ+#2?B-=2)$+A)}4>3F2#q?19yc-3l5~6 z*?$As;f+t{R4n_V@>Th|eWGhJYX~s}9$vT<`*r2x5=1=hAyU**Zk7#&*yve>%}g*< zz+i0(re}8wy2M!*g>*e6W{r~m=&FpF>M+}tM2iP!Rem?bP47QemFxquWkB3#Badc?z>{Q3I4y0Z18+~8@ZZ4?<*XHsRMDc3ETwD2esJ(JNU8-b64qnP$g zfSVg_UDJzrra{KLw<<1LuFn}OO~r-ArVsq;E~p>q40r=1Xyb(mTbYX#GD3+F) zrKdA_HS$ray*hl&v%4jNc!}FsigP~EZ4>KWcm~rkWsjL{YC%QbUR;P4`2Ql{^K`rTYP;5Ch@Wm z@(0Mw*kY|rydEDpC^bxq`G)Oa_BAs`FXx<(59;^TKbbC35cEwY1*?f+>+{lv>m<;g zyMz0GzPFXj?mv}gGRRt8&p#%N&^m$6gDtf&$YQ&D0;gPtJ?ivgup$&5UtF&C7|AxKRem5vn{cPN?N$n68_)F^bPuFP!4ZFYpSkzAf&iXRav#U79dx3Hg$B zk;mODtWA~mbp2q|!y@qM`bTDPrnrqb>55f4UWg+{D>2Gs(T(;SZ`6d)qWG9*>_vls zi*OE2!Ye7fRowMj`uVLjY!ZInzf1h~7>t6##c84>jDsgtqx$wAb+g=p-o?M1GX$0` z;|Y6dr*`MfP5+U!G83zSo~3t>c;xEcQ}sa_h7e+*p;)3ou7H4liNMo*exXQr{~@h3 zXE7)xJoQPo8uCU%C}_G0P=mS5XHEt@e-@m;qVTZ&{MZ4IuYOxHI`CWGhYGxw)Sh9GvwpQzYN`^WB?{h3_gBUFq16w!8nVTPF!QKlQo1nN|@9NL& zspRc@`;U#}dRBZ6yvzO@bN;Q6Ka4DyztK2@t~NoX9+7bex54@CWROKqM70@aMYW*> z5MHs}>mwIXPqi0M`|qU)Y2Fa8^_3n+7=wS#pscy{#5U5{&)1TMmYOap=@HD5EV;mO ztk-xb3HK9e{tK2U(p$);Tmp{AQd4SdH_HM4HS^sHgE8OX7|PT@r$E041lcTQ^eb}< z!TI6FBSq!--R-R^nKFs)PxQ2S+R+N< z>VTJ2D(X&KZJJBMDZ9Yi0ma)26wXEG3_1i^N2fkSJ`;NTgNHAi9MdkN!HmdK` zm^jM23|D-A!_Cr>()(ce_h04*Tn5yK2Mt#{=>6@y5)DlgX{Dl634YdFvQ94=2eSkr zyt4GpmeMGvncRegHiniw?%>%tvytj>5<@@sr_cNR1AF|Tw>8cVdi=8}R;;y&T;TOj zx*N3ke(!IttIRJN&N3@LM7kb-lWd!5?JX zM~AX)CIY>rC&UxM2Q{p;Nc>wmqQ44j&e~BO`4tUQK$+2D5M@fQ>6#F#!#|jnzcNA7iKip1%lVPUtzmnHLoq#!OYb@eiM^lDM3cs(<8IygAJoJh>cNzfgf4;SA${A920^eJ#v=YW| zPn?@09wU+cTBM+W9(ZzAv4Z5jwoa?Za`6#D1f$zvINUc=xCnK}6xPrsDZZ#6IIiMD^>H2OJVs>8JVXx38)G`77!dSa`xp{g$Ei4!F?fR*%Q&8E{WzIRWvnAfqUf- zqYs#Y=$*6MZ2eJMfqXaR(Da+y3=oZsRTrnbf6*BWM@t`43|$l?L#xn9KJ&eGa*@@x zhj4T)O=qBx1D*MEjNv86Fy9>_r0d;6tFoh31wqmxHt@MW<&5U`c&<&NC>LN8@Gmq` z6lOl@^B<1$-Oc8*U+Oo%#F9UF>U|Ik4?JMw5%FlpY#FiyT`5hJ!CzhNTl2x z;c7NRthw}_y(2Vd_cvMALj4(3Nn=lVZ)}iz8f89L-d|b={yeciq5MljOV=T^v|t37 zLQ5eQ?ck~jc=-nB69%7a=mue<_2XRgk=;}6&t7u_IusEL4yIxIDc|<7j=qZkv_Sv} z5WTkdNgS95rxvH<92MkCW&aM6diFjOK7BfJw&55Z?;L}ql`^ZDBS8#yCRS4zn7ZY7 z9A?k8W}Mh!t_l@2gQoGBAi#vR*U%YbRv|#q-l~7o{V8R2ukoaeJGo5U5ke}Aw5D{Y z9D+$!ax4wsb3DR4b!AC1X#F2ejoUy7Jjw~jAY;ESnC_5}vN{r#Wd}D!8VW>)PfiHZ z6wb&op);k_gQB;7st#G7 zCjX>?@A%)vdT=lQC=@)5BzJ1@B>KnPWsVyGekIRF|qR`dlBMBeD!K(VU8T8 z!+P}}UT|;VdFlE104E#trB#O5fhdKH%-%Cn)Iagsoc0CZ!Ndjx_35npN#N=Tr|qK$ zO2R@!))Hwmbpd3~dHkfpQ9!|oXos>!v6254|xz0)0Lq3-5 znK)GPH2rWb4`l+uRhH;O6t=CMP0QU{d?q~%SL?+{M6d%|zrZl&|7cG?qwfmrTlErU z|E=oLCv>eutmQKCaM{fRQ^Z@Pe=flZ*1d3MMpQ`J$K&=bU-HhzOE6WwN${>pR$B5S z&L*s2-Xo{IL#!XeB)b>aJxfxzsV1nKM;VnfhNtYZOeH%(%WNAJGxX3KeKokdQOsMs11z~uugf`yEWK^&CT!)}n=L28&rTw<2&hO!jq2M!#^IsRQ-0CBi z81zH761qg>f^AXbMEf$@Y`D{yZ4k3ST|2+(52?n> z)fmJ6?(x4>MDNP3gubKXhD;Bu=<&dB5_T-+HT*+oec$0tsSLAj(|y-*>$K@J3#|56 z>$f7Fw{2%S*E6@it17=czPI&JHUJ*+zc-+NRc&%f~V);ktf_K812 zzuxE^-u@1}b%z_LAc27geRltX@6Yze<^Q2A!m1qeFNMr3{#R$Wmu=H_OZ(_rX83ahm!)1#xp=@U+DO8&z_4J<6Co*Xi%RIv%fU?ktZr zWr!WYiCc{Lp*X2rC4={zCYsep^}X%kcEIYo-WGqJefrxH2c-as>Vw3giE&duJ>x&Sk(GnGAs5?YlkO<^}-VhQZMTv=`m zDMik&d6{P0>-~X8!-<2R$Q3fN?Yt40{QfP?CEvl+x-4g;y`3*2ddWCry=O?BG$uGu zb9O~L{8Z1R6lf_h=>XjCq3Q^73N-H)(elJ{x&dO>;SFH2=)cy6N66he*iMT6BO}}e9lUFew8HQC9YdY0b+58h)4pWP8@hzmVUo~{ycC^Ht=kTd3%-da+yz_ zR(!18i~DBw=HK$lgzTV24nh@cG5IAuG{hq4dw(>?P7n4T4YqdbP_B0lF1&Oud|9*0 z)g~oQl$)~Cs|ct|7L?iA-VKmFI#%UE(Zxtu2j01RboPtff8%~(FT5-}@RMfBX5u{< zU7n@H6??LU<66cedx$`7`I1VzW|#rhcywC`Gs4)!MPYKXgEV?QNkVP<{=yw=cUMgH!gt)4b^VDH%(WMlC>Fo}9I9PdJCRX_IOA1sWy4CsagPLZoq z123glH-x@1UXO4p{!yXE#|iIY+9md7G<44;Z^6c4a1YK?njgF-HmCmCr&4q^d|a7} zwT`STG(Urm1r5WWb+6P7{w$Qa*GQO{4)4N9jFo~eQsb*^|B0| zbh~t?pFUzpGgigMG{oZRZ5jmK?jX%&NyU~>$}03yeYyYc~3n$$*lms z{<|0kN6-`t)-2Kr@-PD#r!8u#U!{MN!K|=)u@lsHmolN(GE<%>*~C1Ljtn{w&g$X95dNg7 z>!pOz^r)nCmFbNVcCXQ@j&jP-b%rTqJ8-S;CR+#$S?fL{(PEE@H`7;wrgCvvBOL~? z+CEW7I1%zlaYRHof@e(e!LrT7LrLiqbsigCl>hTjL2xm+u@Xb+W~Hz*A*8w5IC}oe zH)}+#%nrj@z&!*uY(BQTB*ea9<#<+AB2wwcoG4j;mV*}JGe#<}hnxf`pD@;ynw3NC z!LC@@t>Kg3446x*hP7>f=QF~=fjrVP1gi(u;s>`mPaJIn8L>G5Ei_uw_%&)IxcVusdy~vUJG8Lo&jY@qQPx zVN5cbRBm4gT-#DaUp*mnb%t;oF%=?|5t(<6(|?dV%OYJDwTJq?oz*gt2b~@Ohx!+= zqnUVipA*wNHoiOfFI`{Vh*jhB6b*G{uF?$YoZ zW8#G20b@kjBCVUVE-_P%5dASaIr;;zY+}#Yl7<-RB(E5gTi8|uBk01nU}Jx@CXRiT z%tCDE4RO?$eSe6NWTU(?xBAG=-!niX`(juWq)Ey~VBV1=VQ`4IQGvg^q3-X|joB-N zNoDRd&|VDt@`ip+CDBi0^f#oMRXDt`@`uFGe@jhBvE$}Pfyb;vLrN&p9{ zrZ>XQ($^_sjDX~QG!&To>9YXd# z!KoOR=1b$?)`~M}ZHOuaKou)#qkYQ!m@0O~BNSsHAzTU(yIT>MQe~fo=lF`h=0uE27^g%kHVrbH@+oU6K4^pCkb;KY6?{4I{qNM*Z>rWZx9>iqe#yMMen+WI+P z^^%HXbv?jf1M5?FF3KX#g`(Lpz$?FCXqapGSzr+$G*2Zs$czPRR;FB|Fa5z{w1&gd zj&6UfOSFE=guIkepqVoW=EzAA#SL_5?&LL6A}SRKGypms*KoxBZ3I7pWWgM>1S-;= z>1%YQ_aUT>-EWb)6!k@)Z1a*@iEaqGUeW+HZF!WK`ddRlbabrE`Y_2jZ2W_+qlpSk zjO#NIe71>i1h+vAL)@ZMTC$hiC3&O$y(-iaRZZB~v1nB#PDQjZ@bx41%!RaLJ1mk- zPc_gux2Xm@A}9{{IUC8GbLwzIg3$3*Bz%s!R_bHY7sepBcN;_Ue*iH-&c5V)bCQNF zP6(qXP`h8t(WGXwo%(1rE8>u4FQ0`O@Jodvo4eFF+GkD7YdfMxHAx&%rnmAqgQ?nV zPR-@J=!=-&ea;!pw`l&6O2n!hJoa`H=QM_QcPt)5S7@jc&{BMju&}q-$-m*^##%go ziNg3xdyXu;gp6kohQnvk9Mxc9g({zfXmVD0go4FlLuIr1q;lB`AlTPj^IYbzH=1Yv@>O+!ML$Dk?V_b+TKEt z%R8<#mawhfgXK9s988lwe|Y==#l>03_MPRzq(1jM1;ji~;Zj#3a<42nIUz#K9%XY)cf7Xz3LIa-?!)M&;vLwxuE>$2mqeONK236U z4jKzQS-L@wPyRM#(QR+`i+VVtIEcg<&Swl@o&5rb$|l@9@9^-k4V@MGilfpf9)dZ}CX66{TtwkxZ*uMxVlC5y z@QVxRf1-)TR~DrF5lyK@GhT6T@lzSWVS5Y9qY_yV<%RX}ejXi;r_#8V-2pA^z1f0? z#~d2*{a8JyBO|thP{A}y0#evq5lnNHJx|MoT&jCOaAq$eG04leaqVb70Sd2)RqZFq zVvt0q5n_Bs@ppbtnL`U{?gQ9HPjDmd4I2KV{49)Qk#Q8Ns{L4KjbpAqC51|AO<{Pl z54ByjXm5Fd)y@{qALzwTZUAS?ISd_UNm1>l^@tx?`^s5;sf?e)0y!Dgi$n-dwQnYYTKDI$KUpnD8Za{Ob z1;r(4YNmG{aFr^e;&a5ANxrA`~WFm$P)8~ z0r!7DkMPGJcKl|6KFMe6u{?Cv7NKA<$Vzb$J9Qg4t1v|Tu{PXn=8?%O;cR;fzTLOTF3)C2aD|~` ziagtPnjDoDR@R&FbEzudo%dkf4nIPdCegOVjK)6=xbe9e+Mk@p@Z;0ieXN7JqVB1Jy-)#SGuv6xEUqjKgA?TR4`Dd=FZD4g$)8L-Ca z9>;=vF?W$_c^&?H$rp>I(SHZi_lUKokf@B|s5XwHk<@-*ZaypJI_b~gsxyU1ZJYpw z*VrF?j;7`i2DgT>O&O$CHJ{8yjyzteO5LC4?6zp-z%v`P#!llpt%B!-4wpvHa(38( zM~^Ns>TS(07o+*VZaewthCIjpUgBW-9&_;=l_51uc-yUoK)rZTLlVU zDN@~Zf%{Hv2(~w)x+jF?+lg0HdjmW4yLC*TMl>DnR#kHgTB(KXLdQmXe|MB7A zuVP|;xJv!H^9WZKA-k^T0+^?l3Cy~2>&p3ae zmy3&2F<2Oi=aMwC*Tu8pP$Hj(=&`X)j|&rqoEf%bUriKhc~7v<>gPt>8+;tpH3I5kH5pHEP8HWr-;s5GS# z>M_l!Lyer1c}Aq&B=Rx6gn3OeVB*4EwWln&6wa}L7X&2^qMp^ka=kS6{bGUgmpa&d zZco8N8$!RZMCA)@RKC>5?=y4q7MSw-h#JFZ9nfva=XRf%KuZPb#eYkgXI65BlOoOl-FdUb9w+5mw7@%$B4Q6 zl<4Lt6v82NBh}+FpDFbQrNmRl9k4}gx3}E^u7bn6P!_d=F5ieW9;tLqbVhx=}%qH zyZ`_o07*naR0}E$8`xl=Jjk*u*{BG|@GzPsZ*L(k-@0<)b0H>Qi&6ej!l6Z%ko(mW z!LqxEw>Bd_+K>9t4s^CYrUZZO@iO>O*M59<4PSb62i#qKBuKm@(=@s$F{T@WoGAFurTa&5Sf=@*Q znO)8Zdn5TR{sy~3oA7*CLqc0Pu06NdT<^%1S})ecO%{|oD=5c!MU9K<5Am#S}To=W$=WsC(g|&2uQ#s-Inw@T~oN#%K zi{l5PC6o9H-l4BQhK}tNDGoyvns<-x+d-8q672LZL5cJ%_>BUXDGF(XzNmCOg#c9N}#^L|^ zDvsmkSWc=VnNh-TLYIhsXQG-iSz8#&;@d$uL{IWpc^GS2mC>0{Aaddak2+4$Q0B@3 zNiVC^!6cRuA8I z*oDqW^@Cv(QWJsjJp#cTLI-HI&ZOhWb#xX6^Vh1&*e!^_>9-`rt4i=({{Wq>4^cSU zO!Vn~Dh%sL5KB`Khs(3sayJVFpFteW=kPU}#!WbnSOgNCX`;@&#oKKT?Z7dNLnqL^ zF@}*yS|2h{c!i(h5Vs752{fNZUo^uB_W=wd-lB8oCA!(2IA-+|=sS(j`2*p1UeXpH zNsl;|7?~$nAMZ!tIFCidIJVIf(&rLNqn5kmD{zp2U)%`J!LztYq_{F1suy@GJWqqqJtAGCLxg?mO&mShh@;v# zf#%bA2<9*ny+cPbjmYR7t}3I%DD`2b_=bNw8S*bbS-uN!LC1CqKgA&|)JCawtzsfn zmGN*TIzr;uE$(24PcxBut?Vx- zY)6TcjFD(NjGg&=(!_&AJ4~W-<_$rLgEX8<;jm&eV!IEtsoz3*Wg;dDuklM9BIfQ> z9wz4D;62Zd(+_Ap;L4)|QJ9OQ_KTb|-8^>-#U*rxwI}YN`;!-!Kefi`Q!C;Y1(K!S zfz5+@g4z=?jv3)=Jt14xx^ntI7umYR3gw@!V)@;5B7StIZtZ#Yu5e?~HeH;*6!U8T zDaQ3w$v@wVNx~a8Cl(?Q%@eympEJKkvqB}2wPju$ex;4h&eNwWY%Te;n1B%3X^Jx%xk4GJ(t?FG{WnOsL#JizEdx!cRaviZ5ijb zKVir3HpqUymy7>rJ4v4&B=2Wy_U+5(BL_`B3DIQnt#I`Is>XC-Bv&`pk#e9G|IIa6 zuPx)k@?3luCldZ!B+<(fFy7ZrNcctf#1-xc`Y(Bqbx}y9z5v8Y*=oUZbv278hIXPT?E9Cl!2>0h<_;e;9d=Y}` zzy-8N%s4x4g6F6e;l2I{B_Ojahhv*FIrrNgtiHaC_!BekFFeEj^}!gZ596#cLCC(R zWE`#~Pwff5M$;sRzGO#c0spj@;|n=?wyn5`_{+=GF4JLLt=VW)l@j)_jEKh>oXvWP_U=YvehsGhPan#+MzTbl$?p}G2Zv*1K(4u&uIhTJ+MsATS zpBmrh4)@3UwF}|B{@9m4=0Q{iS=ahmcd-g{@f=z9{g^w>VIDZmgP1aI*JhJY zn@i>8CVW@sv3Jo~wl31d>|qwucLOm4>QFfPXFYL=u-iA7hk8xDVCmM za~_vVxR(2zrS@6;vR{D4S5}04W<=%>)_DJPgA=P0Fx%EhpxOw&j&ryK{TJM+B<z1wm6Zzdn3~Su;0(g> zX}qGxF?D{=5&a%ymD(^+A4X&(14idO`w3wtNA(;Id%bLT{C>TiV zdi5787_+lv;DRR;!ZVDS7}8@GOMY=aM;?drbEX5|I9zApkxQ)H>B8mJWd!}6NZB6} z`i@#rq}Rd&`vxB9RkL2bkZ-MB_~B|GW^p6brzF#u9!GU(1qVeh`0TPBUwQn^58^-^ z4)^i$w3sbNv-!7~HUj-=Cfp2p8>c}{!7XZn%W3j2V5M&!|Fl)$6AcBnuk|5rQ6P_2 zno+;fh`gWAQnWxHudlDLe8=A?EQ{d6_dXQ;CZv6<8M*uJQGBg~M5ht<@5o@q1~ay; zxP*9FHZ@y)s9Isewa)}teI~%?J6Eo($Y=TC0RGq@K>PDE{Qa>$KA#H+S>TWR=12Ib zjglsMP5bp!5}ii)#WajX>OsT_#|X^p;+I$-*7=pACK@M9_bsWX+E6*vf@E(OVaIxK z+S^6kqCg71SES_oU9|qOpCq+jJ_$SVD1+8Ryzl`9*k(HS($a92m^6mD+q)aGYPVg~-G_K{slcraQM8x_XrZ zhs*h1-x(d-DUM49&~To>&EW$=n|VZndFf)nPI?a%=uab38pU5@lu)}F1Y#+?*h=Ls zl9NM74)<|xZx>Emny^?a<;F!S^MkkYk2B=4%=M0hW28?E^t<+@BX-dJKbsloXv zO?<~pNq>Hx)T&(ckMtn;k2jJZ0?}Gu%zm8~j67y>boqdy)f;4u`Vbktld6UM-xKUV zg@<4cJ=GyLoUJC#Y=p+WzWDtbi_w~UocZe^4x8$5I4;#!Nlr;SEsADC1e#A1ESyCw zm?uTGn-;w^^3V4Y>M}!w&o~D0gQ#Y7V39P4Y1jmYZZr5xq&-MC|99ModP|u91P`q0 zIDdQqrM-`^mgzxHb%@(~0|e}D;m~p))~pw?|4<43Ub8IrO=O`{EawwPFe`b&`NR?2 z+~zS7OBEq5`ZE|CPazV4oujlT>MZ<#qX-e^%ymd6sjAdu+q#bo`*i1J0+ zJX)$j+PAuRfAu%r>Opi^C6ald632rtIO#A%lFJ(slzZ8(R?QDSejF*wBj9NY^)(K( zRqGQpDCT6(HI6JY%|A)H|2+s3;8AhczsY59L%&BkOM7 z<3~XNOEu%!eY6;xrI}cLeFeAA?K%5X2;0_p5V63Uj$O7C>@P(4-(iuPaGn&0A&TAF z@t3?uBtMMRwk9?hSFqv#6LqF>G4B8W|K0h0zh~v_j)UVI$FZDa-H-)FSn2w+sZ9vE%&8Q$ki=JwBSA))brSA z@q)EyYp}i6On!U?<@R@})ehp`zWdC*8pp49OgLJXMu+ei&sQ8Kab`SAx23aXT^@nU z$~ZdjF8ihiApZUo;vddnHZ`1Wt8>uNZ$PyB1B!KZoL=z+la0^N*JqkwmRwq1!2bR3FgVo7R<{`uXqI4^!GTG-&Jk@ z6^-cYH?eJ72|LUhd2+OXZn=RtAa>#p<9Y5f)`vXf4 zmowEbnx7Ot{Ba}=bB{sJr@kenpqR3(WXck9aS0q|{;?uf2rDsi>|v*M3tNm{;IOHl znEBZx%*!Capp(ZQg_JoIV`bdM9?uT;UU`XYat9u=F%;IrIJk@;^ByHO@FPjGj}#uM zrtnC$$}(a-jJxF!TU}ew_vpe!K8BX)9gdDFlKTbY4wP%EIk(_0G3zVQ_v&Qb{RH%{ zKS$s)Op-?zx4mBwDE&nC`Ii(Y+@>JtIjPR=oZV2*k>!tZURZ?9SPN97QP|LoNl0#~AMas`*SL{aD)#AT#Ob zhUP<3W=3H>DTwvU6R=-bjo0E5Jm=rTcX2T;YpSujJh!kUZ8hk{m+ljq?2UqoKh~L-B0gEo=V%Q~bXPez?1eX063cCrn>nFkL z1F?dSNabJ=)rItClZqGes0iDl3hYzg;~Cpa&ZWnc1s8E;e*@9#)m(9IBRHxXNoFf2 z?mxlq`fHY3m9j)V345LQq$xV^_87%Z^a+XiAOQxQ$V~@ukd7h@8N%Ctm=MV@a=A)h zDU*P{b0_+uE+it=vns=_jgQA%={;dXo?RW1mCvyGJr4D$B22$^W?x5PH==s3Yqk-)x0M+gf&7%Woj)J$XIpguCoAuue4a)5V;A1$Yw|Y3hG6qv zG!`c!SW-;NrgHWjY-dvZS!Ue`z#{Rz%4=-YOP$Rno`q!+lKdV!#Rx*hD9His1p5!* z9X`P2h-Sp%G4w6o6X-ZZ!Tt(d4L%Yg8OCnWee@@Yxiv#hxy3E6Tx=jOxE4GAA@oXe zxmlXPqm#ub*Vp2|v5sfQb9w9K&BDzw%=ycZ{o_rs`Eo!0pYJ7coGur?)*UWsuT*z`|1tyAqt~j^R;t<5X=r*R^wc|{u8*gs!qAT8rI{{S) zC8Nx?z0NAlTwMRo$K|hFoHsQf6pdnhqZVO90x7kj6c#3Nttf}Pd6yB{ePZ?MIJEXR zurcZxv*Hukoc@r^sCsf^t0=mbLq$dcSM%3&aAH^c~2wq)z3NpYaFh>gmP?ZJV7(B za!oCltQ{qs-B8b+&6!l{UtwKJF$=29G5KhWu*Zs|_YSip-JHoplIka&#I5og7~1$7$FhqFo1$RGM)=>B?^=PM4A>rjtn zVI{F;1#Gi>&C+Rx=zg`HbN{=BxG&a`I!=R2KRRNq80K90UG8UJCaIv5O$AvjE%8Oz z<-*|sJzVq3&})pW-vonqu1t>fM`J+@!f%ce`js(-zw997YYQ}fu}1l|JvS%Y z61gCs%+zQ2HAb_)A%uWCRVYMbXi45-9^8w}q#x0O`u1YUXy@1O&7i6Cw!1Xf& zc7JEY+8M_<{F9P%;~a7P>n3X-hO@HrG~c_N;_vxZocP*_7mLm4HZ!5;=pkO5%EU
        D2J>q&el<|f@`6uqINx^pZ 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 rQ%8yoTv}BT2ndkIx$q*1oo7+Cxj` zR!G?NRLib=4>5~-gD9dGmA{Z=lgs}$0f=>2$wm;#h0AJ{RAAxRxQt<|5)v#f3W0wj zQBJT;)kch}o6buz`p+IlZ8ORTila=w8cSkgCDk6c$T|K3rS&LEDctp`!zW;nd8!Aj zkv1TeOmJUbPPl77<-S>{G&(+Tu;xQkb0%*&#_y|qSZnwcYw0Nd%28YtU@I3a3oc?I z-6@jmICCD9=iz^(=i&58LAB@NGJ#w*fkre={eGGaU9g^fndOtWv-QI@ zIQ@Scas0-`huHaG@6y*M3A&oe<@49!D+Kp|%s2CMRRN zkZXtWaUVhCHHwYP7%Jri8i@`kgC4Hw)pB!92~xcld~AexnB1rz53$hOiE`?}&vpo7 zvkp#fY{qw63mS_d5|6adF1tusU>4u`Uc=dAoFP{O`c>AvkSFol&yVQ9cGk~}#^v8m zT>r?Bi|-k-;|mcdmsIh}CK&H!&)D)yDDugENIq3@>Z4O6er8G1=jL4f=r9qV93%PL zv&1aQB|_OpX!Ugtb=zXrXM}yIh)=dM6YWJhJ%Z- z9$CiOu@%JjFCnXaF@;TQ$*MiYL?`L�S;9uWER}uUSKtOA&;oc(s1XwH*-=W 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�S58o(D^Q96#y-IDV>_S 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 literal 0 HcmV?d00001 diff --git a/src/ASWebGLue.js b/src/ASWebGLue.js index 68e6684..17851e8 100644 --- a/src/ASWebGLue.js +++ b/src/ASWebGLue.js @@ -114,6 +114,14 @@ export function initASWebGLue(importObject) { return image_id; } + // DEBUG STUFF ----------- + + importObject.webgl.logi32 = (arg) => { + console.log(`logi32=${arg}`); + } + + // END DEBUG STUFF -------- + importObject.webgl.imageReady = (image_id) => { console.log("image ready check! image_id=" + image_id); if (webgl.imageArray.length <= image_id) { diff --git a/webgl.asc b/webgl.asc index 201bdaa..0a87573 100644 --- a/webgl.asc +++ b/webgl.asc @@ -32,10 +32,12 @@ export type HTMLImageElement = externref; export type HTMLVideoElement = externref; export type WebGLVertexArrayObject = i32; +// == debug function not part of WebGL +export declare function logi32(arg:i32):void; // == Not a part of WebGL, but there must be a way to create and load images -// export type ImageData = i32; - export declare function createImage(image_location:string):ImageData; - export declare function imageReady(image_id:ImageData):bool; +// export type ImageData = i32; +export declare function createImage(image_location:string):ImageData; +export declare function imageReady(image_id:ImageData):bool; // === WebGLContextAttributes === export const ALPHA_DEFAULT = true; From 800dc7163ec772bd102f677156d6e36a3088c506 Mon Sep 17 00:00:00 2001 From: Rick Battagline Date: Fri, 18 Dec 2020 14:41:12 -0700 Subject: [PATCH 010/111] Added texture mapped object example --- README.md | 4 + .../AnimationTexture/texture_animation.asc | 2 +- examples/ColorTriangle/color_triangle.asc | 2 +- .../color_triangle_rotate.asc | 2 +- examples/Cube/cube.asc | 2 +- examples/HelloWorldTriangle/triangle.asc | 2 +- examples/Material/obj_mat.asc | 6 +- examples/RobotTex.psd | Bin 0 -> 533340 bytes examples/RobotTexPixel.png | Bin 0 -> 3156 bytes examples/RobotTexPixel.psd | Bin 0 -> 49304 bytes examples/TextureModel/RobotTex.asc | 630 ++++++++++++++++++ examples/TextureModel/RobotTexPixel.png | Bin 0 -> 3156 bytes examples/TextureModel/index.html | 86 +++ examples/TextureModel/obj_tex.asc | 181 +++++ examples/TextureModel/obj_tex.wasm | Bin 0 -> 33233 bytes examples/robot.blend | Bin 808824 -> 814824 bytes examples/robot.blend1 | Bin 808824 -> 808824 bytes examples/robot_texture.blend | Bin 0 -> 846120 bytes examples/robot_texture.blend1 | Bin 0 -> 845448 bytes examples/robot_texture.mtl | 13 + examples/robot_texture.obj | 528 +++++++++++++++ package-lock.json | 482 ++++++++++++++ 22 files changed, 1930 insertions(+), 10 deletions(-) create mode 100644 examples/RobotTex.psd create mode 100644 examples/RobotTexPixel.png create mode 100644 examples/RobotTexPixel.psd create mode 100644 examples/TextureModel/RobotTex.asc create mode 100644 examples/TextureModel/RobotTexPixel.png create mode 100644 examples/TextureModel/index.html create mode 100644 examples/TextureModel/obj_tex.asc create mode 100644 examples/TextureModel/obj_tex.wasm create mode 100644 examples/robot_texture.blend create mode 100644 examples/robot_texture.blend1 create mode 100644 examples/robot_texture.mtl create mode 100644 examples/robot_texture.obj create mode 100644 package-lock.json diff --git a/README.md b/README.md index 31c3700..80d235e 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,8 @@ asc render_lines.asc --extension asc --runtime stub --importMemory -o render_lin ``` asc triangle.asc --extension asc --runtime stub --importMemory -o triangle.wasm +``` + +``` +asc obj_tex.asc --extension asc --runtime stub --importMemory -o obj_tex.wasm ``` \ No newline at end of file diff --git a/examples/AnimationTexture/texture_animation.asc b/examples/AnimationTexture/texture_animation.asc index b14da70..9c819c2 100644 --- a/examples/AnimationTexture/texture_animation.asc +++ b/examples/AnimationTexture/texture_animation.asc @@ -1,5 +1,5 @@ /** - * @author Rick Battagline / https://embed.com + * @author Rick Battagline / https://embed.com/wasm */ import { diff --git a/examples/ColorTriangle/color_triangle.asc b/examples/ColorTriangle/color_triangle.asc index 94d0f5f..136edb1 100644 --- a/examples/ColorTriangle/color_triangle.asc +++ b/examples/ColorTriangle/color_triangle.asc @@ -1,5 +1,5 @@ /** - * @author Rick Battagline / https://embed.com + * @author Rick Battagline / https://embed.com/wasm */ import { diff --git a/examples/ColorTriangleRotate/color_triangle_rotate.asc b/examples/ColorTriangleRotate/color_triangle_rotate.asc index b6da9e9..9f4c590 100644 --- a/examples/ColorTriangleRotate/color_triangle_rotate.asc +++ b/examples/ColorTriangleRotate/color_triangle_rotate.asc @@ -1,5 +1,5 @@ /** - * @author Rick Battagline / https://embed.com + * @author Rick Battagline / https://embed.com/wasm */ import { diff --git a/examples/Cube/cube.asc b/examples/Cube/cube.asc index 069cdb3..a844672 100644 --- a/examples/Cube/cube.asc +++ b/examples/Cube/cube.asc @@ -1,5 +1,5 @@ /** - * @author Rick Battagline / https://embed.com + * @author Rick Battagline / https://embed.com/wasm */ import { diff --git a/examples/HelloWorldTriangle/triangle.asc b/examples/HelloWorldTriangle/triangle.asc index 5ed5bd0..e294a0f 100644 --- a/examples/HelloWorldTriangle/triangle.asc +++ b/examples/HelloWorldTriangle/triangle.asc @@ -1,5 +1,5 @@ /** - * @author Rick Battagline / https://embed.com + * @author Rick Battagline / https://embed.com/wasm */ import { diff --git a/examples/Material/obj_mat.asc b/examples/Material/obj_mat.asc index 9951657..818f6d9 100644 --- a/examples/Material/obj_mat.asc +++ b/examples/Material/obj_mat.asc @@ -1,5 +1,5 @@ /** - * @author Rick Battagline / https://embed.com + * @author Rick Battagline / https://embed.com/wasm */ import { @@ -12,7 +12,6 @@ import { enableVertexAttribArray, bindBuffer, createContextFromCanvas, bufferData, getAttribLocation, drawArrays, enable, depthFunc, vertexAttribPointer, TRIANGLES, GREATER, uniform3f, - logi32 // can remove } from '../../webgl' @@ -94,9 +93,6 @@ const FRAGMENT_SHADER_CODE:string = `#version 300 es //diffuse enable(gl, DEPTH_TEST); - // I'M DUPLICATING A LOT OF VERTICES HERE. - // INDEXES WOULD BE BETTER - function rotate(theta: f32) : void { //u32 { for( var obj_i: i32 = 0; obj_i < objArray.length; obj_i++ ) { for( var coord_i: i32 = 0; coord_i < objArray[obj_i].length; coord_i += 8 ) { diff --git a/examples/RobotTex.psd b/examples/RobotTex.psd new file mode 100644 index 0000000000000000000000000000000000000000..90d62b45b13f54dd07210bfd9f014b6632b09caa GIT binary patch literal 533340 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

    av!2a6B2Eg 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

    Osaodk@H`V~Yn@LmHelLQ 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%0DnKO|0fs<7jl_Nw>d{~f7z_3R`+{+x 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 literal 0 HcmV?d00001 diff --git a/examples/spaceship.blend1 b/examples/spaceship.blend1 new file mode 100644 index 0000000000000000000000000000000000000000..4948fcf97cc90f127d862d03a61d149bd5b599d2 GIT binary patch literal 838472 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 z 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 z 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 + + + + Blender User + Blender 2.90.1 commit date:2020-09-23, commit time:06:43, hash:3e85bb34d0d7 + + 2020-10-27T10:32:12 + 2020-10-27T10:32:12 + + Z_UP + + + + + + + 39.59775 + 1.777778 + 0.1 + 100 + + + + + + 0 + 0 + 10 + + + + + + + + + 1000 1000 1000 + 1 + 0 + 0.00111109 + + + + + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 1000 + 29.99998 + 75 + 0.15 + 0 + 1 + 2 + 0.04999995 + 30.002 + 1 + 3 + 2880 + 3 + 1 + 1 + 0.1 + 0.1 + 1 + + + + + + + + + + spaceship_uv_psd + + + + + spaceship_uv_psd-surface + + + + + + 0 0 0 1 + + + + + + 1.45 + + + + + + + + + spaceship_uv.jpg + + + + + + + + + + + + -0.5080005 -0.3293023 -0.4293475 -0.5080004 -0.190822 0.4293475 -0.5080006 0.4293475 -0.4293475 -0.5080004 0.2307115 0.4293475 2.474506 -0.3293023 -0.2292571 2.474506 -0.2307115 0.2292571 2.474506 0.3293023 -0.2292571 2.474506 0.2307115 0.2292571 -0.4293475 -0.5053156 -0.07476633 2.230384 -0.5053156 -0.07476633 -0.4293475 -0.5053156 -0.3057641 2.230384 0.5053156 -0.07476633 2.230384 0.5053156 -0.3057641 -0.4293475 0.5053156 -0.3057641 -0.4293475 0.5053156 -0.07476633 2.230384 -0.5053156 -0.3057641 -1.0882 -2.242754 -0.7874542 0.4914309 -2.242754 -0.7874542 -1.0882 -2.242754 -0.8376441 0.4914309 2.242754 -0.7874542 0.4914309 2.242754 -0.8376441 -1.0882 2.242754 -0.8376441 -1.0882 2.242754 -0.7874542 0.4914309 -2.242754 -0.8376441 -0.8984084 -0.3059713 -0.0871312 -0.8984084 -0.3059713 0.0871312 -0.8984084 0.3059713 -0.0871312 -0.8984084 0.3059713 0.0871312 2.987725 -0.2292571 0.1186384 2.987725 0.2292571 0.1186384 2.987725 0.2292571 -0.1868323 2.987725 -0.2292571 -0.1868323 3.281896 -0.1188507 -0.04551059 3.281896 0.1188507 -0.04551059 3.281896 0.1188507 -0.145156 3.281896 -0.1188507 -0.145156 -1.0882 -2.298308 -0.7874542 0.4914309 -2.298308 -0.7874542 -1.0882 -2.298308 -0.8376441 0.4914309 2.298308 -0.7874542 0.4914309 2.298308 -0.8376441 -1.0882 2.298308 -0.8376441 -1.0882 2.298308 -0.7874542 0.4914309 -2.298308 -0.8376441 1.995218 2.242754 -0.7874542 1.995218 2.242754 -0.8376441 1.995218 -2.242754 -0.8376441 1.995218 -2.242754 -0.7874542 1.995218 2.298308 -0.7874542 1.995218 2.298308 -0.8376441 1.995218 -2.298308 -0.8376441 1.995218 -2.298308 -0.7874542 2.040476 2.214977 -0.7623593 2.040476 2.214977 -0.8627391 2.040476 -2.214977 -0.8627391 2.040476 -2.214977 -0.7623593 2.040476 2.326085 -0.7623593 2.040476 2.326085 -0.8627391 2.040476 -2.326085 -0.8627391 2.040476 -2.326085 -0.7623593 2.137026 2.242754 -0.7874543 2.137026 2.242754 -0.8376441 2.137026 -2.242754 -0.8376441 2.137026 -2.242754 -0.7874543 2.137026 2.298308 -0.7874543 2.137026 2.298308 -0.8376441 2.137026 -2.298308 -0.8376441 2.137026 -2.298308 -0.7874543 + + + + + + + + + + -0.0669375 0 0.9977572 0.8904827 -0.4433109 -0.1025483 -0.2107005 0 -0.9775508 -0.0669375 0 -0.9977573 0.1096706 -0.9683961 -0.2240124 0 -0.851915 0.5236802 0.935029 0.3545713 0 0 0.2927199 0.9561982 0.9129918 0.4079779 0 -0.6422606 0.749359 -0.1611289 -0.584841 -0.8111479 0 0 0.8484349 -0.5292997 -0.06335812 -0.3226255 0.9444039 -0.04361641 -0.7585639 -0.6501373 0 0 1 0 0 -1 0.9350288 -0.3545718 0 0 -0.3795074 -0.9251888 -0.7067987 0.7074148 0 -0.7067984 -0.707415 0 0 0.3795075 -0.9251888 0 -0.2927199 0.9561982 1 0 0 -0.1499123 0.9760881 -0.1574121 0.6591691 0 -0.7519948 0.6591693 0 0.7519947 -0.1402729 0 0.990113 -0.08238309 0 0.9966008 -0.1913353 0.9815248 0 -0.04802513 -0.9765266 -0.2099751 -1 0 0 -0.3513807 -0.9362327 0 -0.3513797 0.9362331 0 -0.4872763 0 -0.8732479 0 -1 0 0 1 0 0.4849263 0 -0.874555 0.4849263 0 0.874555 -0.2764788 0.9610201 0 -0.2515589 0 0.9678421 0.5230858 -0.8522801 0 0.5230748 0.8522869 0 0.4849226 0 -0.8745571 0.4849265 0 0.8745549 0.5230783 0.8522847 0 0.5230827 -0.8522821 0 -0.2764791 -0.9610199 0 -0.2515595 0 -0.9678419 -0.0669375 0 0.9977573 0.6947231 -0.7192773 0 -0.2107004 0 -0.9775508 -0.0669375 0 -0.9977572 -0.1892876 -0.9819218 0 -0.05177301 0.3368392 0.9401378 0.9350288 0.3545718 0 0 0.2927199 0.9561982 0.9462986 0.3191701 -0.05147206 -0.584841 0.8111479 0 -0.6422606 -0.749359 -0.1611289 -0.03383153 0.755037 -0.6548088 0 0.5746294 0.8184137 0 -0.8781644 -0.4783592 0.935029 -0.3545713 0 0 -0.3795075 -0.9251888 -0.7067984 0.707415 0 -0.7067987 -0.7074148 0 0 0.3795074 -0.9251888 0 -0.2927199 0.9561982 0.05965405 0.9982192 0 0.6591692 0 -0.7519948 0.6591691 1.51333e-7 0.7519948 -0.1402728 0 0.9901129 -0.08238315 0 0.9966008 -0.04802513 0.9765266 -0.2099751 -0.1913353 -0.9815248 0 -0.3513797 -0.9362331 0 -0.3513807 0.9362327 0 -0.4872762 0 -0.8732479 -0.2764789 0.9610201 0 -0.2515594 0 0.9678419 0.5230783 -0.8522847 0 0.5230827 0.8522821 0 0.5230858 0.8522801 0 0.5230748 -0.8522869 0 -0.2764782 -0.9610202 0 -0.2515594 0 -0.9678419 + + + + + + + + + + 0.4688237 0.3132958 0.09985619 0.2354346 0.4688237 0.2237295 0.7692161 0.2220173 0.8113293 0.2362911 0.8493113 0.2925399 0.9883738 0.777047 0.9318382 0.8385524 0.9313144 0.777047 0.9365814 0.4242164 0.9883738 0.777047 0.9313144 0.777047 0.2744556 0.6513352 0.2260814 0.5901898 0.2744556 0.5492355 0.4688237 0.2237295 0.1300036 0.2146921 0.4591979 0.2147011 0.7865208 0.2227362 0.84592 0.008576214 0.8113293 0.2362911 0.4591979 0.2147011 0.3447641 0.009831249 0.5402746 0.009836614 0.06915962 0.6158833 0.1186158 0.6127154 0.09421312 0.6269246 0.8670988 0.7235839 0.8828522 0.6890979 0.9243274 0.7221848 0.01216995 0.6433725 0.02851217 0.6730862 0 0.6712716 0.9243274 0.3818594 0.8828522 0.6890979 0.860601 0.3862308 0.4688237 0.3132958 0.1300037 0.3340072 0.09985619 0.3131895 0.06915962 1 0.02851217 0.6730862 0.06915962 0.6471173 0.5402746 0.5393961 0.3447641 0.5459493 0.3447641 0.5393907 0.7532354 0.5763288 0.7619072 0.7620059 0.755038 0.7620913 0.09421312 0.6269246 0.1475068 0.8210912 0.1422047 0.8241786 0.5430833 0.06907653 0.7606782 0.1857636 0.5402746 0.3818594 0.8543736 0.6912784 0.7680948 0.4461902 0.8828522 0.6890979 0.1510471 0.5595853 0.1774994 0.7709457 0.171752 0.7731945 0.5433099 0.6946403 0.7532354 0.5763288 0.755038 0.7620913 0.4591979 0.3340163 0.3447641 0.5393907 0.1300037 0.3340072 0.3208565 0.5492355 0.2992883 0.6207958 0.2992883 0.5492606 0.2260814 0.6512312 0.1774994 0.5915936 0.2260814 0.5492355 0.9365814 0.4242164 1 0.3818594 0.9887081 0.4242165 0.4688237 0.3132958 0.5174464 0.2381323 0.5174465 0.3103783 0.03637278 0.301356 0 0.2602374 0.03637278 0.2472238 0.09985619 0.3131895 0.03637278 0.2472238 0.09985619 0.2354346 0.8670988 0.7235839 0.9149936 0.7817131 0.8773336 0.7845965 0.01216995 0.6433725 0.05976152 0.5857982 0.06915962 0.6471173 0.3331899 0.5492355 0.3208565 0.5772988 0.3208565 0.5492355 0.02205705 0.5833986 0.04237878 0.5500182 0.05976152 0.5857982 0.8773336 0.7845965 0.898002 0.8200404 0.8857172 0.8209809 0.988538 0.8385524 0.9462191 0.8748536 0.9318382 0.8385524 0.8586401 0 0.8523659 0.1864833 0.8524314 0 0.8664346 0.180323 0.874144 0 0.8726422 0.18031 0.3447641 0.009831249 0.5402746 0.003277957 0.5402746 0.009836614 0.8405297 0.005631089 0.8493113 0.002945065 0.84592 0.008576214 0.1475068 0.8210912 0.145745 0.8297256 0.1422047 0.8241786 0.7623463 0 0.767548 0.185795 0.7606782 0.1857636 0.8726422 0.18031 0.8650051 0.3519756 0.8664346 0.180323 0.767548 0.185795 0.7590903 0.3626081 0.7606782 0.1857636 0.7583884 0.3994001 0.7481689 0.3944649 0.7619072 0.3942941 0.1586408 0.003267467 0.153017 0.01311737 0.153017 0 0.8585747 0.1864833 0.8523037 0.364013 0.8523659 0.1864833 0.3447641 0.5459493 0.1586408 0.5393856 0.3447641 0.5393907 0.3447641 0.009831249 0.1586408 0.003267467 0.3447641 0.003272593 0.7532354 0.5763288 0.7583884 0.3994001 0.7601045 0.5762434 0.283719 0.5492355 0.277448 0.7267652 0.2775103 0.5492355 0.2879707 0.7370714 0.2960021 0.5654221 0.2941783 0.7370714 0.874144 0.3562849 0.8648703 0.3681626 0.8617288 0.3563109 0.1530171 0.5492355 0.1410893 0.5393851 0.1530171 0.5361182 0.8585124 0.364013 0.8493113 0.3693891 0.8523037 0.364013 0.2960021 0.5654221 0.2868731 0.5610938 0.2992883 0.5610938 0.76596 0.3626394 0.7554768 0.3676533 0.7590903 0.3626081 0.1586408 0.5459442 0.1530171 0.5361182 0.1586408 0.5393856 0.8650051 0.3519756 0.874144 0.3562849 0.8617288 0.3563109 0.2836568 0.7267652 0.2744556 0.7321412 0.277448 0.7267652 0.3456142 0.5492355 0.339402 0.5557943 0.339402 0.5492355 0.3331899 0.5557943 0.3394021 0.5492355 0.3394021 0.5557943 0.2868731 0.7321412 0.2774422 0.7435063 0.2744556 0.7321412 0.153017 0.01311737 0.1410892 0.00326693 0.153017 0 0.7481689 0.3944649 0.7582266 0.3827236 0.7619072 0.3942941 0.8617288 0.3693891 0.8522979 0.3807542 0.8493113 0.3693891 0.2868731 0.5610938 0.2961741 0.5492355 0.2992883 0.5610938 0.7692161 0.3677161 0.7589406 0.3792846 0.7554768 0.3676533 0.4688237 0.3132958 0.09985619 0.3131895 0.09985619 0.2354346 0.7692161 0.2220173 0.7865208 0.2227362 0.8113293 0.2362911 0.9883738 0.777047 0.988538 0.8385524 0.9318382 0.8385524 0.9365814 0.4242164 0.9887081 0.4242165 0.9883738 0.777047 0.2744556 0.6513352 0.2261314 0.6107521 0.2260814 0.5901898 0.4688237 0.2237295 0.09985619 0.2354346 0.1300036 0.2146921 0.7865208 0.2227362 0.8405297 0.005631089 0.84592 0.008576214 0.4591979 0.2147011 0.1300036 0.2146921 0.3447641 0.009831249 0.06915962 0.6158833 0.1510471 0.5492355 0.1186158 0.6127154 0.8670988 0.7235839 0.8543736 0.6912784 0.8828522 0.6890979 0.01216995 0.6433725 0.06915962 0.6471173 0.02851217 0.6730862 0.9243274 0.3818594 0.9243274 0.7221848 0.8828522 0.6890979 0.4688237 0.3132958 0.4591979 0.3340163 0.1300037 0.3340072 0.06915962 1 0.006487667 0.9863773 0.02851217 0.6730862 0.5402746 0.5393961 0.5402746 0.5459548 0.3447641 0.5459493 0.7532354 0.5763288 0.7601045 0.5762434 0.7619072 0.7620059 0.09421312 0.6269246 0.1186158 0.6127154 0.1475068 0.8210912 0.5430833 0.06907653 0.7623463 0 0.7606782 0.1857636 0.8543736 0.6912784 0.7619072 0.446664 0.7680948 0.4461902 0.1510471 0.5595853 0.1774994 0.5492355 0.1774994 0.7709457 0.5433099 0.6946403 0.5402746 0.3818594 0.7532354 0.5763288 0.4591979 0.3340163 0.5402746 0.5393961 0.3447641 0.5393907 0.3208565 0.5492355 0.3208565 0.6207706 0.2992883 0.6207958 0.2260814 0.6512312 0.1783819 0.6121348 0.1774994 0.5915936 0.9365814 0.4242164 0.9243273 0.3818594 1 0.3818594 0.4688237 0.3132958 0.4688237 0.2237295 0.5174464 0.2381323 0.03637278 0.301356 0 0.2883005 0 0.2602374 0.09985619 0.3131895 0.03637278 0.301356 0.03637278 0.2472238 0.8670988 0.7235839 0.9243274 0.7221848 0.9149936 0.7817131 0.01216995 0.6433725 0.02205705 0.5833986 0.05976152 0.5857982 0.3331899 0.5492355 0.3331899 0.5772988 0.3208565 0.5772988 0.02205705 0.5833986 0.03007948 0.5492355 0.04237878 0.5500182 0.8773336 0.7845965 0.9149936 0.7817131 0.898002 0.8200404 0.988538 0.8385524 0.9756132 0.8748536 0.9462191 0.8748536 0.8586401 0 0.8585747 0.1864833 0.8523659 0.1864833 0.8664346 0.180323 0.8679364 1.29621e-5 0.874144 0 0.3447641 0.009831249 0.3447641 0.003272593 0.5402746 0.003277957 0.8405297 0.005631089 0.843921 0 0.8493113 0.002945065 0.1475068 0.8210912 0.1510471 0.8266384 0.145745 0.8297256 0.7623463 0 0.769216 3.1399e-5 0.767548 0.185795 0.8726422 0.18031 0.8712127 0.3519627 0.8650051 0.3519756 0.767548 0.185795 0.76596 0.3626394 0.7590903 0.3626081 0.7583884 0.3994001 0.7515193 0.3994854 0.7481689 0.3944649 0.1586408 0.003267467 0.1586408 0.009826123 0.153017 0.01311737 0.8585747 0.1864833 0.8585124 0.364013 0.8523037 0.364013 0.3447641 0.5459493 0.1586408 0.5459442 0.1586408 0.5393856 0.3447641 0.009831249 0.1586408 0.009826123 0.1586408 0.003267467 0.7532354 0.5763288 0.7515193 0.3994854 0.7583884 0.3994001 0.283719 0.5492355 0.2836568 0.7267652 0.277448 0.7267652 0.2879707 0.7370714 0.2897945 0.5654221 0.2960021 0.5654221 0.874144 0.3562849 0.8710778 0.3681496 0.8648703 0.3681626 0.1530171 0.5492355 0.1410893 0.5459437 0.1410893 0.5393851 0.8585124 0.364013 0.8617288 0.3693891 0.8493113 0.3693891 0.2960021 0.5654221 0.2897945 0.5654221 0.2868731 0.5610938 0.76596 0.3626394 0.7692161 0.3677161 0.7554768 0.3676533 0.1586408 0.5459442 0.1530171 0.5492355 0.1530171 0.5361182 0.8650051 0.3519756 0.8712127 0.3519627 0.874144 0.3562849 0.2836568 0.7267652 0.2868731 0.7321412 0.2744556 0.7321412 0.3456142 0.5492355 0.3456142 0.5557943 0.339402 0.5557943 0.3331899 0.5557943 0.3331899 0.5492355 0.3394021 0.5492355 0.2868731 0.7321412 0.2836509 0.7435063 0.2774422 0.7435063 0.153017 0.01311737 0.1410892 0.009825646 0.1410892 0.00326693 0.7481689 0.3944649 0.7513574 0.382809 0.7582266 0.3827236 0.8617288 0.3693891 0.8585066 0.3807542 0.8522979 0.3807542 0.2868731 0.5610938 0.2899665 0.5492355 0.2961741 0.5492355 0.7692161 0.3677161 0.7658103 0.379316 0.7589406 0.3792846 + + + + + + + + + + + + + + +