UNPKG

@frdr/amandes

Version:

A 360° media viewer for the modern web

5 lines 192 kB
var yg=Object.defineProperty;var gg=(I,U,G)=>U in I?yg(I,U,{enumerable:!0,configurable:!0,writable:!0,value:G}):I[U]=G;var z=(I,U,G)=>(gg(I,typeof U!="symbol"?U+"":U,G),G),Io=(I,U,G)=>{if(!U.has(I))throw TypeError("Cannot "+G)};var s=(I,U,G)=>(Io(I,U,"read from private field"),G?G.call(I):U.get(I)),u=(I,U,G)=>{if(U.has(I))throw TypeError("Cannot add the same private member more than once");U instanceof WeakSet?U.add(I):U.set(I,G)},v=(I,U,G,Gr)=>(Io(I,U,"write to private field"),Gr?Gr.call(I,G):U.set(I,G),G),Le=(I,U,G,Gr)=>({set _(Z){v(I,U,Z,G)},get _(){return s(I,U,Gr)}}),_=(I,U,G)=>(Io(I,U,"access private method"),G);(function(I,U){typeof exports=="object"&&typeof module!="undefined"?U(exports):typeof define=="function"&&define.amd?define(["exports"],U):(I=typeof globalThis!="undefined"?globalThis:I||self,U(I.Marzipano={}))})(this,function(I){var Lt,cs,ei,Pt,mr,Ah,pg,zh,wg,Ch,Mg,yr,Ta,ti,fs,vs,gr,At,zt,zi,tn,rn,nn,ds,uf,Ct,ze,at,pr,se,us,ii,Ci,Ue,We,ot,Ce,Re,Me,Ri,Ii,$i,sn,hn,an,wr,k,ms,Mr,ke,Li,Ie,Jt,Ih,xg,ys,mf,on,$o,$h,Tg,Rt,It,je,ri,lt,ct,Oi,ln,cn,fn,xr,ee,vn,$t,jr,ft,hr,gs,yf,ps,gf,dn,Oo,Di,Ni,Ot,Tr,ws,Ms,xs,Ts,un,mn,vt,dt,Dt,Fi,ni,Ge,Er,ue,ut,ar,Es,_s,bs,_r,br,yn,gn,Ss,Ls,me,Sr,he,mt,yt,$e,Ze,si,hi,le,Oh,Eg,Ps,pf,Hi,mh,As,Oe,ai,De,oi,Nt,pn,Ft,Dh,_g,Vi,qi,Lr,Ht,zs,wn,Nh,bg,Mn,Pr,Cs,Rs,Yi,xn,Tn,En,gt,Xi,Fh,Sg,Hh,Lg,Vh,Pg,li,Vt,qh,Ag,Bi,_n,Ar,bn,zr,Sn,Ne,ci,Cr,Ui,re,qt,Yh,zg,Xh,Cg,Bh,Rg,Is,wf,Uh,Ig,Wh,$g,$s,Wi,ki,xe,fi,kh,Og,jh,Dg,Os,Mf,Ds,xf,Ns,Yt,vi,di,Ln,ji,Gi,Pn,ui,Gh,Ng,Fs,Tf,Zh,Fg,An,Zi,Xt,Ki,Ke,zn,Hs,Vs,mi,Rr,Kh,Hg,Qh,Vg,Qe,yi,Cn,Qi,Rn,qs,Ef,Jh,qg,ea,Yg,te,Bt,gi,Je,pt,Fe,Ir,$r,ta,Xg,ia,Bg,ra,Ug,na,Wg,Ys,_f,Xs,bf,Bs,Sf,Or,Ea,sa,kg,Ut,In,Us,Dr,Wt,pi,Ws,ha,jg,aa,Gg,$n,On,ks,Dn,He,wi,Mi,xi,Nn,Fn,js,kt,Ti,Hn,Vn,Do,ce,wt,Mt,Ji,xt,Nr,Fr,Hr,Vr,qn,Yn,Xn,oa,Zg,Gs,Lf,Bn,jt,Un,er,qr,Yr,Zs,Ks,et,Qs,Pf,la,Kg,Js,Af,Xr,_a,Ei,ye,eh,Wn,tr,Tt,kn,th,Te,ae,Ee,_e,jn,Gn,ir,ih,rh,Zn,nh,ca,Qg,sh,zf,Br,ba,fa,Jg,rr,yh,hh,Cf,va,e2;"use strict";var U=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function G(){}G.prototype.addEventListener=function(t,e){var i=this.__events=this.__events||{},r=i[t]=i[t]||[];r.indexOf(e)<0&&r.push(e)},G.prototype.removeEventListener=function(t,e){var i=this.__events=this.__events||{},r=i[t];if(r){var n=r.indexOf(e);n>=0&&r.splice(n,1)}},G.prototype.emit=function(t,e){var i=this.__events=this.__events||{},r=i[t],n=Array.prototype.slice.call(arguments,1);if(r)for(var h=0;h<r.length;h++){var a=r[h];a.apply(this,n)}};function Gr(t){for(var e in G.prototype)G.prototype.hasOwnProperty(e)&&(t.prototype[e]=G.prototype[e])}var Z=Gr;function Rf(){return typeof performance!="undefined"&&performance.now?function(){return performance.now()}:function(){return Date.now()}}var qe=Rf();class If{constructor(e,i){z(this,"fn");z(this,"cb");z(this,"cfn");this.fn=e,this.cb=i,this.cfn=null}}class No{constructor(e){u(this,Ah);u(this,zh);u(this,Ch);u(this,yr);u(this,Lt,void 0);u(this,cs,void 0);u(this,ei,void 0);u(this,Pt,void 0);u(this,mr,void 0);v(this,Lt,[]),v(this,cs,e&&e.delay||0),v(this,ei,e&&!!e.paused||!1),v(this,Pt,null),v(this,mr,null)}length(){return s(this,Lt).length}push(e,i){const r=new If(e,i),n=_(this,Ch,Mg).bind(this,r);return s(this,Lt).push(r),_(this,yr,Ta).call(this),n}pause(){s(this,ei)||v(this,ei,!0)}resume(){s(this,ei)&&(v(this,ei,!1),_(this,yr,Ta).call(this))}}Lt=new WeakMap,cs=new WeakMap,ei=new WeakMap,Pt=new WeakMap,mr=new WeakMap,Ah=new WeakSet,pg=function(e){if(s(this,Pt))throw new Error("WorkQueue: called start while running task");v(this,Pt,e);const i=_(this,zh,wg).bind(this,e);if(e.cfn=e.fn(i),typeof e.cfn!="function")throw new Error("WorkQueue: function is not cancellable")},zh=new WeakSet,wg=function(e){const i=Array.prototype.slice.call(arguments,1);if(s(this,Pt)!==e)throw new Error("WorkQueue: called finish on wrong task");e.cb.apply(null,i),v(this,Pt,null),v(this,mr,qe()),_(this,yr,Ta).call(this)},Ch=new WeakSet,Mg=function(e){const i=Array.prototype.slice.call(arguments,1);if(s(this,Pt)===e)e.cfn.apply(null,i);else{const r=s(this,Lt).indexOf(e);r>=0&&(s(this,Lt).splice(r,1),e.cb.apply(null,i))}},yr=new WeakSet,Ta=function(){if(s(this,ei)||!s(this,Lt).length||s(this,Pt))return;if(s(this,mr)!=null){const i=qe()-s(this,mr),r=s(this,cs)-i;if(r>0){setTimeout(_(this,yr,Ta).bind(this),r);return}}const e=s(this,Lt).shift();_(this,Ah,pg).call(this,e)};function Fo(t,e,i,r){r=r||{};let n;i!=null&&i.absoluteWidth!=null?n=i.absoluteWidth/t:i!=null&&i.relativeWidth!=null?n=i.relativeWidth:n=1;let h;i&&i.absoluteHeight!=null?h=i.absoluteHeight/e:i!=null&&i.relativeHeight!=null?h=i.relativeHeight:h=1;let a;i!=null&&i.absoluteX!=null?a=i.absoluteX/t:i!=null&&i.relativeX!=null?a=i.relativeX:a=0;let o;return i!=null&&i.absoluteY!=null?o=i.absoluteY/e:i!=null&&i.relativeY!=null?o=i.relativeY:o=0,r.x=a,r.y=o,r.width=n,r.height=h,r}function Ho(t){return function(i){var r,n;try{n=t()}catch(h){r=h}finally{r?i(r):i(null,n)}}}function Sa(t){let e=!1,i;return function(...n){return e||(e=!0,i=t(...n)),i}}function Vo(t){return function(){if(!arguments.length)throw new Error("cancelized: expected at least one argument");var i=Array.prototype.slice.call(arguments,0),r=i[i.length-1]=Sa(i[i.length-1]);function n(){r.apply(null,arguments)}return t.apply(null,i),n}}function K(t){for(var e in t)t.hasOwnProperty(e)&&(t[e]=void 0)}class $f{constructor(){u(this,ti,void 0);v(this,ti,{})}set(e,i,r){s(this,ti)[e]||(s(this,ti)[e]={}),s(this,ti)[e][i]=r}get(e,i){return s(this,ti)[e]&&s(this,ti)[e][i]||null}}ti=new WeakMap;function Of(t,e){return t.cmp(e)}function Df(t,e){return-t.cmp(e)}class La{constructor(e){z(this,"_progressive");z(this,"_layers");z(this,"_renderers");z(this,"_tilesToLoad");z(this,"_tilesToRender");z(this,"_tmpVisible");z(this,"_tmpChildren");z(this,"_width");z(this,"_height");z(this,"_tmpRect");z(this,"_tmpSize");z(this,"_createTextureWorkQueue");z(this,"_rendererRegistry");z(this,"type","stage");z(this,"TextureClass",null);this._progressive=!!(e&&e.progressive),this._layers=[],this._renderers=[],this._tilesToLoad=[],this._tilesToRender=[],this._tmpVisible=[],this._tmpChildren=[],this._width=0,this._height=0,this._tmpRect={x:0,y:0,width:0,height:0},this._tmpSize={width:0,height:0},this._createTextureWorkQueue=new No,this._emitRenderInvalid=this._emitRenderInvalid.bind(this),this._rendererRegistry=new $f}destroy(){this.removeAllLayers(),K(this)}registerRenderer(e,i,r){return this._rendererRegistry.set(e,i,r)}domElement(){throw new Error("Stage implementation must override domElement")}width(){return this._width}height(){return this._height}size(e){return e=e||{width:0,height:0},e.width=this._width,e.height=this._height,e}setSize(e){this._width=e.width,this._height=e.height,this.setSizeForType(),this.emit("resize"),this._emitRenderInvalid()}emit(e,i){throw new Error("Method not implemented.")}setSizeForType(e){throw new Error("Stage implementation must override setSizeForType")}loadImage(e,i,r){throw new Error("Stage implementation must override loadImage")}validateLayer(e){throw new Error("Stage implementation must override validateLayer")}listLayers(){return[...this._layers]}hasLayer(e){return this._layers.indexOf(e)>=0}addLayer(e,i){if(this._layers.indexOf(e)>=0)throw new Error("Layer already in stage");if(i==null&&(i=this._layers.length),i<0||i>this._layers.length)throw new Error("Invalid layer position");this.validateLayer(e);var r=e.geometry().type,n=e.view().type,h=this._rendererRegistry.get(r,n);if(!h)throw new Error("No "+this.type+" renderer avaiable for "+r+" geometry and "+n+" view");var a=this.createRenderer(h);this._layers.splice(i,0,e),this._renderers.splice(i,0,a),e.addEventListener("viewChange",this._emitRenderInvalid),e.addEventListener("effectsChange",this._emitRenderInvalid),e.addEventListener("fixedLevelChange",this._emitRenderInvalid),e.addEventListener("textureStoreChange",this._emitRenderInvalid),this._emitRenderInvalid()}createRenderer(e){throw new Error("Method not implemented.")}moveLayer(e,i){var r=this._layers.indexOf(e);if(r<0)throw new Error("No such layer in stage");if(i<0||i>=this._layers.length)throw new Error("Invalid layer position");e=this._layers.splice(r,1)[0];var n=this._renderers.splice(r,1)[0];this._layers.splice(i,0,e),this._renderers.splice(i,0,n),this._emitRenderInvalid()}removeLayer(e){var i=this._layers.indexOf(e);if(i<0)throw new Error("No such layer in stage");var r=this._layers.splice(i,1)[0],n=this._renderers.splice(i,1)[0];this.destroyRenderer(n),r.removeEventListener("viewChange",this._emitRenderInvalid),r.removeEventListener("effectsChange",this._emitRenderInvalid),r.removeEventListener("fixedLevelChange",this._emitRenderInvalid),r.removeEventListener("textureStoreChange",this._emitRenderInvalid),this._emitRenderInvalid()}destroyRenderer(e){throw new Error("Method not implemented.")}removeAllLayers(){for(;this._layers.length>0;)this.removeLayer(this._layers[0])}startFrame(){throw new Error("Stage implementation must override startFrame")}endFrame(){throw new Error("Stage implementation must override endFrame")}render(){var e,i,r=this._tilesToLoad,n=this._tilesToRender,h=!0,a,o=this._width,l=this._height,c=this._tmpRect,f=this._tmpSize;if(!(o<=0||l<=0)){for(this.startFrame(),e=0;e<this._layers.length;e++)this._layers[e].textureStore().startFrame();for(e=0;e<this._layers.length;e++){var m=this._layers[e],y=m.effects(),p=m.view(),w=m.textureStore(),T=this._renderers[e],M=this._layers.length-e,b,C;if(Fo(o,l,y==null?void 0:y.rect,c),!(c.width<=0||c.height<=0)){for(f.width=c.width*this._width,f.height=c.height*this._height,p.setSize(f),T.startLayer(m,c),a=this._collectTiles(m,w),i=0;i<r.length;i++)b=r[i],w.markTile(b);for(i=0;i<n.length;i++)b=n[i],C=w.texture(b),T.renderTile(b,C,m,M);m.emit("renderComplete",a),a||(h=!1),T.endLayer(m,c)}}for(e=0;e<this._layers.length;e++)this._layers[e].textureStore().endFrame();this.endFrame(),this.emit("renderComplete",h)}}_collectTiles(e,i){var r=this._tilesToLoad,n=this._tilesToRender,h=this._tmpVisible;r.length=0,n.length=0,h.length=0,e.visibleTiles(h);for(var a=!0,o=0;o<h.length;o++){var l=h[o],c;this._collectTileToLoad(l),i.texture(l)?(c=!1,this._collectTileToRender(l)):(c=this._collectChildren(l,i),a=!1),this._collectParents(l,i,c)}return r.sort(Of),n.sort(Df),a}_collectChildren(e,i){var r=this._tmpChildren,n=!0;do{if(r.length=0,!e.children(r))break;n=!1;for(var h=0;h<r.length;h++)e=r[h],i.texture(e)?(this._collectTileToLoad(e),this._collectTileToRender(e)):n=!0}while(n&&r.length===1);return n}_collectParents(e,i,r){for(var n=this._progressive;(n||r)&&(e=e.parent())!=null;){if(r){if(i.texture(e))this._collectTileToRender(e),r=!1;else if(!this._progressive)continue}this._collectTileToLoad(e)||(n=!1)}return r}_collectTileToLoad(e){return this._collectTileIntoList(e,this._tilesToLoad)}_collectTileToRender(e){return this._collectTileIntoList(e,this._tilesToRender)}_collectTileIntoList(e,i){for(var r=!1,n=0;n<i.length;n++)if(e.equals(i[n])){r=!0;break}return r||i.push(e),!r}createTexture(e,i,r){var n=this;function h(){return n.TextureClass?new n.TextureClass(n,e,i):null}var a=Vo(Ho(h));return this._createTextureWorkQueue.push(a,function(o,l){r(o,e,i,l)})}_emitRenderInvalid(){this.emit("renderInvalid")}}Z(La),La.prototype._emitRenderInvalid=function(){this.emit("renderInvalid")};const _t=function(){return typeof window!="undefined"?window:typeof self!="undefined"?self:typeof global!="undefined"?global:null}(),Pa={HTMLImageElement:["naturalWidth","naturalHeight"],HTMLCanvasElement:["width","height"],ImageBitmap:["width","height"]};class Zr{constructor(e){u(this,fs,void 0);u(this,vs,void 0);u(this,gr,void 0);let i=!1;for(const r in Pa)if((_t==null?void 0:_t[r])&&e instanceof _t[r]){i=!0,v(this,fs,Pa[r][0]),v(this,vs,Pa[r][1]);break}if(!i)throw new Error("Unsupported pixel source");v(this,gr,e)}destroy(){K(this)}element(){return s(this,gr)}width(){return s(this,gr)[s(this,fs)]}height(){return s(this,gr)[s(this,vs)]}timestamp(){return 0}isDynamic(){return!1}}fs=new WeakMap,vs=new WeakMap,gr=new WeakMap,Z(Zr);class qo extends Error{constructor(...e){super(...e);typeof e[0]=="string"&&(this.message=e[0])}}var Yo={exports:{}};/*! * Bowser - a browser detector * https://github.com/ded/bowser * MIT License | (c) Dustin Diaz 2015 */(function(t){(function(e,i,r){t.exports?t.exports=r():e[i]=r()})(U,"bowser",function(){var e=!0;function i(c){function f(Gt){var Ve=c.match(Gt);return Ve&&Ve.length>1&&Ve[1]||""}function m(Gt){var Ve=c.match(Gt);return Ve&&Ve.length>1&&Ve[2]||""}var y=f(/(ipod|iphone|ipad)/i).toLowerCase(),p=/like android/i.test(c),w=!p&&/android/i.test(c),T=/nexus\s*[0-6]\s*/i.test(c),M=!T&&/nexus\s*[0-9]+/i.test(c),b=/CrOS/.test(c),C=/silk/i.test(c),A=/sailfish/i.test(c),R=/tizen/i.test(c),$=/(web|hpw)(o|0)s/i.test(c),L=/windows phone/i.test(c);/SamsungBrowser/i.test(c);var V=!L&&/windows/i.test(c),q=!y&&!C&&/macintosh/i.test(c),X=!w&&!A&&!R&&!$&&/linux/i.test(c),Y=m(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),F=f(/version\/(\d+(\.\d+)?)/i),B=/tablet/i.test(c)&&!/tablet pc/i.test(c),j=!B&&/[^-]mobi/i.test(c),D=/xbox/i.test(c),E;/opera/i.test(c)?E={name:"Opera",opera:e,version:F||f(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(c)?E={name:"Opera",opera:e,version:f(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||F}:/SamsungBrowser/i.test(c)?E={name:"Samsung Internet for Android",samsungBrowser:e,version:F||f(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(c)?E={name:"NAVER Whale browser",whale:e,version:f(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(c)?E={name:"MZ Browser",mzbrowser:e,version:f(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(c)?E={name:"Opera Coast",coast:e,version:F||f(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(c)?E={name:"Focus",focus:e,version:f(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(c)?E={name:"Yandex Browser",yandexbrowser:e,version:F||f(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(c)?E={name:"UC Browser",ucbrowser:e,version:f(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(c)?E={name:"Maxthon",maxthon:e,version:f(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(c)?E={name:"Epiphany",epiphany:e,version:f(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(c)?E={name:"Puffin",puffin:e,version:f(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(c)?E={name:"Sleipnir",sleipnir:e,version:f(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(c)?E={name:"K-Meleon",kMeleon:e,version:f(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:L?(E={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},Y?(E.msedge=e,E.version=Y):(E.msie=e,E.version=f(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(c)?E={name:"Internet Explorer",msie:e,version:f(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:b?E={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:f(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(c)?E={name:"Microsoft Edge",msedge:e,version:Y}:/vivaldi/i.test(c)?E={name:"Vivaldi",vivaldi:e,version:f(/vivaldi\/(\d+(\.\d+)?)/i)||F}:A?E={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:f(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(c)?E={name:"SeaMonkey",seamonkey:e,version:f(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(c)?(E={name:"Firefox",firefox:e,version:f(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(c)&&(E.firefoxos=e,E.osname="Firefox OS")):C?E={name:"Amazon Silk",silk:e,version:f(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(c)?E={name:"PhantomJS",phantom:e,version:f(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(c)?E={name:"SlimerJS",slimer:e,version:f(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(c)||/rim\stablet/i.test(c)?E={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:F||f(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:$?(E={name:"WebOS",osname:"WebOS",webos:e,version:F||f(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(c)&&(E.touchpad=e)):/bada/i.test(c)?E={name:"Bada",osname:"Bada",bada:e,version:f(/dolfin\/(\d+(\.\d+)?)/i)}:R?E={name:"Tizen",osname:"Tizen",tizen:e,version:f(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||F}:/qupzilla/i.test(c)?E={name:"QupZilla",qupzilla:e,version:f(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||F}:/chromium/i.test(c)?E={name:"Chromium",chromium:e,version:f(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||F}:/chrome|crios|crmo/i.test(c)?E={name:"Chrome",chrome:e,version:f(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:w?E={name:"Android",version:F}:/safari|applewebkit/i.test(c)?(E={name:"Safari",safari:e},F&&(E.version=F)):y?(E={name:y=="iphone"?"iPhone":y=="ipad"?"iPad":"iPod"},F&&(E.version=F)):/googlebot/i.test(c)?E={name:"Googlebot",googlebot:e,version:f(/googlebot\/(\d+(\.\d+))/i)||F}:E={name:f(/^(.*)\/(.*) /),version:m(/^(.*)\/(.*) /)},!E.msedge&&/(apple)?webkit/i.test(c)?(/(apple)?webkit\/537\.36/i.test(c)?(E.name=E.name||"Blink",E.blink=e):(E.name=E.name||"Webkit",E.webkit=e),!E.version&&F&&(E.version=F)):!E.opera&&/gecko\//i.test(c)&&(E.name=E.name||"Gecko",E.gecko=e,E.version=E.version||f(/gecko\/(\d+(\.\d+)?)/i)),!E.windowsphone&&(w||E.silk)?(E.android=e,E.osname="Android"):!E.windowsphone&&y?(E[y]=e,E.ios=e,E.osname="iOS"):q?(E.mac=e,E.osname="macOS"):D?(E.xbox=e,E.osname="Xbox"):V?(E.windows=e,E.osname="Windows"):X&&(E.linux=e,E.osname="Linux");function _i(Gt){switch(Gt){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}var J="";E.windows?J=_i(f(/Windows ((NT|XP)( \d\d?.\d)?)/i)):E.windowsphone?J=f(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):E.mac?(J=f(/Mac OS X (\d+([_\.\s]\d+)*)/i),J=J.replace(/[_\s]/g,".")):y?(J=f(/os (\d+([_\s]\d+)*) like mac os x/i),J=J.replace(/[_\s]/g,".")):w?J=f(/android[ \/-](\d+(\.\d+)*)/i):E.webos?J=f(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):E.blackberry?J=f(/rim\stablet\sos\s(\d+(\.\d+)*)/i):E.bada?J=f(/bada\/(\d+(\.\d+)*)/i):E.tizen&&(J=f(/tizen[\/\s](\d+(\.\d+)*)/i)),J&&(E.osversion=J);var Ur=!E.windows&&J.split(".")[0];return B||M||y=="ipad"||w&&(Ur==3||Ur>=4&&!j)||E.silk?E.tablet=e:(j||y=="iphone"||y=="ipod"||w||T||E.blackberry||E.webos||E.bada)&&(E.mobile=e),E.msedge||E.msie&&E.version>=10||E.yandexbrowser&&E.version>=15||E.vivaldi&&E.version>=1||E.chrome&&E.version>=20||E.samsungBrowser&&E.version>=4||E.whale&&a([E.version,"1.0"])===1||E.mzbrowser&&a([E.version,"6.0"])===1||E.focus&&a([E.version,"1.0"])===1||E.firefox&&E.version>=20||E.safari&&E.version>=6||E.opera&&E.version>=10||E.ios&&E.osversion&&E.osversion.split(".")[0]>=6||E.blackberry&&E.version>=10.1||E.chromium&&E.version>=20?E.a=e:E.msie&&E.version<10||E.chrome&&E.version<20||E.firefox&&E.version<20||E.safari&&E.version<6||E.opera&&E.version<10||E.ios&&E.osversion&&E.osversion.split(".")[0]<6||E.chromium&&E.version<20?E.c=e:E.x=e,E}var r=i(typeof navigator!="undefined"&&navigator.userAgent||"");r.test=function(c){for(var f=0;f<c.length;++f){var m=c[f];if(typeof m=="string"&&m in r)return!0}return!1};function n(c){return c.split(".").length}function h(c,f){var m=[],y;if(Array.prototype.map)return Array.prototype.map.call(c,f);for(y=0;y<c.length;y++)m.push(f(c[y]));return m}function a(c){for(var f=Math.max(n(c[0]),n(c[1])),m=h(c,function(y){var p=f-n(y);return y=y+new Array(p+1).join(".0"),h(y.split("."),function(w){return new Array(20-w.length).join("0")+w}).reverse()});--f>=0;){if(m[0][f]>m[1][f])return 1;if(m[0][f]===m[1][f]){if(f===0)return 0}else return-1}}function o(c,f,m){var y=r;typeof f=="string"&&(m=f,f=void 0),f===void 0&&(f=!1),m&&(y=i(m));var p=""+y.version;for(var w in c)if(c.hasOwnProperty(w)&&y[w]){if(typeof c[w]!="string")throw new Error("Browser version in the minVersion map should be a string: "+w+": "+String(c));return a([p,c[w]])<0}return f}function l(c,f,m){return!o(c,f,m)}return r.isUnsupportedBrowser=o,r.compareVersions=a,r.check=l,r._detect=i,r.detect=i,r})})(Yo);var gh=Yo.exports;const Nf=!!(_t!=null&&_t.createImageBitmap)&&!gh.firefox&&!gh.safari,Ff={imageOrientation:"flipY",premultiplyAlpha:"premultiply"};class Hf{constructor(e){z(this,"_stage");this._stage=e}loadImage(e,i,r){const n=this,h=new Image;h.crossOrigin="anonymous";const a=i&&i.x||0,o=i&&i.y||0,l=i&&i.width||1,c=i&&i.height||1;r=Sa(r),h.onload=function(){n._handleLoad(h,a,o,l,c,r)},h.onerror=function(){n._handleError(e,r)},h.src=e;function f(){h.onload=h.onerror=null,h.src="",r.apply(null,arguments)}return f}_handleLoad(e,i,r,n,h,a){if(i===0&&r===0&&n===1&&h===1){a(null,new Zr(e));return}if(i*=e.naturalWidth,r*=e.naturalHeight,n*=e.naturalWidth,h*=e.naturalHeight,Nf)_t==null||_t.createImageBitmap(e,i,r,n,h,Ff).then(function(o){a(null,new Zr(o))});else{const o=document.createElement("canvas");o.width=n,o.height=h;const l=o.getContext("2d");l==null||l.drawImage(e,i,r,n,h,0,0,n,h),a(null,new Zr(o))}}_handleError(e,i){i(new qo("Network error: "+e))}}var Vf=1;function Kr(){if(typeof window!="undefined"){if(window.devicePixelRatio)return window.devicePixelRatio;var t=window.screen;if(t&&t.deviceXDPI&&t.logicalXDPI)return t.deviceXDPI/t.logicalXDPI;if(t&&t.systemXDPI&&t.logicalXDPI)return t.systemXDPI/t.logicalXDPI}return Vf}function Xo(t){return(t&t-1)==0}function Aa(t){if(typeof document=="undefined")return t;const e=document.documentElement.style,i=["Moz","Webkit","Khtml","O","ms"];for(let r=0;r<i.length;r++){const n=i[r],h=t[0].toUpperCase()+t.slice(1),a=n+h;if(a in e)return a}return t}function qf(t){const e=Aa(t);return function(r){return r.style[e]}}function ph(t){const e=Aa(t);return function(r,n){return r.style[e]=n}}const wh=ph("transform"),Bo=ph("transformOrigin");function Yf(t){wh(t,"translateZ(0)")}function Xf(t){Bo(t,"0 0 0")}function Jn(t){t.style.position="absolute"}function Bf(t,e,i){t.style.left=e+"px",t.style.top=i+"px"}function Uo(t,e,i){t.style.width=e+"px",t.style.height=i+"px"}function Wo(t){t.style.width=t.style.height="0"}function za(t){t.style.width=t.style.height="100%"}function Ca(t){t.style.overflow="hidden"}function ko(t){t.style.overflow="visible"}function Uf(t){t.style.pointerEvents="none"}var Wf={prefixProperty:Aa,getWithVendorPrefix:qf,setWithVendorPrefix:ph,setTransform:wh,setTransformOrigin:Bo,setNullTransform:Yf,setNullTransformOrigin:Xf,setAbsolute:Jn,setPixelPosition:Bf,setPixelSize:Uo,setNullSize:Wo,setFullSize:za,setOverflowHidden:Ca,setOverflowVisible:ko,setNoPointerEvents:Uf},kf={videoUseTexImage2D:gh.chrome};function jf(t,e){var i={alpha:!0,premultipliedAlpha:!0,antialias:!!(e&&e.antialias),preserveDrawingBuffer:!!(e&&e.preserveDrawingBuffer)},r=t.getContext&&(t.getContext("webgl",i)||t.getContext("experimental-webgl",i));if(!r)throw new Error("Could not get WebGL context");return e.wrapContext&&(r=e.wrapContext(r)),r}class jo{constructor(e,i,r){z(this,"_stage");z(this,"_gl");z(this,"_texture");z(this,"_timestamp");z(this,"_width");z(this,"_height");this._stage=e,this._gl=e._gl,this._texture=null,this._timestamp=null,this._width=this._height=null,this.refresh(i,r)}refresh(e,i){var r=this._gl,n=this._stage,h,a=i.timestamp();if(a!==this._timestamp){var o=i.element(),l=i.width(),c=i.height();if(l!==this._width||c!==this._height){var f=n.maxTextureSize();if(l>f)throw new Error("Texture width larger than max size ("+l+" vs. "+f+")");if(c>f)throw new Error("Texture height larger than max size ("+c+" vs. "+f+")");this._texture&&r.deleteTexture(h),h=this._texture=r.createTexture(),r.bindTexture(r.TEXTURE_2D,h),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,o)}else h=this._texture,r.bindTexture(r.TEXTURE_2D,h),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),o instanceof HTMLVideoElement&&kf.videoUseTexImage2D?r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,o):r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,o);n._generateMipmaps&&Xo(l)&&Xo(c)?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR_MIPMAP_LINEAR),r.generateMipmap(r.TEXTURE_2D)):(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR)),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),this._timestamp=a,this._width=l,this._height=c}}destroy(){this._texture&&this._gl.deleteTexture(this._texture),K(this)}}class Pi extends La{constructor(e){e=e||{};super(e);z(this,"TextureClass",jo);z(this,"type","webgl");z(this,"_generateMipmaps");z(this,"_loader");z(this,"_domElement");z(this,"_gl");z(this,"_handleContextLoss");z(this,"_rendererInstances");this._generateMipmaps=e.generateMipmaps!=null?e.generateMipmaps:!1,this._loader=new Hf(this),this._domElement=document.createElement("canvas"),Jn(this._domElement),za(this._domElement),this._gl=jf(this._domElement,e),this._handleContextLoss=()=>{this.emit("webglcontextlost"),this._gl=null},this._domElement.addEventListener("webglcontextlost",this._handleContextLoss),this._rendererInstances=[]}destroy(){this._domElement.removeEventListener("webglcontextlost",this._handleContextLoss),super.destroy.call(this)}domElement(){return this._domElement}webGlContext(){return this._gl}setSizeForType(){var e=Kr();this._domElement.width=e*this._width,this._domElement.height=e*this._height}loadImage(e,i,r){return this._loader.loadImage(e,i,r)}maxTextureSize(){return this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE)}validateLayer(e){var i=e.geometry().maxTileSize(),r=this.maxTextureSize();if(i>r)throw new Error("Layer has level with tile size larger than maximum texture size ("+i+" vs. "+r+")")}createRenderer(e){for(var i=this._rendererInstances,r=0;r<i.length;r++)if(i[r]instanceof e)return i[r];var n=new e(this._gl);return i.push(n),n}destroyRenderer(e){var i=this._rendererInstances;if(this._renderers.indexOf(e)<0){e.destroy();var r=i.indexOf(e);r>=0&&i.splice(r,1)}}startFrame(){var e=this._gl;if(!e)throw new Error("Bad WebGL context - maybe context was lost?");e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),e.enable(e.DEPTH_TEST),e.enable(e.BLEND),e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA)}endFrame(){}takeSnapshot(e){(typeof e!="object"||e==null)&&(e={});var i=e.quality;if(typeof i=="undefined"&&(i=75),typeof i!="number"||i<0||i>100)throw new Error("WebGLStage: Snapshot quality needs to be a number between 0 and 100");return this.render(),this._domElement.toDataURL("image/jpeg",i/100)}}z(Pi,"type"),z(Pi,"TextureClass"),Pi.type=Pi.prototype.type="webgl",Pi.TextureClass=Pi.prototype.TextureClass=jo;var O=1e-6,H=typeof Float32Array!="undefined"?Float32Array:Array,rt=Math.random;function Gf(t){H=t}var Zf=Math.PI/180;function Kf(t){return t*Zf}function Qf(t,e){return Math.abs(t-e)<=O*Math.max(1,Math.abs(t),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});var Jf=Object.freeze(Object.defineProperty({__proto__:null,EPSILON:O,get ARRAY_TYPE(){return H},RANDOM:rt,setMatrixArrayType:Gf,toRadian:Kf,equals:Qf},Symbol.toStringTag,{value:"Module"}));function ev(){var t=new H(4);return H!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}function tv(t){var e=new H(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function iv(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function rv(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t}function nv(t,e,i,r){var n=new H(4);return n[0]=t,n[1]=e,n[2]=i,n[3]=r,n}function sv(t,e,i,r,n){return t[0]=e,t[1]=i,t[2]=r,t[3]=n,t}function hv(t,e){if(t===e){var i=e[1];t[1]=e[2],t[2]=i}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t}function av(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=i*h-n*r;return a?(a=1/a,t[0]=h*a,t[1]=-r*a,t[2]=-n*a,t[3]=i*a,t):null}function ov(t,e){var i=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=i,t}function lv(t){return t[0]*t[3]-t[2]*t[1]}function Go(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=i[0],l=i[1],c=i[2],f=i[3];return t[0]=r*o+h*l,t[1]=n*o+a*l,t[2]=r*c+h*f,t[3]=n*c+a*f,t}function cv(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);return t[0]=r*l+h*o,t[1]=n*l+a*o,t[2]=r*-o+h*l,t[3]=n*-o+a*l,t}function fv(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=i[0],l=i[1];return t[0]=r*o,t[1]=n*o,t[2]=h*l,t[3]=a*l,t}function vv(t,e){var i=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=i,t[2]=-i,t[3]=r,t}function dv(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t}function uv(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function mv(t){return Math.hypot(t[0],t[1],t[2],t[3])}function yv(t,e,i,r){return t[2]=r[2]/r[0],i[0]=r[0],i[1]=r[1],i[3]=r[3]-t[2]*i[1],[t,e,i]}function gv(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t[3]=e[3]+i[3],t}function Zo(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t[3]=e[3]-i[3],t}function pv(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function wv(t,e){var i=t[0],r=t[1],n=t[2],h=t[3],a=e[0],o=e[1],l=e[2],c=e[3];return Math.abs(i-a)<=O*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(r-o)<=O*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-l)<=O*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(h-c)<=O*Math.max(1,Math.abs(h),Math.abs(c))}function Mv(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t}function xv(t,e,i,r){return t[0]=e[0]+i[0]*r,t[1]=e[1]+i[1]*r,t[2]=e[2]+i[2]*r,t[3]=e[3]+i[3]*r,t}var Tv=Go,Ev=Zo,_v=Object.freeze(Object.defineProperty({__proto__:null,create:ev,clone:tv,copy:iv,identity:rv,fromValues:nv,set:sv,transpose:hv,invert:av,adjoint:ov,determinant:lv,multiply:Go,rotate:cv,scale:fv,fromRotation:vv,fromScaling:dv,str:uv,frob:mv,LDU:yv,add:gv,subtract:Zo,exactEquals:pv,equals:wv,multiplyScalar:Mv,multiplyScalarAndAdd:xv,mul:Tv,sub:Ev},Symbol.toStringTag,{value:"Module"}));function bv(){var t=new H(6);return H!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t}function Sv(t){var e=new H(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function Lv(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function Pv(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function Av(t,e,i,r,n,h){var a=new H(6);return a[0]=t,a[1]=e,a[2]=i,a[3]=r,a[4]=n,a[5]=h,a}function zv(t,e,i,r,n,h,a){return t[0]=e,t[1]=i,t[2]=r,t[3]=n,t[4]=h,t[5]=a,t}function Cv(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=e[4],o=e[5],l=i*h-r*n;return l?(l=1/l,t[0]=h*l,t[1]=-r*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*o-h*a)*l,t[5]=(r*a-i*o)*l,t):null}function Rv(t){return t[0]*t[3]-t[1]*t[2]}function Ko(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=i[0],f=i[1],m=i[2],y=i[3],p=i[4],w=i[5];return t[0]=r*c+h*f,t[1]=n*c+a*f,t[2]=r*m+h*y,t[3]=n*m+a*y,t[4]=r*p+h*w+o,t[5]=n*p+a*w+l,t}function Iv(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=Math.sin(i),f=Math.cos(i);return t[0]=r*f+h*c,t[1]=n*f+a*c,t[2]=r*-c+h*f,t[3]=n*-c+a*f,t[4]=o,t[5]=l,t}function $v(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=i[0],f=i[1];return t[0]=r*c,t[1]=n*c,t[2]=h*f,t[3]=a*f,t[4]=o,t[5]=l,t}function Ov(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=i[0],f=i[1];return t[0]=r,t[1]=n,t[2]=h,t[3]=a,t[4]=r*c+h*f+o,t[5]=n*c+a*f+l,t}function Dv(t,e){var i=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=i,t[2]=-i,t[3]=r,t[4]=0,t[5]=0,t}function Nv(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t}function Fv(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t}function Hv(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"}function Vv(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],1)}function qv(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t[3]=e[3]+i[3],t[4]=e[4]+i[4],t[5]=e[5]+i[5],t}function Qo(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t[3]=e[3]-i[3],t[4]=e[4]-i[4],t[5]=e[5]-i[5],t}function Yv(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*i,t[5]=e[5]*i,t}function Xv(t,e,i,r){return t[0]=e[0]+i[0]*r,t[1]=e[1]+i[1]*r,t[2]=e[2]+i[2]*r,t[3]=e[3]+i[3]*r,t[4]=e[4]+i[4]*r,t[5]=e[5]+i[5]*r,t}function Bv(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]}function Uv(t,e){var i=t[0],r=t[1],n=t[2],h=t[3],a=t[4],o=t[5],l=e[0],c=e[1],f=e[2],m=e[3],y=e[4],p=e[5];return Math.abs(i-l)<=O*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(r-c)<=O*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(n-f)<=O*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(h-m)<=O*Math.max(1,Math.abs(h),Math.abs(m))&&Math.abs(a-y)<=O*Math.max(1,Math.abs(a),Math.abs(y))&&Math.abs(o-p)<=O*Math.max(1,Math.abs(o),Math.abs(p))}var Wv=Ko,kv=Qo,jv=Object.freeze(Object.defineProperty({__proto__:null,create:bv,clone:Sv,copy:Lv,identity:Pv,fromValues:Av,set:zv,invert:Cv,determinant:Rv,multiply:Ko,rotate:Iv,scale:$v,translate:Ov,fromRotation:Dv,fromScaling:Nv,fromTranslation:Fv,str:Hv,frob:Vv,add:qv,subtract:Qo,multiplyScalar:Yv,multiplyScalarAndAdd:Xv,exactEquals:Bv,equals:Uv,mul:Wv,sub:kv},Symbol.toStringTag,{value:"Module"}));function Jo(){var t=new H(9);return H!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Gv(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function Zv(t){var e=new H(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function Kv(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function Qv(t,e,i,r,n,h,a,o,l){var c=new H(9);return c[0]=t,c[1]=e,c[2]=i,c[3]=r,c[4]=n,c[5]=h,c[6]=a,c[7]=o,c[8]=l,c}function Jv(t,e,i,r,n,h,a,o,l,c){return t[0]=e,t[1]=i,t[2]=r,t[3]=n,t[4]=h,t[5]=a,t[6]=o,t[7]=l,t[8]=c,t}function ed(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function td(t,e){if(t===e){var i=e[1],r=e[2],n=e[5];t[1]=e[3],t[2]=e[6],t[3]=i,t[5]=e[7],t[6]=r,t[7]=n}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function id(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=e[4],o=e[5],l=e[6],c=e[7],f=e[8],m=f*a-o*c,y=-f*h+o*l,p=c*h-a*l,w=i*m+r*y+n*p;return w?(w=1/w,t[0]=m*w,t[1]=(-f*r+n*c)*w,t[2]=(o*r-n*a)*w,t[3]=y*w,t[4]=(f*i-n*l)*w,t[5]=(-o*i+n*h)*w,t[6]=p*w,t[7]=(-c*i+r*l)*w,t[8]=(a*i-r*h)*w,t):null}function rd(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=e[4],o=e[5],l=e[6],c=e[7],f=e[8];return t[0]=a*f-o*c,t[1]=n*c-r*f,t[2]=r*o-n*a,t[3]=o*l-h*f,t[4]=i*f-n*l,t[5]=n*h-i*o,t[6]=h*c-a*l,t[7]=r*l-i*c,t[8]=i*a-r*h,t}function nd(t){var e=t[0],i=t[1],r=t[2],n=t[3],h=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*(c*h-a*l)+i*(-c*n+a*o)+r*(l*n-h*o)}function el(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=e[6],f=e[7],m=e[8],y=i[0],p=i[1],w=i[2],T=i[3],M=i[4],b=i[5],C=i[6],A=i[7],R=i[8];return t[0]=y*r+p*a+w*c,t[1]=y*n+p*o+w*f,t[2]=y*h+p*l+w*m,t[3]=T*r+M*a+b*c,t[4]=T*n+M*o+b*f,t[5]=T*h+M*l+b*m,t[6]=C*r+A*a+R*c,t[7]=C*n+A*o+R*f,t[8]=C*h+A*l+R*m,t}function sd(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=e[6],f=e[7],m=e[8],y=i[0],p=i[1];return t[0]=r,t[1]=n,t[2]=h,t[3]=a,t[4]=o,t[5]=l,t[6]=y*r+p*a+c,t[7]=y*n+p*o+f,t[8]=y*h+p*l+m,t}function hd(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=e[6],f=e[7],m=e[8],y=Math.sin(i),p=Math.cos(i);return t[0]=p*r+y*a,t[1]=p*n+y*o,t[2]=p*h+y*l,t[3]=p*a-y*r,t[4]=p*o-y*n,t[5]=p*l-y*h,t[6]=c,t[7]=f,t[8]=m,t}function ad(t,e,i){var r=i[0],n=i[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=n*e[3],t[4]=n*e[4],t[5]=n*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function od(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t}function ld(t,e){var i=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=i,t[2]=0,t[3]=-i,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function cd(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function fd(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t}function vd(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=i+i,o=r+r,l=n+n,c=i*a,f=r*a,m=r*o,y=n*a,p=n*o,w=n*l,T=h*a,M=h*o,b=h*l;return t[0]=1-m-w,t[3]=f-b,t[6]=y+M,t[1]=f+b,t[4]=1-c-w,t[7]=p-T,t[2]=y-M,t[5]=p+T,t[8]=1-c-m,t}function dd(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=e[4],o=e[5],l=e[6],c=e[7],f=e[8],m=e[9],y=e[10],p=e[11],w=e[12],T=e[13],M=e[14],b=e[15],C=i*o-r*a,A=i*l-n*a,R=i*c-h*a,$=r*l-n*o,L=r*c-h*o,V=n*c-h*l,q=f*T-m*w,X=f*M-y*w,Y=f*b-p*w,F=m*M-y*T,B=m*b-p*T,j=y*b-p*M,D=C*j-A*B+R*F+$*Y-L*X+V*q;return D?(D=1/D,t[0]=(o*j-l*B+c*F)*D,t[1]=(l*Y-a*j-c*X)*D,t[2]=(a*B-o*Y+c*q)*D,t[3]=(n*B-r*j-h*F)*D,t[4]=(i*j-n*Y+h*X)*D,t[5]=(r*Y-i*B-h*q)*D,t[6]=(T*V-M*L+b*$)*D,t[7]=(M*R-w*V-b*A)*D,t[8]=(w*L-T*R+b*C)*D,t):null}function ud(t,e,i){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/i,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function md(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function yd(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}function gd(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t[3]=e[3]+i[3],t[4]=e[4]+i[4],t[5]=e[5]+i[5],t[6]=e[6]+i[6],t[7]=e[7]+i[7],t[8]=e[8]+i[8],t}function tl(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t[3]=e[3]-i[3],t[4]=e[4]-i[4],t[5]=e[5]-i[5],t[6]=e[6]-i[6],t[7]=e[7]-i[7],t[8]=e[8]-i[8],t}function pd(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t[3]=e[3]*i,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*i,t}function wd(t,e,i,r){return t[0]=e[0]+i[0]*r,t[1]=e[1]+i[1]*r,t[2]=e[2]+i[2]*r,t[3]=e[3]+i[3]*r,t[4]=e[4]+i[4]*r,t[5]=e[5]+i[5]*r,t[6]=e[6]+i[6]*r,t[7]=e[7]+i[7]*r,t[8]=e[8]+i[8]*r,t}function Md(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]}function xd(t,e){var i=t[0],r=t[1],n=t[2],h=t[3],a=t[4],o=t[5],l=t[6],c=t[7],f=t[8],m=e[0],y=e[1],p=e[2],w=e[3],T=e[4],M=e[5],b=e[6],C=e[7],A=e[8];return Math.abs(i-m)<=O*Math.max(1,Math.abs(i),Math.abs(m))&&Math.abs(r-y)<=O*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-p)<=O*Math.max(1,Math.abs(n),Math.abs(p))&&Math.abs(h-w)<=O*Math.max(1,Math.abs(h),Math.abs(w))&&Math.abs(a-T)<=O*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(o-M)<=O*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(l-b)<=O*Math.max(1,Math.abs(l),Math.abs(b))&&Math.abs(c-C)<=O*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(f-A)<=O*Math.max(1,Math.abs(f),Math.abs(A))}var Td=el,Ed=tl,_d=Object.freeze(Object.defineProperty({__proto__:null,create:Jo,fromMat4:Gv,clone:Zv,copy:Kv,fromValues:Qv,set:Jv,identity:ed,transpose:td,invert:id,adjoint:rd,determinant:nd,multiply:el,translate:sd,rotate:hd,scale:ad,fromTranslation:od,fromRotation:ld,fromScaling:cd,fromMat2d:fd,fromQuat:vd,normalFromMat4:dd,projection:ud,str:md,frob:yd,add:gd,subtract:tl,multiplyScalar:pd,multiplyScalarAndAdd:wd,exactEquals:Md,equals:xd,mul:Td,sub:Ed},Symbol.toStringTag,{value:"Module"}));function nt(){var t=new H(16);return H!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function bd(t){var e=new H(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Ra(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Sd(t,e,i,r,n,h,a,o,l,c,f,m,y,p,w,T){var M=new H(16);return M[0]=t,M[1]=e,M[2]=i,M[3]=r,M[4]=n,M[5]=h,M[6]=a,M[7]=o,M[8]=l,M[9]=c,M[10]=f,M[11]=m,M[12]=y,M[13]=p,M[14]=w,M[15]=T,M}function Ld(t,e,i,r,n,h,a,o,l,c,f,m,y,p,w,T,M){return t[0]=e,t[1]=i,t[2]=r,t[3]=n,t[4]=h,t[5]=a,t[6]=o,t[7]=l,t[8]=c,t[9]=f,t[10]=m,t[11]=y,t[12]=p,t[13]=w,t[14]=T,t[15]=M,t}function es(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Pd(t,e){if(t===e){var i=e[1],r=e[2],n=e[3],h=e[6],a=e[7],o=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=i,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=h,t[11]=e[14],t[12]=n,t[13]=a,t[14]=o}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function Mh(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=e[4],o=e[5],l=e[6],c=e[7],f=e[8],m=e[9],y=e[10],p=e[11],w=e[12],T=e[13],M=e[14],b=e[15],C=i*o-r*a,A=i*l-n*a,R=i*c-h*a,$=r*l-n*o,L=r*c-h*o,V=n*c-h*l,q=f*T-m*w,X=f*M-y*w,Y=f*b-p*w,F=m*M-y*T,B=m*b-p*T,j=y*b-p*M,D=C*j-A*B+R*F+$*Y-L*X+V*q;return D?(D=1/D,t[0]=(o*j-l*B+c*F)*D,t[1]=(n*B-r*j-h*F)*D,t[2]=(T*V-M*L+b*$)*D,t[3]=(y*L-m*V-p*$)*D,t[4]=(l*Y-a*j-c*X)*D,t[5]=(i*j-n*Y+h*X)*D,t[6]=(M*R-w*V-b*A)*D,t[7]=(f*V-y*R+p*A)*D,t[8]=(a*B-o*Y+c*q)*D,t[9]=(r*Y-i*B-h*q)*D,t[10]=(w*L-T*R+b*C)*D,t[11]=(m*R-f*L-p*C)*D,t[12]=(o*X-a*F-l*q)*D,t[13]=(i*F-r*X+n*q)*D,t[14]=(T*A-w*$-M*C)*D,t[15]=(f*$-m*A+y*C)*D,t):null}function Ad(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=e[4],o=e[5],l=e[6],c=e[7],f=e[8],m=e[9],y=e[10],p=e[11],w=e[12],T=e[13],M=e[14],b=e[15];return t[0]=o*(y*b-p*M)-m*(l*b-c*M)+T*(l*p-c*y),t[1]=-(r*(y*b-p*M)-m*(n*b-h*M)+T*(n*p-h*y)),t[2]=r*(l*b-c*M)-o*(n*b-h*M)+T*(n*c-h*l),t[3]=-(r*(l*p-c*y)-o*(n*p-h*y)+m*(n*c-h*l)),t[4]=-(a*(y*b-p*M)-f*(l*b-c*M)+w*(l*p-c*y)),t[5]=i*(y*b-p*M)-f*(n*b-h*M)+w*(n*p-h*y),t[6]=-(i*(l*b-c*M)-a*(n*b-h*M)+w*(n*c-h*l)),t[7]=i*(l*p-c*y)-a*(n*p-h*y)+f*(n*c-h*l),t[8]=a*(m*b-p*T)-f*(o*b-c*T)+w*(o*p-c*m),t[9]=-(i*(m*b-p*T)-f*(r*b-h*T)+w*(r*p-h*m)),t[10]=i*(o*b-c*T)-a*(r*b-h*T)+w*(r*c-h*o),t[11]=-(i*(o*p-c*m)-a*(r*p-h*m)+f*(r*c-h*o)),t[12]=-(a*(m*M-y*T)-f*(o*M-l*T)+w*(o*y-l*m)),t[13]=i*(m*M-y*T)-f*(r*M-n*T)+w*(r*y-n*m),t[14]=-(i*(o*M-l*T)-a*(r*M-n*T)+w*(r*l-n*o)),t[15]=i*(o*y-l*m)-a*(r*y-n*m)+f*(r*l-n*o),t}function zd(t){var e=t[0],i=t[1],r=t[2],n=t[3],h=t[4],a=t[5],o=t[6],l=t[7],c=t[8],f=t[9],m=t[10],y=t[11],p=t[12],w=t[13],T=t[14],M=t[15],b=e*a-i*h,C=e*o-r*h,A=e*l-n*h,R=i*o-r*a,$=i*l-n*a,L=r*l-n*o,V=c*w-f*p,q=c*T-m*p,X=c*M-y*p,Y=f*T-m*w,F=f*M-y*w,B=m*M-y*T;return b*B-C*F+A*Y+R*X-$*q+L*V}function il(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=e[4],l=e[5],c=e[6],f=e[7],m=e[8],y=e[9],p=e[10],w=e[11],T=e[12],M=e[13],b=e[14],C=e[15],A=i[0],R=i[1],$=i[2],L=i[3];return t[0]=A*r+R*o+$*m+L*T,t[1]=A*n+R*l+$*y+L*M,t[2]=A*h+R*c+$*p+L*b,t[3]=A*a+R*f+$*w+L*C,A=i[4],R=i[5],$=i[6],L=i[7],t[4]=A*r+R*o+$*m+L*T,t[5]=A*n+R*l+$*y+L*M,t[6]=A*h+R*c+$*p+L*b,t[7]=A*a+R*f+$*w+L*C,A=i[8],R=i[9],$=i[10],L=i[11],t[8]=A*r+R*o+$*m+L*T,t[9]=A*n+R*l+$*y+L*M,t[10]=A*h+R*c+$*p+L*b,t[11]=A*a+R*f+$*w+L*C,A=i[12],R=i[13],$=i[14],L=i[15],t[12]=A*r+R*o+$*m+L*T,t[13]=A*n+R*l+$*y+L*M,t[14]=A*h+R*c+$*p+L*b,t[15]=A*a+R*f+$*w+L*C,t}function Ia(t,e,i){var r=i[0],n=i[1],h=i[2],a,o,l,c,f,m,y,p,w,T,M,b;return e===t?(t[12]=e[0]*r+e[4]*n+e[8]*h+e[12],t[13]=e[1]*r+e[5]*n+e[9]*h+e[13],t[14]=e[2]*r+e[6]*n+e[10]*h+e[14],t[15]=e[3]*r+e[7]*n+e[11]*h+e[15]):(a=e[0],o=e[1],l=e[2],c=e[3],f=e[4],m=e[5],y=e[6],p=e[7],w=e[8],T=e[9],M=e[10],b=e[11],t[0]=a,t[1]=o,t[2]=l,t[3]=c,t[4]=f,t[5]=m,t[6]=y,t[7]=p,t[8]=w,t[9]=T,t[10]=M,t[11]=b,t[12]=a*r+f*n+w*h+e[12],t[13]=o*r+m*n+T*h+e[13],t[14]=l*r+y*n+M*h+e[14],t[15]=c*r+p*n+b*h+e[15]),t}function $a(t,e,i){var r=i[0],n=i[1],h=i[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*h,t[9]=e[9]*h,t[10]=e[10]*h,t[11]=e[11]*h,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Cd(t,e,i,r){var n=r[0],h=r[1],a=r[2],o=Math.hypot(n,h,a),l,c,f,m,y,p,w,T,M,b,C,A,R,$,L,V,q,X,Y,F,B,j,D,E;return o<O?null:(o=1/o,n*=o,h*=o,a*=o,l=Math.sin(i),c=Math.cos(i),f=1-c,m=e[0],y=e[1],p=e[2],w=e[3],T=e[4],M=e[5],b=e[6],C=e[7],A=e[8],R=e[9],$=e[10],L=e[11],V=n*n*f+c,q=h*n*f+a*l,X=a*n*f-h*l,Y=n*h*f-a*l,F=h*h*f+c,B=a*h*f+n*l,j=n*a*f+h*l,D=h*a*f-n*l,E=a*a*f+c,t[0]=m*V+T*q+A*X,t[1]=y*V+M*q+R*X,t[2]=p*V+b*q+$*X,t[3]=w*V+C*q+L*X,t[4]=m*Y+T*F+A*B,t[5]=y*Y+M*F+R*B,t[6]=p*Y+b*F+$*B,t[7]=w*Y+C*F+L*B,t[8]=m*j+T*D+A*E,t[9]=y*j+M*D+R*E,t[10]=p*j+b*D+$*E,t[11]=w*j+C*D+L*E,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function Oa(t,e,i){var r=Math.sin(i),n=Math.cos(i),h=e[4],a=e[5],o=e[6],l=e[7],c=e[8],f=e[9],m=e[10],y=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=h*n+c*r,t[5]=a*n+f*r,t[6]=o*n+m*r,t[7]=l*n+y*r,t[8]=c*n-h*r,t[9]=f*n-a*r,t[10]=m*n-o*r,t[11]=y*n-l*r,t}function Da(t,e,i){var r=Math.sin(i),n=Math.cos(i),h=e[0],a=e[1],o=e[2],l=e[3],c=e[8],f=e[9],m=e[10],y=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=h*n-c*r,t[1]=a*n-f*r,t[2]=o*n-m*r,t[3]=l*n-y*r,t[8]=h*r+c*n,t[9]=a*r+f*n,t[10]=o*r+m*n,t[11]=l*r+y*n,t}function rl(t,e,i){var r=Math.sin(i),n=Math.cos(i),h=e[0],a=e[1],o=e[2],l=e[3],c=e[4],f=e[5],m=e[6],y=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=h*n+c*r,t[1]=a*n+f*r,t[2]=o*n+m*r,t[3]=l*n+y*r,t[4]=c*n-h*r,t[5]=f*n-a*r,t[6]=m*n-o*r,t[7]=y*n-l*r,t}function Rd(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function Id(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function $d(t,e,i){var r=i[0],n=i[1],h=i[2],a=Math.hypot(r,n,h),o,l,c;return a<O?null:(a=1/a,r*=a,n*=a,h*=a,o=Math.sin(e),l=Math.cos(e),c=1-l,t[0]=r*r*c+l,t[1]=n*r*c+h*o,t[2]=h*r*c-n*o,t[3]=0,t[4]=r*n*c-h*o,t[5]=n*n*c+l,t[6]=h*n*c+r*o,t[7]=0,t[8]=r*h*c+n*o,t[9]=n*h*c-r*o,t[10]=h*h*c+l,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function Od(t,e){var i=Math.sin(e),r=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=i,t[7]=0,t[8]=0,t[9]=-i,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Dd(t,e){var i=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=0,t[2]=-i,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=i,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Nd(t,e){var i=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=i,t[2]=0,t[3]=0,t[4]=-i,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function nl(t,e,i){var r=e[0],n=e[1],h=e[2],a=e[3],o=r+r,l=n+n,c=h+h,f=r*o,m=r*l,y=r*c,p=n*l,w=n*c,T=h*c,M=a*o,b=a*l,C=a*c;return t[0]=1-(p+T),t[1]=m+C,t[2]=y-b,t[3]=0,t[4]=m-C,t[5]=1-(f+T),t[6]=w+M,t[7]=0,t[8]=y+b,t[9]=w-M,t[10]=1-(f+p),t[11]=0,t[12]=i[0],t[13]=i[1],t[14]=i[2],t[15]=1,t}function Fd(t,e){var i=new H(3),r=-e[0],n=-e[1],h=-e[2],a=e[3],o=e[4],l=e[5],c=e[6],f=e[7],m=r*r+n*n+h*h+a*a;return m>0?(i[0]=(o*a+f*r+l*h-c*n)*2/m,i[1]=(l*a+f*n+c*r-o*h)*2/m,i[2]=(c*a+f*h+o*n-l*r)*2/m):(i[0]=(o*a+f*r+l*h-c*n)*2,i[1]=(l*a+f*n+c*r-o*h)*2,i[2]=(c*a+f*h+o*n-l*r)*2),nl(t,e,i),t}function sl(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function hl(t,e){var i=e[0],r=e[1],n=e[2],h=e[4],a=e[5],o=e[6],l=e[8],c=e[9],f=e[10];return t[0]=Math.hypot(i,r,n),t[1]=Math.hypot(h,a,o),t[2]=Math.hypot(l,c,f),t}function al(t,e){var i=new H(3);hl(i,e);var r=1/i[0],n=1/i[1],h=1/i[2],a=e[0]*r,o=e[1]*n,l=e[2]*h,c=e[4]*r,f=e[5]*n,m=e[6]*h,y=e[8]*r,p=e[9]*n,w=e[10]*h,T=a+f+w,M=0;return T>0?(M=Math.sqrt(T+1)*2,t[3]=.25*M,t[0]=(m-p)/M,t[1]=(y-l)/M,t[2]=(o-c)/M):a>f&&a>w?(M=Math.sqrt(1+a-f-w)*2,t[3]=(m-p)/M,t[0]=.25*M,t[1]=(o+c)/M,t[2]=(y+l)/M):f>w?(M=Math.sqrt(1+f-a-w)*2,t[3]=(y-l)/M,t[0]=(o+c)/M,t[1]=.25*M,t[2]=(m+p)/M):(M=Math.sqrt(1+w-a-f)*2,t[3]=(o-c)/M,t[0]=(y+l)/M,t[1]=(m+p)/M,t[2]=.25*M),t}function Hd(t,e,i,r){var n=e[0],h=e[1],a=e[2],o=e[3],l=n+n,c=h+h,f=a+a,m=n*l,y=n*c,p=n*f,w=h*c,T=h*f,M=a*f,b=o*l,C=o*c,A=o*f,R=r[0],$=r[1],L=r[2];return t[0]=(1-(w+M))*R,t[1]=(y+A)*R,t[2]=(p-C)*R,t[3]=0,t[4]=(y-A)*$,t[5]=(1-(m+M))*$,t[6]=(T+b)*$,t[7]=0,t[8]=(p+C)*L,t[9]=(T-b)*L,t[10]=(1-(m+w))*L,t[11]=0,t[12]=i[0],t[13]=i[1],t[14]=i[2],t[15]=1,t}function Vd(t,e,i,r,n){var h=e[0],a=e[1],o=e[2],l=e[3],c=h+h,f=a+a,m=o+o,y=h*c,p=h*f,w=h*m,T=a*f,M=a*m,b=o*m,C=l*c,A=l*f,R=l*m,$=r[0],L=r[1],V=r[2],q=n[0],X=n[1],Y=n[2],F=(1-(T+b))*$,B=(p+R)*$,j=(w-A)*$,D=(p-R)*L,E=(1-(y+b))*L,_i=(M+C)*L,J=(w+A)*V,Ur=(M-C)*V,Gt=(1-(y+T))*V;return t[0]=F,t[1]=B,t[2]=j,t[3]=0,t[4]=D,t[5]=E,t[6]=_i,t[7]=0,t[8]=J,t[9]=Ur,t[10]=Gt,t[11]=0,t[12]=i[0]+q-(F*q+D*X+J*Y),t[13]=i[1]+X-(B*q+E*X+Ur*Y),t[14]=i[2]+Y-(j*q+_i*X+Gt*Y),t[15]=1,t}function qd(t,e){var i=e[0],r=e[1],n=e[2],h=e[3],a=i+i,o=r+r,l=n+n,c=i*a,f=r*a,m=r*o,y=n*a,p=n*o,w=n*l,T=h*a,M=h*o,b=h*l;return t[0]=1-m-w,t[1]=f+b,t[2]=y-M,t[3]=0,t[4]=f-b,t[5]=1-c-w,t[6]=p+T,t[7]=0,t[8]=y+M,t[9]=p-T,t[10]=1-c-m,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Yd(t,e,i,r,n,h,a){var o=1/(i-e),l=1/(n-r),c=1/(h-a);return t[0]=h*2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=h*2*l,t[6]=0,t[7]=0,t[8]=(i+e)*o,t[9]=(n+r)*l,t[10]=(a+h)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*h*2*c,t[15]=0,t}function ol(t,e,i,r,n){var h=1/Math.tan(e/2),a;return t[0]=h/i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,n!=null&&n!==1/0?(a=1/(r-n),t[10]=(n+r)*a,t[14]=2*n*r*a):(t[10]=-1,t[14]=-2*r),t}var ll=ol;function Xd(t,e,i,r,n){var h=1/Math.tan(e/2),a;return t[0]=h/i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,n!=null&&n!==1/0?(a=1/(r-n),t[10]=n*a,t[14]=n*r*a):(t[10]=-1,t[14]=-r),t}function cl(t,e,i,r){var n=Math.tan(e.upDegrees*Math.PI/180),h=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(a+o),c=2/(n+h);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-((a-o)*l*.5),t[9]=(n-h)*c*.5,t[10]=r/(i-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*i/(i-r),t[15]=0,t}function fl(t,e,i,r,n,h,a){var o=1/(e-i),l=1/(r-n),c=1/(h-a);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6