-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRenderer.js
70 lines (70 loc) · 122 KB
/
Renderer.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
var Renderer=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=33)}([function(e,t,r){
/*!
* @license twgl.js 4.11.2 Copyright (c) 2015, Gregg Tavares All Rights Reserved.
* Available via the MIT license.
* see: http://github.com/greggman/twgl.js for details
*/
var n;"undefined"!=typeof self&&self,n=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="./src/twgl-full.js")}({"./src/attributes.js":
/*!***************************!*\
!*** ./src/attributes.js ***!
\***************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.createAttribsFromArrays=y,t.createBuffersFromArrays=function(e,t){var r={};return Object.keys(t).forEach((function(n){r[n]=b(e,t[n],n)})),t.indices?(r.numElements=t.indices.length,r.elementType=n.getGLTypeForTypedArray(m(t.indices),"indices")):r.numElements=function(e){var t,r;for(r=0;r<v.length&&!((t=v[r])in e);++r);r===v.length&&(t=Object.keys(e)[0]);var n=e[t],i=f(n).length,o=h(n,t),a=i/o;if(i%o>0)throw new Error("numComponents ".concat(o," not correct for length ").concat(i));return a}(t),r},t.createBufferFromArray=b,t.createBufferFromTypedArray=s,t.createBufferInfoFromArrays=function(e,t,r){var i=y(e,t),o=Object.assign({},r||{});o.attribs=Object.assign({},r?r.attribs:{},i);var u=t.indices;if(u){var c=m(u,"indices");o.indices=s(e,c,e.ELEMENT_ARRAY_BUFFER),o.numElements=c.length,o.elementType=n.getGLTypeForTypedArray(c)}else o.numElements||(o.numElements=function(e,t){var r,n;for(n=0;n<v.length&&!((r=v[n])in t)&&!((r=a.attribPrefix+r)in t);++n);n===v.length&&(r=Object.keys(t)[0]);var i=t[r];e.bindBuffer(e.ARRAY_BUFFER,i.buffer);var o=e.getBufferParameter(e.ARRAY_BUFFER,e.BUFFER_SIZE);e.bindBuffer(e.ARRAY_BUFFER,null);var u=function(e,t){return t===e.BYTE?1:t===e.UNSIGNED_BYTE?1:t===e.SHORT?2:t===e.UNSIGNED_SHORT?2:t===e.INT?4:t===e.UNSIGNED_INT?4:t===e.FLOAT?4:0}(e,i.type),s=o/u,c=i.numComponents||i.size,f=s/c;if(f%1!=0)throw new Error("numComponents ".concat(c," not correct for length ").concat(length));return f}(e,o.attribs));return o},t.setAttribInfoBufferFromArray=function(e,t,r,n){r=m(r),void 0!==n?(e.bindBuffer(e.ARRAY_BUFFER,t.buffer),e.bufferSubData(e.ARRAY_BUFFER,n,r)):u(e,e.ARRAY_BUFFER,t.buffer,r,t.drawType)},t.setAttributePrefix=function(e){a.attribPrefix=e},t.setAttributeDefaults_=function(e){i.copyExistingProperties(e,a)},t.getNumComponents_=h,t.getArray_=f;var n=o(r(/*! ./typedarrays.js */"./src/typedarrays.js")),i=o(r(/*! ./helper.js */"./src/helper.js"));function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}var a={attribPrefix:""};function u(e,t,r,n,i){e.bindBuffer(t,r),e.bufferData(t,n,i||e.STATIC_DRAW)}function s(e,t,r,n){if(i.isBuffer(e,t))return t;r=r||e.ARRAY_BUFFER;var o=e.createBuffer();return u(e,r,o,t,n),o}function c(e){return"indices"===e}function f(e){return e.length?e:e.data}var l=/coord|texture/i,p=/color|colour/i;function d(e,t){var r;if(t%(r=l.test(e)?2:p.test(e)?4:3)>0)throw new Error("Can not guess numComponents for attribute '".concat(e,"'. Tried ").concat(r," but ").concat(t," values is not evenly divisible by ").concat(r,". You should specify it."));return r}function h(e,t){return e.numComponents||e.size||d(t,f(e).length)}function m(e,t){if(n.isArrayBuffer(e))return e;if(n.isArrayBuffer(e.data))return e.data;Array.isArray(e)&&(e={data:e});var r=e.type;return r||(r=c(t)?Uint16Array:Float32Array),new r(e.data)}function y(e,t){var r={};return Object.keys(t).forEach((function(i){if(!c(i)){var o=t[i],u=o.attrib||o.name||o.attribName||a.attribPrefix+i;if(o.value){if(!Array.isArray(o.value)&&!n.isArrayBuffer(o.value))throw new Error("array.value is not array or typedarray");r[u]={value:o.value}}else{var f,l,p,y;if(o.buffer&&o.buffer instanceof WebGLBuffer)f=o.buffer,y=o.numComponents||o.size,l=o.type,p=o.normalize;else if("number"==typeof o||"number"==typeof o.data){var v=o.data||o,b=o.type||Float32Array,g=v*b.BYTES_PER_ELEMENT;l=n.getGLTypeForTypedArrayType(b),p=void 0!==o.normalize?o.normalize:(x=b)===Int8Array||x===Uint8Array,y=o.numComponents||o.size||d(i,v),f=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,f),e.bufferData(e.ARRAY_BUFFER,g,o.drawType||e.STATIC_DRAW)}else{var E=m(o,i);f=s(e,E,void 0,o.drawType),l=n.getGLTypeForTypedArray(E),p=void 0!==o.normalize?o.normalize:function(e){return e instanceof Int8Array||e instanceof Uint8Array}(E),y=h(o,i)}r[u]={buffer:f,numComponents:y,type:l,normalize:p,stride:o.stride||0,offset:o.offset||0,divisor:void 0===o.divisor?void 0:o.divisor,drawType:o.drawType}}}var x})),e.bindBuffer(e.ARRAY_BUFFER,null),r}var v=["position","positions","a_position"];function b(e,t,r){var n="indices"===r?e.ELEMENT_ARRAY_BUFFER:e.ARRAY_BUFFER;return s(e,m(t,r),n)}},"./src/draw.js":
/*!*********************!*\
!*** ./src/draw.js ***!
\*********************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.drawBufferInfo=i,t.drawObjectList=function(e,t){var r=null,o=null;t.forEach((function(t){if(!1!==t.active){var a=t.programInfo,u=t.vertexArrayInfo||t.bufferInfo,s=!1,c=void 0===t.type?e.TRIANGLES:t.type;a!==r&&(r=a,e.useProgram(a.program),s=!0),(s||u!==o)&&(o&&o.vertexArrayObject&&!u.vertexArrayObject&&e.bindVertexArray(null),o=u,n.setBuffersAndAttributes(e,a,u)),n.setUniforms(a,t.uniforms),i(e,u,c,t.count,t.offset,t.instanceCount)}})),o.vertexArrayObject&&e.bindVertexArray(null)};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(r(/*! ./programs.js */"./src/programs.js"));function i(e,t,r,n,i,o){r=void 0===r?e.TRIANGLES:r;var a=t.indices,u=t.elementType,s=void 0===n?t.numElements:n;i=void 0===i?0:i,u||a?void 0!==o?e.drawElementsInstanced(r,s,void 0===u?e.UNSIGNED_SHORT:t.elementType,i,o):e.drawElements(r,s,void 0===u?e.UNSIGNED_SHORT:t.elementType,i):void 0!==o?e.drawArraysInstanced(r,i,s,o):e.drawArrays(r,i,s)}},"./src/framebuffers.js":
/*!*****************************!*\
!*** ./src/framebuffers.js ***!
\*****************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.bindFramebufferInfo=function(e,t,r){r=r||e.FRAMEBUFFER,t?(e.bindFramebuffer(r,t.framebuffer),e.viewport(0,0,t.width,t.height)):(e.bindFramebuffer(r,null),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight))},t.createFramebufferInfo=function(e,t,r,o){var f=e.FRAMEBUFFER,l=e.createFramebuffer();e.bindFramebuffer(f,l),r=r||e.drawingBufferWidth,o=o||e.drawingBufferHeight;var p=0,d={framebuffer:l,attachments:[],width:r,height:o};return(t=t||u).forEach((function(t){var u=t.attachment,l=t.format,h=function(e){return s[e]}(l);if(h||(h=a+p++),!u)if(function(e){return c[e]}(l))u=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,u),e.renderbufferStorage(e.RENDERBUFFER,l,r,o);else{var m=Object.assign({},t);m.width=r,m.height=o,void 0===m.auto&&(m.auto=!1,m.min=m.min||m.minMag||e.LINEAR,m.mag=m.mag||m.minMag||e.LINEAR,m.wrapS=m.wrapS||m.wrap||e.CLAMP_TO_EDGE,m.wrapT=m.wrapT||m.wrap||e.CLAMP_TO_EDGE),u=n.createTexture(e,m)}if(i.isRenderbuffer(e,u))e.framebufferRenderbuffer(f,h,e.RENDERBUFFER,u);else{if(!i.isTexture(e,u))throw new Error("unknown attachment type");void 0!==t.layer?e.framebufferTextureLayer(f,h,u,t.level||0,t.layer):e.framebufferTexture2D(f,h,t.texTarget||e.TEXTURE_2D,u,t.level||0)}d.attachments.push(u)})),d},t.resizeFramebufferInfo=function(e,t,r,o,a){o=o||e.drawingBufferWidth,a=a||e.drawingBufferHeight,t.width=o,t.height=a,(r=r||u).forEach((function(r,u){var s=t.attachments[u],c=r.format;if(i.isRenderbuffer(e,s))e.bindRenderbuffer(e.RENDERBUFFER,s),e.renderbufferStorage(e.RENDERBUFFER,c,o,a);else{if(!i.isTexture(e,s))throw new Error("unknown attachment type");n.resizeTexture(e,s,r,o,a)}}))};var n=o(r(/*! ./textures.js */"./src/textures.js")),i=o(r(/*! ./helper.js */"./src/helper.js"));function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}var a=36064,u=[{format:6408,type:5121,min:9729,wrap:33071},{format:34041}],s={34041:33306,6401:36128,36168:36128,6402:36096,33189:36096},c={32854:!0,32855:!0,36194:!0,34041:!0,33189:!0,6401:!0,36168:!0}},"./src/helper.js":
/*!***********************!*\
!*** ./src/helper.js ***!
\***********************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.copyExistingProperties=function(e,t){Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&(t[r]=e[r])}))},t.copyNamedProperties=function(e,t,r){e.forEach((function(e){var n=t[e];void 0!==n&&(r[e]=n)}))},t.isBuffer=function(e,t){return"undefined"!=typeof WebGLBuffer&&t instanceof WebGLBuffer},t.isRenderbuffer=function(e,t){return"undefined"!=typeof WebGLRenderbuffer&&t instanceof WebGLRenderbuffer},t.isShader=function(e,t){return"undefined"!=typeof WebGLShader&&t instanceof WebGLShader},t.isTexture=function(e,t){return"undefined"!=typeof WebGLTexture&&t instanceof WebGLTexture},t.isSampler=function(e,t){return"undefined"!=typeof WebGLSampler&&t instanceof WebGLSampler},t.warn=t.error=void 0;var n="undefined"!=typeof console&&console.error&&"function"==typeof console.error?console.error.bind(console):function(){};t.error=n;var i="undefined"!=typeof console&&console.warn&&"function"==typeof console.warn?console.warn.bind(console):function(){};t.warn=i},"./src/m4.js":
/*!*******************!*\
!*** ./src/m4.js ***!
\*******************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.axisRotate=function(e,t,r,n){n=n||new i(16);var o=t[0],a=t[1],u=t[2],s=Math.sqrt(o*o+a*a+u*u),c=(o/=s)*o,f=(a/=s)*a,l=(u/=s)*u,p=Math.cos(r),d=Math.sin(r),h=1-p,m=c+(1-c)*p,y=o*a*h+u*d,v=o*u*h-a*d,b=o*a*h-u*d,g=f+(1-f)*p,E=a*u*h+o*d,x=o*u*h+a*d,T=a*u*h-o*d,_=l+(1-l)*p,A=e[0],w=e[1],R=e[2],L=e[3],P=e[4],F=e[5],C=e[6],O=e[7],S=e[8],B=e[9],I=e[10],U=e[11];return n[0]=m*A+y*P+v*S,n[1]=m*w+y*F+v*B,n[2]=m*R+y*C+v*I,n[3]=m*L+y*O+v*U,n[4]=b*A+g*P+E*S,n[5]=b*w+g*F+E*B,n[6]=b*R+g*C+E*I,n[7]=b*L+g*O+E*U,n[8]=x*A+T*P+_*S,n[9]=x*w+T*F+_*B,n[10]=x*R+T*C+_*I,n[11]=x*L+T*O+_*U,e!==n&&(n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n},t.axisRotation=function(e,t,r){r=r||new i(16);var n=e[0],o=e[1],a=e[2],u=Math.sqrt(n*n+o*o+a*a),s=(n/=u)*n,c=(o/=u)*o,f=(a/=u)*a,l=Math.cos(t),p=Math.sin(t),d=1-l;return r[0]=s+(1-s)*l,r[1]=n*o*d+a*p,r[2]=n*a*d-o*p,r[3]=0,r[4]=n*o*d-a*p,r[5]=c+(1-c)*l,r[6]=o*a*d+n*p,r[7]=0,r[8]=n*a*d+o*p,r[9]=o*a*d-n*p,r[10]=f+(1-f)*l,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},t.copy=s,t.frustum=function(e,t,r,n,o,a,u){u=u||new i(16);var s=t-e,c=n-r,f=o-a;return u[0]=2*o/s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=2*o/c,u[6]=0,u[7]=0,u[8]=(e+t)/s,u[9]=(n+r)/c,u[10]=a/f,u[11]=-1,u[12]=0,u[13]=0,u[14]=o*a/f,u[15]=0,u},t.getAxis=function(e,t,r){r=r||n.create();var i=4*t;return r[0]=e[i+0],r[1]=e[i+1],r[2]=e[i+2],r},t.getTranslation=function(e,t){return(t=t||n.create())[0]=e[12],t[1]=e[13],t[2]=e[14],t},t.identity=c,t.inverse=f,t.lookAt=function(e,t,r,s){s=s||new i(16);var c=o,f=a,l=u;return n.normalize(n.subtract(e,t,l),l),n.normalize(n.cross(r,l,c),c),n.normalize(n.cross(l,c,f),f),s[0]=c[0],s[1]=c[1],s[2]=c[2],s[3]=0,s[4]=f[0],s[5]=f[1],s[6]=f[2],s[7]=0,s[8]=l[0],s[9]=l[1],s[10]=l[2],s[11]=0,s[12]=e[0],s[13]=e[1],s[14]=e[2],s[15]=1,s},t.multiply=function(e,t,r){r=r||new i(16);var n=e[0],o=e[1],a=e[2],u=e[3],s=e[4],c=e[5],f=e[6],l=e[7],p=e[8],d=e[9],h=e[10],m=e[11],y=e[12],v=e[13],b=e[14],g=e[15],E=t[0],x=t[1],T=t[2],_=t[3],A=t[4],w=t[5],R=t[6],L=t[7],P=t[8],F=t[9],C=t[10],O=t[11],S=t[12],B=t[13],I=t[14],U=t[15];return r[0]=n*E+s*x+p*T+y*_,r[1]=o*E+c*x+d*T+v*_,r[2]=a*E+f*x+h*T+b*_,r[3]=u*E+l*x+m*T+g*_,r[4]=n*A+s*w+p*R+y*L,r[5]=o*A+c*w+d*R+v*L,r[6]=a*A+f*w+h*R+b*L,r[7]=u*A+l*w+m*R+g*L,r[8]=n*P+s*F+p*C+y*O,r[9]=o*P+c*F+d*C+v*O,r[10]=a*P+f*F+h*C+b*O,r[11]=u*P+l*F+m*C+g*O,r[12]=n*S+s*B+p*I+y*U,r[13]=o*S+c*B+d*I+v*U,r[14]=a*S+f*B+h*I+b*U,r[15]=u*S+l*B+m*I+g*U,r},t.negate=function(e,t){return(t=t||new i(16))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},t.ortho=function(e,t,r,n,o,a,u){return(u=u||new i(16))[0]=2/(t-e),u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=2/(n-r),u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=2/(o-a),u[11]=0,u[12]=(t+e)/(e-t),u[13]=(n+r)/(r-n),u[14]=(a+o)/(o-a),u[15]=1,u},t.perspective=function(e,t,r,n,o){o=o||new i(16);var a=Math.tan(.5*Math.PI-.5*e),u=1/(r-n);return o[0]=a/t,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=a,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(r+n)*u,o[11]=-1,o[12]=0,o[13]=0,o[14]=r*n*u*2,o[15]=0,o},t.rotateX=function(e,t,r){r=r||new i(16);var n=e[4],o=e[5],a=e[6],u=e[7],s=e[8],c=e[9],f=e[10],l=e[11],p=Math.cos(t),d=Math.sin(t);return r[4]=p*n+d*s,r[5]=p*o+d*c,r[6]=p*a+d*f,r[7]=p*u+d*l,r[8]=p*s-d*n,r[9]=p*c-d*o,r[10]=p*f-d*a,r[11]=p*l-d*u,e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r},t.rotateY=function(e,t,r){r=r||new i(16);var n=e[0],o=e[1],a=e[2],u=e[3],s=e[8],c=e[9],f=e[10],l=e[11],p=Math.cos(t),d=Math.sin(t);return r[0]=p*n-d*s,r[1]=p*o-d*c,r[2]=p*a-d*f,r[3]=p*u-d*l,r[8]=p*s+d*n,r[9]=p*c+d*o,r[10]=p*f+d*a,r[11]=p*l+d*u,e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r},t.rotateZ=function(e,t,r){r=r||new i(16);var n=e[0],o=e[1],a=e[2],u=e[3],s=e[4],c=e[5],f=e[6],l=e[7],p=Math.cos(t),d=Math.sin(t);return r[0]=p*n+d*s,r[1]=p*o+d*c,r[2]=p*a+d*f,r[3]=p*u+d*l,r[4]=p*s-d*n,r[5]=p*c-d*o,r[6]=p*f-d*a,r[7]=p*l-d*u,e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r},t.rotationX=function(e,t){t=t||new i(16);var r=Math.cos(e),n=Math.sin(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationY=function(e,t){t=t||new i(16);var r=Math.cos(e),n=Math.sin(e);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationZ=function(e,t){t=t||new i(16);var r=Math.cos(e),n=Math.sin(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.scale=function(e,t,r){r=r||new i(16);var n=t[0],o=t[1],a=t[2];return r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=n*e[3],r[4]=o*e[4],r[5]=o*e[5],r[6]=o*e[6],r[7]=o*e[7],r[8]=a*e[8],r[9]=a*e[9],r[10]=a*e[10],r[11]=a*e[11],e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r},t.scaling=function(e,t){return(t=t||new i(16))[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.setAxis=function(e,t,r,n){n!==e&&(n=s(e,n));var i=4*r;return n[i+0]=t[0],n[i+1]=t[1],n[i+2]=t[2],n},t.setDefaultType=function(e){var t=i;return i=e,t},t.setTranslation=function(e,t,r){return r=r||c(),e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11]),r[12]=t[0],r[13]=t[1],r[14]=t[2],r[15]=1,r},t.transformDirection=function(e,t,r){r=r||n.create();var i=t[0],o=t[1],a=t[2];return r[0]=i*e[0]+o*e[4]+a*e[8],r[1]=i*e[1]+o*e[5]+a*e[9],r[2]=i*e[2]+o*e[6]+a*e[10],r},t.transformNormal=function(e,t,r){r=r||n.create();var i=f(e),o=t[0],a=t[1],u=t[2];return r[0]=o*i[0]+a*i[1]+u*i[2],r[1]=o*i[4]+a*i[5]+u*i[6],r[2]=o*i[8]+a*i[9]+u*i[10],r},t.transformPoint=function(e,t,r){r=r||n.create();var i=t[0],o=t[1],a=t[2],u=i*e[3]+o*e[7]+a*e[11]+e[15];return r[0]=(i*e[0]+o*e[4]+a*e[8]+e[12])/u,r[1]=(i*e[1]+o*e[5]+a*e[9]+e[13])/u,r[2]=(i*e[2]+o*e[6]+a*e[10]+e[14])/u,r},t.translate=function(e,t,r){r=r||new i(16);var n=t[0],o=t[1],a=t[2],u=e[0],s=e[1],c=e[2],f=e[3],l=e[4],p=e[5],d=e[6],h=e[7],m=e[8],y=e[9],v=e[10],b=e[11],g=e[12],E=e[13],x=e[14],T=e[15];return e!==r&&(r[0]=u,r[1]=s,r[2]=c,r[3]=f,r[4]=l,r[5]=p,r[6]=d,r[7]=h,r[8]=m,r[9]=y,r[10]=v,r[11]=b),r[12]=u*n+l*o+m*a+g,r[13]=s*n+p*o+y*a+E,r[14]=c*n+d*o+v*a+x,r[15]=f*n+h*o+b*a+T,r},t.translation=function(e,t){return(t=t||new i(16))[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},t.transpose=function(e,t){var r;if((t=t||new i(16))===e)return r=e[1],e[1]=e[4],e[4]=r,r=e[2],e[2]=e[8],e[8]=r,r=e[3],e[3]=e[12],e[12]=r,r=e[6],e[6]=e[9],e[9]=r,r=e[7],e[7]=e[13],e[13]=r,r=e[11],e[11]=e[14],e[14]=r,t;var n=e[0],o=e[1],a=e[2],u=e[3],s=e[4],c=e[5],f=e[6],l=e[7],p=e[8],d=e[9],h=e[10],m=e[11],y=e[12],v=e[13],b=e[14],g=e[15];return t[0]=n,t[1]=s,t[2]=p,t[3]=y,t[4]=o,t[5]=c,t[6]=d,t[7]=v,t[8]=a,t[9]=f,t[10]=h,t[11]=b,t[12]=u,t[13]=l,t[14]=m,t[15]=g,t};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(r(/*! ./v3.js */"./src/v3.js")),i=Float32Array,o=n.create(),a=n.create(),u=n.create();function s(e,t){return(t=t||new i(16))[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function c(e){return(e=e||new i(16))[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function f(e,t){t=t||new i(16);var r=e[0],n=e[1],o=e[2],a=e[3],u=e[4],s=e[5],c=e[6],f=e[7],l=e[8],p=e[9],d=e[10],h=e[11],m=e[12],y=e[13],v=e[14],b=e[15],g=d*b,E=v*h,x=c*b,T=v*f,_=c*h,A=d*f,w=o*b,R=v*a,L=o*h,P=d*a,F=o*f,C=c*a,O=l*y,S=m*p,B=u*y,I=m*s,U=u*p,M=l*s,j=r*y,N=m*n,D=r*p,k=l*n,z=r*s,X=u*n,G=g*s+T*p+_*y-(E*s+x*p+A*y),Y=E*n+w*p+P*y-(g*n+R*p+L*y),W=x*n+R*s+F*y-(T*n+w*s+C*y),H=A*n+L*s+C*p-(_*n+P*s+F*p),V=1/(r*G+u*Y+l*W+m*H);return t[0]=V*G,t[1]=V*Y,t[2]=V*W,t[3]=V*H,t[4]=V*(E*u+x*l+A*m-(g*u+T*l+_*m)),t[5]=V*(g*r+R*l+L*m-(E*r+w*l+P*m)),t[6]=V*(T*r+w*u+C*m-(x*r+R*u+F*m)),t[7]=V*(_*r+P*u+F*l-(A*r+L*u+C*l)),t[8]=V*(O*f+I*h+U*b-(S*f+B*h+M*b)),t[9]=V*(S*a+j*h+k*b-(O*a+N*h+D*b)),t[10]=V*(B*a+N*f+z*b-(I*a+j*f+X*b)),t[11]=V*(M*a+D*f+X*h-(U*a+k*f+z*h)),t[12]=V*(B*d+M*v+S*c-(U*v+O*c+I*d)),t[13]=V*(D*v+O*o+N*d-(j*d+k*v+S*o)),t[14]=V*(j*c+X*v+I*o-(z*v+B*o+N*c)),t[15]=V*(z*d+U*o+k*c-(D*c+X*d+M*o)),t}},"./src/primitives.js":
/*!***************************!*\
!*** ./src/primitives.js ***!
\***************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.create3DFVertices=L,t.createAugmentedTypedArray=p,t.createCubeVertices=A,t.createPlaneVertices=x,t.createSphereVertices=T,t.createTruncatedConeVertices=w,t.createXYQuadVertices=E,t.createCrescentVertices=P,t.createCylinderVertices=F,t.createTorusVertices=C,t.createDiscVertices=O,t.deindexVertices=function(e){var t=e.indices,r={},n=t.length;return Object.keys(e).filter(d).forEach((function(i){for(var o=e[i],a=o.numComponents,u=p(a,n,o.constructor),s=0;s<n;++s)for(var c=t[s]*a,f=0;f<a;++f)u.push(o[c+f]);r[i]=u})),r},t.flattenNormals=function(e){if(e.indices)throw new Error("can not flatten normals of indexed vertices. deindex them first");for(var t=e.normal,r=t.length,n=0;n<r;n+=9){var i=t[n+0],o=t[n+1],a=t[n+2],u=t[n+3],s=t[n+4],c=t[n+5],f=t[n+6],l=t[n+7],p=t[n+8],d=i+u+f,h=o+s+l,m=a+c+p,y=Math.sqrt(d*d+h*h+m*m);d/=y,h/=y,m/=y,t[n+0]=d,t[n+1]=h,t[n+2]=m,t[n+3]=d,t[n+4]=h,t[n+5]=m,t[n+6]=d,t[n+7]=h,t[n+8]=m}return e},t.makeRandomVertexColors=function(e,t){t=t||{};var r=e.position.numElements,n=p(4,r,Uint8Array),i=t.rand||function(e,t){return t<3?(r=256,Math.random()*r|0):255;var r};if(e.color=n,e.indices)for(var o=0;o<r;++o)n.push(i(o,0),i(o,1),i(o,2),i(o,3));else for(var a=t.vertsPerColor||3,u=r/a,s=0;s<u;++s)for(var c=[i(s,0),i(s,1),i(s,2),i(s,3)],f=0;f<a;++f)n.push(c);return e},t.reorientDirections=y,t.reorientNormals=v,t.reorientPositions=b,t.reorientVertices=g,t.concatVertices=function(e){for(var t,r={},n=function(n){var i=e[n];Object.keys(i).forEach((function(e){r[e]||(r[e]=[]),t||"indices"===e||(t=e);var n=i[e],o=f(n,e),a=c(n).length/o;r[e].push(a)}))},i=0;i<e.length;++i)n(i);var o=r[t],a={};return Object.keys(r).forEach((function(t){var r=function(t){for(var r,n=0,i=0;i<e.length;++i){var o=e[i][t],a=c(o);n+=a.length,r&&!o.data||(r=o)}return{length:n,spec:r}}(t),n=M(r.spec,r.length);!function(t,r,n){for(var i=0,o=0,a=0;a<e.length;++a){var u=e[a][t],s=c(u);"indices"===t?(U(s,n,o,i),i+=r[a]):U(s,n,o),o+=s.length}}(t,o,c(n)),a[t]=n})),a},t.duplicateVertices=function(e){var t={};return Object.keys(e).forEach((function(r){var n=e[r],i=c(n),o=M(n,i.length);U(i,c(o),0),t[r]=o})),t},t.createDiscBuffers=t.createDiscBufferInfo=t.createTorusBuffers=t.createTorusBufferInfo=t.createCylinderBuffers=t.createCylinderBufferInfo=t.createCrescentBuffers=t.createCrescentBufferInfo=t.createCresentVertices=t.createCresentBuffers=t.createCresentBufferInfo=t.createXYQuadBuffers=t.createXYQuadBufferInfo=t.createTruncatedConeBuffers=t.createTruncatedConeBufferInfo=t.createSphereBuffers=t.createSphereBufferInfo=t.createPlaneBuffers=t.createPlaneBufferInfo=t.createCubeBuffers=t.createCubeBufferInfo=t.create3DFBuffers=t.create3DFBufferInfo=void 0;var n=s(r(/*! ./attributes.js */"./src/attributes.js")),i=s(r(/*! ./helper.js */"./src/helper.js")),o=s(r(/*! ./typedarrays.js */"./src/typedarrays.js")),a=s(r(/*! ./m4.js */"./src/m4.js")),u=s(r(/*! ./v3.js */"./src/v3.js"));function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}var c=n.getArray_,f=n.getNumComponents_;function l(e,t){var r=0;return e.push=function(){for(var t=0;t<arguments.length;++t){var n=arguments[t];if(n instanceof Array||o.isArrayBuffer(n))for(var i=0;i<n.length;++i)e[r++]=n[i];else e[r++]=n}},e.reset=function(e){r=e||0},e.numComponents=t,Object.defineProperty(e,"numElements",{get:function(){return this.length/this.numComponents|0}}),e}function p(e,t,r){return l(new(r||Float32Array)(e*t),e)}function d(e){return"indices"!==e}function h(e,t,r){for(var n=e.length,i=new Float32Array(3),o=0;o<n;o+=3)r(t,[e[o],e[o+1],e[o+2]],i),e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2]}function m(e,t,r){r=r||u.create();var n=t[0],i=t[1],o=t[2];return r[0]=n*e[0]+i*e[1]+o*e[2],r[1]=n*e[4]+i*e[5]+o*e[6],r[2]=n*e[8]+i*e[9]+o*e[10],r}function y(e,t){return h(e,t,a.transformDirection),e}function v(e,t){return h(e,a.inverse(t),m),e}function b(e,t){return h(e,t,a.transformPoint),e}function g(e,t){return Object.keys(e).forEach((function(r){var n=e[r];r.indexOf("pos")>=0?b(n,t):r.indexOf("tan")>=0||r.indexOf("binorm")>=0?y(n,t):r.indexOf("norm")>=0&&v(n,t)})),e}function E(e,t,r){return e=e||2,{position:{numComponents:2,data:[(t=t||0)+-1*(e*=.5),(r=r||0)+-1*e,t+1*e,r+-1*e,t+-1*e,r+1*e,t+1*e,r+1*e]},normal:[0,0,1,0,0,1,0,0,1,0,0,1],texcoord:[0,0,1,0,0,1,1,1],indices:[0,1,2,2,1,3]}}function x(e,t,r,n,i){e=e||1,t=t||1,r=r||1,n=n||1,i=i||a.identity();for(var o=(r+1)*(n+1),u=p(3,o),s=p(3,o),c=p(2,o),f=0;f<=n;f++)for(var l=0;l<=r;l++){var d=l/r,h=f/n;u.push(e*d-.5*e,0,t*h-.5*t),s.push(0,1,0),c.push(d,h)}for(var m=r+1,y=p(3,r*n*2,Uint16Array),v=0;v<n;v++)for(var b=0;b<r;b++)y.push((v+0)*m+b,(v+1)*m+b,(v+0)*m+b+1),y.push((v+1)*m+b,(v+1)*m+b+1,(v+0)*m+b+1);return g({position:u,normal:s,texcoord:c,indices:y},i)}function T(e,t,r,n,i,o,a){if(t<=0||r<=0)throw new Error("subdivisionAxis and subdivisionHeight must be > 0");n=n||0,o=o||0;for(var u=(i=i||Math.PI)-n,s=(a=a||2*Math.PI)-o,c=(t+1)*(r+1),f=p(3,c),l=p(3,c),d=p(2,c),h=0;h<=r;h++)for(var m=0;m<=t;m++){var y=m/t,v=h/r,b=s*y+o,g=u*v+n,E=Math.sin(b),x=Math.cos(b),T=Math.sin(g),_=x*T,A=Math.cos(g),w=E*T;f.push(e*_,e*A,e*w),l.push(_,A,w),d.push(1-y,v)}for(var R=t+1,L=p(3,t*r*2,Uint16Array),P=0;P<t;P++)for(var F=0;F<r;F++)L.push((F+0)*R+P,(F+0)*R+P+1,(F+1)*R+P),L.push((F+1)*R+P,(F+0)*R+P+1,(F+1)*R+P+1);return{position:f,normal:l,texcoord:d,indices:L}}var _=[[3,7,5,1],[6,2,0,4],[6,7,3,2],[0,1,5,4],[7,6,4,5],[2,3,1,0]];function A(e){for(var t=(e=e||1)/2,r=[[-t,-t,-t],[+t,-t,-t],[-t,+t,-t],[+t,+t,-t],[-t,-t,+t],[+t,-t,+t],[-t,+t,+t],[+t,+t,+t]],n=[[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,1],[0,0,-1]],i=[[1,0],[0,0],[0,1],[1,1]],o=p(3,24),a=p(3,24),u=p(2,24),s=p(3,12,Uint16Array),c=0;c<6;++c){for(var f=_[c],l=0;l<4;++l){var d=r[f[l]],h=n[c],m=i[l];o.push(d),a.push(h),u.push(m)}var y=4*c;s.push(y+0,y+1,y+2),s.push(y+0,y+2,y+3)}return{position:o,normal:a,texcoord:u,indices:s}}function w(e,t,r,n,i,o,a){if(n<3)throw new Error("radialSubdivisions must be 3 or greater");if(i<1)throw new Error("verticalSubdivisions must be 1 or greater");for(var u=void 0===o||o,s=void 0===a||a,c=(u?2:0)+(s?2:0),f=(n+1)*(i+1+c),l=p(3,f),d=p(3,f),h=p(2,f),m=p(3,n*(i+c)*2,Uint16Array),y=n+1,v=Math.atan2(e-t,r),b=Math.cos(v),g=Math.sin(v),E=i+(s?2:0),x=u?-2:0;x<=E;++x){var T=x/i,_=r*T,A=void 0;x<0?(_=0,T=1,A=e):x>i?(_=r,T=1,A=t):A=e+x/i*(t-e),-2!==x&&x!==i+2||(A=0,T=0),_-=r/2;for(var w=0;w<y;++w){var R=Math.sin(w*Math.PI*2/n),L=Math.cos(w*Math.PI*2/n);l.push(R*A,_,L*A),d.push(x<0||x>i?0:R*b,x<0?-1:x>i?1:g,x<0||x>i?0:L*b),h.push(w/n,1-T)}}for(var P=0;P<i+c;++P)for(var F=0;F<n;++F)m.push(y*(P+0)+0+F,y*(P+0)+1+F,y*(P+1)+1+F),m.push(y*(P+0)+0+F,y*(P+1)+1+F,y*(P+1)+0+F);return{position:l,normal:d,texcoord:h,indices:m}}function R(e,t){t=t||[];for(var r=[],n=0;n<e.length;n+=4){var i=e[n],o=e.slice(n+1,n+4);o.push.apply(o,t);for(var a=0;a<i;++a)r.push.apply(r,o)}return r}function L(){var e=[0,0,0,0,150,0,30,0,0,0,150,0,30,150,0,30,0,0,30,0,0,30,30,0,100,0,0,30,30,0,100,30,0,100,0,0,30,60,0,30,90,0,67,60,0,30,90,0,67,90,0,67,60,0,0,0,30,30,0,30,0,150,30,0,150,30,30,0,30,30,150,30,30,0,30,100,0,30,30,30,30,30,30,30,100,0,30,100,30,30,30,60,30,67,60,30,30,90,30,30,90,30,67,60,30,67,90,30,0,0,0,100,0,0,100,0,30,0,0,0,100,0,30,0,0,30,100,0,0,100,30,0,100,30,30,100,0,0,100,30,30,100,0,30,30,30,0,30,30,30,100,30,30,30,30,0,100,30,30,100,30,0,30,30,0,30,60,30,30,30,30,30,30,0,30,60,0,30,60,30,30,60,0,67,60,30,30,60,30,30,60,0,67,60,0,67,60,30,67,60,0,67,90,30,67,60,30,67,60,0,67,90,0,67,90,30,30,90,0,30,90,30,67,90,30,30,90,0,67,90,30,67,90,0,30,90,0,30,150,30,30,90,30,30,90,0,30,150,0,30,150,30,0,150,0,0,150,30,30,150,30,0,150,0,30,150,30,30,150,0,0,0,0,0,0,30,0,150,30,0,0,0,0,150,30,0,150,0],t=R([18,0,0,1,18,0,0,-1,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,-1,0,6,-1,0,0]),r=R([18,200,70,120,18,80,70,200,6,70,200,210,6,200,200,70,6,210,100,70,6,210,160,70,6,70,180,210,6,100,70,210,6,76,210,100,6,140,210,80,6,90,130,110,6,160,160,220],[255]),n=e.length/3,i={position:p(3,n),texcoord:p(2,n),normal:p(3,n),color:p(4,n,Uint8Array),indices:p(3,n/3,Uint16Array)};i.position.push(e),i.texcoord.push([.22,.19,.22,.79,.34,.19,.22,.79,.34,.79,.34,.19,.34,.19,.34,.31,.62,.19,.34,.31,.62,.31,.62,.19,.34,.43,.34,.55,.49,.43,.34,.55,.49,.55,.49,.43,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0]),i.normal.push(t),i.color.push(r);for(var o=0;o<n;++o)i.indices.push(o);return i}function P(e,t,r,n,i,o,a){if(i<=0)throw new Error("subdivisionDown must be > 0");var s=2,c=(a=a||1)-(o=o||0),f=2*(i+1)*(2+s),l=p(3,f),d=p(3,f),h=p(2,f);function m(e,t,r){return e+(t-e)*r}function y(t,r,a,f,p,y){for(var v=0;v<=i;v++){var b=r/(s-1),g=v/i,E=2*(b-.5),x=(o+g*c)*Math.PI,T=Math.sin(x),_=Math.cos(x),A=m(e,t,T),w=E*n,R=_*e,L=T*A;l.push(w,R,L);var P=u.add(u.multiply([0,T,_],a),f);d.push(P),h.push(b*p+y,g)}}for(var v=0;v<s;v++){var b=2*(v/(s-1)-.5);y(t,v,[1,1,1],[0,0,0],1,0),y(t,v,[0,0,0],[b,0,0],0,0),y(r,v,[1,1,1],[0,0,0],1,0),y(r,v,[0,0,0],[b,0,0],0,1)}var g=p(3,2*i*(2+s),Uint16Array);function E(e,t){for(var r=0;r<i;++r)g.push(e+r+0,e+r+1,t+r+0),g.push(e+r+1,t+r+1,t+r+0)}var x=i+1;return E(0*x,4*x),E(5*x,7*x),E(6*x,2*x),E(3*x,1*x),{position:l,normal:d,texcoord:h,indices:g}}function F(e,t,r,n,i,o){return w(e,e,t,r,n,i,o)}function C(e,t,r,n,i,o){if(r<3)throw new Error("radialSubdivisions must be 3 or greater");if(n<3)throw new Error("verticalSubdivisions must be 3 or greater");i=i||0;for(var a=(o=o||2*Math.PI)-i,u=r+1,s=n+1,c=u*s,f=p(3,c),l=p(3,c),d=p(2,c),h=p(3,r*n*2,Uint16Array),m=0;m<s;++m)for(var y=m/n,v=y*Math.PI*2,b=Math.sin(v),g=e+b*t,E=Math.cos(v),x=E*t,T=0;T<u;++T){var _=T/r,A=i+_*a,w=Math.sin(A),R=Math.cos(A),L=w*g,P=R*g,F=w*b,C=R*b;f.push(L,x,P),l.push(F,E,C),d.push(_,1-y)}for(var O=0;O<n;++O)for(var S=0;S<r;++S){var B=1+S,I=1+O;h.push(u*O+S,u*I+S,u*O+B),h.push(u*I+S,u*I+B,u*O+B)}return{position:f,normal:l,texcoord:d,indices:h}}function O(e,t,r,n,i){if(t<3)throw new Error("divisions must be at least 3");i=i||1,n=n||0;for(var o=(t+1)*((r=r||1)+1),a=p(3,o),u=p(3,o),s=p(2,o),c=p(3,r*t*2,Uint16Array),f=0,l=e-n,d=t+1,h=0;h<=r;++h){for(var m=n+l*Math.pow(h/r,i),y=0;y<=t;++y){var v=2*Math.PI*y/t,b=m*Math.cos(v),g=m*Math.sin(v);if(a.push(b,0,g),u.push(0,1,0),s.push(1-y/t,h/r),h>0&&y!==t){var E=f+(y+1),x=f+y,T=f+y-d,_=f+(y+1)-d;c.push(E,x,T),c.push(E,T,_)}}f+=t+1}return{position:a,normal:u,texcoord:s,indices:c}}function S(e){return function(t){var r=e.apply(this,Array.prototype.slice.call(arguments,1));return n.createBuffersFromArrays(t,r)}}function B(e){return function(t){var r=e.apply(null,Array.prototype.slice.call(arguments,1));return n.createBufferInfoFromArrays(t,r)}}var I=["numComponents","size","type","normalize","stride","offset","attrib","name","attribName"];function U(e,t,r,n){n=n||0;for(var i=e.length,o=0;o<i;++o)t[r+o]=e[o]+n}function M(e,t){var r=c(e),n=new r.constructor(t),o=n;return r.numComponents&&r.numElements&&l(n,r.numComponents),e.data&&(o={data:n},i.copyNamedProperties(I,e,o)),o}var j=B(L);t.create3DFBufferInfo=j;var N=S(L);t.create3DFBuffers=N;var D=B(A);t.createCubeBufferInfo=D;var k=S(A);t.createCubeBuffers=k;var z=B(x);t.createPlaneBufferInfo=z;var X=S(x);t.createPlaneBuffers=X;var G=B(T);t.createSphereBufferInfo=G;var Y=S(T);t.createSphereBuffers=Y;var W=B(w);t.createTruncatedConeBufferInfo=W;var H=S(w);t.createTruncatedConeBuffers=H;var V=B(E);t.createXYQuadBufferInfo=V;var K=S(E);t.createXYQuadBuffers=K;var q=B(P);t.createCrescentBufferInfo=q;var Z=S(P);t.createCrescentBuffers=Z;var J=B(F);t.createCylinderBufferInfo=J;var $=S(F);t.createCylinderBuffers=$;var Q=B(C);t.createTorusBufferInfo=Q;var ee=S(C);t.createTorusBuffers=ee;var te=B(O);t.createDiscBufferInfo=te;var re=S(O);t.createDiscBuffers=re;var ne=q;t.createCresentBufferInfo=ne;var ie=Z;t.createCresentBuffers=ie;var oe=P;t.createCresentVertices=oe},"./src/programs.js":
/*!*************************!*\
!*** ./src/programs.js ***!
\*************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.createAttributeSetters=k,t.createProgram=F,t.createProgramFromScripts=function(e,t,r,n,i){for(var o=w(r,n,i),a=[],u=0;u<t.length;++u){var s=C(e,t[u],e[R[u]],o.errorCallback);if(!s)return null;a.push(s)}return F(e,a,o)},t.createProgramFromSources=O,t.createProgramInfo=function(e,t,r,n,i){var o=w(r,n,i),a=!0;if(t=t.map((function(e){if(e.indexOf("\n")<0){var t=s(e);t?e=t.text:(o.errorCallback("no element with id: "+e),a=!1)}return e})),!a)return null;var u=O(e,t,o);return u?X(e,u):null},t.createProgramInfoFromProgram=X,t.createUniformSetters=B,t.createUniformBlockSpecFromProgram=M,t.createUniformBlockInfoFromProgram=N,t.createUniformBlockInfo=function(e,t,r){return N(e,t.program,t.uniformBlockSpec,r)},t.createTransformFeedback=function(e,t,r){var n=e.createTransformFeedback();return e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,n),e.useProgram(t.program),U(e,t,r),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null),n},t.createTransformFeedbackInfo=I,t.bindTransformFeedbackInfo=U,t.setAttributes=z,t.setBuffersAndAttributes=function(e,t,r){r.vertexArrayObject?e.bindVertexArray(r.vertexArrayObject):(z(t.attribSetters||t,r.attribs),r.indices&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r.indices))},t.setUniforms=function e(t,r){for(var n=t.uniformSetters||t,i=arguments.length,o=1;o<i;++o){var a=arguments[o];if(Array.isArray(a))for(var u=a.length,s=0;s<u;++s)e(n,a[s]);else for(var c in a){var f=n[c];f&&f(a[c])}}},t.setUniformBlock=function(e,t,r){D(e,t,r)&&e.bufferData(e.UNIFORM_BUFFER,r.array,e.DYNAMIC_DRAW)},t.setBlockUniforms=function(e,t){var r=e.uniforms;for(var n in t){var i=r[n];if(i){var o=t[n];o.length?i.set(o):i[0]=o}}},t.bindUniformBlock=D;var n=o(r(/*! ./utils.js */"./src/utils.js")),i=o(r(/*! ./helper.js */"./src/helper.js"));function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}var a=i.error,u=i.warn,s="undefined"!=typeof document&&document.getElementById?document.getElementById.bind(document):function(){return null},c={};function f(e,t){return c[t].bindPoint}function l(e,t){return function(r){e.uniform1i(t,r)}}function p(e,t){return function(r){e.uniform1iv(t,r)}}function d(e,t){return function(r){e.uniform2iv(t,r)}}function h(e,t){return function(r){e.uniform3iv(t,r)}}function m(e,t){return function(r){e.uniform4iv(t,r)}}function y(e,t,r,o){var a=f(0,t);return n.isWebGL2(e)?function(t){var n,u;i.isTexture(e,t)?(n=t,u=null):(n=t.texture,u=t.sampler),e.uniform1i(o,r),e.activeTexture(e.TEXTURE0+r),e.bindTexture(a,n),e.bindSampler(r,u)}:function(t){e.uniform1i(o,r),e.activeTexture(e.TEXTURE0+r),e.bindTexture(a,t)}}function v(e,t,r,o,a){for(var u=f(0,t),s=new Int32Array(a),c=0;c<a;++c)s[c]=r+c;return n.isWebGL2(e)?function(t){e.uniform1iv(o,s),t.forEach((function(t,n){var o,a;e.activeTexture(e.TEXTURE0+s[n]),i.isTexture(e,t)?(o=t,a=null):(o=t.texture,a=t.sampler),e.bindSampler(r,a),e.bindTexture(u,o)}))}:function(t){e.uniform1iv(o,s),t.forEach((function(t,r){e.activeTexture(e.TEXTURE0+s[r]),e.bindTexture(u,t)}))}}function b(e,t){return function(r){if(r.value)switch(e.disableVertexAttribArray(t),r.value.length){case 4:e.vertexAttrib4fv(t,r.value);break;case 3:e.vertexAttrib3fv(t,r.value);break;case 2:e.vertexAttrib2fv(t,r.value);break;case 1:e.vertexAttrib1fv(t,r.value);break;default:throw new Error("the length of a float constant value must be between 1 and 4!")}else e.bindBuffer(e.ARRAY_BUFFER,r.buffer),e.enableVertexAttribArray(t),e.vertexAttribPointer(t,r.numComponents||r.size,r.type||e.FLOAT,r.normalize||!1,r.stride||0,r.offset||0),void 0!==r.divisor&&e.vertexAttribDivisor(t,r.divisor)}}function g(e,t){return function(r){if(r.value){if(e.disableVertexAttribArray(t),4!==r.value.length)throw new Error("The length of an integer constant value must be 4!");e.vertexAttrib4iv(t,r.value)}else e.bindBuffer(e.ARRAY_BUFFER,r.buffer),e.enableVertexAttribArray(t),e.vertexAttribIPointer(t,r.numComponents||r.size,r.type||e.INT,r.stride||0,r.offset||0),void 0!==r.divisor&&e.vertexAttribDivisor(t,r.divisor)}}function E(e,t){return function(r){if(r.value){if(e.disableVertexAttribArray(t),4!==r.value.length)throw new Error("The length of an unsigned integer constant value must be 4!");e.vertexAttrib4uiv(t,r.value)}else e.bindBuffer(e.ARRAY_BUFFER,r.buffer),e.enableVertexAttribArray(t),e.vertexAttribIPointer(t,r.numComponents||r.size,r.type||e.UNSIGNED_INT,r.stride||0,r.offset||0),void 0!==r.divisor&&e.vertexAttribDivisor(t,r.divisor)}}function x(e,t,r){var n=r.size,i=r.count;return function(r){e.bindBuffer(e.ARRAY_BUFFER,r.buffer);for(var o=r.size||r.numComponents||n,a=o/i,u=r.type||e.FLOAT,s=c[u].size*o,f=r.normalize||!1,l=r.offset||0,p=s/i,d=0;d<i;++d)e.enableVertexAttribArray(t+d),e.vertexAttribPointer(t+d,a,u,f,s,l+p*d),void 0!==r.divisor&&e.vertexAttribDivisor(t+d,r.divisor)}}c[5126]={Type:Float32Array,size:4,setter:function(e,t){return function(r){e.uniform1f(t,r)}},arraySetter:function(e,t){return function(r){e.uniform1fv(t,r)}}},c[35664]={Type:Float32Array,size:8,setter:function(e,t){return function(r){e.uniform2fv(t,r)}}},c[35665]={Type:Float32Array,size:12,setter:function(e,t){return function(r){e.uniform3fv(t,r)}}},c[35666]={Type:Float32Array,size:16,setter:function(e,t){return function(r){e.uniform4fv(t,r)}}},c[5124]={Type:Int32Array,size:4,setter:l,arraySetter:p},c[35667]={Type:Int32Array,size:8,setter:d},c[35668]={Type:Int32Array,size:12,setter:h},c[35669]={Type:Int32Array,size:16,setter:m},c[5125]={Type:Uint32Array,size:4,setter:function(e,t){return function(r){e.uniform1ui(t,r)}},arraySetter:function(e,t){return function(r){e.uniform1uiv(t,r)}}},c[36294]={Type:Uint32Array,size:8,setter:function(e,t){return function(r){e.uniform2uiv(t,r)}}},c[36295]={Type:Uint32Array,size:12,setter:function(e,t){return function(r){e.uniform3uiv(t,r)}}},c[36296]={Type:Uint32Array,size:16,setter:function(e,t){return function(r){e.uniform4uiv(t,r)}}},c[35670]={Type:Uint32Array,size:4,setter:l,arraySetter:p},c[35671]={Type:Uint32Array,size:8,setter:d},c[35672]={Type:Uint32Array,size:12,setter:h},c[35673]={Type:Uint32Array,size:16,setter:m},c[35674]={Type:Float32Array,size:16,setter:function(e,t){return function(r){e.uniformMatrix2fv(t,!1,r)}}},c[35675]={Type:Float32Array,size:36,setter:function(e,t){return function(r){e.uniformMatrix3fv(t,!1,r)}}},c[35676]={Type:Float32Array,size:64,setter:function(e,t){return function(r){e.uniformMatrix4fv(t,!1,r)}}},c[35685]={Type:Float32Array,size:24,setter:function(e,t){return function(r){e.uniformMatrix2x3fv(t,!1,r)}}},c[35686]={Type:Float32Array,size:32,setter:function(e,t){return function(r){e.uniformMatrix2x4fv(t,!1,r)}}},c[35687]={Type:Float32Array,size:24,setter:function(e,t){return function(r){e.uniformMatrix3x2fv(t,!1,r)}}},c[35688]={Type:Float32Array,size:48,setter:function(e,t){return function(r){e.uniformMatrix3x4fv(t,!1,r)}}},c[35689]={Type:Float32Array,size:32,setter:function(e,t){return function(r){e.uniformMatrix4x2fv(t,!1,r)}}},c[35690]={Type:Float32Array,size:48,setter:function(e,t){return function(r){e.uniformMatrix4x3fv(t,!1,r)}}},c[35678]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:3553},c[35680]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:34067},c[35679]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:32879},c[35682]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:3553},c[36289]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:35866},c[36292]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:35866},c[36293]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:34067},c[36298]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:3553},c[36299]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:32879},c[36300]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:34067},c[36303]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:35866},c[36306]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:3553},c[36307]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:32879},c[36308]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:34067},c[36311]={Type:null,size:0,setter:y,arraySetter:v,bindPoint:35866};var T={};T[5126]={size:4,setter:b},T[35664]={size:8,setter:b},T[35665]={size:12,setter:b},T[35666]={size:16,setter:b},T[5124]={size:4,setter:g},T[35667]={size:8,setter:g},T[35668]={size:12,setter:g},T[35669]={size:16,setter:g},T[5125]={size:4,setter:E},T[36294]={size:8,setter:E},T[36295]={size:12,setter:E},T[36296]={size:16,setter:E},T[35670]={size:4,setter:g},T[35671]={size:8,setter:g},T[35672]={size:12,setter:g},T[35673]={size:16,setter:g},T[35674]={size:4,setter:x,count:2},T[35675]={size:9,setter:x,count:3},T[35676]={size:16,setter:x,count:4};var _=/^[ \t]*\n/;function A(e,t,r,n){var i=n||a,o=e.createShader(r),u=0;if(_.test(t)&&(u=1,t=t.replace(_,"")),e.shaderSource(o,t),e.compileShader(o),!e.getShaderParameter(o,e.COMPILE_STATUS)){var s=e.getShaderInfoLog(o);return i(function(e,t){return t=t||0,++t,e.split("\n").map((function(e,r){return r+t+": "+e})).join("\n")}(t,u)+"\n*** Error compiling shader: "+s),e.deleteShader(o),null}return o}function w(e,t,r){var n;if("function"==typeof t&&(r=t,t=void 0),"function"==typeof e)r=e,e=void 0;else if(e&&!Array.isArray(e)){if(e.errorCallback)return e;var i=e;r=i.errorCallback,e=i.attribLocations,n=i.transformFeedbackVaryings}var o={errorCallback:r||a,transformFeedbackVaryings:n};if(e){var u={};Array.isArray(e)?e.forEach((function(e,r){u[e]=t?t[r]:r})):u=e,o.attribLocations=u}return o}var R=["VERTEX_SHADER","FRAGMENT_SHADER"];function L(e,t){return t.indexOf("frag")>=0?e.FRAGMENT_SHADER:t.indexOf("vert")>=0?e.VERTEX_SHADER:void 0}function P(e,t){t.forEach((function(t){e.deleteShader(t)}))}function F(e,t,r,n,o){for(var a=w(r,n,o),u=[],c=[],f=0;f<t.length;++f){var l=t[f];if("string"==typeof l){var p=s(l),d=p?p.text:l,h=e[R[f]];p&&p.type&&(h=L(e,p.type)||h),l=A(e,d,h,a.errorCallback),c.push(l)}i.isShader(e,l)&&u.push(l)}if(u.length!==t.length)return a.errorCallback("not enough shaders for program"),P(e,c),null;var m=e.createProgram();u.forEach((function(t){e.attachShader(m,t)})),a.attribLocations&&Object.keys(a.attribLocations).forEach((function(t){e.bindAttribLocation(m,a.attribLocations[t],t)}));var y=a.transformFeedbackVaryings;if(y&&(y.attribs&&(y=y.attribs),Array.isArray(y)||(y=Object.keys(y)),e.transformFeedbackVaryings(m,y,a.transformFeedbackMode||e.SEPARATE_ATTRIBS)),e.linkProgram(m),!e.getProgramParameter(m,e.LINK_STATUS)){var v=e.getProgramInfoLog(m);return a.errorCallback("Error in program linking:"+v),e.deleteProgram(m),P(e,c),null}return m}function C(e,t,r,n){var i,o=s(t);if(!o)throw new Error("unknown script element: ".concat(t));i=o.text;var a=r||L(e,o.type);if(!a)throw new Error("unknown shader type");return A(e,i,a,n)}function O(e,t,r,n,i){for(var o=w(r,n,i),a=[],u=0;u<t.length;++u){var s=A(e,t[u],e[R[u]],o.errorCallback);if(!s)return null;a.push(s)}return F(e,a,o)}function S(e){var t=e.name;return t.startsWith("gl_")||t.startsWith("webgl_")}function B(e,t){var r=0;function n(t,n){var i,o=e.getUniformLocation(t,n.name),a=n.size>1&&"[0]"===n.name.substr(-3),u=n.type,s=c[u];if(!s)throw new Error("unknown type: 0x".concat(u.toString(16)));if(s.bindPoint){var f=r;r+=n.size,i=a?s.arraySetter(e,u,f,o,n.size):s.setter(e,u,f,o,n.size)}else i=s.arraySetter&&a?s.arraySetter(e,o):s.setter(e,o);return i.location=o,i}for(var i={},o=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),a=0;a<o;++a){var u=e.getActiveUniform(t,a);if(!S(u)){var s=u.name;"[0]"===s.substr(-3)&&(s=s.substr(0,s.length-3));var f=n(t,u);i[s]=f}}return i}function I(e,t){for(var r={},n=e.getProgramParameter(t,e.TRANSFORM_FEEDBACK_VARYINGS),i=0;i<n;++i){var o=e.getTransformFeedbackVarying(t,i);r[o.name]={index:i,type:o.type,size:o.size}}return r}function U(e,t,r){for(var n in t.transformFeedbackInfo&&(t=t.transformFeedbackInfo),r.attribs&&(r=r.attribs),r){var i=t[n];if(i){var o=r[n];o.offset?e.bindBufferRange(e.TRANSFORM_FEEDBACK_BUFFER,i.index,o.buffer,o.offset,o.size):e.bindBufferBase(e.TRANSFORM_FEEDBACK_BUFFER,i.index,o.buffer)}}}function M(e,t){for(var r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),n=[],i=[],o=0;o<r;++o){i.push(o),n.push({});var a=e.getActiveUniform(t,o);if(S(a))break;n[o].name=a.name}[["UNIFORM_TYPE","type"],["UNIFORM_SIZE","size"],["UNIFORM_BLOCK_INDEX","blockNdx"],["UNIFORM_OFFSET","offset"]].forEach((function(r){var o=r[0],a=r[1];e.getActiveUniforms(t,i,e[o]).forEach((function(e,t){n[t][a]=e}))}));for(var u={},s=e.getProgramParameter(t,e.ACTIVE_UNIFORM_BLOCKS),c=0;c<s;++c){var f=e.getActiveUniformBlockName(t,c),l={index:c,usedByVertexShader:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),usedByFragmentShader:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),size:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_DATA_SIZE),uniformIndices:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)};l.used=l.usedByVertexShader||l.usedByFragmentShader,u[f]=l}return{blockSpecs:u,uniformData:n}}var j=/\[\d+\]\.$/;function N(e,t,r,n){var i=r.blockSpecs,o=r.uniformData,a=i[n];if(!a)return u("no uniform block object named:",n),{name:n,uniforms:{}};var s=new ArrayBuffer(a.size),f=e.createBuffer(),l=a.index;e.bindBuffer(e.UNIFORM_BUFFER,f),e.uniformBlockBinding(t,a.index,l);var p=n+".";j.test(p)&&(p=p.replace(j,"."));var d={};return a.uniformIndices.forEach((function(e){var t=o[e],r=c[t.type],n=r.Type,i=t.size*r.size,a=t.name;a.substr(0,p.length)===p&&(a=a.substr(p.length)),d[a]=new n(s,t.offset,i/n.BYTES_PER_ELEMENT)})),{name:n,array:s,asFloat:new Float32Array(s),buffer:f,uniforms:d}}function D(e,t,r){var n=(t.uniformBlockSpec||t).blockSpecs[r.name];if(n){var i=n.index;return e.bindBufferRange(e.UNIFORM_BUFFER,i,r.buffer,r.offset||0,r.array.byteLength),!0}return!1}function k(e,t){for(var r={},n=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),i=0;i<n;++i){var o=e.getActiveAttrib(t,i);if(!S(o)){var a=e.getAttribLocation(t,o.name),u=T[o.type],s=u.setter(e,a,u);s.location=a,r[o.name]=s}}return r}function z(e,t){for(var r in t){var n=e[r];n&&n(t[r])}}function X(e,t){var r={program:t,uniformSetters:B(e,t),attribSetters:k(e,t)};return n.isWebGL2(e)&&(r.uniformBlockSpec=M(e,t),r.transformFeedbackInfo=I(e,t)),r}},"./src/textures.js":
/*!*************************!*\
!*** ./src/textures.js ***!
\*************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.setTextureDefaults_=function(e){o.copyExistingProperties(e,u),e.textureColor&&_(e.textureColor)},t.createSampler=S,t.createSamplers=function(e,t){var r={};return Object.keys(t).forEach((function(n){r[n]=S(e,t[n])})),r},t.setSamplerParameters=O,t.createTexture=K,t.setEmptyTexture=V,t.setTextureFromArray=H,t.loadTextureFromUrl=G,t.setTextureFromElement=j,t.setTextureFilteringForSize=B,t.setTextureParameters=C,t.setDefaultTextureColor=_,t.createTextures=function(e,t,r){r=r||N;var n=0,i=[],o={},a={};function u(){0===n&&setTimeout((function(){r(i.length?i:void 0,o,a)}),0)}return Object.keys(t).forEach((function(r){var s,c,f=t[r];("string"==typeof(c=f.src)||Array.isArray(c)&&"string"==typeof c[0])&&(s=function(e,t,o){a[r]=o,--n,e&&i.push(e),u()},++n),o[r]=K(e,f,s)})),u(),o},t.resizeTexture=function(e,t,r,n,i){n=n||r.width,i=i||r.height;var o=r.target||e.TEXTURE_2D;e.bindTexture(o,t);var a,u=r.level||0,c=r.internalFormat||r.format||e.RGBA,f=v(c),l=r.format||f.format,p=r.src;if(a=p&&(s(p)||Array.isArray(p)&&"number"==typeof p[0])?r.type||x(e,p,f.type):r.type||f.type,o===e.TEXTURE_CUBE_MAP)for(var d=0;d<6;++d)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+d,u,c,n,i,0,l,a,null);else e.texImage2D(o,u,c,n,i,0,l,a,null)},t.canGenerateMipmap=g,t.canFilter=E,t.getNumComponentsForFormat=function(e){var t=p[e];if(!t)throw"unknown format: "+e;return t.numColorComponents},t.getBytesPerElementForInternalFormat=y,t.getFormatAndTypeForInternalFormat=v;var n=a(r(/*! ./utils.js */"./src/utils.js")),i=a(r(/*! ./typedarrays.js */"./src/typedarrays.js")),o=a(r(/*! ./helper.js */"./src/helper.js"));function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}var u={textureColor:new Uint8Array([128,192,255,255]),textureOptions:{},crossOrigin:void 0},s=i.isArrayBuffer,c="undefined"!=typeof document&&document.createElement?document.createElement("canvas").getContext("2d"):null,f=6407,l=33319,p={},d=p;d[6406]={numColorComponents:1},d[6409]={numColorComponents:1},d[6410]={numColorComponents:2},d[f]={numColorComponents:3},d[6408]={numColorComponents:4},d[6403]={numColorComponents:1},d[36244]={numColorComponents:1},d[l]={numColorComponents:2},d[33320]={numColorComponents:2},d[f]={numColorComponents:3},d[36248]={numColorComponents:3},d[6408]={numColorComponents:4},d[36249]={numColorComponents:4},d[6402]={numColorComponents:1},d[34041]={numColorComponents:2};var h={},m=h;function y(e,t){var r=h[e];if(!r)throw"unknown internal format";var n=r.bytesPerElementMap[t];if(void 0===n)throw"unknown internal format";return n}function v(e){var t=h[e];if(!t)throw"unknown internal format";return{format:t.textureFormat,type:t.type[0]}}function b(e){return 0==(e&e-1)}function g(e,t,r,i){if(!n.isWebGL2(e))return b(t)&&b(r);var o=h[i];if(!o)throw"unknown internal format";return o.colorRenderable&&o.textureFilterable}function E(e){var t=h[e];if(!t)throw"unknown internal format";return t.textureFilterable}function x(e,t,r){return s(t)?i.getGLTypeForTypedArray(t):r||e.UNSIGNED_BYTE}function T(e,t,r,n,i){if(i%1!=0)throw"can't guess dimensions";if(r||n){if(n){if(!r&&(r=i/n)%1)throw"can't guess dimensions"}else if((n=i/r)%1)throw"can't guess dimensions"}else{var o=Math.sqrt(i/(t===e.TEXTURE_CUBE_MAP?6:1));o%1==0?(r=o,n=o):(r=i,n=1)}return{width:r,height:n}}function _(e){u.textureColor=new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}m[6406]={textureFormat:6406,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[5121,5131,36193,5126]},m[6409]={textureFormat:6409,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[5121,5131,36193,5126]},m[6410]={textureFormat:6410,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2,4,4,8],type:[5121,5131,36193,5126]},m[f]={textureFormat:f,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,6,6,12,2],type:[5121,5131,36193,5126,33635]},m[6408]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,8,8,16,2,2],type:[5121,5131,36193,5126,32819,32820]},m[33321]={textureFormat:6403,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1],type:[5121]},m[36756]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[1],type:[5120]},m[33325]={textureFormat:6403,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4,2],type:[5126,5131]},m[33326]={textureFormat:6403,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[4],type:[5126]},m[33330]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[1],type:[5121]},m[33329]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[1],type:[5120]},m[33332]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5123]},m[33331]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5122]},m[33334]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5125]},m[33333]={textureFormat:36244,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5124]},m[33323]={textureFormat:l,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2],type:[5121]},m[36757]={textureFormat:l,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[2],type:[5120]},m[33327]={textureFormat:l,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[8,4],type:[5126,5131]},m[33328]={textureFormat:l,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[8],type:[5126]},m[33336]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5121]},m[33335]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2],type:[5120]},m[33338]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5123]},m[33337]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5122]},m[33340]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5125]},m[33339]={textureFormat:33320,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5124]},m[32849]={textureFormat:f,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3],type:[5121]},m[35905]={textureFormat:f,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[3],type:[5121]},m[36194]={textureFormat:f,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,2],type:[5121,33635]},m[36758]={textureFormat:f,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[3],type:[5120]},m[35898]={textureFormat:f,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[5126,5131,35899]},m[35901]={textureFormat:f,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[5126,5131,35902]},m[34843]={textureFormat:f,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6],type:[5126,5131]},m[34837]={textureFormat:f,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[12],type:[5126]},m[36221]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[3],type:[5121]},m[36239]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[3],type:[5120]},m[36215]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[6],type:[5123]},m[36233]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[6],type:[5122]},m[36209]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[12],type:[5125]},m[36227]={textureFormat:36248,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[12],type:[5124]},m[32856]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4],type:[5121]},m[35907]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4],type:[5121]},m[36759]={textureFormat:6408,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4],type:[5120]},m[32855]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2,4],type:[5121,32820,33640]},m[32854]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2],type:[5121,32819]},m[32857]={textureFormat:6408,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4],type:[33640]},m[34842]={textureFormat:6408,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[16,8],type:[5126,5131]},m[34836]={textureFormat:6408,colorRenderable:!1,textureFilterable:!1,bytesPerElement:[16],type:[5126]},m[36220]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5121]},m[36238]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5120]},m[36975]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[33640]},m[36214]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5123]},m[36232]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[8],type:[5122]},m[36226]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[16],type:[5124]},m[36208]={textureFormat:36249,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[16],type:[5125]},m[33189]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2,4],type:[5123,5125]},m[33190]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5125]},m[36012]={textureFormat:6402,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[5126]},m[35056]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[34042]},m[36013]={textureFormat:34041,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[4],type:[36269]},Object.keys(m).forEach((function(e){var t=m[e];t.bytesPerElementMap={},t.bytesPerElement.forEach((function(e,r){var n=t.type[r];t.bytesPerElementMap[n]=e}))}));var A={};function w(e,t){void 0!==t.colorspaceConversion&&(A.colorspaceConversion=e.getParameter(e.UNPACK_COLORSPACE_CONVERSION_WEBGL),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.colorspaceConversion)),void 0!==t.premultiplyAlpha&&(A.premultiplyAlpha=e.getParameter(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha)),void 0!==t.flipY&&(A.flipY=e.getParameter(e.UNPACK_FLIP_Y_WEBGL),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t.flipY))}function R(e,t){void 0!==t.colorspaceConversion&&e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.colorspaceConversion),void 0!==t.premultiplyAlpha&&e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,A.premultiplyAlpha),void 0!==t.flipY&&e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,A.flipY)}function L(e){A.unpackAlignment=e.getParameter(e.UNPACK_ALIGNMENT),n.isWebGL2(e)&&(A.unpackRowLength=e.getParameter(e.UNPACK_ROW_LENGTH),A.unpackImageHeight=e.getParameter(e.UNPACK_IMAGE_HEIGHT),A.unpackSkipPixels=e.getParameter(e.UNPACK_SKIP_PIXELS),A.unpackSkipRows=e.getParameter(e.UNPACK_SKIP_ROWS),A.unpackSkipImages=e.getParameter(e.UNPACK_SKIP_IMAGES))}function P(e){e.pixelStorei(e.UNPACK_ALIGNMENT,A.unpackAlignment),n.isWebGL2(e)&&(e.pixelStorei(e.UNPACK_ROW_LENGTH,A.unpackRowLength),e.pixelStorei(e.UNPACK_IMAGE_HEIGHT,A.unpackImageHeight),e.pixelStorei(e.UNPACK_SKIP_PIXELS,A.unpackSkipPixels),e.pixelStorei(e.UNPACK_SKIP_ROWS,A.unpackSkipRows),e.pixelStorei(e.UNPACK_SKIP_IMAGES,A.unpackSkipImages))}function F(e,t,r,n){n.minMag&&(r.call(e,t,e.TEXTURE_MIN_FILTER,n.minMag),r.call(e,t,e.TEXTURE_MAG_FILTER,n.minMag)),n.min&&r.call(e,t,e.TEXTURE_MIN_FILTER,n.min),n.mag&&r.call(e,t,e.TEXTURE_MAG_FILTER,n.mag),n.wrap&&(r.call(e,t,e.TEXTURE_WRAP_S,n.wrap),r.call(e,t,e.TEXTURE_WRAP_T,n.wrap),(t===e.TEXTURE_3D||o.isSampler(e,t))&&r.call(e,t,e.TEXTURE_WRAP_R,n.wrap)),n.wrapR&&r.call(e,t,e.TEXTURE_WRAP_R,n.wrapR),n.wrapS&&r.call(e,t,e.TEXTURE_WRAP_S,n.wrapS),n.wrapT&&r.call(e,t,e.TEXTURE_WRAP_T,n.wrapT),n.minLod&&r.call(e,t,e.TEXTURE_MIN_LOD,n.minLod),n.maxLod&&r.call(e,t,e.TEXTURE_MAX_LOD,n.maxLod),n.baseLevel&&r.call(e,t,e.TEXTURE_BASE_LEVEL,n.baseLevel),n.maxLevel&&r.call(e,t,e.TEXTURE_MAX_LEVEL,n.maxLevel)}function C(e,t,r){var n=r.target||e.TEXTURE_2D;e.bindTexture(n,t),F(e,n,e.texParameteri,r)}function O(e,t,r){F(e,t,e.samplerParameteri,r)}function S(e,t){var r=e.createSampler();return O(e,r,t),r}function B(e,t,r,n,i,o,a){r=r||u.textureOptions,o=o||e.RGBA,a=a||e.UNSIGNED_BYTE;var s=r.target||e.TEXTURE_2D;if(n=n||r.width,i=i||r.height,e.bindTexture(s,t),g(e,n,i,o))e.generateMipmap(s);else{var c=E(o)?e.LINEAR:e.NEAREST;e.texParameteri(s,e.TEXTURE_MIN_FILTER,c),e.texParameteri(s,e.TEXTURE_MAG_FILTER,c),e.texParameteri(s,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(s,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}}function I(e){return!0===e.auto||void 0===e.auto&&void 0===e.level}function U(e,t){return(t=t||{}).cubeFaceOrder||[e.TEXTURE_CUBE_MAP_POSITIVE_X,e.TEXTURE_CUBE_MAP_NEGATIVE_X,e.TEXTURE_CUBE_MAP_POSITIVE_Y,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,e.TEXTURE_CUBE_MAP_POSITIVE_Z,e.TEXTURE_CUBE_MAP_NEGATIVE_Z]}function M(e,t){var r=U(e,t).map((function(e,t){return{face:e,ndx:t}}));return r.sort((function(e,t){return e.face-t.face})),r}function j(e,t,r,n){var i=(n=n||u.textureOptions).target||e.TEXTURE_2D,o=n.level||0,a=r.width,s=r.height,f=n.internalFormat||n.format||e.RGBA,l=v(f),p=n.format||l.format,d=n.type||l.type;if(w(e,n),e.bindTexture(i,t),i===e.TEXTURE_CUBE_MAP){var h,m,y=r.width,b=r.height;if(y/6===b)h=b,m=[0,0,1,0,2,0,3,0,4,0,5,0];else if(b/6===y)h=y,m=[0,0,0,1,0,2,0,3,0,4,0,5];else if(y/3==b/2)h=y/3,m=[0,0,1,0,2,0,0,1,1,1,2,1];else{if(y/2!=b/3)throw"can't figure out cube map from element: "+(r.src?r.src:r.nodeName);h=y/2,m=[0,0,1,0,0,1,1,1,0,2,1,2]}c?(c.canvas.width=h,c.canvas.height=h,a=h,s=h,M(e,n).forEach((function(t){var n=m[2*t.ndx+0]*h,i=m[2*t.ndx+1]*h;c.drawImage(r,n,i,h,h,0,0,h,h),e.texImage2D(t.face,o,f,p,d,c.canvas)})),c.canvas.width=1,c.canvas.height=1):"undefined"!=typeof createImageBitmap&&(a=h,s=h,M(e,n).forEach((function(u){var c=m[2*u.ndx+0]*h,l=m[2*u.ndx+1]*h;e.texImage2D(u.face,o,f,h,h,0,p,d,null),createImageBitmap(r,c,l,h,h,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(r){w(e,n),e.bindTexture(i,t),e.texImage2D(u.face,o,f,p,d,r),R(e,n),I(n)&&B(e,t,n,a,s,f,d)}))})))}else if(i===e.TEXTURE_3D||i===e.TEXTURE_2D_ARRAY){var g=Math.min(r.width,r.height),E=Math.max(r.width,r.height),x=E/g;if(x%1!=0)throw"can not compute 3D dimensions of element";var T=r.width===E?1:0,_=r.height===E?1:0;L(e),e.pixelStorei(e.UNPACK_ALIGNMENT,1),e.pixelStorei(e.UNPACK_ROW_LENGTH,r.width),e.pixelStorei(e.UNPACK_IMAGE_HEIGHT,0),e.pixelStorei(e.UNPACK_SKIP_IMAGES,0),e.texImage3D(i,o,f,g,g,g,0,p,d,null);for(var A=0;A<x;++A){var F=A*g*T,O=A*g*_;e.pixelStorei(e.UNPACK_SKIP_PIXELS,F),e.pixelStorei(e.UNPACK_SKIP_ROWS,O),e.texSubImage3D(i,o,0,0,A,g,g,1,p,d,r)}P(e)}else e.texImage2D(i,o,f,p,d,r);R(e,n),I(n)&&B(e,t,n,a,s,f,d),C(e,t,n)}function N(){}function D(e,t){return void 0!==t||function(e){if("undefined"!=typeof document){var t=document.createElement("a");return t.href=e,t.hostname===location.hostname&&t.port===location.port&&t.protocol===location.protocol}var r=new URL(location.href).origin;return new URL(e,location.href).origin===r}(e)?t:"anonymous"}function k(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof ImageData&&e instanceof ImageData||"undefined"!=typeof HTMLElement&&e instanceof HTMLElement}function z(e,t,r){return k(e)?(setTimeout((function(){r(null,e)})),e):function(e,t,r){var n;if(r=r||N,t=void 0!==t?t:u.crossOrigin,t=D(e,t),"undefined"!=typeof Image){n=new Image,void 0!==t&&(n.crossOrigin=t);var i=function(){n.removeEventListener("error",a),n.removeEventListener("load",s),n=null},a=function(){var t="couldn't load image: "+e;o.error(t),r(t,n),i()},s=function(){r(null,n),i()};return n.addEventListener("error",a),n.addEventListener("load",s),n.src=e,n}if("undefined"!=typeof ImageBitmap){var c,f,l=function(){r(c,f)},p={};t&&(p.mode="cors"),fetch(e,p).then((function(e){if(!e.ok)throw e;return e.blob()})).then((function(e){return createImageBitmap(e,{premultiplyAlpha:"none",colorSpaceConversion:"none"})})).then((function(e){f=e,setTimeout(l)})).catch((function(e){c=e,setTimeout(l)})),n=null}return n}(e,t,r)}function X(e,t,r){var n=(r=r||u.textureOptions).target||e.TEXTURE_2D;if(e.bindTexture(n,t),!1!==r.color){var i=function(e){return e=e||u.textureColor,s(e)?e:new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}(r.color);if(n===e.TEXTURE_CUBE_MAP)for(var o=0;o<6;++o)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+o,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,i);else n===e.TEXTURE_3D||n===e.TEXTURE_2D_ARRAY?e.texImage3D(n,0,e.RGBA,1,1,1,0,e.RGBA,e.UNSIGNED_BYTE,i):e.texImage2D(n,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,i)}}function G(e,t,r,n){return n=n||N,r=r||u.textureOptions,X(e,t,r),z((r=Object.assign({},r)).src,r.crossOrigin,(function(i,o){i?n(i,t,o):(j(e,t,o,r),n(null,t,o))}))}function Y(e,t,r,n){n=n||N;var i=r.src;if(6!==i.length)throw"there must be 6 urls for a cubemap";var o=r.level||0,a=r.internalFormat||r.format||e.RGBA,u=v(a),s=r.format||u.format,c=r.type||e.UNSIGNED_BYTE,f=r.target||e.TEXTURE_2D;if(f!==e.TEXTURE_CUBE_MAP)throw"target must be TEXTURE_CUBE_MAP";X(e,t,r),r=Object.assign({},r);var l,p=6,d=[],h=U(e,r);l=i.map((function(i,u){return z(i,r.crossOrigin,(m=h[u],function(i,u){--p,i?d.push(i):u.width!==u.height?d.push("cubemap face img is not a square: "+u.src):(w(e,r),e.bindTexture(f,t),5===p?U(e).forEach((function(t){e.texImage2D(t,o,a,s,c,u)})):e.texImage2D(m,o,a,s,c,u),R(e,r),I(r)&&e.generateMipmap(f)),0===p&&n(d.length?d:void 0,t,l)}));var m}))}function W(e,t,r,n){n=n||N;var i=r.src,o=r.internalFormat||r.format||e.RGBA,a=v(o),u=r.format||a.format,s=r.type||e.UNSIGNED_BYTE,f=r.target||e.TEXTURE_2D_ARRAY;if(f!==e.TEXTURE_3D&&f!==e.TEXTURE_2D_ARRAY)throw"target must be TEXTURE_3D or TEXTURE_2D_ARRAY";X(e,t,r),r=Object.assign({},r);var l,p=i.length,d=[],h=r.level||0,m=r.width,y=r.height,b=i.length,g=!0;l=i.map((function(i,a){return z(i,r.crossOrigin,(v=a,function(i,a){if(--p,i)d.push(i);else{if(w(e,r),e.bindTexture(f,t),g){g=!1,m=r.width||a.width,y=r.height||a.height,e.texImage3D(f,h,o,m,y,b,0,u,s,null);for(var E=0;E<b;++E)e.texSubImage3D(f,h,0,0,E,m,y,1,u,s,a)}else{var x=a;a.width===m&&a.height===y||(x=c.canvas,c.canvas.width=m,c.canvas.height=y,c.drawImage(a,0,0,m,y)),e.texSubImage3D(f,h,0,0,v,m,y,1,u,s,x),x===c.canvas&&(c.canvas.width=0,c.canvas.height=0)}R(e,r),I(r)&&e.generateMipmap(f)}0===p&&n(d.length?d:void 0,t,l)}));var v}))}function H(e,t,r,o){var a=(o=o||u.textureOptions).target||e.TEXTURE_2D;e.bindTexture(a,t);var c=o.width,f=o.height,l=o.depth,p=o.level||0,d=o.internalFormat||o.format||e.RGBA,h=v(d),m=o.format||h.format,b=o.type||x(e,r,h.type);if(s(r))r instanceof Uint8ClampedArray&&(r=new Uint8Array(r.buffer));else{var g=i.getTypedArrayTypeForGLType(b);r=new g(r)}var E,_=y(d,b),A=r.byteLength/_;if(A%1)throw"length wrong size for format: "+n.glEnumToString(e,m);if(a===e.TEXTURE_3D)if(c||f||l)!c||f&&l?!f||c&&l?(E=T(e,a,c,f,A/l),c=E.width,f=E.height):(E=T(e,a,c,l,A/f),c=E.width,l=E.height):(E=T(e,a,f,l,A/c),f=E.width,l=E.height);else{var F=Math.cbrt(A);if(F%1!=0)throw"can't guess cube size of array of numElements: "+A;c=F,f=F,l=F}else E=T(e,a,c,f,A),c=E.width,f=E.height;if(L(e),e.pixelStorei(e.UNPACK_ALIGNMENT,o.unpackAlignment||1),w(e,o),a===e.TEXTURE_CUBE_MAP){var C=A/6*(_/r.BYTES_PER_ELEMENT);M(e,o).forEach((function(t){var n=C*t.ndx,i=r.subarray(n,n+C);e.texImage2D(t.face,p,d,c,f,0,m,b,i)}))}else a===e.TEXTURE_3D?e.texImage3D(a,p,d,c,f,l,0,m,b,r):e.texImage2D(a,p,d,c,f,0,m,b,r);return R(e,o),P(e),{width:c,height:f,depth:l,type:b}}function V(e,t,r){var n=r.target||e.TEXTURE_2D;e.bindTexture(n,t);var i=r.level||0,o=r.internalFormat||r.format||e.RGBA,a=v(o),u=r.format||a.format,s=r.type||a.type;if(w(e,r),n===e.TEXTURE_CUBE_MAP)for(var c=0;c<6;++c)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+c,i,o,r.width,r.height,0,u,s,null);else n===e.TEXTURE_3D?e.texImage3D(n,i,o,r.width,r.height,r.depth,0,u,s,null):e.texImage2D(n,i,o,r.width,r.height,0,u,s,null);R(e,r)}function K(e,t,r){r=r||N,t=t||u.textureOptions;var n=e.createTexture(),i=t.target||e.TEXTURE_2D,o=t.width||1,a=t.height||1,c=t.internalFormat||e.RGBA,f=v(c),l=t.type||f.type;e.bindTexture(i,n),i===e.TEXTURE_CUBE_MAP&&(e.texParameteri(i,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(i,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE));var p=t.src;if(p)if("function"==typeof p&&(p=p(e,t)),"string"==typeof p)G(e,n,t,r);else if(s(p)||Array.isArray(p)&&("number"==typeof p[0]||Array.isArray(p[0])||s(p[0]))){var d=H(e,n,p,t);o=d.width,a=d.height,l=d.type}else if(Array.isArray(p)&&("string"==typeof p[0]||k(p[0])))i===e.TEXTURE_CUBE_MAP?Y(e,n,t,r):W(e,n,t,r);else{if(!k(p))throw"unsupported src type";j(e,n,p,t),o=p.width,a=p.height}else V(e,n,t);return I(t)&&B(e,n,t,o,a,c,l),C(e,n,t),n}},"./src/twgl-full.js":
/*!**************************!*\
!*** ./src/twgl-full.js ***!
\**************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0;var n={m4:!0,v3:!0,primitives:!0};t.primitives=t.v3=t.m4=void 0;var i=s(r(/*! ./m4.js */"./src/m4.js"));t.m4=i;var o=s(r(/*! ./v3.js */"./src/v3.js"));t.v3=o;var a=s(r(/*! ./primitives.js */"./src/primitives.js"));t.primitives=a;var u=r(/*! ./twgl.js */"./src/twgl.js");function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=u[e]))}))},"./src/twgl.js":
/*!*********************!*\
!*** ./src/twgl.js ***!
\*********************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0;var n={addExtensionsToContext:!0,getContext:!0,getWebGLContext:!0,resizeCanvasToDisplaySize:!0,setDefaults:!0,attributes:!0,textures:!0,utils:!0,draw:!0,framebuffers:!0,programs:!0,typedarrays:!0,vertexArrays:!0};t.addExtensionsToContext=b,t.getContext=function(e,t){return function(e,t){for(var r=["webgl2","webgl","experimental-webgl"],n=null,i=0;i<r.length;++i)if(n=e.getContext(r[i],t)){h.addExtensionsToContext&&b(n);break}return n}(e,t)},t.getWebGLContext=function(e,t){return function(e,t){for(var r=["webgl","experimental-webgl"],n=null,i=0;i<r.length;++i)if(n=e.getContext(r[i],t)){h.addExtensionsToContext&&b(n);break}return n}(e,t)},t.resizeCanvasToDisplaySize=function(e,t){t=t||1,t=Math.max(0,t);var r=e.clientWidth*t|0,n=e.clientHeight*t|0;return(e.width!==r||e.height!==n)&&(e.width=r,e.height=n,!0)},t.setDefaults=function(e){a.copyExistingProperties(e,h),i.setAttributeDefaults_(e),o.setTextureDefaults_(e)},t.vertexArrays=t.typedarrays=t.programs=t.framebuffers=t.draw=t.utils=t.textures=t.attributes=void 0;var i=d(r(/*! ./attributes.js */"./src/attributes.js"));t.attributes=i,Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=i[e]))}));var o=d(r(/*! ./textures.js */"./src/textures.js"));t.textures=o,Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=o[e]))}));var a=d(r(/*! ./helper.js */"./src/helper.js")),u=d(r(/*! ./utils.js */"./src/utils.js"));t.utils=u,Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=u[e]))}));var s=d(r(/*! ./draw.js */"./src/draw.js"));t.draw=s,Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=s[e]))}));var c=d(r(/*! ./framebuffers.js */"./src/framebuffers.js"));t.framebuffers=c,Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=c[e]))}));var f=d(r(/*! ./programs.js */"./src/programs.js"));t.programs=f,Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=f[e]))}));var l=d(r(/*! ./typedarrays.js */"./src/typedarrays.js"));t.typedarrays=l,Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=l[e]))}));var p=d(r(/*! ./vertex-arrays.js */"./src/vertex-arrays.js"));function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}t.vertexArrays=p,Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(n,e)||(t[e]=p[e]))}));var h={addExtensionsToContext:!0},m=/^(.*?)_/;function y(e,t){u.glEnumToString(e,0);var r=e.getExtension(t);if(r){var n={},i=m.exec(t)[1],o="_"+i;for(var s in r){var c=r[s],f="function"==typeof c,l=f?i:o,p=s;s.endsWith(l)&&(p=s.substring(0,s.length-l.length)),void 0!==e[p]?f||e[p]===c||a.warn(p,e[p],c,s):f?e[p]=function(e){return function(){return e.apply(r,arguments)}}(c):(e[p]=c,n[p]=c)}n.constructor={name:r.constructor.name},u.glEnumToString(n,0)}return r}var v=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_color_buffer_float","EXT_color_buffer_half_float","EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2","EXT_frag_depth","EXT_sRGB","EXT_shader_texture_lod","EXT_texture_filter_anisotropic","OES_element_index_uint","OES_standard_derivatives","OES_texture_float","OES_texture_float_linear","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_depth_texture","WEBGL_draw_buffers"];function b(e){for(var t=0;t<v.length;++t)y(e,v[t])}},"./src/typedarrays.js":
/*!****************************!*\
!*** ./src/typedarrays.js ***!
\****************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.getGLTypeForTypedArray=function(e){if(e instanceof Int8Array)return n;if(e instanceof Uint8Array)return i;if(e instanceof Uint8ClampedArray)return i;if(e instanceof Int16Array)return o;if(e instanceof Uint16Array)return a;if(e instanceof Int32Array)return u;if(e instanceof Uint32Array)return s;if(e instanceof Float32Array)return c;throw new Error("unsupported typed array type")},t.getGLTypeForTypedArrayType=function(e){if(e===Int8Array)return n;if(e===Uint8Array)return i;if(e===Uint8ClampedArray)return i;if(e===Int16Array)return o;if(e===Uint16Array)return a;if(e===Int32Array)return u;if(e===Uint32Array)return s;if(e===Float32Array)return c;throw new Error("unsupported typed array type")},t.getTypedArrayTypeForGLType=function(e){var t=f[e];if(!t)throw new Error("unknown gl type");return t},t.isArrayBuffer=void 0;var n=5120,i=5121,o=5122,a=5123,u=5124,s=5125,c=5126,f={},l=f;l[n]=Int8Array,l[i]=Uint8Array,l[o]=Int16Array,l[a]=Uint16Array,l[u]=Int32Array,l[s]=Uint32Array,l[c]=Float32Array,l[32819]=Uint16Array,l[32820]=Uint16Array,l[33635]=Uint16Array,l[5131]=Uint16Array,l[33640]=Uint32Array,l[35899]=Uint32Array,l[35902]=Uint32Array,l[36269]=Uint32Array,l[34042]=Uint32Array;var p="undefined"!=typeof SharedArrayBuffer?function(e){return e&&e.buffer&&(e.buffer instanceof ArrayBuffer||e.buffer instanceof SharedArrayBuffer)}:function(e){return e&&e.buffer&&e.buffer instanceof ArrayBuffer};t.isArrayBuffer=p},"./src/utils.js":
/*!**********************!*\
!*** ./src/utils.js ***!
\**********************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.isWebGL1=function(e){return!e.texStorage2D},t.isWebGL2=function(e){return!!e.texStorage2D},t.glEnumToString=void 0;var n,i,o=(n={},i={},function(e,t){return function(e){var t=e.constructor.name;if(!n[t]){for(var r in e)if("number"==typeof e[r]){var o=i[e[r]];i[e[r]]=o?"".concat(o," | ").concat(r):r}n[t]=!0}}(e),i[t]||"0x"+t.toString(16)});t.glEnumToString=o},"./src/v3.js":
/*!*******************!*\
!*** ./src/v3.js ***!
\*******************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.add=function(e,t,r){return(r=r||new n(3))[0]=e[0]+t[0],r[1]=e[1]+t[1],r[2]=e[2]+t[2],r},t.copy=function(e,t){return(t=t||new n(3))[0]=e[0],t[1]=e[1],t[2]=e[2],t},t.create=function(e,t,r){var i=new n(3);return e&&(i[0]=e),t&&(i[1]=t),r&&(i[2]=r),i},t.cross=function(e,t,r){r=r||new n(3);var i=e[2]*t[0]-e[0]*t[2],o=e[0]*t[1]-e[1]*t[0];return r[0]=e[1]*t[2]-e[2]*t[1],r[1]=i,r[2]=o,r},t.distance=function(e,t){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)},t.distanceSq=function(e,t){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i},t.divide=function(e,t,r){return(r=r||new n(3))[0]=e[0]/t[0],r[1]=e[1]/t[1],r[2]=e[2]/t[2],r},t.divScalar=function(e,t,r){return(r=r||new n(3))[0]=e[0]/t,r[1]=e[1]/t,r[2]=e[2]/t,r},t.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},t.lerp=function(e,t,r,i){return(i=i||new n(3))[0]=e[0]+r*(t[0]-e[0]),i[1]=e[1]+r*(t[1]-e[1]),i[2]=e[2]+r*(t[2]-e[2]),i},t.lerpV=function(e,t,r,i){return(i=i||new n(3))[0]=e[0]+r[0]*(t[0]-e[0]),i[1]=e[1]+r[1]*(t[1]-e[1]),i[2]=e[2]+r[2]*(t[2]-e[2]),i},t.length=function(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])},t.lengthSq=function(e){return e[0]*e[0]+e[1]*e[1]+e[2]*e[2]},t.max=function(e,t,r){return(r=r||new n(3))[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r},t.min=function(e,t,r){return(r=r||new n(3))[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r[2]=Math.min(e[2],t[2]),r},t.mulScalar=function(e,t,r){return(r=r||new n(3))[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r},t.multiply=function(e,t,r){return(r=r||new n(3))[0]=e[0]*t[0],r[1]=e[1]*t[1],r[2]=e[2]*t[2],r},t.negate=function(e,t){return(t=t||new n(3))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},t.normalize=function(e,t){t=t||new n(3);var r=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=Math.sqrt(r);return i>1e-5?(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i):(t[0]=0,t[1]=0,t[2]=0),t},t.setDefaultType=function(e){var t=n;return n=e,t},t.subtract=function(e,t,r){return(r=r||new n(3))[0]=e[0]-t[0],r[1]=e[1]-t[1],r[2]=e[2]-t[2],r};var n=Float32Array},"./src/vertex-arrays.js":
/*!******************************!*\
!*** ./src/vertex-arrays.js ***!
\******************************/
/*! no static exports found */function(e,t,r){"use strict";t.__esModule=!0,t.createVertexArrayInfo=function(e,t,r){var i=e.createVertexArray();return e.bindVertexArray(i),t.length||(t=[t]),t.forEach((function(t){n.setBuffersAndAttributes(e,t,r)})),e.bindVertexArray(null),{numElements:r.numElements,elementType:r.elementType,vertexArrayObject:i}},t.createVAOAndSetAttributes=i,t.createVAOFromBufferInfo=function(e,t,r){return i(e,t.attribSetters||t,r.attribs,r.indices)};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(r(/*! ./programs.js */"./src/programs.js"));function i(e,t,r,i){var o=e.createVertexArray();return e.bindVertexArray(o),n.setAttributes(t,r),i&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,i),e.bindVertexArray(null),o}}})},e.exports=n()},function(e,t,r){"use strict";var n=r(3),i=r(13),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function u(e){return null!==e&&"object"==typeof e}function s(e){return"[object Function]"===o.call(e)}function c(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}e.exports={isArray:a,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:i,isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:u,isUndefined:function(e){return void 0===e},isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:s,isStream:function(e){return u(e)&&s(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:c,merge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]=r}for(var n=0,i=arguments.length;n<i;n++)c(arguments[n],r);return t},deepMerge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]="object"==typeof r?e({},r):r}for(var n=0,i=arguments.length;n<i;n++)c(arguments[n],r);return t},extend:function(e,t,r){return c(t,(function(t,i){e[i]=r&&"function"==typeof t?n(t,r):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}}},function(e,t,r){var n=function(e){"use strict";var t,r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,o=Object.create(i.prototype),a=new L(n||[]);return o._invoke=function(e,t,r){var n=f;return function(i,o){if(n===p)throw new Error("Generator is already running");if(n===d){if("throw"===i)throw o;return F()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var u=A(a,r);if(u){if(u===h)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=d,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var s=c(e,t,r);if("normal"===s.type){if(n=r.done?d:l,s.arg===h)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n=d,r.method="throw",r.arg=s.arg)}}}(e,r,a),o}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var f="suspendedStart",l="suspendedYield",p="executing",d="completed",h={};function m(){}function y(){}function v(){}var b={};b[o]=function(){return this};var g=Object.getPrototypeOf,E=g&&g(g(P([])));E&&E!==r&&n.call(E,o)&&(b=E);var x=v.prototype=m.prototype=Object.create(b);function T(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(r,i){function o(){return new Promise((function(t,o){!function t(r,i,o,a){var u=c(e[r],e,i);if("throw"!==u.type){var s=u.arg,f=s.value;return f&&"object"==typeof f&&n.call(f,"__await")?Promise.resolve(f.__await).then((function(e){t("next",e,o,a)}),(function(e){t("throw",e,o,a)})):Promise.resolve(f).then((function(e){s.value=e,o(s)}),(function(e){return t("throw",e,o,a)}))}a(u.arg)}(r,i,t,o)}))}return t=t?t.then(o,o):o()}}function A(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=t,A(e,r),"throw"===r.method))return h;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var i=c(n,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,h;var o=i.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,h):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,h)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function P(e){if(e){var r=e[o];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function r(){for(;++i<e.length;)if(n.call(e,i))return r.value=e[i],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}return{next:F}}function F(){return{value:t,done:!0}}return y.prototype=x.constructor=v,v.constructor=y,v[u]=y.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(x),e},e.awrap=function(e){return{__await:e}},T(_.prototype),_.prototype[a]=function(){return this},e.AsyncIterator=_,e.async=function(t,r,n,i){var o=new _(s(t,r,n,i));return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},T(x),x[u]="Generator",x[o]=function(){return this},x.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=P,L.prototype={constructor:L,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(R),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function i(n,i){return u.type="throw",u.arg=e,r.next=n,i&&(r.method="next",r.arg=t),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,h):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),R(r),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;R(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:P(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},function(e,t,r){"use strict";var n=r(1);function i(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var o;if(r)o=r(t);else if(n.isURLSearchParams(t))o=t.toString();else{var a=[];n.forEach(t,(function(e,t){null!=e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),a.push(i(t)+"="+i(e))})))})),o=a.join("&")}if(o){var u=e.indexOf("#");-1!==u&&(e=e.slice(0,u)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},function(e,t,r){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,r){"use strict";(function(t){var n=r(1),i=r(19),o={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var u,s={adapter:(void 0!==t&&"[object process]"===Object.prototype.toString.call(t)?u=r(7):"undefined"!=typeof XMLHttpRequest&&(u=r(7)),u),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],(function(e){s.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){s.headers[e]=n.merge(o)})),e.exports=s}).call(this,r(18))},function(e,t,r){"use strict";var n=r(1),i=r(20),o=r(4),a=r(22),u=r(23),s=r(8);e.exports=function(e){return new Promise((function(t,c){var f=e.data,l=e.headers;n.isFormData(f)&&delete l["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var d=e.auth.username||"",h=e.auth.password||"";l.Authorization="Basic "+btoa(d+":"+h)}if(p.open(e.method.toUpperCase(),o(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in p?a(p.getAllResponseHeaders()):null,n={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:r,config:e,request:p};i(t,c,n),p=null}},p.onabort=function(){p&&(c(s("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){c(s("Network Error",e,null,p)),p=null},p.ontimeout=function(){c(s("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},n.isStandardBrowserEnv()){var m=r(24),y=(e.withCredentials||u(e.url))&&e.xsrfCookieName?m.read(e.xsrfCookieName):void 0;y&&(l[e.xsrfHeaderName]=y)}if("setRequestHeader"in p&&n.forEach(l,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete l[t]:p.setRequestHeader(t,e)})),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),c(e),p=null)})),void 0===f&&(f=null),p.send(f)}))}},function(e,t,r){"use strict";var n=r(21);e.exports=function(e,t,r,i,o){var a=new Error(e);return n(a,t,r,i,o)}},function(e,t,r){"use strict";var n=r(1);e.exports=function(e,t){t=t||{};var r={};return n.forEach(["url","method","params","data"],(function(e){void 0!==t[e]&&(r[e]=t[e])})),n.forEach(["headers","auth","proxy"],(function(i){n.isObject(t[i])?r[i]=n.deepMerge(e[i],t[i]):void 0!==t[i]?r[i]=t[i]:n.isObject(e[i])?r[i]=n.deepMerge(e[i]):void 0!==e[i]&&(r[i]=e[i])})),n.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])})),r}},function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,r){e.exports=r(12)},function(e,t,r){"use strict";var n=r(1),i=r(3),o=r(14),a=r(9);function u(e){var t=new o(e),r=i(o.prototype.request,t);return n.extend(r,o.prototype,t),n.extend(r,t),r}var s=u(r(6));s.Axios=o,s.create=function(e){return u(a(s.defaults,e))},s.Cancel=r(10),s.CancelToken=r(27),s.isCancel=r(5),s.all=function(e){return Promise.all(e)},s.spread=r(28),e.exports=s,e.exports.default=s},function(e,t){
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <https://feross.org>
* @license MIT
*/
e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,t,r){"use strict";var n=r(1),i=r(4),o=r(15),a=r(16),u=r(9);function s(e){this.defaults=e,this.interceptors={request:new o,response:new o}}s.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=u(this.defaults,e)).method=e.method?e.method.toLowerCase():"get";var t=[a,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},s.prototype.getUri=function(e){return e=u(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){s.prototype[e]=function(t,r){return this.request(n.merge(r||{},{method:e,url:t}))}})),n.forEach(["post","put","patch"],(function(e){s.prototype[e]=function(t,r,i){return this.request(n.merge(i||{},{method:e,url:t,data:r}))}})),e.exports=s},function(e,t,r){"use strict";var n=r(1);function i(){this.handlers=[]}i.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=i},function(e,t,r){"use strict";var n=r(1),i=r(17),o=r(5),a=r(6),u=r(25),s=r(26);function c(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return c(e),e.baseURL&&!u(e.url)&&(e.url=s(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return c(e),t.data=i(t.data,t.headers,e.transformResponse),t}),(function(t){return o(t)||(c(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,r){"use strict";var n=r(1);e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},function(e,t){var r,n,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var s,c=[],f=!1,l=-1;function p(){f&&s&&(f=!1,s.length?c=s.concat(c):l=-1,c.length&&d())}function d(){if(!f){var e=u(p);f=!0;for(var t=c.length;t;){for(s=c,c=[];++l<t;)s&&s[l].run();l=-1,t=c.length}s=null,f=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new h(e,t)),1!==c.length||f||u(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,r){"use strict";var n=r(1);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},function(e,t,r){"use strict";var n=r(8);e.exports=function(e,t,r){var i=r.config.validateStatus;!i||i(r.status)?e(r):t(n("Request failed with status code "+r.status,r.config,null,r.request,r))}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,i){return e.config=t,r&&(e.code=r),e.request=n,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,r){"use strict";var n=r(1),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,o,a={};return e?(n.forEach(e.split("\n"),(function(e){if(o=e.indexOf(":"),t=n.trim(e.substr(0,o)).toLowerCase(),r=n.trim(e.substr(o+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}})),a):a}},function(e,t,r){"use strict";var n=r(1);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=i(window.location.href),function(t){var r=n.isString(t)?i(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},function(e,t,r){"use strict";var n=r(1);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,i,o,a){var u=[];u.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&u.push("expires="+new Date(r).toGMTString()),n.isString(i)&&u.push("path="+i),n.isString(o)&&u.push("domain="+o),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,r){"use strict";var n=r(10);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,r){var n=r(30);"string"==typeof n&&(n=[[e.i,n,""]]);var i={insert:"head",singleton:!1};r(32)(n,i);n.locals&&(e.exports=n.locals)},function(e,t,r){(e.exports=r(31)(!1)).push([e.i,".renderer-canvas {\n pointer-events: none;\n}",""])},function(e,t,r){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=function(e,t){var r=e[1]||"",n=e[3];if(!n)return r;if(t&&"function"==typeof btoa){var i=(a=n,u=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(u),"/*# ".concat(s," */")),o=n.sources.map((function(e){return"/*# sourceURL=".concat(n.sourceRoot).concat(e," */")}));return[r].concat(o).concat([i]).join("\n")}var a,u,s;return[r].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(r,"}"):r})).join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},i=0;i<this.length;i++){var o=this[i][0];null!=o&&(n[o]=!0)}for(var a=0;a<e.length;a++){var u=e[a];null!=u[0]&&n[u[0]]||(r&&!u[2]?u[2]=r:r&&(u[2]="(".concat(u[2],") and (").concat(r,")")),t.push(u))}},t}},function(e,t,r){"use strict";var n,i={},o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},a=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}();function u(e,t){for(var r=[],n={},i=0;i<e.length;i++){var o=e[i],a=t.base?o[0]+t.base:o[0],u={css:o[1],media:o[2],sourceMap:o[3]};n[a]?n[a].parts.push(u):r.push(n[a]={id:a,parts:[u]})}return r}function s(e,t){for(var r=0;r<e.length;r++){var n=e[r],o=i[n.id],a=0;if(o){for(o.refs++;a<o.parts.length;a++)o.parts[a](n.parts[a]);for(;a<n.parts.length;a++)o.parts.push(y(n.parts[a],t))}else{for(var u=[];a<n.parts.length;a++)u.push(y(n.parts[a],t));i[n.id]={id:n.id,refs:1,parts:u}}}}function c(e){var t=document.createElement("style");if(void 0===e.attributes.nonce){var n=r.nc;n&&(e.attributes.nonce=n)}if(Object.keys(e.attributes).forEach((function(r){t.setAttribute(r,e.attributes[r])})),"function"==typeof e.insert)e.insert(t);else{var i=a(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var f,l=(f=[],function(e,t){return f[e]=t,f.filter(Boolean).join("\n")});function p(e,t,r,n){var i=r?"":n.css;if(e.styleSheet)e.styleSheet.cssText=l(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function d(e,t,r){var n=r.css,i=r.media,o=r.sourceMap;if(i&&e.setAttribute("media",i),o&&btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var h=null,m=0;function y(e,t){var r,n,i;if(t.singleton){var o=m++;r=h||(h=c(t)),n=p.bind(null,r,o,!1),i=p.bind(null,r,o,!0)}else r=c(t),n=d.bind(null,r,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).attributes="object"==typeof t.attributes?t.attributes:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o());var r=u(e,t);return s(r,t),function(e){for(var n=[],o=0;o<r.length;o++){var a=r[o],c=i[a.id];c&&(c.refs--,n.push(c))}e&&s(u(e,t),t);for(var f=0;f<n.length;f++){var l=n[f];if(0===l.refs){for(var p=0;p<l.parts.length;p++)l.parts[p]();delete i[l.id]}}}}},function(e,t,r){"use strict";r.r(t);var n=r(0),i=r(11),o=r.n(i),a=r(2),u=r.n(a),s="attribute vec4 a_position;\n \nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * a_position;\n}",c="#extension GL_OES_standard_derivatives : enable\n \nprecision highp float;\nvarying vec2 coord;\n\nuniform float u_dTime;\n\n\nvoid main() {\n \n gl_FragColor = vec4(0. , 0., 0., abs(cos(u_dTime/400.)* 1.2));\n}";r(29);function f(e,t,r,n,i,o,a){try{var u=e[o](a),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,i)}function l(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var o=e.apply(t,r);function a(e){f(o,n,i,a,u,"next",e)}function u(e){f(o,n,i,a,u,"throw",e)}a(void 0)}))}}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(r,!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,"updateTextbox",(function(){return x})),r.d(t,"updateAllLines",(function(){return T})),r.d(t,"updateAllChars",(function(){return _})),r.d(t,"setTextbox",(function(){return U})),r.d(t,"createTextbox",(function(){return M})),r.d(t,"checkProgramValid",(function(){return j})),r.d(t,"tryCreateProgramInfo",(function(){return N})),r.d(t,"start",(function(){return D})),r.d(t,"stop",(function(){return z})),r.d(t,"setContainer",(function(){return X})),r.d(t,"updateGlyph",(function(){return G})),r.d(t,"feedData",(function(){return H})),r.d(t,"render",(function(){return q})),r.d(t,"addSlave",(function(){return Z})),r.d(t,"removeSlave",(function(){return J})),r.d(t,"setButtons",(function(){return $}));var m,y,v={textboxList:[],fontList:[],textureList:[],uniforms:{u_mouse_window:[0,0]},mousePressed:!1,shiftPressed:!1,pixelRatio:1.2,reqAnimFrameId:null};function b(e){v.uniforms.u_mouse_window[0]=e.clientX/window.innerWidth,v.uniforms.u_mouse_window[1]=e.clientY/window.innerHeight}function g(e){v.textboxList.forEach((function(e){e.isEditable&&(e.cursor=null)})),/^textbox-.*$/.test(e.target.id)&&v.textboxList.some((function(t){if(t.id===e.target.id)return!!t.isEditable&&(function(e,t,r){var n=document.getElementById(e.id).getBoundingClientRect(),i=t/n.width*100,o=r/n.width*100,a={iLine:0,iChar:0};e.lineList.some((function(t,r){var n=0;t.charList.some((function(e,r){var i=e.position.sublineY+e.position.sublineHeight;return o<i?(n=e.position.sublineIndex,!0):!t.charList[r+1]&&(n=e.position.sublineIndex,!0)}));var u=t.charList[t.charList.length-1].position.sublineY+t.charList[t.charList.length-1].position.sublineHeight;return o<u?(Object.assign(a,{iLine:r}),t.charList.some((function(e,r){if(n>e.position.sublineIndex)return!1;var o=e.position.charX+e.position.charWidth*(1+e.style.tracking)/2;if(i<o)return Object.assign(a,{iChar:r}),!0;var u=t.charList[r+1];return u?!!(u&&u.position.sublineIndex>n)&&(Object.assign(a,{iChar:r+1}),!0):(Object.assign(a,{iChar:r+1}),!0)})),!0):(e.lineList[r+1]||(Object.assign(a,{iLine:r}),t.charList.some((function(e,r){if(n>e.position.sublineIndex)return!1;var o=e.position.charX+e.position.charWidth*(1+e.style.tracking)/2;return i<o?(Object.assign(a,{iChar:r}),!0):t.charList[r+1]?void 0:(Object.assign(a,{iChar:r+1}),!0)}))),!1)}));var u=new Date;Object.assign(a,{clickTime:u.getTime()}),Object.assign(e,{cursor:a})}(t,e.offsetX,e.offsetY),!0)}))}function E(e,t){var r=function(e,t,r){var n=e.getBoundingClientRect(),i=t-Math.round(n.left);i<0?i=0:i>Math.round(n.width)&&(i=Math.round(n.width));var o=r-Math.round(n.top);o<0?o=0:o>Math.round(n.height)&&(o=Math.round(n.height));return{x:i,y:o}}(document.getElementById(t.id),e.clientX,e.clientY);t.uniforms.u_mouse=[r.x,r.y]}function x(e,t,r){var n=v.textboxList.find((function(t){return t.id===e}));n[t]=r,S(n),B(n)}function T(e,t,r){var n=v.textboxList.find((function(t){return t.id===e}));n.lineList.forEach((function(e){e[t]=r})),S(n),B(n)}function _(e,t,r){var n=v.textboxList.find((function(t){return t.id===e}));n.lineList.forEach((function(e){e.charList.forEach((function(e){e.style[t]=r}))})),S(n),B(n)}function A(e,t){var r=function(e){return"Space"===e.key||"1234567890".includes(e.key)||".,!?".includes(e.key)?e.key:65<=e.keyCode&&e.keyCode<=90&&String.fromCharCode(e.keyCode)}(t);if(13===t.keyCode)!function(e){var t=e.cursor,r=e.lineList[t.iLine],n=d({},r),i=r.charList[t.iChar-1],o=r.charList[t.iChar],a=r.charList.splice(t.iChar);if(a.length>0)n.charList=a;else{var u={letter:null,style:d({},i.style)};n.charList=[u]}if(0===t.iChar){var s={letter:null,style:d({},o.style)};r.charList.push(s)}e.lineList.splice(t.iLine+1,0,n),t.iLine++,t.iChar=0}(e);else if(8===t.keyCode)!function(e){var t=e.cursor,r=e.lineList[t.iLine-1],n=e.lineList[t.iLine],i=e.lineList[t.iLine].charList[t.iChar-1];if(i&&null!==i.letter){t.iChar--;var o=n.charList.splice(t.iChar,1)[0];if(0===n.charList.length){var a={letter:null,style:d({},o.style)};n.charList.push(a)}}else{if(!r)return;null===n.charList[0].letter?n.charList.splice(0,1):null===r.charList[0].letter&&r.charList.splice(0,1);var u=r.charList.concat(n.charList);e.lineList.splice(t.iLine,1),t.iLine--,t.iChar=e.lineList[t.iLine].charList.length,e.lineList[t.iLine].charList=u}}(e);else if(37<=t.keyCode&&t.keyCode<=40)!function(e,t){var r=e.cursor,i=e.lineList[r.iLine-1],o=e.lineList[r.iLine+1],a=e.lineList[r.iLine].charList[r.iChar-1],u=e.lineList[r.iLine].charList[r.iChar];if("ArrowLeft"===t){if(!a||!a.letter)return i?(r.iLine--,void(r.iChar=i.charList.length)):void 0;r.iChar--}else if("ArrowRight"===t){if(!u)return o?(r.iLine++,r.iChar=0,void(o.charList[0].letter||(n.createBuffersFromArrays.iChar=1))):void 0;r.iChar++}}(e,t.key);else{if(!r)return;!function(e,t){var r=e.cursor,n=e.lineList[r.iLine].charList[r.iChar-1],i=e.lineList[r.iLine].charList[r.iChar],o=n||i,a={letter:t,style:Object.assign({},o.style)};L(a)&&((n&&null===n.letter||i&&null===i.letter)&&(e.lineList[r.iLine].charList.splice(0,1),r.iChar=0),e.lineList[r.iLine].charList.splice(r.iChar,0,d({},a)),r.iChar++)}(e,r)}S(e),B(e)}function w(e){v.textboxList.forEach((function(t){t.cursor&&A(t,e)}))}function R(e,t){!function(e){m.style.width=e+"px"}(e),function(e){m.style.height=e+"px"}(t)}function L(e){return!!e.letter&&v.fontList.find((function(t){return t.id===e.style.fontId})).glyphs[e.letter]}function P(e){var t=L(e);return!!t.texture&&v.fontTextureList.find((function(e){return e.name===t.texture})).texture}function F(e){var t=v.fontTextureList.find((function(t){return t.name===e.texture})).config;return t.chars.find((function(t){return t.char===e.letter})).xadvance/t.common.lineHeight}function C(e){if(!e.texture)return!1;var t=v.fontTextureList.find((function(t){return t.name===e.texture})).config,r=t.chars.find((function(t){return t.char===e.letter})),n=t.common.lineHeight/e.textureSize,i=t.common.lineHeight/e.textureSize*e.width,o=(n-t.common.lineHeight)/2,a=(i-r.xadvance)/2;return{width:t.common.scaleW,height:t.common.scaleH,textureLeft:r.x-r.xoffset-a,textureRight:r.x-r.xoffset+r.xadvance+a,textureTop:r.y-r.yoffset-o,textureBottom:r.y-r.yoffset+t.common.lineHeight+o,cropLeft:r.x,cropRight:r.x+r.width,cropTop:r.y,cropBottom:r.y+r.height}}function O(){v.textboxList.forEach((function(e){var t=document.getElementById(e.id);t.classList.add("textbox"),e.isEditable&&t.classList.add("editable")}));var e=document.createElement("style");(document.head||document.getElementsByTagName("head")[0]).appendChild(e),e.type="text/css",e.appendChild(document.createTextNode("\n .textbox.editable:hover { \n cursor: text;\n }\n "))}function S(e,t){(new Date).getTime();var r=document.getElementById(e.id).getBoundingClientRect(),n=r.width,i=r.height,o=100-2*e.paddingX,a=i/n*100-2*e.paddingY,u=0;e.lineList.forEach((function(e,t,r){var n=0,i=0,a=0,s=0;e.charList.forEach((function(t,r){var c=L(t);t.position={sublineIndex:i,sublineY:u,charWidth:t.letter?c.alignToTexture?t.style.size*F(c):t.style.size*c.width:0,charHeight:t.style.size,charX:n,charY:u},n+=t.position.charWidth+t.position.charWidth*t.style.tracking,a<t.position.charHeight&&(a=t.position.charHeight),s<t.position.charHeight*t.style.leading&&(s=t.position.charHeight*t.style.leading);var f=e.charList[r+1];if(e.wrapLine&&f){var l=f.style.size*L(f).width;if(n+l>o)e.charList.filter((function(e){return e.position&&e.position.sublineIndex===i})).forEach((function(e){e.position.sublineHeight=a})),u+=s,n=s=0,a=0,i++}})),e.charList.filter((function(e){return e.position&&e.position.sublineIndex===i})).forEach((function(e){e.position.sublineHeight=a}));var c=e.charList[e.charList.length-1],f=c.position.charX+c.position.charWidth;f>o?(e.charList.forEach((function(e,t,r){e.position.charX*=o/f,e.position.charWidth*=o/f,e.position.charHeight*=o/f,e.position.sublineHeight*=o/f})),s*=o/f):e.charList.forEach((function(t,r){var n=e.charList[r+1];if(n&&t.position.sublineIndex!==n.position.sublineIndex||!n){var i=t.position.sublineIndex,a=t.position.charX+t.position.charWidth,u=o-a,s=e.charList.filter((function(e){return e.position.sublineIndex===i}));switch(e.horizontalAlign){case"LEFT":break;case"CENTER":s.forEach((function(e){e.position.charX+=u/2}));break;case"RIGHT":s.forEach((function(e){e.position.charX+=u}));break;case"SPREAD":var c=s.length-1?u/(s.length-1):0;s.forEach((function(e,t){e.position.charX+=c*t}))}}})),u+=s,i=0}));var s=e.lineList[e.lineList.length-1],c=s.charList[s.charList.length-1],f=parseInt(c.position.sublineY)+parseInt(c.position.sublineHeight);if(a>f){var l=a-f;e.lineList.forEach((function(t,r){switch(e.verticalAlign){case"TOP":break;case"CENTER":t.charList.forEach((function(e){e.position.charY+=l/2,e.position.sublineY+=l/2}));break;case"BOTTOM":t.charList.forEach((function(e){e.position.charY+=l,e.position.sublineY+=l}));break;case"SPREAD":var n=e.lineList.length-1?l/(e.lineList.length-1):0;t.charList.forEach((function(e){e.position.charY+=n*r,e.position.sublineY+=n*r}))}}))}else e.lineList.forEach((function(e,t){e.charList.length<=1&&(e.charList[0].position.charX=0),e.charList.forEach((function(e){e.position.charY*=a/f,e.position.charX*=a/f,e.position.sublineY*=a/f,e.position.sublineHeight*=a/f,e.position.charHeight*=a/f,e.position.charWidth*=a/f})),e.charList.forEach((function(t,r){var n=e.charList[r+1];if(n&&t.position.sublineIndex!==n.position.sublineIndex||!n){var i=t.position.sublineIndex,a=t.position.charX+t.position.charWidth,u=o-a,s=e.charList.filter((function(e){return e.position.sublineIndex===i}));switch(e.horizontalAlign){case"LEFT":break;case"CENTER":s.forEach((function(e){e.position.charX+=u/2}));break;case"RIGHT":s.forEach((function(e){e.position.charX+=u}));break;case"SPREAD":var c=s.length-1?u/(s.length-1):0;s.forEach((function(e,t){e.position.charX+=c*t}))}}}))}));e.lineList.forEach((function(t,r,n){t.charList.forEach((function(t,r,n){t.position.charX+=e.paddingX,t.position.charY+=e.paddingY,t.position.sublineY+=e.paddingY}))}));new Date}function B(e){var t=document.getElementById(e.id).getBoundingClientRect(),r=t.width;t.height;e.lineList.forEach((function(e,t,i){e.charList.forEach((function(e){if(e.letter){var t,i,o,a,u=L(e),s=u.textureConfig;s.textureTop,s.textureBottom,s.textureLeft,s.textureRight;u.alignToTexture?(i=e.position.charHeight/u.textureSize,t=e.position.charHeight*u.width/u.textureSize,o=e.position.charX-(t-e.position.charWidth)/2,a=e.position.charY-(i-e.position.charHeight)/2):(t=e.position.charWidth,i=e.position.charHeight,o=e.position.charX,a=e.position.charY),t*=r/100,i*=r/100,o*=r/100,a*=r/100,e.bufferInfo=n.createBufferInfoFromArrays(y,function(e,t,r,i,o,a,u){t=t||1,r=r||1;for(var s=((i=i||1)+1)*((o=o||1)+1),c=n.primitives.createAugmentedTypedArray(3,s),f=n.primitives.createAugmentedTypedArray(3,s),l=n.primitives.createAugmentedTypedArray(2,s),p=n.primitives.createAugmentedTypedArray(2,s),d=L(e).textureConfig,h=d.textureLeft,m=d.textureRight,y=d.textureTop,v=d.textureBottom,b=0;b<=o;b++)for(var g=0;g<=i;g++){var E=g/i,x=b/o;c.push(a+t*E,u+r*x,0),f.push(0,0,1),l.push((h+E*(m-h))/d.width,(y+x*(v-y))/d.height),p.push(E,x)}for(var T=i+1,_=n.primitives.createAugmentedTypedArray(3,i*o*2,Uint16Array),A=0;A<o;A++)for(var w=0;w<i;w++)_.push((A+0)*T+w,(A+1)*T+w,(A+0)*T+w+1),_.push((A+1)*T+w,(A+1)*T+w+1,(A+0)*T+w+1);return{position:c,normal:f,texcoord:l,indices:_,planecoord:p}}(e,t,i,1,1,o,a))}}))}))}function I(e){var t=document.getElementById(e.id).getBoundingClientRect(),r=t.width,i=t.height;return n.m4.ortho(0,r,i,0,400,-400)}function U(e,t){S(t),B(t);var r=v.textboxList.findIndex((function(t){return t.id===e}));v.textboxList[r]=t}function M(e){var t=function(e){return e.text.split("\n").map((function(t){return{inilineAlign:"TOP",horizontalAlign:"CENTER",wrapLine:!1,charList:t.split("").map((function(t){return{letter:t,style:{fontId:e.font.id,size:e.size||20,leading:e.leading||1,tracking:e.tracking||0}}}))}}))}({text:e.text,font:e.font,size:e.size});return{id:e.id,isEditable:!1,verticalAlign:"CENTER",paddingX:5,paddingY:5,cursor:null,renderCallback:e.renderCallback||null,slaveList:[],uniforms:{u_mouse:[0,0]},lineList:t}}function j(e){try{return n.createProgramInfo(y,e,(function(e){throw e})),!1}catch(e){return e}}function N(e,t){var r=!1;try{r=n.createProgramInfo(y,e,(function(e){throw e}))}catch(e){t&&t(e)}return r}function D(e){return k.apply(this,arguments)}function k(){return(k=l(u.a.mark((function e(t){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(m=document.createElement("canvas")).classList.add("renderer-canvas"),(y=function(e){var t,r={antialias:!0,alpha:!0,depth:!0,stencil:!1,preserveDrawingBuffer:!1,premultipliedAlpha:!1};try{t=e.getContext("experimental-webgl",r)}catch(e){}try{t=t||e.getContext("webgl",r)}catch(e){}return t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),t.enable(t.BLEND),t}(m))?(n.setDefaults({attribPrefix:"a_"}),y.getExtension("OES_standard_derivatives"),n.resizeCanvasToDisplaySize(m,v.pixelRatio),window.addEventListener("mousedown",g),window.addEventListener("keydown",w),window.addEventListener("mousemove",b)):document.write("No WebGL support. Please use a modern browser."),X(t.container||window),v.pixelRatio=t.pixelRatio||v.pixelRatio,v.textureUrl=t.textureUrl,e.next=6,H(t.data);case 6:v.textboxList.forEach((function(e){document.getElementById(e.id).addEventListener("mousemove",(function(t){E(t,e)}))})),v.reqAnimFrameId=requestAnimationFrame(q);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function z(){cancelAnimationFrame(v.reqAnimFrameId)}function X(e){!function(e){if(e===window)R(window.innerWidth,window.innerHeight),m.style.position="fixed",document.body.appendChild(m);else{var t=document.querySelector(e),r=t.getBoundingClientRect();R(r.width,r.height),m.style.position="absolute",t.appendChild(m)}m.style.top="0px",m.style.left="0px"}(e)}function G(e,t,r){var n=v.fontList.find((function(t){return t.id===e})),i=n.glyphs[t];n.glyphs[t]=d({},i,{},r);var o=n.glyphs[t];(r.texture||r.textureSize||r.width)&&(n.glyphs[t].textureConfig=C(o),v.textboxList.forEach((function(e){S(e),B(e)})))}function Y(e,t){return W.apply(this,arguments)}function W(){return(W=l(u.a.mark((function e(t,r){var i,a,s;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=[],t.forEach((function(e){Object.keys(e.glyphs).forEach((function(t){var r=e.glyphs[t];r.texture&&!i.find((function(e){return e.name===r.texture}))&&i.push({name:r.texture})}))})),r.forEach((function(e){i.find((function(t){return t.name===e}))||i.push({name:e})})),a=0;case 4:if(!(a<i.length)){e.next=13;break}return(s=i[a]).texture=n.createTexture(y,{src:"".concat(v.textureUrl,"/").concat(s.name,"/").concat(s.name,".png")}),e.next=9,o.a.get("".concat(v.textureUrl,"/").concat(s.name,"/").concat(s.name,".json"));case 9:s.config=e.sent.data;case 10:a++,e.next=4;break;case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function H(e){return V.apply(this,arguments)}function V(){return(V=l(u.a.mark((function e(t){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return v.textboxList=t.textboxList,O(),v.fontList=t.fontList,e.next=5,Y(v.fontList,t.moreTextureList?t.moreTextureList:[]);case 5:v.fontTextureList=e.sent,v.fontList.forEach((function(e){Object.keys(e.glyphs).forEach((function(t){var r=e.glyphs[t];r.texture&&!r.textureConfig&&(r.textureConfig=C(r))}))})),v.textboxList.forEach((function(e){S(e),B(e)}));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function K(e,t,r){switch(e){case"TIME":return(Math.sin(t/1e3*2)+1)/2;case"MOUSE_X":var n=document.getElementById(r.id).getBoundingClientRect().width;return(r.uniforms.u_mouse[0]/n).toFixed(2);case"MOUSE_Y":var i=document.getElementById(r.id).getBoundingClientRect().height;return(1-r.uniforms.u_mouse[1]/i).toFixed(2);default:return e}}function q(e){n.resizeCanvasToDisplaySize(y.canvas,v.pixelRatio);var t={TIME:K("TIME",e)};y.disable(y.DEPTH_TEST),y.disable(y.SCISSOR_TEST),y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),v.textboxList.forEach((function(r){if(t.MOUSE_X=K("MOUSE_X",e,r),t.MOUSE_Y=K("MOUSE_Y",e,r),function(e,t,r){var n=document.getElementById(t.id);if(!n)return!1;var i=function(e,t){var r=e.getBoundingClientRect(),n=t.getBoundingClientRect();return{left:r.left-n.left,right:r.right-n.left,top:r.top-n.top,bottom:r.bottom-n.top}}(n,e.canvas);if(i.bottom<0||i.top>e.canvas.clientHeight||i.right<0||i.left>e.canvas.clientWidth)return!1;var o=(i.right-i.left)*r,a=(i.bottom-i.top)*r,u=i.left*r,s=(e.canvas.clientHeight-i.bottom)*r;return e.enable(e.SCISSOR_TEST),e.viewport(u,s,o,a),e.scissor(u,s,o,a),!0}(y,r,v.pixelRatio)&&(y.clearColor(1,1,1,0),y.clear(y.COLOR_BUFFER_BIT),r.lineList.forEach((function(t){t.charList.forEach((function(t){if(t.letter){var i=L(t),o=i.textureConfig,a=document.getElementById(r.id).getBoundingClientRect(),u=a.width,s=a.height,c=d({u_matrix:I(r),u_fontTexture:P(t),u_position:[(t.position.charX+t.position.charWidth/2)/100,(t.position.charY+t.position.charHeight/2)/(100*s/u)],u_time:e/1e3,u_crop:[o.cropLeft/o.width,o.cropRight/o.width,o.cropTop/o.height,o.cropBottom/o.height],u_edge:[o.textureLeft/o.width,o.textureRight/o.width,o.textureTop/o.width,o.textureBottom/o.width],u_ratio:1/L(t).width,u_0:K(i.u_0,e,r),u_1:K(i.u_1,e,r),u_2:K(i.u_2,e,r)},v.uniforms,{},r.uniforms,{},t.uniforms),f=function(e){return void 0===e.programInfo&&(e.programInfo=N([e.vert,e.frag],(function(){}))),e.programInfo}(L(t));f&&(y.useProgram(f.program),n.setBuffersAndAttributes(y,f,t.bufferInfo),n.setUniforms(f,c),n.drawBufferInfo(y,t.bufferInfo))}}))})),r.slaveList.forEach((function(e){e.element.value=t[e.master]})),r.cursor)){var i,o=document.getElementById(r.id).getBoundingClientRect(),a=o.width,u=o.height,f=r.lineList[r.cursor.iLine],l=f.charList[0],p=f.charList[r.cursor.iChar-1];if(p){var h=p.position.charHeight/100*a,m=(p.position.charX+p.position.charWidth*(1+p.style.tracking))/100*a,b=p.position.charY/100*a;i=n.primitives.createPlaneBufferInfo(y,3,1.1*h,1,1,n.m4.multiply(n.m4.translation(n.v3.create(m,b+h/2,-.001)),n.m4.rotationX(Math.PI/2)))}else{var g=l.position.charHeight/100*a,E=l.position.charX/100*a,x=l.position.charY/100*a;i=n.primitives.createPlaneBufferInfo(y,3,1.1*g,1,1,n.m4.multiply(n.m4.translation(n.v3.create(E,x+g/2,-.001)),n.m4.rotationX(Math.PI/2)))}var T=n.createProgramInfo(y,[s,c]),_=new Date,A={u_matrix:n.m4.ortho(0,a,u,0,400,-400),u_dTime:_.getTime()-r.cursor.clickTime};y.useProgram(T.program),n.setBuffersAndAttributes(y,T,i),n.setUniforms(T,A),n.drawBufferInfo(y,i)}})),v.reqAnimFrameId=requestAnimationFrame(q)}function Z(e,t,r){var n=v.textboxList.find((function(t){return t.id===e}));n&&n.slaveList.push({element:t,master:r})}function J(e,t){var r=v.textboxList.find((function(t){return t.id===e}));if(r){var n=r.slaveList.findIndex((function(e){return e.element===t}));-1!==n&&r.slaveList.splice(n,1)}}function $(){var e=["vertical-top","vertical-center","vertical-bottom","vertical-spread","horizontal-left","horizontal-center","horizontal-right","horizontal-spread","wrapLine"];v.textboxList.forEach((function(t){e.forEach((function(e){var r=document.getElementById("".concat(t.id,"-").concat(e));if(r)if(e.includes("vertical")){var n=e.split("-")[1].toUpperCase();r.addEventListener("mousedown",function(e,t,r,n){return function(){r.verticalAlign=n,S(r),B(r)}}(0,v.fontList,t,n))}else if(e.includes("horizontal")){var i=e.split("-")[1].toUpperCase();r.addEventListener("mousedown",function(e,t,r,n){return function(){r.cursor&&(r.lineList[r.cursor.iLine].horizontalAlign=n,S(r),B(r))}}(0,v.fontList,t,i))}else e.includes("wrapLine")&&r.addEventListener("mousedown",function(e,t,r){return function(){r.cursor&&(r.lineList[r.cursor.iLine].wrapLine=!r.lineList[r.cursor.iLine].wrapLine,S(r),B(r))}}(0,v.fontList,t))}))}))}}]);