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