UNPKG

@vuemap/amap-xyz-layer

Version:

高德地图 JSAPI v2.0 自定义瓦片图层,支持瓦片纠偏,支持海拔

1 lines 86.4 kB
(function(Q,H){typeof exports=="object"&&typeof module!="undefined"?H(exports):typeof define=="function"&&define.amd?define(["exports"],H):(Q=typeof globalThis!="undefined"?globalThis:Q||self,H(Q.AMap=Q.AMap||{}))})(this,function(Q){"use strict";var H={exports:{}};H.exports=lr,H.exports.default=lr;function lr(r,e,n){n=n||2;var t=e&&e.length,i=t?e[0]*n:r.length,a=Br(r,0,i,n,!0),s=[];if(!a||a.next===a.prev)return s;var h,c,l,f,v,o,M;if(t&&(a=fn(r,e,a,n)),r.length>80*n){h=l=r[0],c=f=r[1];for(var p=n;p<i;p+=n)v=r[p],o=r[p+1],v<h&&(h=v),o<c&&(c=o),v>l&&(l=v),o>f&&(f=o);M=Math.max(l-h,f-c),M=M!==0?32767/M:0}return nr(a,s,n,h,c,M,0),s}function Br(r,e,n,t,i){var a,s;if(i===$r(r,e,n,t)>0)for(a=e;a<n;a+=t)s=Vr(a,r[a],r[a+1],s);else for(a=n-t;a>=e;a-=t)s=Vr(a,r[a],r[a+1],s);return s&&fr(s,s.next)&&(ir(s),s=s.next),s}function J(r,e){if(!r)return r;e||(e=r);var n=r,t;do if(t=!1,!n.steiner&&(fr(n,n.next)||q(n.prev,n,n.next)===0)){if(ir(n),n=e=n.prev,n===n.next)break;t=!0}else n=n.next;while(t||n!==e);return e}function nr(r,e,n,t,i,a,s){if(!!r){!s&&a&&yn(r,t,i,a);for(var h=r,c,l;r.prev!==r.next;){if(c=r.prev,l=r.next,a?hn(r,t,i,a):sn(r)){e.push(c.i/n|0),e.push(r.i/n|0),e.push(l.i/n|0),ir(r),r=l.next,h=l.next;continue}if(r=l,r===h){s?s===1?(r=cn(J(r),e,n),nr(r,e,n,t,i,a,2)):s===2&&ln(r,e,n,t,i,a):nr(J(r),e,n,t,i,a,1);break}}}}function sn(r){var e=r.prev,n=r,t=r.next;if(q(e,n,t)>=0)return!1;for(var i=e.x,a=n.x,s=t.x,h=e.y,c=n.y,l=t.y,f=i<a?i<s?i:s:a<s?a:s,v=h<c?h<l?h:l:c<l?c:l,o=i>a?i>s?i:s:a>s?a:s,M=h>c?h>l?h:l:c>l?c:l,p=t.next;p!==e;){if(p.x>=f&&p.x<=o&&p.y>=v&&p.y<=M&&er(i,h,a,c,s,l,p.x,p.y)&&q(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function hn(r,e,n,t){var i=r.prev,a=r,s=r.next;if(q(i,a,s)>=0)return!1;for(var h=i.x,c=a.x,l=s.x,f=i.y,v=a.y,o=s.y,M=h<c?h<l?h:l:c<l?c:l,p=f<v?f<o?f:o:v<o?v:o,x=h>c?h>l?h:l:c>l?c:l,y=f>v?f>o?f:o:v>o?v:o,d=Lr(M,p,e,n,t),R=Lr(x,y,e,n,t),m=r.prevZ,g=r.nextZ;m&&m.z>=d&&g&&g.z<=R;){if(m.x>=M&&m.x<=x&&m.y>=p&&m.y<=y&&m!==i&&m!==s&&er(h,f,c,v,l,o,m.x,m.y)&&q(m.prev,m,m.next)>=0||(m=m.prevZ,g.x>=M&&g.x<=x&&g.y>=p&&g.y<=y&&g!==i&&g!==s&&er(h,f,c,v,l,o,g.x,g.y)&&q(g.prev,g,g.next)>=0))return!1;g=g.nextZ}for(;m&&m.z>=d;){if(m.x>=M&&m.x<=x&&m.y>=p&&m.y<=y&&m!==i&&m!==s&&er(h,f,c,v,l,o,m.x,m.y)&&q(m.prev,m,m.next)>=0)return!1;m=m.prevZ}for(;g&&g.z<=R;){if(g.x>=M&&g.x<=x&&g.y>=p&&g.y<=y&&g!==i&&g!==s&&er(h,f,c,v,l,o,g.x,g.y)&&q(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function cn(r,e,n){var t=r;do{var i=t.prev,a=t.next.next;!fr(i,a)&&Zr(i,t,t.next,a)&&tr(i,a)&&tr(a,i)&&(e.push(i.i/n|0),e.push(t.i/n|0),e.push(a.i/n|0),ir(t),ir(t.next),t=r=a),t=t.next}while(t!==r);return J(t)}function ln(r,e,n,t,i,a){var s=r;do{for(var h=s.next.next;h!==s.prev;){if(s.i!==h.i&&dn(s,h)){var c=Dr(s,h);s=J(s,s.next),c=J(c,c.next),nr(s,e,n,t,i,a,0),nr(c,e,n,t,i,a,0);return}h=h.next}s=s.next}while(s!==r)}function fn(r,e,n,t){var i=[],a,s,h,c,l;for(a=0,s=e.length;a<s;a++)h=e[a]*t,c=a<s-1?e[a+1]*t:r.length,l=Br(r,h,c,t,!1),l===l.next&&(l.steiner=!0),i.push(mn(l));for(i.sort(on),a=0;a<i.length;a++)n=vn(i[a],n);return n}function on(r,e){return r.x-e.x}function vn(r,e){var n=Mn(r,e);if(!n)return e;var t=Dr(n,r);return J(t,t.next),J(n,n.next)}function Mn(r,e){var n=e,t=r.x,i=r.y,a=-1/0,s;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var h=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(h<=t&&h>a&&(a=h,s=n.x<n.next.x?n:n.next,h===t))return s}n=n.next}while(n!==e);if(!s)return null;var c=s,l=s.x,f=s.y,v=1/0,o;n=s;do t>=n.x&&n.x>=l&&t!==n.x&&er(i<f?t:a,i,l,f,i<f?a:t,i,n.x,n.y)&&(o=Math.abs(i-n.y)/(t-n.x),tr(n,r)&&(o<v||o===v&&(n.x>s.x||n.x===s.x&&pn(s,n)))&&(s=n,v=o)),n=n.next;while(n!==c);return s}function pn(r,e){return q(r.prev,r,e.prev)<0&&q(e.next,r,r.next)<0}function yn(r,e,n,t){var i=r;do i.z===0&&(i.z=Lr(i.x,i.y,e,n,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==r);i.prevZ.nextZ=null,i.prevZ=null,xn(i)}function xn(r){var e,n,t,i,a,s,h,c,l=1;do{for(n=r,r=null,a=null,s=0;n;){for(s++,t=n,h=0,e=0;e<l&&(h++,t=t.nextZ,!!t);e++);for(c=l;h>0||c>0&&t;)h!==0&&(c===0||!t||n.z<=t.z)?(i=n,n=n.nextZ,h--):(i=t,t=t.nextZ,c--),a?a.nextZ=i:r=i,i.prevZ=a,a=i;n=t}a.nextZ=null,l*=2}while(s>1);return r}function Lr(r,e,n,t,i){return r=(r-n)*i|0,e=(e-t)*i|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,r|e<<1}function mn(r){var e=r,n=r;do(e.x<n.x||e.x===n.x&&e.y<n.y)&&(n=e),e=e.next;while(e!==r);return n}function er(r,e,n,t,i,a,s,h){return(i-s)*(e-h)>=(r-s)*(a-h)&&(r-s)*(t-h)>=(n-s)*(e-h)&&(n-s)*(a-h)>=(i-s)*(t-h)}function dn(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!gn(r,e)&&(tr(r,e)&&tr(e,r)&&un(r,e)&&(q(r.prev,r,e.prev)||q(r,e.prev,e))||fr(r,e)&&q(r.prev,r,r.next)>0&&q(e.prev,e,e.next)>0)}function q(r,e,n){return(e.y-r.y)*(n.x-e.x)-(e.x-r.x)*(n.y-e.y)}function fr(r,e){return r.x===e.x&&r.y===e.y}function Zr(r,e,n,t){var i=vr(q(r,e,n)),a=vr(q(r,e,t)),s=vr(q(n,t,r)),h=vr(q(n,t,e));return!!(i!==a&&s!==h||i===0&&or(r,n,e)||a===0&&or(r,t,e)||s===0&&or(n,r,t)||h===0&&or(n,e,t))}function or(r,e,n){return e.x<=Math.max(r.x,n.x)&&e.x>=Math.min(r.x,n.x)&&e.y<=Math.max(r.y,n.y)&&e.y>=Math.min(r.y,n.y)}function vr(r){return r>0?1:r<0?-1:0}function gn(r,e){var n=r;do{if(n.i!==r.i&&n.next.i!==r.i&&n.i!==e.i&&n.next.i!==e.i&&Zr(n,n.next,r,e))return!0;n=n.next}while(n!==r);return!1}function tr(r,e){return q(r.prev,r,r.next)<0?q(r,e,r.next)>=0&&q(r,r.prev,e)>=0:q(r,e,r.prev)<0||q(r,r.next,e)<0}function un(r,e){var n=r,t=!1,i=(r.x+e.x)/2,a=(r.y+e.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(t=!t),n=n.next;while(n!==r);return t}function Dr(r,e){var n=new wr(r.i,r.x,r.y),t=new wr(e.i,e.x,e.y),i=r.next,a=e.prev;return r.next=e,e.prev=r,n.next=i,i.prev=n,t.next=n,n.prev=t,a.next=t,t.prev=a,t}function Vr(r,e,n,t){var i=new wr(r,e,n);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function ir(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function wr(r,e,n){this.i=r,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}lr.deviation=function(r,e,n,t){var i=e&&e.length,a=i?e[0]*n:r.length,s=Math.abs($r(r,0,a,n));if(i)for(var h=0,c=e.length;h<c;h++){var l=e[h]*n,f=h<c-1?e[h+1]*n:r.length;s-=Math.abs($r(r,l,f,n))}var v=0;for(h=0;h<t.length;h+=3){var o=t[h]*n,M=t[h+1]*n,p=t[h+2]*n;v+=Math.abs((r[o]-r[p])*(r[M+1]-r[o+1])-(r[o]-r[M])*(r[p+1]-r[o+1]))}return s===0&&v===0?0:Math.abs((v-s)/s)};function $r(r,e,n,t){for(var i=0,a=e,s=n-t;a<n;a+=t)i+=(r[s]-r[a])*(r[a+1]+r[s+1]),s=a;return i}lr.flatten=function(r){for(var e=r[0][0].length,n={vertices:[],holes:[],dimensions:e},t=0,i=0;i<r.length;i++){for(var a=0;a<r[i].length;a++)for(var s=0;s<e;s++)n.vertices.push(r[i][a][s]);i>0&&(t+=r[i-1].length,n.holes.push(t))}return n};const X={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function Tn(r,{precision:e=X.precision}={}){return r=_n(r),"".concat(parseFloat(r.toPrecision(e)))}function zr(r){return Array.isArray(r)||ArrayBuffer.isView(r)&&!(r instanceof DataView)}function Xr(r,e,n){const t=X.EPSILON;n&&(X.EPSILON=n);try{if(r===e)return!0;if(zr(r)&&zr(e)){if(r.length!==e.length)return!1;for(let i=0;i<r.length;++i)if(!Xr(r[i],e[i]))return!1;return!0}return r&&r.equals?r.equals(e):e&&e.equals?e.equals(r):typeof r=="number"&&typeof e=="number"?Math.abs(r-e)<=X.EPSILON*Math.max(1,Math.abs(r),Math.abs(e)):!1}finally{X.EPSILON=t}}function _n(r){return Math.round(r/X.EPSILON)*X.EPSILON}function En(r){function e(){var n=Reflect.construct(r,Array.from(arguments));return Object.setPrototypeOf(n,Object.getPrototypeOf(this)),n}return e.prototype=Object.create(r.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(e,r):e.__proto__=r,e}class Rn extends En(Array){clone(){return new this.constructor().copy(this)}fromArray(e,n=0){for(let t=0;t<this.ELEMENTS;++t)this[t]=e[t+n];return this.check()}toArray(e=[],n=0){for(let t=0;t<this.ELEMENTS;++t)e[n+t]=this[t];return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:zr(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(X)}formatString(e){let n="";for(let t=0;t<this.ELEMENTS;++t)n+=(t>0?", ":"")+Tn(this[t],e);return"".concat(e.printTypes?this.constructor.name:"","[").concat(n,"]")}equals(e){if(!e||this.length!==e.length)return!1;for(let n=0;n<this.ELEMENTS;++n)if(!Xr(this[n],e[n]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let n=0;n<this.ELEMENTS;++n)if(this[n]!==e[n])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,n,t){if(t===void 0)return this.lerp(this,e,n);for(let i=0;i<this.ELEMENTS;++i){const a=e[i];this[i]=a+t*(n[i]-a)}return this.check()}min(e){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(e[n],this[n]);return this.check()}max(e){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.max(e[n],this[n]);return this.check()}clamp(e,n){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.min(Math.max(this[t],e[t]),n[t]);return this.check()}add(...e){for(const n of e)for(let t=0;t<this.ELEMENTS;++t)this[t]+=n[t];return this.check()}subtract(...e){for(const n of e)for(let t=0;t<this.ELEMENTS;++t)this[t]-=n[t];return this.check()}scale(e){if(typeof e=="number")for(let n=0;n<this.ELEMENTS;++n)this[n]*=e;else for(let n=0;n<this.ELEMENTS&&n<e.length;++n)this[n]*=e[n];return this.check()}multiplyByScalar(e){for(let n=0;n<this.ELEMENTS;++n)this[n]*=e;return this.check()}check(){if(X.debug&&!this.validate())throw new Error("math.gl: ".concat(this.constructor.name," some fields set to invalid numbers'"));return this}validate(){let e=this.length===this.ELEMENTS;for(let n=0;n<this.ELEMENTS;++n)e=e&&Number.isFinite(this[n]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let n=0;n<this.ELEMENTS;++n)this[n]=e;return this.check()}addScalar(e){for(let n=0;n<this.ELEMENTS;++n)this[n]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let n=0;n<this.ELEMENTS;++n)this[n]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,n){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.min(Math.max(this[t],e),n);return this.check()}get elements(){return this}}function On(r,e){if(r.length!==e)return!1;for(let n=0;n<r.length;++n)if(!Number.isFinite(r[n]))return!1;return!0}function An(r){if(!Number.isFinite(r))throw new Error("Invalid number ".concat(r));return r}function Sr(r,e,n=""){if(X.debug&&!On(r,e))throw new Error("math.gl: ".concat(n," some fields set to invalid numbers'"));return r}var E={},W={};Object.defineProperty(W,"__esModule",{value:!0}),W.setMatrixArrayType=Ln,W.toRadian=$n,W.equals=zn,W.RANDOM=W.ARRAY_TYPE=W.EPSILON=void 0;var Ur=1e-6;W.EPSILON=Ur;var Ir=typeof Float32Array!="undefined"?Float32Array:Array;W.ARRAY_TYPE=Ir;var Pn=Math.random;W.RANDOM=Pn;function Ln(r){W.ARRAY_TYPE=Ir=r}var wn=Math.PI/180;function $n(r){return r*wn}function zn(r,e){return Math.abs(r-e)<=Ur*Math.max(1,Math.abs(r),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var r=0,e=arguments.length;e--;)r+=arguments[e]*arguments[e];return Math.sqrt(r)});function Mr(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Mr=function(n){return typeof n}:Mr=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Mr(r)}Object.defineProperty(E,"__esModule",{value:!0}),E.create=Gr,E.clone=Nn,E.fromValues=Fn,E.copy=qn,E.set=Yn,E.add=kn,E.subtract=Hr,E.multiply=Qr,E.divide=Jr,E.ceil=bn,E.floor=Wn,E.min=Bn,E.max=Zn,E.round=Dn,E.scale=Vn,E.scaleAndAdd=Xn,E.distance=jr,E.squaredDistance=re,E.length=ee,E.squaredLength=ne,E.negate=Un,E.inverse=In,E.normalize=Kn,E.dot=Gn,E.cross=Hn,E.lerp=Qn,E.random=Jn,E.transformMat2=jn,E.transformMat2d=rt,E.transformMat3=et;var Sn=E.transformMat4=nt;E.rotate=tt,E.angle=it,E.zero=at,E.str=st,E.exactEquals=ht,E.equals=ct,E.forEach=E.sqrLen=E.sqrDist=E.dist=E.div=E.mul=E.sub=E.len=void 0;var j=Cn(W);function Kr(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(Kr=function(i){return i?n:e})(r)}function Cn(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||Mr(r)!=="object"&&typeof r!="function")return{default:r};var n=Kr(e);if(n&&n.has(r))return n.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=i?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(t,a,s):t[a]=r[a]}return t.default=r,n&&n.set(r,t),t}function Gr(){var r=new j.ARRAY_TYPE(2);return j.ARRAY_TYPE!=Float32Array&&(r[0]=0,r[1]=0),r}function Nn(r){var e=new j.ARRAY_TYPE(2);return e[0]=r[0],e[1]=r[1],e}function Fn(r,e){var n=new j.ARRAY_TYPE(2);return n[0]=r,n[1]=e,n}function qn(r,e){return r[0]=e[0],r[1]=e[1],r}function Yn(r,e,n){return r[0]=e,r[1]=n,r}function kn(r,e,n){return r[0]=e[0]+n[0],r[1]=e[1]+n[1],r}function Hr(r,e,n){return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r}function Qr(r,e,n){return r[0]=e[0]*n[0],r[1]=e[1]*n[1],r}function Jr(r,e,n){return r[0]=e[0]/n[0],r[1]=e[1]/n[1],r}function bn(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r}function Wn(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r}function Bn(r,e,n){return r[0]=Math.min(e[0],n[0]),r[1]=Math.min(e[1],n[1]),r}function Zn(r,e,n){return r[0]=Math.max(e[0],n[0]),r[1]=Math.max(e[1],n[1]),r}function Dn(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r}function Vn(r,e,n){return r[0]=e[0]*n,r[1]=e[1]*n,r}function Xn(r,e,n,t){return r[0]=e[0]+n[0]*t,r[1]=e[1]+n[1]*t,r}function jr(r,e){var n=e[0]-r[0],t=e[1]-r[1];return Math.hypot(n,t)}function re(r,e){var n=e[0]-r[0],t=e[1]-r[1];return n*n+t*t}function ee(r){var e=r[0],n=r[1];return Math.hypot(e,n)}function ne(r){var e=r[0],n=r[1];return e*e+n*n}function Un(r,e){return r[0]=-e[0],r[1]=-e[1],r}function In(r,e){return r[0]=1/e[0],r[1]=1/e[1],r}function Kn(r,e){var n=e[0],t=e[1],i=n*n+t*t;return i>0&&(i=1/Math.sqrt(i)),r[0]=e[0]*i,r[1]=e[1]*i,r}function Gn(r,e){return r[0]*e[0]+r[1]*e[1]}function Hn(r,e,n){var t=e[0]*n[1]-e[1]*n[0];return r[0]=r[1]=0,r[2]=t,r}function Qn(r,e,n,t){var i=e[0],a=e[1];return r[0]=i+t*(n[0]-i),r[1]=a+t*(n[1]-a),r}function Jn(r,e){e=e||1;var n=j.RANDOM()*2*Math.PI;return r[0]=Math.cos(n)*e,r[1]=Math.sin(n)*e,r}function jn(r,e,n){var t=e[0],i=e[1];return r[0]=n[0]*t+n[2]*i,r[1]=n[1]*t+n[3]*i,r}function rt(r,e,n){var t=e[0],i=e[1];return r[0]=n[0]*t+n[2]*i+n[4],r[1]=n[1]*t+n[3]*i+n[5],r}function et(r,e,n){var t=e[0],i=e[1];return r[0]=n[0]*t+n[3]*i+n[6],r[1]=n[1]*t+n[4]*i+n[7],r}function nt(r,e,n){var t=e[0],i=e[1];return r[0]=n[0]*t+n[4]*i+n[12],r[1]=n[1]*t+n[5]*i+n[13],r}function tt(r,e,n,t){var i=e[0]-n[0],a=e[1]-n[1],s=Math.sin(t),h=Math.cos(t);return r[0]=i*h-a*s+n[0],r[1]=i*s+a*h+n[1],r}function it(r,e){var n=r[0],t=r[1],i=e[0],a=e[1],s=Math.sqrt(n*n+t*t)*Math.sqrt(i*i+a*a),h=s&&(n*i+t*a)/s;return Math.acos(Math.min(Math.max(h,-1),1))}function at(r){return r[0]=0,r[1]=0,r}function st(r){return"vec2("+r[0]+", "+r[1]+")"}function ht(r,e){return r[0]===e[0]&&r[1]===e[1]}function ct(r,e){var n=r[0],t=r[1],i=e[0],a=e[1];return Math.abs(n-i)<=j.EPSILON*Math.max(1,Math.abs(n),Math.abs(i))&&Math.abs(t-a)<=j.EPSILON*Math.max(1,Math.abs(t),Math.abs(a))}var lt=ee;E.len=lt;var ft=Hr;E.sub=ft;var ot=Qr;E.mul=ot;var vt=Jr;E.div=vt;var Mt=jr;E.dist=Mt;var pt=re;E.sqrDist=pt;var yt=ne;E.sqrLen=yt;var xt=function(){var r=Gr();return function(e,n,t,i,a,s){var h,c;for(n||(n=2),t||(t=0),i?c=Math.min(i*n+t,e.length):c=e.length,h=t;h<c;h+=n)r[0]=e[h],r[1]=e[h+1],a(r,r,s),e[h]=r[0],e[h+1]=r[1];return e}}();E.forEach=xt;function mt(r,e,n){const t=e[0],i=e[1],a=n[3]*t+n[7]*i||1;return r[0]=(n[0]*t+n[4]*i)/a,r[1]=(n[1]*t+n[5]*i)/a,r}function dt(r,e,n){const t=e[0],i=e[1],a=e[2],s=n[3]*t+n[7]*i+n[11]*a||1;return r[0]=(n[0]*t+n[4]*i+n[8]*a)/s,r[1]=(n[1]*t+n[5]*i+n[9]*a)/s,r[2]=(n[2]*t+n[6]*i+n[10]*a)/s,r}var T={};function pr(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?pr=function(n){return typeof n}:pr=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},pr(r)}Object.defineProperty(T,"__esModule",{value:!0}),T.create=ie,T.clone=Tt,T.length=ae,T.fromValues=_t,T.copy=Et,T.set=Rt,T.add=Ot,T.subtract=se,T.multiply=he,T.divide=ce,T.ceil=At,T.floor=Pt,T.min=Lt,T.max=wt,T.round=$t,T.scale=zt,T.scaleAndAdd=St,T.distance=le,T.squaredDistance=fe,T.squaredLength=oe,T.negate=Ct,T.inverse=Nt,T.normalize=Ft,T.dot=ve,T.cross=qt,T.lerp=Yt,T.hermite=kt,T.bezier=bt,T.random=Wt;var gt=T.transformMat4=Bt;T.transformMat3=Zt,T.transformQuat=Dt,T.rotateX=Vt,T.rotateY=Xt,T.rotateZ=Ut,T.angle=It,T.zero=Kt,T.str=Gt,T.exactEquals=Ht,T.equals=Qt,T.forEach=T.sqrLen=T.len=T.sqrDist=T.dist=T.div=T.mul=T.sub=void 0;var I=ut(W);function te(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(te=function(i){return i?n:e})(r)}function ut(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||pr(r)!=="object"&&typeof r!="function")return{default:r};var n=te(e);if(n&&n.has(r))return n.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=i?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(t,a,s):t[a]=r[a]}return t.default=r,n&&n.set(r,t),t}function ie(){var r=new I.ARRAY_TYPE(3);return I.ARRAY_TYPE!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function Tt(r){var e=new I.ARRAY_TYPE(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function ae(r){var e=r[0],n=r[1],t=r[2];return Math.hypot(e,n,t)}function _t(r,e,n){var t=new I.ARRAY_TYPE(3);return t[0]=r,t[1]=e,t[2]=n,t}function Et(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function Rt(r,e,n,t){return r[0]=e,r[1]=n,r[2]=t,r}function Ot(r,e,n){return r[0]=e[0]+n[0],r[1]=e[1]+n[1],r[2]=e[2]+n[2],r}function se(r,e,n){return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r[2]=e[2]-n[2],r}function he(r,e,n){return r[0]=e[0]*n[0],r[1]=e[1]*n[1],r[2]=e[2]*n[2],r}function ce(r,e,n){return r[0]=e[0]/n[0],r[1]=e[1]/n[1],r[2]=e[2]/n[2],r}function At(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r}function Pt(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r}function Lt(r,e,n){return r[0]=Math.min(e[0],n[0]),r[1]=Math.min(e[1],n[1]),r[2]=Math.min(e[2],n[2]),r}function wt(r,e,n){return r[0]=Math.max(e[0],n[0]),r[1]=Math.max(e[1],n[1]),r[2]=Math.max(e[2],n[2]),r}function $t(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r}function zt(r,e,n){return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r}function St(r,e,n,t){return r[0]=e[0]+n[0]*t,r[1]=e[1]+n[1]*t,r[2]=e[2]+n[2]*t,r}function le(r,e){var n=e[0]-r[0],t=e[1]-r[1],i=e[2]-r[2];return Math.hypot(n,t,i)}function fe(r,e){var n=e[0]-r[0],t=e[1]-r[1],i=e[2]-r[2];return n*n+t*t+i*i}function oe(r){var e=r[0],n=r[1],t=r[2];return e*e+n*n+t*t}function Ct(r,e){return r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r}function Nt(r,e){return r[0]=1/e[0],r[1]=1/e[1],r[2]=1/e[2],r}function Ft(r,e){var n=e[0],t=e[1],i=e[2],a=n*n+t*t+i*i;return a>0&&(a=1/Math.sqrt(a)),r[0]=e[0]*a,r[1]=e[1]*a,r[2]=e[2]*a,r}function ve(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]}function qt(r,e,n){var t=e[0],i=e[1],a=e[2],s=n[0],h=n[1],c=n[2];return r[0]=i*c-a*h,r[1]=a*s-t*c,r[2]=t*h-i*s,r}function Yt(r,e,n,t){var i=e[0],a=e[1],s=e[2];return r[0]=i+t*(n[0]-i),r[1]=a+t*(n[1]-a),r[2]=s+t*(n[2]-s),r}function kt(r,e,n,t,i,a){var s=a*a,h=s*(2*a-3)+1,c=s*(a-2)+a,l=s*(a-1),f=s*(3-2*a);return r[0]=e[0]*h+n[0]*c+t[0]*l+i[0]*f,r[1]=e[1]*h+n[1]*c+t[1]*l+i[1]*f,r[2]=e[2]*h+n[2]*c+t[2]*l+i[2]*f,r}function bt(r,e,n,t,i,a){var s=1-a,h=s*s,c=a*a,l=h*s,f=3*a*h,v=3*c*s,o=c*a;return r[0]=e[0]*l+n[0]*f+t[0]*v+i[0]*o,r[1]=e[1]*l+n[1]*f+t[1]*v+i[1]*o,r[2]=e[2]*l+n[2]*f+t[2]*v+i[2]*o,r}function Wt(r,e){e=e||1;var n=I.RANDOM()*2*Math.PI,t=I.RANDOM()*2-1,i=Math.sqrt(1-t*t)*e;return r[0]=Math.cos(n)*i,r[1]=Math.sin(n)*i,r[2]=t*e,r}function Bt(r,e,n){var t=e[0],i=e[1],a=e[2],s=n[3]*t+n[7]*i+n[11]*a+n[15];return s=s||1,r[0]=(n[0]*t+n[4]*i+n[8]*a+n[12])/s,r[1]=(n[1]*t+n[5]*i+n[9]*a+n[13])/s,r[2]=(n[2]*t+n[6]*i+n[10]*a+n[14])/s,r}function Zt(r,e,n){var t=e[0],i=e[1],a=e[2];return r[0]=t*n[0]+i*n[3]+a*n[6],r[1]=t*n[1]+i*n[4]+a*n[7],r[2]=t*n[2]+i*n[5]+a*n[8],r}function Dt(r,e,n){var t=n[0],i=n[1],a=n[2],s=n[3],h=e[0],c=e[1],l=e[2],f=i*l-a*c,v=a*h-t*l,o=t*c-i*h,M=i*o-a*v,p=a*f-t*o,x=t*v-i*f,y=s*2;return f*=y,v*=y,o*=y,M*=2,p*=2,x*=2,r[0]=h+f+M,r[1]=c+v+p,r[2]=l+o+x,r}function Vt(r,e,n,t){var i=[],a=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(t)-i[2]*Math.sin(t),a[2]=i[1]*Math.sin(t)+i[2]*Math.cos(t),r[0]=a[0]+n[0],r[1]=a[1]+n[1],r[2]=a[2]+n[2],r}function Xt(r,e,n,t){var i=[],a=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],a[0]=i[2]*Math.sin(t)+i[0]*Math.cos(t),a[1]=i[1],a[2]=i[2]*Math.cos(t)-i[0]*Math.sin(t),r[0]=a[0]+n[0],r[1]=a[1]+n[1],r[2]=a[2]+n[2],r}function Ut(r,e,n,t){var i=[],a=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],a[0]=i[0]*Math.cos(t)-i[1]*Math.sin(t),a[1]=i[0]*Math.sin(t)+i[1]*Math.cos(t),a[2]=i[2],r[0]=a[0]+n[0],r[1]=a[1]+n[1],r[2]=a[2]+n[2],r}function It(r,e){var n=r[0],t=r[1],i=r[2],a=e[0],s=e[1],h=e[2],c=Math.sqrt(n*n+t*t+i*i),l=Math.sqrt(a*a+s*s+h*h),f=c*l,v=f&&ve(r,e)/f;return Math.acos(Math.min(Math.max(v,-1),1))}function Kt(r){return r[0]=0,r[1]=0,r[2]=0,r}function Gt(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"}function Ht(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]}function Qt(r,e){var n=r[0],t=r[1],i=r[2],a=e[0],s=e[1],h=e[2];return Math.abs(n-a)<=I.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(t-s)<=I.EPSILON*Math.max(1,Math.abs(t),Math.abs(s))&&Math.abs(i-h)<=I.EPSILON*Math.max(1,Math.abs(i),Math.abs(h))}var Jt=se;T.sub=Jt;var jt=he;T.mul=jt;var ri=ce;T.div=ri;var ei=le;T.dist=ei;var ni=fe;T.sqrDist=ni;var ti=ae;T.len=ti;var ii=oe;T.sqrLen=ii;var ai=function(){var r=ie();return function(e,n,t,i,a,s){var h,c;for(n||(n=3),t||(t=0),i?c=Math.min(i*n+t,e.length):c=e.length,h=t;h<c;h+=n)r[0]=e[h],r[1]=e[h+1],r[2]=e[h+2],a(r,r,s),e[h]=r[0],e[h+1]=r[1],e[h+2]=r[2];return e}}();T.forEach=ai;class si extends Rn{toString(){let e="[";if(X.printRowMajor){e+="row-major:";for(let n=0;n<this.RANK;++n)for(let t=0;t<this.RANK;++t)e+=" ".concat(this[t*this.RANK+n])}else{e+="column-major:";for(let n=0;n<this.ELEMENTS;++n)e+=" ".concat(this[n])}return e+="]",e}getElementIndex(e,n){return n*this.RANK+e}getElement(e,n){return this[n*this.RANK+e]}setElement(e,n,t){return this[n*this.RANK+e]=An(t),this}getColumn(e,n=new Array(this.RANK).fill(-0)){const t=e*this.RANK;for(let i=0;i<this.RANK;++i)n[i]=this[t+i];return n}setColumn(e,n){const t=e*this.RANK;for(let i=0;i<this.RANK;++i)this[t+i]=n[i];return this}}var w={};function yr(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?yr=function(n){return typeof n}:yr=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},yr(r)}Object.defineProperty(w,"__esModule",{value:!0}),w.create=ci,w.fromMat4=li,w.clone=fi,w.copy=oi,w.fromValues=vi,w.set=Mi,w.identity=pi,w.transpose=yi,w.invert=xi,w.adjoint=mi,w.determinant=di,w.multiply=pe,w.translate=gi,w.rotate=ui,w.scale=Ti,w.fromTranslation=_i,w.fromRotation=Ei,w.fromScaling=Ri,w.fromMat2d=Oi,w.fromQuat=Ai,w.normalFromMat4=Pi,w.projection=Li,w.str=wi,w.frob=$i,w.add=zi,w.subtract=ye,w.multiplyScalar=Si,w.multiplyScalarAndAdd=Ci,w.exactEquals=Ni,w.equals=Fi,w.sub=w.mul=void 0;var B=hi(W);function Me(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(Me=function(i){return i?n:e})(r)}function hi(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||yr(r)!=="object"&&typeof r!="function")return{default:r};var n=Me(e);if(n&&n.has(r))return n.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=i?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(t,a,s):t[a]=r[a]}return t.default=r,n&&n.set(r,t),t}function ci(){var r=new B.ARRAY_TYPE(9);return B.ARRAY_TYPE!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function li(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r}function fi(r){var e=new B.ARRAY_TYPE(9);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e}function oi(r,e){return 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}function vi(r,e,n,t,i,a,s,h,c){var l=new B.ARRAY_TYPE(9);return l[0]=r,l[1]=e,l[2]=n,l[3]=t,l[4]=i,l[5]=a,l[6]=s,l[7]=h,l[8]=c,l}function Mi(r,e,n,t,i,a,s,h,c,l){return r[0]=e,r[1]=n,r[2]=t,r[3]=i,r[4]=a,r[5]=s,r[6]=h,r[7]=c,r[8]=l,r}function pi(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function yi(r,e){if(r===e){var n=e[1],t=e[2],i=e[5];r[1]=e[3],r[2]=e[6],r[3]=n,r[5]=e[7],r[6]=t,r[7]=i}else r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8];return r}function xi(r,e){var n=e[0],t=e[1],i=e[2],a=e[3],s=e[4],h=e[5],c=e[6],l=e[7],f=e[8],v=f*s-h*l,o=-f*a+h*c,M=l*a-s*c,p=n*v+t*o+i*M;return p?(p=1/p,r[0]=v*p,r[1]=(-f*t+i*l)*p,r[2]=(h*t-i*s)*p,r[3]=o*p,r[4]=(f*n-i*c)*p,r[5]=(-h*n+i*a)*p,r[6]=M*p,r[7]=(-l*n+t*c)*p,r[8]=(s*n-t*a)*p,r):null}function mi(r,e){var n=e[0],t=e[1],i=e[2],a=e[3],s=e[4],h=e[5],c=e[6],l=e[7],f=e[8];return r[0]=s*f-h*l,r[1]=i*l-t*f,r[2]=t*h-i*s,r[3]=h*c-a*f,r[4]=n*f-i*c,r[5]=i*a-n*h,r[6]=a*l-s*c,r[7]=t*c-n*l,r[8]=n*s-t*a,r}function di(r){var e=r[0],n=r[1],t=r[2],i=r[3],a=r[4],s=r[5],h=r[6],c=r[7],l=r[8];return e*(l*a-s*c)+n*(-l*i+s*h)+t*(c*i-a*h)}function pe(r,e,n){var t=e[0],i=e[1],a=e[2],s=e[3],h=e[4],c=e[5],l=e[6],f=e[7],v=e[8],o=n[0],M=n[1],p=n[2],x=n[3],y=n[4],d=n[5],R=n[6],m=n[7],g=n[8];return r[0]=o*t+M*s+p*l,r[1]=o*i+M*h+p*f,r[2]=o*a+M*c+p*v,r[3]=x*t+y*s+d*l,r[4]=x*i+y*h+d*f,r[5]=x*a+y*c+d*v,r[6]=R*t+m*s+g*l,r[7]=R*i+m*h+g*f,r[8]=R*a+m*c+g*v,r}function gi(r,e,n){var t=e[0],i=e[1],a=e[2],s=e[3],h=e[4],c=e[5],l=e[6],f=e[7],v=e[8],o=n[0],M=n[1];return r[0]=t,r[1]=i,r[2]=a,r[3]=s,r[4]=h,r[5]=c,r[6]=o*t+M*s+l,r[7]=o*i+M*h+f,r[8]=o*a+M*c+v,r}function ui(r,e,n){var t=e[0],i=e[1],a=e[2],s=e[3],h=e[4],c=e[5],l=e[6],f=e[7],v=e[8],o=Math.sin(n),M=Math.cos(n);return r[0]=M*t+o*s,r[1]=M*i+o*h,r[2]=M*a+o*c,r[3]=M*s-o*t,r[4]=M*h-o*i,r[5]=M*c-o*a,r[6]=l,r[7]=f,r[8]=v,r}function Ti(r,e,n){var t=n[0],i=n[1];return r[0]=t*e[0],r[1]=t*e[1],r[2]=t*e[2],r[3]=i*e[3],r[4]=i*e[4],r[5]=i*e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r}function _i(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=e[0],r[7]=e[1],r[8]=1,r}function Ei(r,e){var n=Math.sin(e),t=Math.cos(e);return r[0]=t,r[1]=n,r[2]=0,r[3]=-n,r[4]=t,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function Ri(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=e[1],r[5]=0,r[6]=0,r[7]=0,r[8]=1,r}function Oi(r,e){return r[0]=e[0],r[1]=e[1],r[2]=0,r[3]=e[2],r[4]=e[3],r[5]=0,r[6]=e[4],r[7]=e[5],r[8]=1,r}function Ai(r,e){var n=e[0],t=e[1],i=e[2],a=e[3],s=n+n,h=t+t,c=i+i,l=n*s,f=t*s,v=t*h,o=i*s,M=i*h,p=i*c,x=a*s,y=a*h,d=a*c;return r[0]=1-v-p,r[3]=f-d,r[6]=o+y,r[1]=f+d,r[4]=1-l-p,r[7]=M-x,r[2]=o-y,r[5]=M+x,r[8]=1-l-v,r}function Pi(r,e){var n=e[0],t=e[1],i=e[2],a=e[3],s=e[4],h=e[5],c=e[6],l=e[7],f=e[8],v=e[9],o=e[10],M=e[11],p=e[12],x=e[13],y=e[14],d=e[15],R=n*h-t*s,m=n*c-i*s,g=n*l-a*s,P=t*c-i*h,A=t*l-a*h,F=i*l-a*c,S=f*x-v*p,C=f*y-o*p,z=f*d-M*p,k=v*y-o*x,N=v*d-M*x,b=o*d-M*y,L=R*b-m*N+g*k+P*z-A*C+F*S;return L?(L=1/L,r[0]=(h*b-c*N+l*k)*L,r[1]=(c*z-s*b-l*C)*L,r[2]=(s*N-h*z+l*S)*L,r[3]=(i*N-t*b-a*k)*L,r[4]=(n*b-i*z+a*C)*L,r[5]=(t*z-n*N-a*S)*L,r[6]=(x*F-y*A+d*P)*L,r[7]=(y*g-p*F-d*m)*L,r[8]=(p*A-x*g+d*R)*L,r):null}function Li(r,e,n){return r[0]=2/e,r[1]=0,r[2]=0,r[3]=0,r[4]=-2/n,r[5]=0,r[6]=-1,r[7]=1,r[8]=1,r}function wi(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"}function $i(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])}function zi(r,e,n){return r[0]=e[0]+n[0],r[1]=e[1]+n[1],r[2]=e[2]+n[2],r[3]=e[3]+n[3],r[4]=e[4]+n[4],r[5]=e[5]+n[5],r[6]=e[6]+n[6],r[7]=e[7]+n[7],r[8]=e[8]+n[8],r}function ye(r,e,n){return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r[2]=e[2]-n[2],r[3]=e[3]-n[3],r[4]=e[4]-n[4],r[5]=e[5]-n[5],r[6]=e[6]-n[6],r[7]=e[7]-n[7],r[8]=e[8]-n[8],r}function Si(r,e,n){return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*n,r[5]=e[5]*n,r[6]=e[6]*n,r[7]=e[7]*n,r[8]=e[8]*n,r}function Ci(r,e,n,t){return r[0]=e[0]+n[0]*t,r[1]=e[1]+n[1]*t,r[2]=e[2]+n[2]*t,r[3]=e[3]+n[3]*t,r[4]=e[4]+n[4]*t,r[5]=e[5]+n[5]*t,r[6]=e[6]+n[6]*t,r[7]=e[7]+n[7]*t,r[8]=e[8]+n[8]*t,r}function Ni(r,e){return 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]}function Fi(r,e){var n=r[0],t=r[1],i=r[2],a=r[3],s=r[4],h=r[5],c=r[6],l=r[7],f=r[8],v=e[0],o=e[1],M=e[2],p=e[3],x=e[4],y=e[5],d=e[6],R=e[7],m=e[8];return Math.abs(n-v)<=B.EPSILON*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(t-o)<=B.EPSILON*Math.max(1,Math.abs(t),Math.abs(o))&&Math.abs(i-M)<=B.EPSILON*Math.max(1,Math.abs(i),Math.abs(M))&&Math.abs(a-p)<=B.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(s-x)<=B.EPSILON*Math.max(1,Math.abs(s),Math.abs(x))&&Math.abs(h-y)<=B.EPSILON*Math.max(1,Math.abs(h),Math.abs(y))&&Math.abs(c-d)<=B.EPSILON*Math.max(1,Math.abs(c),Math.abs(d))&&Math.abs(l-R)<=B.EPSILON*Math.max(1,Math.abs(l),Math.abs(R))&&Math.abs(f-m)<=B.EPSILON*Math.max(1,Math.abs(f),Math.abs(m))}var qi=pe;w.mul=qi;var Yi=ye;w.sub=Yi;var xe;(function(r){r[r.COL0ROW0=0]="COL0ROW0",r[r.COL0ROW1=1]="COL0ROW1",r[r.COL0ROW2=2]="COL0ROW2",r[r.COL1ROW0=3]="COL1ROW0",r[r.COL1ROW1=4]="COL1ROW1",r[r.COL1ROW2=5]="COL1ROW2",r[r.COL2ROW0=6]="COL2ROW0",r[r.COL2ROW1=7]="COL2ROW1",r[r.COL2ROW2=8]="COL2ROW2"})(xe||(xe={})),Object.freeze([1,0,0,0,1,0,0,0,1]);var _={};function xr(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?xr=function(n){return typeof n}:xr=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},xr(r)}Object.defineProperty(_,"__esModule",{value:!0}),_.create=Qi,_.clone=Ji,_.copy=ji,_.fromValues=r1,_.set=e1,_.identity=ge;var ki=_.transpose=n1,bi=_.invert=t1;_.adjoint=i1;var Wi=_.determinant=a1,me=_.multiply=ue,Bi=_.translate=s1,Zi=_.scale=h1,Di=_.rotate=c1,Vi=_.rotateX=l1,Xi=_.rotateY=f1,Ui=_.rotateZ=o1;_.fromTranslation=v1,_.fromScaling=M1,_.fromRotation=p1,_.fromXRotation=y1,_.fromYRotation=x1,_.fromZRotation=m1,_.fromRotationTranslation=Te,_.fromQuat2=d1,_.getTranslation=g1,_.getScaling=_e,_.getRotation=u1,_.fromRotationTranslationScale=T1,_.fromRotationTranslationScaleOrigin=_1;var Ii=_.fromQuat=E1,Ki=_.frustum=R1;_.perspectiveNO=Ee,_.perspectiveZO=A1,_.perspectiveFromFieldOfView=P1,_.orthoNO=Oe,_.orthoZO=w1;var Gi=_.lookAt=$1;_.targetTo=z1,_.str=S1,_.frob=C1,_.add=N1,_.subtract=Pe,_.multiplyScalar=F1,_.multiplyScalarAndAdd=q1,_.exactEquals=Y1,_.equals=k1,_.sub=_.mul=Ae=_.ortho=Re=_.perspective=void 0;var $=Hi(W);function de(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(de=function(i){return i?n:e})(r)}function Hi(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||xr(r)!=="object"&&typeof r!="function")return{default:r};var n=de(e);if(n&&n.has(r))return n.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=i?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(t,a,s):t[a]=r[a]}return t.default=r,n&&n.set(r,t),t}function Qi(){var r=new $.ARRAY_TYPE(16);return $.ARRAY_TYPE!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r}function Ji(r){var e=new $.ARRAY_TYPE(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e}function ji(r,e){return 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]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function r1(r,e,n,t,i,a,s,h,c,l,f,v,o,M,p,x){var y=new $.ARRAY_TYPE(16);return y[0]=r,y[1]=e,y[2]=n,y[3]=t,y[4]=i,y[5]=a,y[6]=s,y[7]=h,y[8]=c,y[9]=l,y[10]=f,y[11]=v,y[12]=o,y[13]=M,y[14]=p,y[15]=x,y}function e1(r,e,n,t,i,a,s,h,c,l,f,v,o,M,p,x,y){return r[0]=e,r[1]=n,r[2]=t,r[3]=i,r[4]=a,r[5]=s,r[6]=h,r[7]=c,r[8]=l,r[9]=f,r[10]=v,r[11]=o,r[12]=M,r[13]=p,r[14]=x,r[15]=y,r}function ge(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function n1(r,e){if(r===e){var n=e[1],t=e[2],i=e[3],a=e[6],s=e[7],h=e[11];r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=n,r[6]=e[9],r[7]=e[13],r[8]=t,r[9]=a,r[11]=e[14],r[12]=i,r[13]=s,r[14]=h}else r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15];return r}function t1(r,e){var n=e[0],t=e[1],i=e[2],a=e[3],s=e[4],h=e[5],c=e[6],l=e[7],f=e[8],v=e[9],o=e[10],M=e[11],p=e[12],x=e[13],y=e[14],d=e[15],R=n*h-t*s,m=n*c-i*s,g=n*l-a*s,P=t*c-i*h,A=t*l-a*h,F=i*l-a*c,S=f*x-v*p,C=f*y-o*p,z=f*d-M*p,k=v*y-o*x,N=v*d-M*x,b=o*d-M*y,L=R*b-m*N+g*k+P*z-A*C+F*S;return L?(L=1/L,r[0]=(h*b-c*N+l*k)*L,r[1]=(i*N-t*b-a*k)*L,r[2]=(x*F-y*A+d*P)*L,r[3]=(o*A-v*F-M*P)*L,r[4]=(c*z-s*b-l*C)*L,r[5]=(n*b-i*z+a*C)*L,r[6]=(y*g-p*F-d*m)*L,r[7]=(f*F-o*g+M*m)*L,r[8]=(s*N-h*z+l*S)*L,r[9]=(t*z-n*N-a*S)*L,r[10]=(p*A-x*g+d*R)*L,r[11]=(v*g-f*A-M*R)*L,r[12]=(h*C-s*k-c*S)*L,r[13]=(n*k-t*C+i*S)*L,r[14]=(x*m-p*P-y*R)*L,r[15]=(f*P-v*m+o*R)*L,r):null}function i1(r,e){var n=e[0],t=e[1],i=e[2],a=e[3],s=e[4],h=e[5],c=e[6],l=e[7],f=e[8],v=e[9],o=e[10],M=e[11],p=e[12],x=e[13],y=e[14],d=e[15];return r[0]=h*(o*d-M*y)-v*(c*d-l*y)+x*(c*M-l*o),r[1]=-(t*(o*d-M*y)-v*(i*d-a*y)+x*(i*M-a*o)),r[2]=t*(c*d-l*y)-h*(i*d-a*y)+x*(i*l-a*c),r[3]=-(t*(c*M-l*o)-h*(i*M-a*o)+v*(i*l-a*c)),r[4]=-(s*(o*d-M*y)-f*(c*d-l*y)+p*(c*M-l*o)),r[5]=n*(o*d-M*y)-f*(i*d-a*y)+p*(i*M-a*o),r[6]=-(n*(c*d-l*y)-s*(i*d-a*y)+p*(i*l-a*c)),r[7]=n*(c*M-l*o)-s*(i*M-a*o)+f*(i*l-a*c),r[8]=s*(v*d-M*x)-f*(h*d-l*x)+p*(h*M-l*v),r[9]=-(n*(v*d-M*x)-f*(t*d-a*x)+p*(t*M-a*v)),r[10]=n*(h*d-l*x)-s*(t*d-a*x)+p*(t*l-a*h),r[11]=-(n*(h*M-l*v)-s*(t*M-a*v)+f*(t*l-a*h)),r[12]=-(s*(v*y-o*x)-f*(h*y-c*x)+p*(h*o-c*v)),r[13]=n*(v*y-o*x)-f*(t*y-i*x)+p*(t*o-i*v),r[14]=-(n*(h*y-c*x)-s*(t*y-i*x)+p*(t*c-i*h)),r[15]=n*(h*o-c*v)-s*(t*o-i*v)+f*(t*c-i*h),r}function a1(r){var e=r[0],n=r[1],t=r[2],i=r[3],a=r[4],s=r[5],h=r[6],c=r[7],l=r[8],f=r[9],v=r[10],o=r[11],M=r[12],p=r[13],x=r[14],y=r[15],d=e*s-n*a,R=e*h-t*a,m=e*c-i*a,g=n*h-t*s,P=n*c-i*s,A=t*c-i*h,F=l*p-f*M,S=l*x-v*M,C=l*y-o*M,z=f*x-v*p,k=f*y-o*p,N=v*y-o*x;return d*N-R*k+m*z+g*C-P*S+A*F}function ue(r,e,n){var t=e[0],i=e[1],a=e[2],s=e[3],h=e[4],c=e[5],l=e[6],f=e[7],v=e[8],o=e[9],M=e[10],p=e[11],x=e[12],y=e[13],d=e[14],R=e[15],m=n[0],g=n[1],P=n[2],A=n[3];return r[0]=m*t+g*h+P*v+A*x,r[1]=m*i+g*c+P*o+A*y,r[2]=m*a+g*l+P*M+A*d,r[3]=m*s+g*f+P*p+A*R,m=n[4],g=n[5],P=n[6],A=n[7],r[4]=m*t+g*h+P*v+A*x,r[5]=m*i+g*c+P*o+A*y,r[6]=m*a+g*l+P*M+A*d,r[7]=m*s+g*f+P*p+A*R,m=n[8],g=n[9],P=n[10],A=n[11],r[8]=m*t+g*h+P*v+A*x,r[9]=m*i+g*c+P*o+A*y,r[10]=m*a+g*l+P*M+A*d,r[11]=m*s+g*f+P*p+A*R,m=n[12],g=n[13],P=n[14],A=n[15],r[12]=m*t+g*h+P*v+A*x,r[13]=m*i+g*c+P*o+A*y,r[14]=m*a+g*l+P*M+A*d,r[15]=m*s+g*f+P*p+A*R,r}function s1(r,e,n){var t=n[0],i=n[1],a=n[2],s,h,c,l,f,v,o,M,p,x,y,d;return e===r?(r[12]=e[0]*t+e[4]*i+e[8]*a+e[12],r[13]=e[1]*t+e[5]*i+e[9]*a+e[13],r[14]=e[2]*t+e[6]*i+e[10]*a+e[14],r[15]=e[3]*t+e[7]*i+e[11]*a+e[15]):(s=e[0],h=e[1],c=e[2],l=e[3],f=e[4],v=e[5],o=e[6],M=e[7],p=e[8],x=e[9],y=e[10],d=e[11],r[0]=s,r[1]=h,r[2]=c,r[3]=l,r[4]=f,r[5]=v,r[6]=o,r[7]=M,r[8]=p,r[9]=x,r[10]=y,r[11]=d,r[12]=s*t+f*i+p*a+e[12],r[13]=h*t+v*i+x*a+e[13],r[14]=c*t+o*i+y*a+e[14],r[15]=l*t+M*i+d*a+e[15]),r}function h1(r,e,n){var t=n[0],i=n[1],a=n[2];return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*i,r[5]=e[5]*i,r[6]=e[6]*i,r[7]=e[7]*i,r[8]=e[8]*a,r[9]=e[9]*a,r[10]=e[10]*a,r[11]=e[11]*a,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}function c1(r,e,n,t){var i=t[0],a=t[1],s=t[2],h=Math.hypot(i,a,s),c,l,f,v,o,M,p,x,y,d,R,m,g,P,A,F,S,C,z,k,N,b,L,U;return h<$.EPSILON?null:(h=1/h,i*=h,a*=h,s*=h,c=Math.sin(n),l=Math.cos(n),f=1-l,v=e[0],o=e[1],M=e[2],p=e[3],x=e[4],y=e[5],d=e[6],R=e[7],m=e[8],g=e[9],P=e[10],A=e[11],F=i*i*f+l,S=a*i*f+s*c,C=s*i*f-a*c,z=i*a*f-s*c,k=a*a*f+l,N=s*a*f+i*c,b=i*s*f+a*c,L=a*s*f-i*c,U=s*s*f+l,r[0]=v*F+x*S+m*C,r[1]=o*F+y*S+g*C,r[2]=M*F+d*S+P*C,r[3]=p*F+R*S+A*C,r[4]=v*z+x*k+m*N,r[5]=o*z+y*k+g*N,r[6]=M*z+d*k+P*N,r[7]=p*z+R*k+A*N,r[8]=v*b+x*L+m*U,r[9]=o*b+y*L+g*U,r[10]=M*b+d*L+P*U,r[11]=p*b+R*L+A*U,e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r)}function l1(r,e,n){var t=Math.sin(n),i=Math.cos(n),a=e[4],s=e[5],h=e[6],c=e[7],l=e[8],f=e[9],v=e[10],o=e[11];return 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[4]=a*i+l*t,r[5]=s*i+f*t,r[6]=h*i+v*t,r[7]=c*i+o*t,r[8]=l*i-a*t,r[9]=f*i-s*t,r[10]=v*i-h*t,r[11]=o*i-c*t,r}function f1(r,e,n){var t=Math.sin(n),i=Math.cos(n),a=e[0],s=e[1],h=e[2],c=e[3],l=e[8],f=e[9],v=e[10],o=e[11];return 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[0]=a*i-l*t,r[1]=s*i-f*t,r[2]=h*i-v*t,r[3]=c*i-o*t,r[8]=a*t+l*i,r[9]=s*t+f*i,r[10]=h*t+v*i,r[11]=c*t+o*i,r}function o1(r,e,n){var t=Math.sin(n),i=Math.cos(n),a=e[0],s=e[1],h=e[2],c=e[3],l=e[4],f=e[5],v=e[6],o=e[7];return 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[0]=a*i+l*t,r[1]=s*i+f*t,r[2]=h*i+v*t,r[3]=c*i+o*t,r[4]=l*i-a*t,r[5]=f*i-s*t,r[6]=v*i-h*t,r[7]=o*i-c*t,r}function v1(r,e){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=e[0],r[13]=e[1],r[14]=e[2],r[15]=1,r}function M1(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function p1(r,e,n){var t=n[0],i=n[1],a=n[2],s=Math.hypot(t,i,a),h,c,l;return s<$.EPSILON?null:(s=1/s,t*=s,i*=s,a*=s,h=Math.sin(e),c=Math.cos(e),l=1-c,r[0]=t*t*l+c,r[1]=i*t*l+a*h,r[2]=a*t*l-i*h,r[3]=0,r[4]=t*i*l-a*h,r[5]=i*i*l+c,r[6]=a*i*l+t*h,r[7]=0,r[8]=t*a*l+i*h,r[9]=i*a*l-t*h,r[10]=a*a*l+c,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r)}function y1(r,e){var n=Math.sin(e),t=Math.cos(e);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=t,r[6]=n,r[7]=0,r[8]=0,r[9]=-n,r[10]=t,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function x1(r,e){var n=Math.sin(e),t=Math.cos(e);return r[0]=t,r[1]=0,r[2]=-n,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=n,r[9]=0,r[10]=t,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function m1(r,e){var n=Math.sin(e),t=Math.cos(e);return r[0]=t,r[1]=n,r[2]=0,r[3]=0,r[4]=-n,r[5]=t,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function Te(r,e,n){var t=e[0],i=e[1],a=e[2],s=e[3],h=t+t,c=i+i,l=a+a,f=t*h,v=t*c,o=t*l,M=i*c,p=i*l,x=a*l,y=s*h,d=s*c,R=s*l;return r[0]=1-(M+x),r[1]=v+R,r[2]=o-d,r[3]=0,r[4]=v-R,r[5]=1-(f+x),r[6]=p+y,r[7]=0,r[8]=o+d,r[9]=p-y,r[10]=1-(f+M),r[11]=0,r[12]=n[0],r[13]=n[1],r[14]=n[2],r[15]=1,r}function d1(r,e){var n=new $.ARRAY_TYPE(3),t=-e[0],i=-e[1],a=-e[2],s=e[3],h=e[4],c=e[5],l=e[6],f=e[7],v=t*t+i*i+a*a+s*s;return v>0?(n[0]=(h*s+f*t+c*a-l*i)*2/v,n[1]=(c*s+f*i+l*t-h*a)*2/v,n[2]=(l*s+f*a+h*i-c*t)*2/v):(n[0]=(h*s+f*t+c*a-l*i)*2,n[1]=(c*s+f*i+l*t-h*a)*2,n[2]=(l*s+f*a+h*i-c*t)*2),Te(r,e,n),r}function g1(r,e){return r[0]=e[12],r[1]=e[13],r[2]=e[14],r}function _e(r,e){var n=e[0],t=e[1],i=e[2],a=e[4],s=e[5],h=e[6],c=e[8],l=e[9],f=e[10];return r[0]=Math.hypot(n,t,i),r[1]=Math.hypot(a,s,h),r[2]=Math.hypot(c,l,f),r}function u1(r,e){var n=new $.ARRAY_TYPE(3);_e(n,e);var t=1/n[0],i=1/n[1],a=1/n[2],s=e[0]*t,h=e[1]*i,c=e[2]*a,l=e[4]*t,f=e[5]*i,v=e[6]*a,o=e[8]*t,M=e[9]*i,p=e[10]*a,x=s+f+p,y=0;return x>0?(y=Math.sqrt(x+1)*2,r[3]=.25*y,r[0]=(v-M)/y,r[1]=(o-c)/y,r[2]=(h-l)/y):s>f&&s>p?(y=Math.sqrt(1+s-f-p)*2,r[3]=(v-M)/y,r[0]=.25*y,r[1]=(h+l)/y,r[2]=(o+c)/y):f>p?(y=Math.sqrt(1+f-s-p)*2,r[3]=(o-c)/y,r[0]=(h+l)/y,r[1]=.25*y,r[2]=(v+M)/y):(y=Math.sqrt(1+p-s-f)*2,r[3]=(h-l)/y,r[0]=(o+c)/y,r[1]=(v+M)/y,r[2]=.25*y),r}function T1(r,e,n,t){var i=e[0],a=e[1],s=e[2],h=e[3],c=i+i,l=a+a,f=s+s,v=i*c,o=i*l,M=i*f,p=a*l,x=a*f,y=s*f,d=h*c,R=h*l,m=h*f,g=t[0],P=t[1],A=t[2];return r[0]=(1-(p+y))*g,r[1]=(o+m)*g,r[2]=(M-R)*g,r[3]=0,r[4]=(o-m)*P,r[5]=(1-(v+y))*P,r[6]=(x+d)*P,r[7]=0,r[8]=(M+R)*A,r[9]=(x-d)*A,r[10]=(1-(v+p))*A,r[11]=0,r[12]=n[0],r[13]=n[1],r[14]=n[2],r[15]=1,r}function _1(r,e,n,t,i){var a=e[0],s=e[1],h=e[2],c=e[3],l=a+a,f=s+s,v=h+h,o=a*l,M=a*f,p=a*v,x=s*f,y=s*v,d=h*v,R=c*l,m=c*f,g=c*v,P=t[0],A=t[1],F=t[2],S=i[0],C=i[1],z=i[2],k=(1-(x+d))*P,N=(M+g)*P,b=(p-m)*P,L=(M-g)*A,U=(1-(o+d))*A,hr=(y+R)*A,cr=(p+m)*F,tn=(y-R)*F,an=(1-(o+x))*F;return r[0]=k,r[1]=N,r[2]=b,r[3]=0,r[4]=L,r[5]=U,r[6]=hr,r[7]=0,r[8]=cr,r[9]=tn,r[10]=an,r[11]=0,r[12]=n[0]+S-(k*S+L*C+cr*z),r[13]=n[1]+C-(N*S+U*C+tn*z),r[14]=n[2]+z-(b*S+hr*C+an*z),r[15]=1,r}function E1(r,e){var n=e[0],t=e[1],i=e[2],a=e[3],s=n+n,h=t+t,c=i+i,l=n*s,f=t*s,v=t*h,o=i*s,M=i*h,p=i*c,x=a*s,y=a*h,d=a*c;return r[0]=1-v-p,r[1]=f+d,r[2]=o-y,r[3]=0,r[4]=f-d,r[5]=1-l-p,r[6]=M+x,r[7]=0,r[8]=o+y,r[9]=M-x,r[10]=1-l-v,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function R1(r,e,n,t,i,a,s){var h=1/(n-e),c=1/(i-t),l=1/(a-s);return r[0]=a*2*h,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a*2*c,r[6]=0,r[7]=0,r[8]=(n+e)*h,r[9]=(i+t)*c,r[10]=(s+a)*l,r[11]=-1,r[12]=0,r[13]=0,r[14]=s*a*2*l,r[15]=0,r}function Ee(r,e,n,t,i){var a=1/Math.tan(e/2),s;return r[0]=a/n,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(t-i),r[10]=(i+t)*s,r[14]=2*i*t*s):(r[10]=-1,r[14]=-2*t),r}var O1=Ee,Re=_.perspective=O1;function A1(r,e,n,t,i){var a=1/Math.tan(e/2),s;return r[0]=a/n,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,i!=null&&i!==1/0?(s=1/(t-i),r[10]=i*s,r[14]=i*t*s):(r[10]=-1,r[14]=-t),r}function P1(r,e,n,t){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),h=Math.tan(e.rightDegrees*Math.PI/180),c=2/(s+h),l=2/(i+a);return r[0]=c,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=l,r[6]=0,r[7]=0,r[8]=-((s-h)*c*.5),r[9]=(i-a)*l*.5,r[10]=t/(n-t),r[11]=-1,r[12]=0,r[13]=0,r[14]=t*n/(n-t),r[15]=0,r}function Oe(r,e,n,t,i,a,s){var h=1/(e-n),c=1/(t-i),l=1/(a-s);return r[0]=-2*h,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*c,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*l,r[11]=0,r[12]=(e+n)*h,r[13]=(i+t)*c,r[14]=(s+a)*l,r[15]=1,r}var L1=Oe,Ae=_.ortho=L1;function w1(r,e,n,t,i,a,s){var h=1/(e-n),c=1/(t-i),l=1/(a-s);return r[0]=-2*h,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*c,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=l,r[11]=0,r[12]=(e+n)*h,r[13]=(i+t)*c,r[14]=a*l,r[15]=1,r}function $1(r,e,n,t){var i,a,s,h,c,l,f,v,o,M,p=e[0],x=e[1],y=e[2],d=t[0],R=t[1],m=t[2],g=n[0],P=n[1],A=n[2];return Math.abs(p-g)<$.EPSILON&&Math.abs(x-P)<$.EPSILON&&Math.abs(y-A)<$.EPSILON?ge(r):(f=p-g,v=x-P,o=y-A,M=1/Math.hypot(f,v,o),f*=M,v*=M,o*=M,i=R*o-m*v,a=m*f-d*o,s=d*v-R*f,M=Math.hypot(i,a,s),M?(M=1/M,i*=M,a*=M,s*=M):(i=0,a=0,s=0),h=v*s-o*a,c=o*i-f*s,l=f*a-v*i,M=Math.hypot(h,c,l),M?(M=1/M,h*=M,c*=M,l*=M):(h=0,c=0,l=0),r[0]=i,r[1]=h,r[2]=f,r[3]=0,r[4]=a,r[5]=c,r[6]=v,r[7]=0,r[8]=s,r[9]=l,r[10]=o,r[11]=0,r[12]=-(i*p+a*x+s*y),r[13]=-(h*p+c*x+l*y),r[14]=-(f*p+v*x+o*y),r[15]=1,r)}function z1(r,e,n,t){var i=e[0],a=e[1],s=e[2],h=t[0],c=t[1],l=t[2],f=i-n[0],v=a-n[1],o=s-n[2],M=f*f+v*v+o*o;M>0&&(M=1/Math.sqrt(M),f*=M,v*=M,o*=M);var p=c*o-l*v,x=l*f-h*o,y=h*v-c*f;return M=p*p+x*x+y*y,M>0&&(M=1/Math.sqrt(M),p*=M,x*=M,y*=M),r[0]=p,r[1]=x,r[2]=y,r[3]=0,r[4]=v*y-o*x,r[5]=o*p-f*y,r[6]=f*x-v*p,r[7]=0,r[8]=f,r[9]=v,r[10]=o,r[11]=0,r[12]=i,r[13]=a,r[14]=s,r[15]=1,r}function S1(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"}function C1(r){return Math.hypot(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}function N1(r,e,n){return r[0]=e[0]+n[0],r[1]=e[1]+n[1],r[2]=e[2]+n[2],r[3]=e[3]+n[3],r[4]=e[4]+n[4],r[5]=e[5]+n[5],r[6]=e[6]+n[6],r[7]=e[7]+n[7],r[8]=e[8]+n[8],r[9]=e[9]+n[9],r[10]=e[10]+n[10],r[11]=e[11]+n[11],r[12]=e[12]+n[12],r[13]=e[13]+n[13],r[14]=e[14]+n[14],r[15]=e[15]+n[15],r}function Pe(r,e,n){return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r[2]=e[2]-n[2],r[3]=e[3]-n[3],r[4]=e[4]-n[4],r[5]=e[5]-n[5],r[6]=e[6]-n[6],r[7]=e[7]-n[7],r[8]=e[8]-n[8],r[9]=e[9]-n[9],r[10]=e[10]-n[10],r[11]=e[11]-n[11],r[12]=e[12]-n[12],r[13]=e[13]-n[13],r[14]=e[14]-n[14],r[15]=e[15]-n[15],r}function F1(r,e,n){return r[0]=e[0]*n,r[1]=e[1]*n,r[2]=e[2]*n,r[3]=e[3]*n,r[4]=e[4]*n,r[5]=e[5]*n,r[6]=e[6]*n,r[7]=e[7]*n,r[8]=e[8]*n,r[9]=e[9]*n,r[10]=e[10]*n,r[11]=e[11]*n,r[12]=e[12]*n,r[13]=e[13]*n,r[14]=e[14]*n,r[15]=e[15]*n,r}function q1(r,e,n,t){return r[0]=e[0]+n[0]*t,r[1]=e[1]+n[1]*t,r[2]=e[2]+n[2]*t,r[3]=e[3]+n[3]*t,r[4]=e[4]+n[4]*t,r[5]=e[5]+n[5]*t,r[6]=e[6]+n[6]*t,r[7]=e[7]+n[7]*t,r[8]=e[8]+n[8]*t,r[9]=e[9]+n[9]*t,r[10]=e[10]+n[10]*t,r[11]=e[11]+n[11]*t,r[12]=e[12]+n[12]*t,r[13]=e[13]+n[13]*t,r[14]=e[14]+n[14]*t,r[15]=e[15]+n[15]*t,r}function Y1(r,e){return 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]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]}function k1(r,e){var n=r[0],t=r[1],i=r[2],a=r[3],s=r[4],h=r[5],c=r[6],l=r[7],f=r[8],v=r[9],o=r[10],M=r[11],p=r[12],x=r[13],y=r[14],d=r[15],R=e[0],m=e[1],g=e[2],P=e[3],A=e[4],F=e[5],S=e[6],C=e[7],z=e[8],k=e[9],N=e[10],b=e[11],L=e[12],U=e[13],hr=e[14],cr=e[15];return Math.abs(n-R)<=$.EPSILON*Math.max(1,Math.abs(n),Math.abs(R))&&Math.abs(t-m)<=$.EPSILON*Math.max(1,Math.abs(t),Math.abs(m))&&Math.abs(i-g)<=$.EPSILON*Math.max(1,Math.abs(i),Math.abs(g))&&Math.abs(a-P)<=$.EPSILON*Math.max(1,Math.abs(a),Math.abs(P))&&Math.abs(s-A)<=$.EPSILON*Math.max(1,Math.abs(s),Math.abs(A))&&Math.abs(h-F)<=$.EPSILON*Math.max(1,Math.abs(h),Math.abs(F))&&Math.abs(c-S)<=$.EPSILON*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(l-C)<=$.EPSILON*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(f-z)<=$.EPSILON*Math.max(1,Math.abs(f),Math.abs(z))&&Math.abs(v-k)<=$.EPSILON*Math.max(1,Math.abs(v),Math.abs(k))&&Math.abs(o-N)<=$.EPSILON*Math.max(1,Math.abs(o),Math.abs(N))&&Math.abs(M-b)<=$.EPSILON*Math.max(1,Math.abs(M),Math.abs(b))&&Math.abs(p-L)<=$.EPSILON*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(x-U)<=$.EPSILON*Math.max(1,Math.abs(x),Math.abs(U))&&Math.abs(y-hr)<=$.EPSILON*Math.max(1,Math.abs(y),Math.abs(hr))&&Math.abs(d-cr)<=$.EPSILON*Math.max(1,Math.abs(d),Math.abs(cr))}var b1=ue;_.mul=b1;var W1=Pe;_.sub=W1;var O={};function mr(r){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?mr=function(n){return typeof n}:mr=function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},mr(r)}Object.defineProperty(O,"__esModule",{value:!0}),O.create=we,O.clone=D1,O.fromValues=V1,O.copy=X1,O.set=U1,O.add=I1,O.subtract=$e,O.multiply=ze,O.divide=Se,O.ceil=K1,O.floor=G1,O.min=H1,O.max=Q1,O.round=J1,O.scale=j1,O.scaleAndAdd=ra,O.distance=Ce,O.squaredDistance=Ne,O.length=Fe,O.squaredLength=qe,O.negate=ea,O.inverse=na,O.normalize=ta,O.dot=ia,O.cross=sa,O.lerp=ha,O.random=ca;var B1=O.transformMat4=la;O.transformQuat=fa,O.zero=oa,O.str=va,O.exactEquals=Ma,O.equals=pa,O.forEach=O.sqrLen=O.len=O.sqrDist=O.dist=O.div=O.mul=O.sub=void 0;var D=Z1(W);function Le(r){if(typeof WeakMap!="function")return null;var e=new WeakMap,n=new WeakMap;return(Le=function(i){return i?n:e})(r)}function Z1(r,e){if(!e&&r&&r.__esModule)return r;if(r===null||mr(r)!=="object"&&typeof r!="function")return{default:r};var n=Le(e);if(n&&n.has(r))return n.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in r)if(a!=="default"&&Object.prototype.hasOwnProperty.call(r,a)){var s=i?Object.getOwnPropertyDescriptor(r,a):null;s&&(s.get||s.set)?Object.defineProperty(t,a,s):t[a]=r[a]}return t.default=r,n&&n.set(r,t),t}function we(){var r=new D.ARRAY_TYPE(4);return D.ARRAY_TYPE!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0,r[3]=0),r}function D1(r){var e=new D.ARRAY_TYPE(4);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function V1(r,e,n,t){var i=new D.ARRAY_TYPE(4);return i[0]=r,i[1]=e,i[2]=n,i[3]=t,i}function X1(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function U1(r,e,n,t,i){return r[0]=e,r[1]=n,r[2]=t,r[3]=i,r}function I1(r,e,n){return r[0]=e[0]+n[0],r[1]=e[1]+n[1],r[2]=e[2]+n[2],r[3]=e[3]+n[3],r}function $e(r,e,n){return r[0]=e[0]-n[0],r[1]=e[1]-n[1],r[2]=e[2]-n[2],r[3]=e[3]-n[3],r}function ze(r,e,n){return r[0]=e[0]*n[0],r[1]=e[1]*n[1],r[2]=e[2]*n[2],r[3]=e[3]*n[3],r}function Se(r,e,n){return r[0]=e[0]/n[0],r[1]=e[1]/n[1],r[2]=e[2]/n[2],r[3]=e[3]/n[3],r}function K1(r,e){return r[0]=Math.ceil(e[0]),r[1]=Math.ceil(e[1]),r[2]=Math.ceil(e[2]),r[3]=Math.ceil(e[3]),r}function G1(r,e){return r[0]=Math.floor(e[0]),r[1]=Math.floor(e[1]),r[2]=Math.floor(e[2]),r[3]=Math.floor(e[3]),r}function H1(r,e,n){return r[0]=Math.min(e[0],n[0]),r[1]=Math.min(e[1],n[1]),r[2]=Math.min(e[2],n[2]),r[3]=Math.min(e[3],n[3]),r}function Q1(r,e,n){return r[0]=Math.max(e[0],n[0]),r[1]=Math.max(e[1],n[1]),r[2]=Math.max(e[2],n[2]),r[3]=Math.max(e[3],n[3]),r}function J1(r,e){return r[0]=Math.round(e[0]),r[1]=Math.round(e[1]),r[2]=Math.round(e[2]),r[3]=Math.round(e[3]),r}function j1(r,e,n){return r[0]=e[0]*n,r